diff --git a/forge-game/src/main/java/forge/game/GameActionUtil.java b/forge-game/src/main/java/forge/game/GameActionUtil.java index 432477be2a36..eda847ec4f56 100644 --- a/forge-game/src/main/java/forge/game/GameActionUtil.java +++ b/forge-game/src/main/java/forge/game/GameActionUtil.java @@ -301,7 +301,15 @@ public static SpellAbility getGraveyardSpellByKeyword(KeywordInterface inst, Spe // there is a flashback cost (and not the cards cost) if (keyword.contains(":")) { // K:Flashback:Cost:ExtraParams:ExtraDescription final String[] k = keyword.split(":"); - newSA = sa.copyWithManaCostReplaced(activator, new Cost(k[1], false)); + + // Default to mana cost if no cost provided + final String costString = k[1]; + if (costString.equals("")) { + newSA = sa.copy(activator); + } else { + newSA = sa.copyWithManaCostReplaced(activator, new Cost(k[1], false)); + } + String extraParams = k.length > 2 ? k[2] : ""; if (!extraParams.isEmpty()) { for (Map.Entry param : AbilityFactory.getMapParams(extraParams).entrySet()) { diff --git a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java index 545242b952f6..b3965442ad9e 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -2223,7 +2223,15 @@ public static void addReplacementEffect(final KeywordInterface inst, final CardS if (keyword.contains(":")) { // K:Flashback:Cost:ExtraParams:ExtraDescription final String[] k = keyword.split(":"); - final Cost cost = new Cost(k[1], false); + + // Default to mana cost if no cost provided + final String costString = k[1]; + Cost cost; + if (costString.equals("")) { + cost = new Cost(card.getManaCost(), false); + } else { + cost = new Cost(k[1], false); + } sb.append(cost.isOnlyManaCost() ? " " : "—").append(cost.toSimpleString()); sb.append(cost.isOnlyManaCost() ? "" : ".");