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 807f58e40e5..da4ff8e144d 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -4088,7 +4088,7 @@ public class CardFactoryUtil { newSA.setPayCosts(surgeCost); newSA.setBasicSpell(false); - newSA.addOptionalCost(OptionalCost.Surge); + newSA.setSurged(true); String desc = "Surge " + surgeCost.toSimpleString() + " (" + inst.getReminderText() + ")"; diff --git a/forge-game/src/main/java/forge/game/card/CardProperty.java b/forge-game/src/main/java/forge/game/card/CardProperty.java index 37897b02d16..8dc2a4fb0c3 100644 --- a/forge-game/src/main/java/forge/game/card/CardProperty.java +++ b/forge-game/src/main/java/forge/game/card/CardProperty.java @@ -1614,9 +1614,10 @@ public class CardProperty { if (card.isOptionalCostPaid(OptionalCost.Generic)) return false; } } else if (property.startsWith("surged")) { - if (!card.isOptionalCostPaid(OptionalCost.Surge)) { + if (card.getCastSA() == null) { return false; } + return card.getCastSA().isSurged(); } else if (property.startsWith("evoked")) { if (card.getCastSA() == null) { return false; diff --git a/forge-game/src/main/java/forge/game/spellability/OptionalCost.java b/forge-game/src/main/java/forge/game/spellability/OptionalCost.java index c3dd92babf9..3f0b367295d 100644 --- a/forge-game/src/main/java/forge/game/spellability/OptionalCost.java +++ b/forge-game/src/main/java/forge/game/spellability/OptionalCost.java @@ -11,7 +11,6 @@ public enum OptionalCost { Kicker1("Kicker"), Kicker2("Kicker"), Retrace("Retrace"), - Surge("Surge"), // no real OptionalCost but used there AltCost(""), // used by prowl Flash("Flash"), Generic("Generic"); // used by "Dragon Presence" and pseudo-kicker cards diff --git a/forge-game/src/main/java/forge/game/spellability/SpellAbility.java b/forge-game/src/main/java/forge/game/spellability/SpellAbility.java index 435151c0f02..cc38269a874 100644 --- a/forge-game/src/main/java/forge/game/spellability/SpellAbility.java +++ b/forge-game/src/main/java/forge/game/spellability/SpellAbility.java @@ -97,6 +97,7 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit private boolean cycling = false; private boolean dash = false; private boolean evoke = false; + private boolean surge = false; private boolean offering = false; private boolean emerge = false; private boolean morphup = false; @@ -510,10 +511,6 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit getMultiKickerManaCost() != null; } - public boolean isSurged() { - return isOptionalCostPaid(OptionalCost.Surge); - } - public boolean isEntwine() { return isOptionalCostPaid(OptionalCost.Entwine); } @@ -1072,6 +1069,14 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit evoke = isEvoke; } + public final boolean isSurged() { + return surge; + } + + public final void setSurged(final boolean isSurge) { + surge = isSurge; + } + public CardCollection getTappedForConvoke() { return tappedForConvoke; }