From 73b94a63a59ea49951cfa4b579ab25bdda8e58c6 Mon Sep 17 00:00:00 2001 From: Hanmac Date: Thu, 30 Aug 2018 20:25:30 +0200 Subject: [PATCH 1/3] Surge: don't use OptionalCost there --- .../main/java/forge/game/card/CardFactoryUtil.java | 2 +- .../java/forge/game/spellability/OptionalCost.java | 1 - .../java/forge/game/spellability/SpellAbility.java | 13 +++++++++---- 3 files changed, 10 insertions(+), 6 deletions(-) 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/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; } From b22c1ece86d80e5fddd18bded75bb7844475b264 Mon Sep 17 00:00:00 2001 From: Agetian Date: Thu, 30 Aug 2018 22:10:10 +0300 Subject: [PATCH 2/3] - Added puzzle PS_M197. --- forge-gui/res/puzzle/PS_M197.pzl | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 forge-gui/res/puzzle/PS_M197.pzl diff --git a/forge-gui/res/puzzle/PS_M197.pzl b/forge-gui/res/puzzle/PS_M197.pzl new file mode 100644 index 00000000000..84c6570b96f --- /dev/null +++ b/forge-gui/res/puzzle/PS_M197.pzl @@ -0,0 +1,15 @@ +[metadata] +Name:Possibility Storm - Magic Core Set 2019 #07 +URL:https://i1.wp.com/www.possibilitystorm.com/wp-content/uploads/2018/08/077.-M197.jpg +Goal:Win +Turns:1 +Difficulty:Uncommon +Description:Win this turn. Assume your opponent has no mana available. Remember that your solution must work for all possible blocking scenarios. +[state] +humanlife=20 +ailife=5 +activeplayer=human +activephase=MAIN1 +humanhand=Compulsory Rest;Academy Journeymage;Untamed Hunger;Act of Treason;Emergent Growth +humanbattlefield=Shield Mare;Surge Mare;Plague Mare;Lightning Mare;Vine Mare;Plains|Set:M19;Island|Set:M19;Swamp|Set:M19;Mountain|Set:M19;Forest|Set:M19;Unknown Shores +aibattlefield=Ghirapur Osprey;Ancient Crab;Wretched Camel;Thresher Lizard;Stalking Tiger From f967d9885a48a0e66a818ba64918bc56a6c903c7 Mon Sep 17 00:00:00 2001 From: Hanmac Date: Thu, 30 Aug 2018 21:18:08 +0200 Subject: [PATCH 3/3] CardProperty: fixed surged --- forge-game/src/main/java/forge/game/card/CardProperty.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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;