From eeec3feb1fe367b7530f673507cd84bc60f66b57 Mon Sep 17 00:00:00 2001 From: swordshine Date: Mon, 2 Apr 2018 11:55:44 +0800 Subject: [PATCH] - Fixed a crash (varolz, the scar-striped + dryad arbor) --- forge-core/src/main/java/forge/card/mana/ManaCost.java | 3 +++ .../forge/game/staticability/StaticAbilityContinuous.java | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) 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()); + } + } } }