diff --git a/forge-core/src/main/java/forge/card/mana/ManaCost.java b/forge-core/src/main/java/forge/card/mana/ManaCost.java index e7ca5f79794..a2393429897 100644 --- a/forge-core/src/main/java/forge/card/mana/ManaCost.java +++ b/forge-core/src/main/java/forge/card/mana/ManaCost.java @@ -283,6 +283,9 @@ public final class ManaCost implements Comparable, Iterable 0) { sb.append(generic); } diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbilityContinuous.java b/forge-game/src/main/java/forge/game/staticability/StaticAbilityContinuous.java index f4e50436cae..814a95760f0 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbilityContinuous.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbilityContinuous.java @@ -601,7 +601,13 @@ public final class StaticAbilityContinuous { if (addKeywords != null) { newKeywords = Arrays.copyOf(addKeywords, addKeywords.length); for (int j = 0; j < newKeywords.length; ++j) { - newKeywords[j] = newKeywords[j].replace("CardManaCost", affectedCard.getManaCost().getShortString()); + if (newKeywords[j].contains("CardManaCost")) { + if (affectedCard.getManaCost().isNoCost()) { + newKeywords[j] = ""; // prevent a crash (varolz the scar-striped + dryad arbor) + } else { + newKeywords[j] = newKeywords[j].replace("CardManaCost", affectedCard.getManaCost().getShortString()); + } + } } }