diff --git a/forge-game/src/main/java/forge/game/ability/AbilityFactory.java b/forge-game/src/main/java/forge/game/ability/AbilityFactory.java index 1ba523a1cd9..c1e436731b9 100644 --- a/forge-game/src/main/java/forge/game/ability/AbilityFactory.java +++ b/forge-game/src/main/java/forge/game/ability/AbilityFactory.java @@ -332,15 +332,21 @@ public final class AbilityFactory { // TgtPrompt should only be needed for more complicated ValidTgts String tgtWhat = mapParams.get("ValidTgts"); - final String[] commonStuff = new String[] { - //list of common one word non-core type ValidTgts that should be lowercase in the target prompt - "Player", "Opponent", "Card", "Spell", "Permanent" - }; - if (Arrays.asList(commonStuff).contains(tgtWhat) || CardType.CoreType.isValidEnum(tgtWhat)) { - tgtWhat = tgtWhat.toLowerCase(); + final String prompt; + if (mapParams.containsKey("TgtPrompt")) { + prompt = mapParams.get("TgtPrompt"); + } else if (tgtWhat.equals("Any")) { + prompt = "Select any target"; + } else { + final String[] commonStuff = new String[] { + //list of common one word non-core type ValidTgts that should be lowercase in the target prompt + "Player", "Opponent", "Card", "Spell", "Permanent" + }; + if (Arrays.asList(commonStuff).contains(tgtWhat) || CardType.CoreType.isValidEnum(tgtWhat)) { + tgtWhat = tgtWhat.toLowerCase(); + } + prompt = "Select target " + tgtWhat; } - final String prompt = mapParams.containsKey("TgtPrompt") ? mapParams.get("TgtPrompt") : - "Select target " + tgtWhat; TargetRestrictions abTgt = new TargetRestrictions(prompt, mapParams.get("ValidTgts").split(","), min, max); diff --git a/forge-game/src/main/java/forge/game/card/CardUtil.java b/forge-game/src/main/java/forge/game/card/CardUtil.java index 3190661404d..972c6f67a25 100644 --- a/forge-game/src/main/java/forge/game/card/CardUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardUtil.java @@ -203,7 +203,7 @@ public final class CardUtil { newCopy.getCurrentState().copyFrom(in.getState(in.getFaceupCardStateName()), true); if (in.isFaceDown()) { newCopy.turnFaceDownNoUpdate(); - newCopy.setType(new CardType(in.getType())); + newCopy.setType(new CardType(in.getCurrentState().getType())); // prevent StackDescription from revealing face newCopy.updateStateForView(); } diff --git a/forge-gui/res/cardsfolder/b/bonecrusher_giant_stomp.txt b/forge-gui/res/cardsfolder/b/bonecrusher_giant_stomp.txt index a788fad0283..398bdeec443 100644 --- a/forge-gui/res/cardsfolder/b/bonecrusher_giant_stomp.txt +++ b/forge-gui/res/cardsfolder/b/bonecrusher_giant_stomp.txt @@ -14,5 +14,5 @@ ManaCost:1 R Types:Instant Adventure A:SP$ Effect | Cost$ 1 R | Name$ Stomp Effect | StaticAbilities$ STCantPrevent | AILogic$ Burn | SubAbility$ DBDamage | SpellDescription$ Damage can't be prevented this turn. CARDNAME deals 2 damage to any target. SVar:STCantPrevent:Mode$ CantPreventDamage | EffectZone$ Command | Description$ Damage can't be prevented. -SVar:DBDamage:DB$ DealDamage | ValidTgts$ Player,Planeswalker,Creature | TgtPrompt$ Select any target | NumDmg$ 2 | NoPrevention$ True +SVar:DBDamage:DB$ DealDamage | ValidTgts$ Any | NumDmg$ 2 | NoPrevention$ True Oracle:Damage can't be prevented this turn. Stomp deals 2 damage to any target. diff --git a/forge-gui/res/cardsfolder/c/candles_glow.txt b/forge-gui/res/cardsfolder/c/candles_glow.txt index 5e7cce11711..216f70617af 100644 --- a/forge-gui/res/cardsfolder/c/candles_glow.txt +++ b/forge-gui/res/cardsfolder/c/candles_glow.txt @@ -2,7 +2,7 @@ Name:Candles' Glow ManaCost:1 W Types:Instant Arcane K:Splice:Arcane:1 W -A:SP$ PreventDamage | Cost$ 1 W | ValidTgts$ Any | Amount$ 3 | PreventionSubAbility$ GlowOfLife | ShieldEffectTarget$ You | TgtPrompt$ Select any target | SpellDescription$ Prevent the next 3 damage that would be dealt to any target this turn. You gain life equal to the damage prevented this way. +A:SP$ PreventDamage | Cost$ 1 W | ValidTgts$ Any | Amount$ 3 | PreventionSubAbility$ GlowOfLife | ShieldEffectTarget$ You | SpellDescription$ Prevent the next 3 damage that would be dealt to any target this turn. You gain life equal to the damage prevented this way. SVar:GlowOfLife:DB$ GainLife | Defined$ ShieldEffectTarget | LifeAmount$ PreventedDamage | SpellDescription$ You gain life equal to the damage prevented this way. DeckHints:Type$Arcane Oracle:Prevent the next 3 damage that would be dealt to any target this turn. You gain life equal to the damage prevented this way.\nSplice onto Arcane {1}{W} (As you cast an Arcane spell, you may reveal this card from your hand and pay its splice cost. If you do, add this card's effects to that spell.) diff --git a/forge-gui/res/cardsfolder/d/dragon_tempest.txt b/forge-gui/res/cardsfolder/d/dragon_tempest.txt index 93c687f4d5a..a8befc05cde 100644 --- a/forge-gui/res/cardsfolder/d/dragon_tempest.txt +++ b/forge-gui/res/cardsfolder/d/dragon_tempest.txt @@ -4,7 +4,7 @@ Types:Enchantment T:Mode$ ChangesZone | ValidCard$ Creature.YouCtrl+withFlying | Origin$ Any | Destination$ Battlefield | Execute$ TrigPump | TriggerZones$ Battlefield | TriggerDescription$ Whenever a creature with flying enters the battlefield under your control, it gains haste until end of turn. SVar:TrigPump:DB$ Pump | Defined$ TriggeredCard | KW$ Haste T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Dragon.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ Whenever a Dragon enters the battlefield under your control, it deals X damage to any target, where X is the number of Dragons you control. -SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Any | NumDmg$ NumDragons | TgtPrompt$ Select any target | DamageSource$ TriggeredCard +SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Any | NumDmg$ NumDragons | DamageSource$ TriggeredCard SVar:NumDragons:Count$Valid Dragon.YouCtrl SVar:BuffedBy:Creature.withFlying DeckHints:Type$Dragon & Keyword$Flying diff --git a/forge-gui/res/cardsfolder/f/flesh_blood.txt b/forge-gui/res/cardsfolder/f/flesh_blood.txt index 6a865b4ad58..61bf66a162d 100644 --- a/forge-gui/res/cardsfolder/f/flesh_blood.txt +++ b/forge-gui/res/cardsfolder/f/flesh_blood.txt @@ -15,6 +15,6 @@ Name:Blood ManaCost:R G Types:Sorcery A:SP$ Pump | Cost$ R G | ValidTgts$ Creature.YouCtrl | AILogic$ PowerDmg | TgtPrompt$ Select target creature you control | SubAbility$ BloodDamage | StackDescription$ None | SpellDescription$ Target creature you control deals damage equal to its power to any target. -SVar:BloodDamage:DB$ DealDamage | ValidTgts$ Any | AILogic$ PowerDmg | TgtPrompt$ Select any target | NumDmg$ Y | DamageSource$ ParentTarget +SVar:BloodDamage:DB$ DealDamage | ValidTgts$ Any | AILogic$ PowerDmg | NumDmg$ Y | DamageSource$ ParentTarget SVar:Y:ParentTargeted$CardPower Oracle:Target creature you control deals damage equal to its power to any target.\nFuse (You may cast one or both halves of this card from your hand.) diff --git a/forge-gui/res/cardsfolder/f/foundry_helix.txt b/forge-gui/res/cardsfolder/f/foundry_helix.txt index 0485e356028..a2393966082 100644 --- a/forge-gui/res/cardsfolder/f/foundry_helix.txt +++ b/forge-gui/res/cardsfolder/f/foundry_helix.txt @@ -1,7 +1,7 @@ Name:Foundry Helix ManaCost:1 R W Types:Instant -A:SP$ DealDamage | Cost$ 1 R W Sac<1/Permanent> | ValidTgts$ Creature,Planeswalker,Player | TgtPrompt$ Select any target | NumDmg$ 4 | SubAbility$ DBGainLife | SpellDescription$ CARDNAME deals 4 damage to any target. If the sacrificed permanent was an artifact, you gain 4 life. +A:SP$ DealDamage | Cost$ 1 R W Sac<1/Permanent> | ValidTgts$ Any | NumDmg$ 4 | SubAbility$ DBGainLife | SpellDescription$ CARDNAME deals 4 damage to any target. If the sacrificed permanent was an artifact, you gain 4 life. SVar:DBGainLife:DB$ GainLife | ConditionDefined$ Sacrificed | ConditionPresent$ Artifact | LifeAmount$ 4 DeckHints:Type$Artifact DeckHas:Ability$LifeGain diff --git a/forge-gui/res/cardsfolder/i/ill_tempered_loner_howlpack_avenger.txt b/forge-gui/res/cardsfolder/i/ill_tempered_loner_howlpack_avenger.txt index ef08bb3cbfb..70acd45bb45 100644 --- a/forge-gui/res/cardsfolder/i/ill_tempered_loner_howlpack_avenger.txt +++ b/forge-gui/res/cardsfolder/i/ill_tempered_loner_howlpack_avenger.txt @@ -3,7 +3,7 @@ ManaCost:2 R R Types:Creature Human Werewolf PT:3/3 T:Mode$ DamageDoneOnce | Execute$ TrigDamage | ValidTarget$ Card.Self | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME is dealt damage, it deals that much damage to any target. -SVar:TrigDamage:DB$ DealDamage | NumDmg$ X | ValidTgts$ Any | TgtPrompt$ Select any target +SVar:TrigDamage:DB$ DealDamage | NumDmg$ X | ValidTgts$ Any SVar:X:TriggerCount$DamageAmount SVar:HasCombatEffect:TRUE A:AB$ Pump | Cost$ 1 R | Defined$ Self | NumAtt$ +2 | SpellDescription$ CARDNAME gets +2/+0 until end of turn. @@ -19,7 +19,7 @@ Colors:red Types:Creature Werewolf PT:4/4 T:Mode$ DamageDoneOnce | Execute$ TrigDamage | ValidTarget$ Permanent.YouCtrl | TriggerZones$ Battlefield | TriggerDescription$ Whenever a permanent you control is dealt damage, CARDNAME deals that much damage to any target. -SVar:TrigDamage:DB$ DealDamage | NumDmg$ X | ValidTgts$ Any | TgtPrompt$ Select any target +SVar:TrigDamage:DB$ DealDamage | NumDmg$ X | ValidTgts$ Any SVar:X:TriggerCount$DamageAmount S:Mode$ Continuous | Affected$ Permanent.YouCtrl | AddSVar$ CE SVar:CE:SVar:HasCombatEffect:TRUE diff --git a/forge-gui/res/cardsfolder/i/improvised_weaponry.txt b/forge-gui/res/cardsfolder/i/improvised_weaponry.txt index 017ca0cd4be..04b848fc1d1 100644 --- a/forge-gui/res/cardsfolder/i/improvised_weaponry.txt +++ b/forge-gui/res/cardsfolder/i/improvised_weaponry.txt @@ -1,7 +1,7 @@ Name:Improvised Weaponry ManaCost:2 R Types:Sorcery -A:SP$ DealDamage | Cost$ 2 R | ValidTgts$ Any | TgtPrompt$ Select any targeto | NumDmg$ 2 | SubAbility$ DBToken | SpellDescription$ CARDNAME deals 2 damage to any target. +A:SP$ DealDamage | Cost$ 2 R | ValidTgts$ Any | NumDmg$ 2 | SubAbility$ DBToken | SpellDescription$ CARDNAME deals 2 damage to any target. SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenScript$ c_a_treasure_sac | TokenOwner$ You | SpellDescription$ Create a Treasure token. DeckHas:Ability$Token Oracle:Improvised Weaponry deals 2 damage to any target. Create a Treasure token. (It's an artifact with "{T}, Sacrifice this artifact: Add one mana of any color.") diff --git a/forge-gui/res/cardsfolder/k/karplusan_hound.txt b/forge-gui/res/cardsfolder/k/karplusan_hound.txt index afa688696bb..d83fc88b2ab 100644 --- a/forge-gui/res/cardsfolder/k/karplusan_hound.txt +++ b/forge-gui/res/cardsfolder/k/karplusan_hound.txt @@ -3,6 +3,6 @@ ManaCost:3 R Types:Creature Dog PT:3/3 T:Mode$ Attacks | ValidCard$ Card.Self | IsPresent$ Planeswalker.Chandra+YouCtrl | Execute$ DBDealDamage | TriggerDescription$ Whenever CARDNAME attacks, if you control a Chandra planeswalker, this creature deals 2 damage to any target. -SVar:DBDealDamage:DB$ DealDamage | ValidTgts$ Any | NumDmg$ 2 | TgtPrompt$ Select any target +SVar:DBDealDamage:DB$ DealDamage | ValidTgts$ Any | NumDmg$ 2 SVar:BuffedBy:Chandra Oracle:Whenever Karplusan Hound attacks, if you control a Chandra planeswalker, this creature deals 2 damage to any target. diff --git a/forge-gui/res/cardsfolder/k/karplusan_minotaur.txt b/forge-gui/res/cardsfolder/k/karplusan_minotaur.txt index f912b026d12..7d0bf573ef6 100644 --- a/forge-gui/res/cardsfolder/k/karplusan_minotaur.txt +++ b/forge-gui/res/cardsfolder/k/karplusan_minotaur.txt @@ -4,7 +4,7 @@ Types:Creature Minotaur Warrior PT:3/3 K:Cumulative upkeep:FlipCoin<1>:Flip a coin. T:Mode$ FlippedCoin | ValidPlayer$ You | ValidResult$ Win | TriggerZones$ Battlefield | Execute$ TrigYouDmg | TriggerDescription$ Whenever you win a coin flip, CARDNAME deals 1 damage to any target. -SVar:TrigYouDmg:DB$ DealDamage | NumDmg$ 1 | ValidTgts$ Any | TgtPrompt$ Select any target +SVar:TrigYouDmg:DB$ DealDamage | NumDmg$ 1 | ValidTgts$ Any T:Mode$ FlippedCoin | ValidPlayer$ You | ValidResult$ Lose | TriggerZones$ Battlefield | Execute$ TrigOppDmg | TriggerDescription$ Whenever you lose a coin flip, CARDNAME deals 1 damage to any target of an opponent's choice. SVar:TrigOppDmg:DB$ DealDamage | NumDmg$ 1 | ValidTgts$ Any | TargetingPlayer$ Opponent AI:RemoveDeck:All diff --git a/forge-gui/res/cardsfolder/k/klement_novice_acolyte.txt b/forge-gui/res/cardsfolder/k/klement_novice_acolyte.txt index 7b05fad90a8..87c06d100c2 100644 --- a/forge-gui/res/cardsfolder/k/klement_novice_acolyte.txt +++ b/forge-gui/res/cardsfolder/k/klement_novice_acolyte.txt @@ -61,7 +61,7 @@ Types:Legendary Creature Tiefling Cleric PT:2/3 K:Double Strike T:Mode$ DamageDoneOnce | Execute$ TrigDamage | ValidTarget$ Card.Self | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME is dealt damage, it deals that much damage to any target. -SVar:TrigDamage:DB$ DealDamage | NumDmg$ X | ValidTgts$ Any | TgtPrompt$ Select any target +SVar:TrigDamage:DB$ DealDamage | NumDmg$ X | ValidTgts$ Any SVar:X:TriggerCount$DamageAmount Oracle:Double strike\nWhenever Klement, Tempest Acolyte is dealt damage, it deals that much damage to any target. diff --git a/forge-gui/res/cardsfolder/l/lightning_bolt.txt b/forge-gui/res/cardsfolder/l/lightning_bolt.txt index 32087371a32..dbc619a2f91 100644 --- a/forge-gui/res/cardsfolder/l/lightning_bolt.txt +++ b/forge-gui/res/cardsfolder/l/lightning_bolt.txt @@ -1,5 +1,5 @@ Name:Lightning Bolt ManaCost:R Types:Instant -A:SP$ DealDamage | ValidTgts$ Creature,Battle,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ 3 | SpellDescription$ CARDNAME deals 3 damage to any target. +A:SP$ DealDamage | ValidTgts$ Any | NumDmg$ 3 | SpellDescription$ CARDNAME deals 3 damage to any target. Oracle:Lightning Bolt deals 3 damage to any target. diff --git a/forge-gui/res/cardsfolder/l/lozhan_dragons_legacy.txt b/forge-gui/res/cardsfolder/l/lozhan_dragons_legacy.txt index 5d9fce4e9d8..5eb6cb0b557 100644 --- a/forge-gui/res/cardsfolder/l/lozhan_dragons_legacy.txt +++ b/forge-gui/res/cardsfolder/l/lozhan_dragons_legacy.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Dragon Shaman PT:4/2 K:Flying T:Mode$ SpellCast | ValidCard$ Card.Adventure,Dragon | ValidActivatingPlayer$ You | Execute$ TrigDamage | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast an Adventure spell or Dragon spell, CARDNAME deals damage equal to that spell's mana value to any target that isn't a commander. -SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Creature.IsNotCommander,Player,Planeswalker.IsNotCommander | TgtPrompt$ Select any target that isn't a commander | NumDmg$ X +SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Creature.IsNotCommander,Player,Planeswalker.IsNotCommander,Battle.IsNotCommander | TgtPrompt$ Select any target that isn't a commander | NumDmg$ X SVar:X:TriggeredStackInstance$CardManaCostLKI SVar:BuffedBy:Creature.AdventureCard,Dragon DeckHints:Type$Adventure|Dragon diff --git a/forge-gui/res/cardsfolder/o/ordeal_of_purphoros.txt b/forge-gui/res/cardsfolder/o/ordeal_of_purphoros.txt index 0ca0daa045a..8cdad24f613 100644 --- a/forge-gui/res/cardsfolder/o/ordeal_of_purphoros.txt +++ b/forge-gui/res/cardsfolder/o/ordeal_of_purphoros.txt @@ -7,7 +7,7 @@ T:Mode$ Attacks | ValidCard$ Card.AttachedBy | Execute$ TrigPutCounter | Trigger SVar:TrigPutCounter:DB$ PutCounter | Defined$ TriggeredAttackerLKICopy | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBSac SVar:DBSac:DB$ Destroy | Defined$ Self | Sacrifice$ True | ConditionDefined$ TriggeredAttacker | ConditionPresent$ Card.counters_GE3_P1P1 T:Mode$ Sacrificed | ValidPlayer$ You | ValidCard$ Card.Self | Execute$ TrigDmg | TriggerZones$ Battlefield | TriggerDescription$ When you sacrifice CARDNAME, it deals 3 damage to any target. -SVar:TrigDmg:DB$ DealDamage | NumDmg$ 3 | ValidTgts$ Any | TgtPrompt$ Select any target +SVar:TrigDmg:DB$ DealDamage | NumDmg$ 3 | ValidTgts$ Any S:Mode$ Continuous | Affected$ Creature.AttachedBy | AddSVar$ AE SVar:AE:SVar:HasAttackEffect:TRUE SVar:SacMe:4 diff --git a/forge-gui/res/cardsfolder/p/prophetic_titan.txt b/forge-gui/res/cardsfolder/p/prophetic_titan.txt index 32107fa2aa0..243296d264c 100644 --- a/forge-gui/res/cardsfolder/p/prophetic_titan.txt +++ b/forge-gui/res/cardsfolder/p/prophetic_titan.txt @@ -4,7 +4,7 @@ Types:Creature Giant Wizard PT:4/4 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigCharm | TriggerDescription$ Delirium — When CARDNAME enters the battlefield, ABILITY SVar:TrigCharm:DB$ Charm | CharmNum$ X | Choices$ DBDealDamage,DBDig | AdditionalDescription$ If there are four or more card types in your graveyard, choose both. -SVar:DBDealDamage:DB$ DealDamage | ValidTgts$ Creature,Planeswalker,Player | TgtPrompt$ Select any target | NumDmg$ 4 | SpellDescription$ CARDNAME deals 4 damage to any target. +SVar:DBDealDamage:DB$ DealDamage | ValidTgts$ Any | NumDmg$ 4 | SpellDescription$ CARDNAME deals 4 damage to any target. SVar:DBDig:DB$ Dig | DigNum$ 4 | RestRandomOrder$ True | SpellDescription$ Look at the top four cards of your library. Put one of them into your hand and the rest on the bottom of your library in a random order. SVar:X:Count$Compare Y GE4.2.1 SVar:Y:Count$CardControllerTypes.Graveyard diff --git a/forge-gui/res/cardsfolder/r/rumbling_aftershocks.txt b/forge-gui/res/cardsfolder/r/rumbling_aftershocks.txt index 2e050462f52..f6f3ba90dd4 100644 --- a/forge-gui/res/cardsfolder/r/rumbling_aftershocks.txt +++ b/forge-gui/res/cardsfolder/r/rumbling_aftershocks.txt @@ -2,7 +2,7 @@ Name:Rumbling Aftershocks ManaCost:4 R Types:Enchantment T:Mode$ SpellCast | ValidCard$ Card.YouCtrl+kicked | TriggerZones$ Battlefield | Execute$ DamageSomeone | OptionalDecider$ You | TriggerDescription$ Whenever you cast a kicked spell, you may have CARDNAME deal damage to any target equal to the number of times that spell was kicked. -SVar:DamageSomeone:DB$ DealDamage | ValidTgts$ Any | NumDmg$ X | TgtPrompt$ Select any target +SVar:DamageSomeone:DB$ DealDamage | ValidTgts$ Any | NumDmg$ X SVar:X:TriggeredSpellAbility$TimesKicked AI:RemoveDeck:Random Oracle:Whenever you cast a kicked spell, you may have Rumbling Aftershocks deal damage to any target equal to the number of times that spell was kicked. diff --git a/forge-gui/res/cardsfolder/s/scars_of_the_veteran.txt b/forge-gui/res/cardsfolder/s/scars_of_the_veteran.txt index 562ee97a5e5..0eed5f86c3d 100644 --- a/forge-gui/res/cardsfolder/s/scars_of_the_veteran.txt +++ b/forge-gui/res/cardsfolder/s/scars_of_the_veteran.txt @@ -2,7 +2,7 @@ Name:Scars of the Veteran ManaCost:4 W Types:Instant SVar:AltCost:Cost$ ExileFromHand<1/Card.White+Other> | Description$ You may exile a white card from your hand rather than pay this spell's mana cost. -A:SP$ PreventDamage | Cost$ 4 W | ValidTgts$ Any | Amount$ 7 | PreventionSubAbility$ ScarEffect | ShieldEffectTarget$ Targeted | TgtPrompt$ Select any target | SpellDescription$ Prevent the next 7 damage that would be dealt to any target this turn. If it's a creature, put a +0/+1 counter on it for each 1 damage prevented this way at the beginning of the next end step. +A:SP$ PreventDamage | Cost$ 4 W | ValidTgts$ Any | Amount$ 7 | PreventionSubAbility$ ScarEffect | ShieldEffectTarget$ Targeted | SpellDescription$ Prevent the next 7 damage that would be dealt to any target this turn. If it's a creature, put a +0/+1 counter on it for each 1 damage prevented this way at the beginning of the next end step. SVar:ScarEffect:DB$ Effect | RememberObjects$ ShieldEffectTarget | Triggers$ DelTrig | SpellDescription$ If it's a creature, put a +0/+1 counter on it for each 1 damage prevented this way at the beginning of the next end step. SVar:DelTrig:Mode$ Phase | Phase$ End of Turn | Execute$ DelayedScars | OneOff$ True | IsPresent$ Creature.IsRemembered | TriggerDescription$ If it's a creature, put a +0/+1 counter on it for each 1 damage prevented this way at the beginning of the next end step. SVar:DelayedScars:DB$ PutCounter | Defined$ Remembered | CounterType$ P0P1 | CounterNum$ PreventedDamage diff --git a/forge-gui/res/cardsfolder/s/scourge_of_valkas.txt b/forge-gui/res/cardsfolder/s/scourge_of_valkas.txt index f8d4b91ee83..9b2e4bad8b1 100644 --- a/forge-gui/res/cardsfolder/s/scourge_of_valkas.txt +++ b/forge-gui/res/cardsfolder/s/scourge_of_valkas.txt @@ -4,7 +4,7 @@ Types:Creature Dragon PT:4/4 K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self,Dragon.Other+YouCtrl | Execute$ TrigDamage | TriggerDescription$ Whenever CARDNAME or another Dragon enters the battlefield under your control, it deals X damage to any target, where X is the number of Dragons you control. -SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Any | NumDmg$ NumDragons | TgtPrompt$ Select any target | DamageSource$ TriggeredCard +SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Any | NumDmg$ NumDragons | DamageSource$ TriggeredCard SVar:NumDragons:Count$Valid Dragon.YouCtrl A:AB$ Pump | Cost$ R | Defined$ Self | NumAtt$ +1 | SpellDescription$ CARDNAME gets +1/+0 until end of turn. SVar:PlayMain1:TRUE diff --git a/forge-gui/res/cardsfolder/s/searing_meditation.txt b/forge-gui/res/cardsfolder/s/searing_meditation.txt index c5efa0c281f..0f626b2ea3a 100644 --- a/forge-gui/res/cardsfolder/s/searing_meditation.txt +++ b/forge-gui/res/cardsfolder/s/searing_meditation.txt @@ -2,6 +2,6 @@ Name:Searing Meditation ManaCost:1 R W Types:Enchantment T:Mode$ LifeGained | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigDamage | TriggerDescription$ Whenever you gain life, you may pay {2}. If you do, CARDNAME deals 2 damage to any target. -SVar:TrigDamage:AB$DealDamage | Cost$ 2 | NumDmg$ 2 | ValidTgts$ Any | TgtPrompt$ Select any target +SVar:TrigDamage:AB$DealDamage | Cost$ 2 | NumDmg$ 2 | ValidTgts$ Any AI:RemoveDeck:Random Oracle:Whenever you gain life, you may pay {2}. If you do, Searing Meditation deals 2 damage to any target. diff --git a/forge-gui/res/cardsfolder/s/shieldmates_blessing.txt b/forge-gui/res/cardsfolder/s/shieldmates_blessing.txt index 5b8e064753d..78e16a3a573 100644 --- a/forge-gui/res/cardsfolder/s/shieldmates_blessing.txt +++ b/forge-gui/res/cardsfolder/s/shieldmates_blessing.txt @@ -1,5 +1,5 @@ Name:Shieldmate's Blessing ManaCost:W Types:Instant -A:SP$ PreventDamage | Cost$ W | ValidTgts$ Any | Amount$ 3 | TgtPrompt$ Select any target | SpellDescription$ Prevent the next 3 damage that would be dealt to any target this turn. +A:SP$ PreventDamage | Cost$ W | ValidTgts$ Any | Amount$ 3 | SpellDescription$ Prevent the next 3 damage that would be dealt to any target this turn. Oracle:Prevent the next 3 damage that would be dealt to any target this turn. diff --git a/forge-gui/res/cardsfolder/s/souls_fire.txt b/forge-gui/res/cardsfolder/s/souls_fire.txt index 165ffba2bcc..a67422e1d16 100644 --- a/forge-gui/res/cardsfolder/s/souls_fire.txt +++ b/forge-gui/res/cardsfolder/s/souls_fire.txt @@ -2,6 +2,6 @@ Name:Soul's Fire ManaCost:2 R Types:Instant A:SP$ Pump | Cost$ 2 R | ValidTgts$ Creature.YouCtrl | AILogic$ PowerDmg | TgtPrompt$ Select target creature you control | SubAbility$ SoulsDamage | StackDescription$ None | SpellDescription$ Target creature you control deals damage equal to its power to any target. -SVar:SoulsDamage:DB$ DealDamage | ValidTgts$ Any | AILogic$ PowerDmg | TgtPrompt$ Select any target | NumDmg$ X | DamageSource$ ParentTarget +SVar:SoulsDamage:DB$ DealDamage | ValidTgts$ Any | AILogic$ PowerDmg | NumDmg$ X | DamageSource$ ParentTarget SVar:X:ParentTargeted$CardPower Oracle:Target creature you control deals damage equal to its power to any target. diff --git a/forge-gui/res/cardsfolder/s/spare_dagger.txt b/forge-gui/res/cardsfolder/s/spare_dagger.txt index 19e2111b30e..4d3b5bc16c5 100644 --- a/forge-gui/res/cardsfolder/s/spare_dagger.txt +++ b/forge-gui/res/cardsfolder/s/spare_dagger.txt @@ -5,5 +5,5 @@ K:Equip:1 S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 1 | AddTrigger$ AttackTrigger | Description$ Equipped creature gets +1/+0 and has "Whenever this creature attacks, you may sacrifice Spare Dagger. When you do, this creature deals 1 damage to any target." SVar:AttackTrigger:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigDealDamage | TriggerDescription$ Whenever this creature attacks, you may sacrifice CARDNAME. When you do, this creature deals 1 damage to any target. SVar:TrigDealDamage:AB$ ImmediateTrigger | Cost$ Sac<1/OriginalHost/Spare Dagger> | Execute$ TrigDamage | TriggerDescription$ When you do, this creature deals 1 damage to any target. -SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Player,Creature,Planeswalker | TgtPrompt$ Select any target | NumDmg$ 1 +SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Any | NumDmg$ 1 Oracle:Equipped creature gets +1/+0 and has "Whenever this creature attacks, you may sacrifice Spare Dagger. When you do, this creature deals 1 damage to any target."\nEquip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.) diff --git a/forge-gui/res/cardsfolder/s/spitemare.txt b/forge-gui/res/cardsfolder/s/spitemare.txt index 5cd0d6d6957..de60ae8a613 100644 --- a/forge-gui/res/cardsfolder/s/spitemare.txt +++ b/forge-gui/res/cardsfolder/s/spitemare.txt @@ -3,7 +3,7 @@ ManaCost:2 RW RW Types:Creature Elemental PT:3/3 T:Mode$ DamageDoneOnce | Execute$ TrigDamage | ValidTarget$ Card.Self | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME is dealt damage, it deals that much damage to any target. -SVar:TrigDamage:DB$ DealDamage | NumDmg$ X | ValidTgts$ Any | TgtPrompt$ Select any target +SVar:TrigDamage:DB$ DealDamage | NumDmg$ X | ValidTgts$ Any SVar:X:TriggerCount$DamageAmount SVar:HasCombatEffect:TRUE Oracle:Whenever Spitemare is dealt damage, it deals that much damage to any target. diff --git a/forge-gui/res/cardsfolder/s/syrix_carrier_of_the_flame.txt b/forge-gui/res/cardsfolder/s/syrix_carrier_of_the_flame.txt index d64774ca08b..5d93bc0988a 100644 --- a/forge-gui/res/cardsfolder/s/syrix_carrier_of_the_flame.txt +++ b/forge-gui/res/cardsfolder/s/syrix_carrier_of_the_flame.txt @@ -6,7 +6,7 @@ K:Flying K:Haste T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Player | TriggerZones$ Battlefield | Execute$ TrigPhoenix | CheckSVar$ X | TriggerDescription$ At the beginning of each end step, if a creature card left your graveyard this turn, target Phoenix you control deals damage equal to its power to any target. SVar:TrigPhoenix:DB$ Pump | ValidTgts$ Phoenix.YouCtrl | AILogic$ PowerDmg | TgtPrompt$ Select target Phoenix you control | SubAbility$ DBDamage -SVar:DBDamage:DB$ DealDamage | ValidTgts$ Any | AILogic$ PowerDmg | TgtPrompt$ Select any target | NumDmg$ Y | DamageSource$ ParentTarget +SVar:DBDamage:DB$ DealDamage | ValidTgts$ Any | AILogic$ PowerDmg | NumDmg$ Y | DamageSource$ ParentTarget SVar:Y:ParentTargeted$CardPower T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Phoenix.Other+YouCtrl | TriggerZones$ Graveyard | Execute$ TrigPlay | OptionalDecider$ You | TriggerDescription$ Whenever another Phoenix you control dies, you may cast CARDNAME from your graveyard. SVar:TrigPlay:DB$ Play | Optional$ True diff --git a/forge-gui/res/cardsfolder/t/tiger_tribe_hunter.txt b/forge-gui/res/cardsfolder/t/tiger_tribe_hunter.txt index 64175ebc548..3c41872f15a 100644 --- a/forge-gui/res/cardsfolder/t/tiger_tribe_hunter.txt +++ b/forge-gui/res/cardsfolder/t/tiger_tribe_hunter.txt @@ -5,7 +5,7 @@ PT:4/4 K:Trample T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigImmediate | TriggerZones$ Battlefield | CheckSVar$ PackTactics | SVarCompare$ GE6 | NoResolvingCheck$ True | TriggerDescription$ Pack tactics — Whenever CARDNAME attacks, if you attacked with creatures with total power 6 or greater this combat, you may sacrifice another creature. When you do, CARDNAME deals damage equal to the sacrificed creature's power to target creature. SVar:TrigImmediate:AB$ ImmediateTrigger | Cost$ Sac<1/Creature.Other/another creature> | RememberObjects$ Sacrificed | Execute$ TrigDamage | TriggerDescription$ If you do, CARDNAME deals damage equal to the sacrificed creature's power to target creature. -SVar:TrigDamage:DB$ DealDamage | ConditionDefined$ DelayTriggerRememberedLKI | ValidTgts$ Creature | TgtPrompt$ Select any target | NumDmg$ X +SVar:TrigDamage:DB$ DealDamage | ConditionDefined$ DelayTriggerRememberedLKI | ValidTgts$ Creature | NumDmg$ X SVar:X:TriggerRemembered$CardPower SVar:PackTactics:Count$SumPower_Creature.attacking DeckHas:Ability$Sacrifice diff --git a/forge-gui/res/cardsfolder/upcoming/chandra_hopes_beacon.txt b/forge-gui/res/cardsfolder/upcoming/chandra_hopes_beacon.txt index 7a6c5a4509d..d4788093a8b 100644 --- a/forge-gui/res/cardsfolder/upcoming/chandra_hopes_beacon.txt +++ b/forge-gui/res/cardsfolder/upcoming/chandra_hopes_beacon.txt @@ -8,7 +8,7 @@ A:AB$ Mana | Cost$ AddCounter<2/LOYALTY> | Planeswalker$ True | Produced$ Combo A:AB$ Dig | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | DestinationZone$ Exile | DigNum$ 5 | ChangeNum$ All | RememberChanged$ True | SubAbility$ DBEffect | SpellDescription$ Exile the top five cards of your library. Until the end of your next turn, you may cast an instant or sorcery spell from among those exiled cards. SVar:DBEffect:DB$ Effect | StaticAbilities$ STPlay | RememberObjects$ Remembered | ForgetOnMoved$ Exile | Duration$ UntilTheEndOfYourNextTurn | SubAbility$ DBCleanup SVar:STPlay:Mode$ Continuous | EffectZone$ Command | AffectedZone$ Exile,Stack | Affected$ Instant.IsRemembered,Sorcery.IsRemembered | MayPlay$ True | MayPlayLimit$ 1 | Description$ Until the end of your next turn, you may cast an instant or sorcery spell from among the exiled cards. -A:AB$ DealDamage | Cost$ SubCounter | Planeswalker$ True | Ultimate$ True | ValidTgts$ Creature,Planeswalker,Player | TgtPrompt$ Select any target | TargetMin$ 0 | TargetMax$ 2 | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to each of up to two targets. +A:AB$ DealDamage | Cost$ SubCounter | Planeswalker$ True | Ultimate$ True | ValidTgts$ Any | TargetMin$ 0 | TargetMax$ 2 | NumDmg$ X | SpellDescription$ CARDNAME deals X damage to each of up to two targets. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$xPaid DeckNeeds:Type$Instant|Sorcery diff --git a/forge-gui/res/cardsfolder/upcoming/voldaren_thrilseeker.txt b/forge-gui/res/cardsfolder/upcoming/voldaren_thrilseeker.txt index 534cd599a15..f175aa281fc 100644 --- a/forge-gui/res/cardsfolder/upcoming/voldaren_thrilseeker.txt +++ b/forge-gui/res/cardsfolder/upcoming/voldaren_thrilseeker.txt @@ -4,8 +4,8 @@ Types:Creature Vampire Warrior PT:1/1 K:Backup:2:BackupAbility SVar:BackupAbility:DB$ Animate | Abilities$ ABDealDamage -SVar:ABDealDamage:AB$ DealDamage | Cost$ 1 Sac<1/CARDNAME/this creature> | ValidTgts$ Player,Creature,Planeswalker | TgtPrompt$ Select any target | NumDmg$ X | SpellDescription$ It deals damage equal to its power to any target. -A:AB$ DealDamage | Cost$ 1 Sac<1/CARDNAME/this creature> | ValidTgts$ Player,Creature,Planeswalker | TgtPrompt$ Select any target | NumDmg$ X | SpellDescription$ It deals damage equal to its power to any target. +SVar:ABDealDamage:AB$ DealDamage | Cost$ 1 Sac<1/CARDNAME/this creature> | ValidTgts$ Any | NumDmg$ X | SpellDescription$ It deals damage equal to its power to any target. +A:AB$ DealDamage | Cost$ 1 Sac<1/CARDNAME/this creature> | ValidTgts$ Any | NumDmg$ X | SpellDescription$ It deals damage equal to its power to any target. SVar:X:Sacrificed$CardPower DeckHas:Ability$Counters|Sacrifice Oracle:Backup 2 (When this creature enters the battlefield, put two +1/+1 counters on target creature. If that's another creature, it gains the following ability until end of turn.)\n{1}, Sacrifice this creature: It deals damage equal to its power to any target. diff --git a/forge-gui/res/cardsfolder/w/wrathful_red_dragon.txt b/forge-gui/res/cardsfolder/w/wrathful_red_dragon.txt index 902c438576d..0bd0eb9110f 100644 --- a/forge-gui/res/cardsfolder/w/wrathful_red_dragon.txt +++ b/forge-gui/res/cardsfolder/w/wrathful_red_dragon.txt @@ -4,7 +4,7 @@ Types:Creature Dragon PT:5/5 K:Flying T:Mode$ DamageDone | Execute$ TrigDamage | ValidTarget$ Dragon.YouCtrl | TriggerZones$ Battlefield | TriggerDescription$ Whenever a Dragon you control is dealt damage, it deals that much damage to any target that isn't a Dragon. -SVar:TrigDamage:DB$ DealDamage | NumDmg$ X | ValidTgts$ Creature.nonDragon,Player,Planeswalker.nonDragon | TgtPrompt$ Select any target that isn't a Dragon +SVar:TrigDamage:DB$ DealDamage | NumDmg$ X | ValidTgts$ Creature.nonDragon,Player,Planeswalker.nonDragon,Battle.nonDragon | TgtPrompt$ Select any target that isn't a Dragon SVar:X:TriggerCount$DamageAmount DeckHints:Type$Dragon Oracle:Flying\nWhenever a Dragon you control is dealt damage, it deals that much damage to any target that isn't a Dragon.