From f310948398e192005ef64d8f085cd8e9fccceb45 Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Fri, 12 Apr 2024 09:08:52 +0200 Subject: [PATCH] Outlast: use Keyword for check (#5020) --- forge-game/src/main/java/forge/game/ForgeScript.java | 2 ++ .../src/main/java/forge/game/card/CardFactoryUtil.java | 1 - .../main/java/forge/game/spellability/AlternativeCost.java | 1 - .../src/main/java/forge/game/spellability/SpellAbility.java | 2 +- .../forge/game/trigger/TriggerSpellAbilityCastOrCopy.java | 6 ------ forge-gui/res/cardsfolder/h/herald_of_anafenza.txt | 2 +- 6 files changed, 4 insertions(+), 10 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ForgeScript.java b/forge-game/src/main/java/forge/game/ForgeScript.java index fc4dc75631f..c9f59ad8056 100644 --- a/forge-game/src/main/java/forge/game/ForgeScript.java +++ b/forge-game/src/main/java/forge/game/ForgeScript.java @@ -259,6 +259,8 @@ public class ForgeScript { return sa.isForetold(); } else if (property.equals("Plotting")) { return sa.isPlotting(); + } else if (property.equals("Outlast")) { + return sa.isOutlast(); } else if (property.equals("Modal")) { return sa.getApi() == ApiType.Charm; } else if (property.equals("ClassLevelUp")) { 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 283dad8ec6f..8dfcf682885 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -3255,7 +3255,6 @@ public class CardFactoryUtil { final SpellAbility sa = AbilityFactory.getAbility(abilityStr.toString(), card); sa.setIntrinsic(intrinsic); - sa.setAlternativeCost(AlternativeCost.Outlast); inst.addSpellAbility(sa); } else if (keyword.startsWith("Overload")) { final String[] k = keyword.split(":"); diff --git a/forge-game/src/main/java/forge/game/spellability/AlternativeCost.java b/forge-game/src/main/java/forge/game/spellability/AlternativeCost.java index 5af137e106a..6578f361be6 100644 --- a/forge-game/src/main/java/forge/game/spellability/AlternativeCost.java +++ b/forge-game/src/main/java/forge/game/spellability/AlternativeCost.java @@ -16,7 +16,6 @@ public enum AlternativeCost { MTMtE, // More Than Meets the Eye (Transformers Universes Beyond) Mutate, Offering, - Outlast, // ActivatedAbility Overload, Prowl, Plotted, 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 74dfca5c645..a07af144507 100644 --- a/forge-game/src/main/java/forge/game/spellability/SpellAbility.java +++ b/forge-game/src/main/java/forge/game/spellability/SpellAbility.java @@ -1126,7 +1126,7 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit } public boolean isOutlast() { - return isAlternativeCost(AlternativeCost.Outlast); + return isKeyword(Keyword.OUTLAST); } public boolean isCraft() { diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCastOrCopy.java b/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCastOrCopy.java index 16af3c30ede..b192005507f 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCastOrCopy.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerSpellAbilityCastOrCopy.java @@ -190,12 +190,6 @@ public class TriggerSpellAbilityCastOrCopy extends Trigger { } } - if (hasParam("Outlast")) { - if (!spellAbility.isOutlast()) { - return false; - } - } - if (hasParam("EternalizeOrEmbalm")) { if (!spellAbility.hasParam("Eternalize") && !spellAbility.hasParam("Embalm")) { return false; diff --git a/forge-gui/res/cardsfolder/h/herald_of_anafenza.txt b/forge-gui/res/cardsfolder/h/herald_of_anafenza.txt index 83ac46efd1a..8c51314b84b 100644 --- a/forge-gui/res/cardsfolder/h/herald_of_anafenza.txt +++ b/forge-gui/res/cardsfolder/h/herald_of_anafenza.txt @@ -3,7 +3,7 @@ ManaCost:W Types:Creature Human Soldier PT:1/2 K:Outlast:2 W -T:Mode$ AbilityCast | ValidCard$ Card.Self | ValidActivatingPlayer$ You | Outlast$ True | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ Whenever you activate CARDNAME's outlast ability, create a 1/1 white Warrior creature token. +T:Mode$ AbilityCast | ValidCard$ Card.Self | ValidActivatingPlayer$ You | ValidSA$ Activated.Outlast | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ Whenever you activate CARDNAME's outlast ability, create a 1/1 white Warrior creature token. SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ w_1_1_warrior | TokenOwner$ You DeckHints:Ability$Counters DeckHas:Ability$Counters|Token