From c19ef9d1a1b59d56c44963fabfad4f594d23536a Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Mon, 8 Nov 2021 18:13:16 +0100 Subject: [PATCH] Cleanup cards: use cost instead of remembering --- .../src/main/java/forge/game/cost/CostExile.java | 2 +- forge-gui/res/cardsfolder/a/akoum_flameseeker.txt | 4 +--- forge-gui/res/cardsfolder/b/blood_operative.txt | 2 +- forge-gui/res/cardsfolder/c/chandras_defeat.txt | 6 ++---- forge-gui/res/cardsfolder/c/curse_of_chaos.txt | 4 +--- .../res/cardsfolder/d/daretti_ingenious_iconoclast.txt | 4 +--- forge-gui/res/cardsfolder/d/dark_depths.txt | 6 ++---- forge-gui/res/cardsfolder/d/deadly_designs.txt | 6 ++---- forge-gui/res/cardsfolder/f/forgotten_creation.txt | 6 ++---- forge-gui/res/cardsfolder/f/forgotten_harvest.txt | 2 +- .../g/garruk_relentless_garruk_the_veil_cursed.txt | 4 +--- .../jadzi_oracle_of_arcavios_journey_to_the_oracle.txt | 6 ++---- forge-gui/res/cardsfolder/m/marit_lages_slumber.txt | 6 ++---- .../res/cardsfolder/m/merchant_of_the_vale_haggle.txt | 4 +--- .../m/mila_crafty_companion_lukka_wayward_bonder.txt | 10 +++++----- forge-gui/res/cardsfolder/p/plague_boiler.txt | 6 ++---- forge-gui/res/cardsfolder/s/sarkhan_fireblood.txt | 4 +--- forge-gui/res/cardsfolder/t/taborax_hopes_demise.txt | 6 ++---- forge-gui/res/cardsfolder/t/tymaret_calls_the_dead.txt | 7 ++----- forge-gui/res/cardsfolder/v/vraska_golgari_queen.txt | 6 ++---- forge-gui/res/cardsfolder/w/whispering_specter.txt | 6 ++---- 21 files changed, 36 insertions(+), 71 deletions(-) diff --git a/forge-game/src/main/java/forge/game/cost/CostExile.java b/forge-game/src/main/java/forge/game/cost/CostExile.java index 9fef62597df..98d6fa3c615 100644 --- a/forge-game/src/main/java/forge/game/cost/CostExile.java +++ b/forge-game/src/main/java/forge/game/cost/CostExile.java @@ -159,7 +159,7 @@ public class CostExile extends CostPartWithList { amount++; } - if ((amount != null) && (list.size() < amount)) { + if (amount != null && list.size() < amount) { return false; } diff --git a/forge-gui/res/cardsfolder/a/akoum_flameseeker.txt b/forge-gui/res/cardsfolder/a/akoum_flameseeker.txt index 312bf1b3b54..63e09393c08 100644 --- a/forge-gui/res/cardsfolder/a/akoum_flameseeker.txt +++ b/forge-gui/res/cardsfolder/a/akoum_flameseeker.txt @@ -2,9 +2,7 @@ Name:Akoum Flameseeker ManaCost:2 R Types:Creature Human Shaman Ally PT:3/2 -A:AB$ Discard | Cost$ T tapXType<1/Ally> | Defined$ You | NumCards$ 1 | Mode$ TgtChoose | RememberDiscarded$ True | SubAbility$ DBDraw | PrecostDesc$ Cohort — | SpellDescription$ Discard a card. If you do, draw a card. -SVar:DBDraw:DB$ Draw | NumCards$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +A:AB$ Draw | Cost$ T tapXType<1/Ally> | NumCards$ 1 | UnlessCost$ Discard<1/Card> | UnlessSwitched$ True | UnlessPayer$ You | PrecostDesc$ Cohort — | SpellDescription$ Discard a card. If you do, draw a card. AI:RemoveDeck:All DeckHints:Type$Ally SVar:Picture:http://www.wizards.com/global/images/magic/general/akoum_flameseeker.jpg diff --git a/forge-gui/res/cardsfolder/b/blood_operative.txt b/forge-gui/res/cardsfolder/b/blood_operative.txt index 65ed760c7d3..c5b7c1314ee 100644 --- a/forge-gui/res/cardsfolder/b/blood_operative.txt +++ b/forge-gui/res/cardsfolder/b/blood_operative.txt @@ -6,5 +6,5 @@ K:Lifelink T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, you may exile target card from a graveyard. SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Exile | ValidTgts$ Card | TgtPrompt$ Select target card in a graveyard T:Mode$ Surveil | ValidPlayer$ You | Execute$ TrigReturn | TriggerZones$ Graveyard | IsPresent$ Card.StrictlySelf | PresentZone$ Graveyard | PresentPlayer$ You | TriggerDescription$ Whenever you surveil, if CARDNAME is in your graveyard, you may pay 3 life. If you do, return CARDNAME to your hand. -SVar:TrigReturn:AB$ChangeZone | Cost$ PayLife<3> | Defined$ Self | Origin$ Graveyard | Destination$ Hand +SVar:TrigReturn:AB$ ChangeZone | Cost$ PayLife<3> | Defined$ Self | Origin$ Graveyard | Destination$ Hand Oracle:Lifelink\nWhen Blood Operative enters the battlefield, you may exile target card from a graveyard.\nWhenever you surveil, if Blood Operative is in your graveyard, you may pay 3 life. If you do, return Blood Operative to your hand. diff --git a/forge-gui/res/cardsfolder/c/chandras_defeat.txt b/forge-gui/res/cardsfolder/c/chandras_defeat.txt index 2c44c2c58e5..e6de5bbf0b2 100644 --- a/forge-gui/res/cardsfolder/c/chandras_defeat.txt +++ b/forge-gui/res/cardsfolder/c/chandras_defeat.txt @@ -1,9 +1,7 @@ Name:Chandra's Defeat ManaCost:R Types:Instant -A:SP$ DealDamage | Cost$ R | ValidTgts$ Creature.Red,Planeswalker.Red | TgtPrompt$ Select target red creature or red planeswalker | NumDmg$ 5 | SubAbility$ DBDiscard | SpellDescription$ CARDNAME deals 5 damage to target red creature or red planeswalker. If that permanent is a Chandra planeswalker, you may discard a card. If you do, draw a card. -SVar:DBDiscard:DB$ Discard | Defined$ You | NumCards$ 1 | Mode$ TgtChoose | RememberDiscarded$ True | SubAbility$ DBDraw | ConditionDefined$ Targeted | ConditionPresent$ Planeswalker.Chandra | Optional$ True -SVar:DBDraw:DB$ Draw | NumCards$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +A:SP$ DealDamage | Cost$ R | ValidTgts$ Creature.Red,Planeswalker.Red | TgtPrompt$ Select target red creature or red planeswalker | NumDmg$ 5 | SubAbility$ DBDraw | SpellDescription$ CARDNAME deals 5 damage to target red creature or red planeswalker. If that permanent is a Chandra planeswalker, you may discard a card. If you do, draw a card. +SVar:DBDraw:DB$ Draw | NumCards$ 1 | ConditionDefined$ Targeted | ConditionPresent$ Planeswalker.Chandra | UnlessCost$ Discard<1/Card> | UnlessSwitched$ True | UnlessPayer$ You SVar:Picture:http://www.wizards.com/global/images/magic/general/chandras_defeat.jpg Oracle:Chandra's Defeat deals 5 damage to target red creature or red planeswalker. If that permanent is a Chandra planeswalker, you may discard a card. If you do, draw a card. diff --git a/forge-gui/res/cardsfolder/c/curse_of_chaos.txt b/forge-gui/res/cardsfolder/c/curse_of_chaos.txt index b60ecce39a3..495e5d23c67 100644 --- a/forge-gui/res/cardsfolder/c/curse_of_chaos.txt +++ b/forge-gui/res/cardsfolder/c/curse_of_chaos.txt @@ -4,9 +4,7 @@ Types:Enchantment Aura Curse K:Enchant player A:SP$ Attach | Cost$ 2 R | ValidTgts$ Player | AILogic$ Curse T:Mode$ AttackersDeclared | Execute$ TrigDiscard | TriggerZones$ Battlefield | AttackedTarget$ Player.EnchantedBy | OptionalDecider$ TriggeredAttackingPlayer | TriggerDescription$ Whenever a player attacks enchanted player with one or more creatures, that attacking player may discard a card. If the player does, they draw a card. -SVar:TrigDiscard:DB$ Discard | Defined$ TriggeredAttackingPlayer | NumCards$ 1 | Mode$ TgtChoose | SubAbility$ DBDraw | RememberDiscarded$ True -SVar:DBDraw:DB$ Draw | Defined$ TriggeredAttackingPlayer | NumCards$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:TrigDiscard:DB$ Draw | Defined$ TriggeredAttackingPlayer | NumCards$ 1 | UnlessCost$ Discard<1/Card> | UnlessSwitched$ True | UnlessPayer$ TriggeredAttackingPlayer AI:RemoveDeck:All SVar:Picture:http://www.wizards.com/global/images/magic/general/curse_of_chaos.jpg Oracle:Enchant player\nWhenever a player attacks enchanted player with one or more creatures, that attacking player may discard a card. If the player does, they draw a card. diff --git a/forge-gui/res/cardsfolder/d/daretti_ingenious_iconoclast.txt b/forge-gui/res/cardsfolder/d/daretti_ingenious_iconoclast.txt index 0a1a17228ea..23da238a6db 100644 --- a/forge-gui/res/cardsfolder/d/daretti_ingenious_iconoclast.txt +++ b/forge-gui/res/cardsfolder/d/daretti_ingenious_iconoclast.txt @@ -3,9 +3,7 @@ ManaCost:1 B R Types:Legendary Planeswalker Daretti Loyalty:3 A:AB$ Token | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | TokenAmount$ 1 | TokenScript$ c_1_1_a_construct_defender | TokenOwner$ You | LegacyImage$ c 1 1 a construct defender cn2 | SpellDescription$ Create a 1/1 colorless Construct artifact creature token with defender. -A:AB$ Sacrifice | Cost$ SubCounter<1/LOYALTY> | Planeswalker$ True | Defined$ You | Amount$ 1 | SacValid$ Artifact | RememberSacrificed$ True | Optional$ True | SubAbility$ DBDestroy | SpellDescription$ You may sacrifice an artifact. If you do, destroy target artifact or creature. | StackDescription$ SpellDescription -SVar:DBDestroy:DB$ Destroy | ValidTgts$ Artifact,Creature | TgtPrompt$ Select target artifact or creature | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +A:AB$ Destroy | Cost$ SubCounter<1/LOYALTY> | Planeswalker$ True | ValidTgts$ Artifact,Creature | TgtPrompt$ Select target artifact or creature | UnlessCost$ Sac<1/Artifact> | UnlessSwitched$ True | UnlessPayer$ You | SpellDescription$ You may sacrifice an artifact. If you do, destroy target artifact or creature. | StackDescription$ SpellDescription A:AB$ CopyPermanent | Cost$ SubCounter<6/LOYALTY> | Planeswalker$ True | Ultimate$ True | ValidTgts$ Artifact | TgtZone$ Battlefield,Graveyard | TgtPrompt$ Select an artifact in graveyard or the battlefield | NumCopies$ 3 | SpellDescription$ Choose target artifact card in a graveyard or artifact on the battlefield. Create three tokens that are copies of it. SVar:Picture:http://www.wizards.com/global/images/magic/general/daretti_ingenious_iconoclast.jpg Oracle:[+1]: Create a 1/1 colorless Construct artifact creature token with defender.\n[−1]: You may sacrifice an artifact. If you do, destroy target artifact or creature.\n[−6]: Choose target artifact card in a graveyard or artifact on the battlefield. Create three tokens that are copies of it. diff --git a/forge-gui/res/cardsfolder/d/dark_depths.txt b/forge-gui/res/cardsfolder/d/dark_depths.txt index e4ec8c13d6a..a64e73b641c 100644 --- a/forge-gui/res/cardsfolder/d/dark_depths.txt +++ b/forge-gui/res/cardsfolder/d/dark_depths.txt @@ -3,9 +3,7 @@ ManaCost:no cost Types:Legendary Snow Land K:etbCounter:ICE:10 A:AB$ RemoveCounter | Cost$ 3 | CounterType$ ICE | CounterNum$ 1 | SpellDescription$ Remove an ice counter from CARDNAME. -T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Card.Self+counters_EQ0_ICE | Execute$ TrigSac | TriggerDescription$ When Dark Depths has no ice counters on it, sacrifice it. If you do, create Marit Lage, a legendary 20/20 black Avatar creature token with flying and indestructible. -SVar:TrigSac:DB$ Sacrifice | RememberSacrificed$ True | SubAbility$ DBToken -SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenScript$ marit_lage | TokenOwner$ You | LegacyImage$ marit lage v16 | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Card.Self+counters_EQ0_ICE | Execute$ TrigToken | TriggerDescription$ When Dark Depths has no ice counters on it, sacrifice it. If you do, create Marit Lage, a legendary 20/20 black Avatar creature token with flying and indestructible. +SVar:TrigToken:AB$ Token | TokenAmount$ 1 | TokenScript$ marit_lage | TokenOwner$ You | LegacyImage$ marit lage v16 | Cost$ Mandatory Sac<1/CARDNAME> SVar:Picture:http://www.wizards.com/global/images/magic/general/dark_depths.jpg Oracle:Dark Depths enters the battlefield with ten ice counters on it.\n{3}: Remove an ice counter from Dark Depths.\nWhen Dark Depths has no ice counters on it, sacrifice it. If you do, create Marit Lage, a legendary 20/20 black Avatar creature token with flying and indestructible. diff --git a/forge-gui/res/cardsfolder/d/deadly_designs.txt b/forge-gui/res/cardsfolder/d/deadly_designs.txt index faeead9bdda..7e584f1f241 100644 --- a/forge-gui/res/cardsfolder/d/deadly_designs.txt +++ b/forge-gui/res/cardsfolder/d/deadly_designs.txt @@ -2,9 +2,7 @@ Name:Deadly Designs ManaCost:1 B Types:Enchantment A:AB$ PutCounter | Cost$ 2 | CounterType$ PLOT | CounterNum$ 1 | Activator$ Player | SpellDescription$ Put a plot counter on CARDNAME. Any player may activate this ability. -T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Card.Self+counters_GE5_PLOT | Execute$ TrigSac | TriggerDescription$ When there are five or more plot counters on CARDNAME, sacrifice it. If you do, destroy up to two target creatures. -SVar:TrigSac:DB$ Sacrifice | RememberSacrificed$ True | SubAbility$ DBDestroy | ConditionPresent$ Card.Self+YouCtrl -SVar:DBDestroy:DB$ Destroy | TargetMin$ 0 | TargetMax$ 2 | ValidTgts$ Creature | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup | TgtPrompt$ Select target creature -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Card.Self+counters_GE5_PLOT | Execute$ TrigDestroy | TriggerDescription$ When there are five or more plot counters on CARDNAME, sacrifice it. If you do, destroy up to two target creatures. +SVar:TrigDestroy:AB$ Destroy | TargetMin$ 0 | TargetMax$ 2 | ValidTgts$ Creature | Cost$ Mandatory Sac<1/CARDNAME> SVar:Picture:http://www.wizards.com/global/images/magic/general/deadly_designs.jpg Oracle:{2}: Put a plot counter on Deadly Designs. Any player may activate this ability.\nWhen there are five or more plot counters on Deadly Designs, sacrifice it. If you do, destroy up to two target creatures. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/f/forgotten_creation.txt b/forge-gui/res/cardsfolder/f/forgotten_creation.txt index eeffab34563..4f1e7576e18 100644 --- a/forge-gui/res/cardsfolder/f/forgotten_creation.txt +++ b/forge-gui/res/cardsfolder/f/forgotten_creation.txt @@ -4,10 +4,8 @@ Types:Creature Zombie Horror PT:3/3 K:Skulk T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigDiscard | OptionalDecider$ You | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of your upkeep, you may discard all the cards in your hand. If you do, draw that many cards. -SVar:TrigDiscard:DB$ Discard | Mode$ Hand | RememberDiscarded$ True | SubAbility$ DBDraw -SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True -SVar:X:Remembered$Amount +SVar:TrigDiscard:AB$ Draw | Cost$ Discard<1/Hand> | NumCards$ X +SVar:X:Discarded$Amount DeckHas:Ability$Discard DeckHints:Keyword$Madness & Ability$Delirium SVar:Picture:http://www.wizards.com/global/images/magic/general/forgotten_creation.jpg diff --git a/forge-gui/res/cardsfolder/f/forgotten_harvest.txt b/forge-gui/res/cardsfolder/f/forgotten_harvest.txt index 4e3561072bb..0d678b55637 100644 --- a/forge-gui/res/cardsfolder/f/forgotten_harvest.txt +++ b/forge-gui/res/cardsfolder/f/forgotten_harvest.txt @@ -2,6 +2,6 @@ Name:Forgotten Harvest ManaCost:1 G Types:Enchantment T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, you may exile a land card from your graveyard. If you do, put a +1/+1 counter on target creature. -SVar:TrigPutCounter:AB$PutCounter | Cost$ ExileFromGrave<1/Land> | ValidTgts$ Creature | TgtPrompt$ Select target creature | CounterType$ P1P1 | CounterNum$ 1 +SVar:TrigPutCounter:AB$ PutCounter | Cost$ ExileFromGrave<1/Land> | ValidTgts$ Creature | TgtPrompt$ Select target creature | CounterType$ P1P1 | CounterNum$ 1 SVar:Picture:http://www.wizards.com/global/images/magic/general/forgotten_harvest.jpg Oracle:At the beginning of your upkeep, you may exile a land card from your graveyard. If you do, put a +1/+1 counter on target creature. diff --git a/forge-gui/res/cardsfolder/g/garruk_relentless_garruk_the_veil_cursed.txt b/forge-gui/res/cardsfolder/g/garruk_relentless_garruk_the_veil_cursed.txt index 40d82ab2212..96e3550c635 100644 --- a/forge-gui/res/cardsfolder/g/garruk_relentless_garruk_the_veil_cursed.txt +++ b/forge-gui/res/cardsfolder/g/garruk_relentless_garruk_the_veil_cursed.txt @@ -20,10 +20,8 @@ Colors:green,black Types:Legendary Planeswalker Garruk Loyalty:3 A:AB$ Token | Cost$ AddCounter<1/LOYALTY> | TokenAmount$ 1 | TokenScript$ b_1_1_wolf_deathtouch | LegacyImage$ b 1 1 wolf deathtouch isd | TokenOwner$ You | Planeswalker$ True | SpellDescription$ Create a 1/1 black Wolf creature token with deathtouch. -A:AB$ Sacrifice | Cost$ SubCounter<1/LOYALTY> | Defined$ You | SacValid$ Creature | SacMessage$ Creature | SubAbility$ DBSearch | Planeswalker$ True | RememberSacrificed$ True | SpellDescription$ Sacrifice a creature. If you do, search your library for a creature card, reveal it, put it into your hand, then shuffle. +A:AB$ ChangeZone | Cost$ SubCounter<1/LOYALTY> | UnlessCost$ Sac<1/Creature> | UnlessSwitched$ True | UnlessPayer$ You | Origin$ Library | Destination$ Hand | ChangeType$ Creature | ChangeNum$ 1 | Planeswalker$ True | SpellDescription$ Sacrifice a creature. If you do, search your library for a creature card, reveal it, put it into your hand, then shuffle. A:AB$ PumpAll | Cost$ SubCounter<3/LOYALTY> | ValidCards$ Creature.YouCtrl | KW$ Trample | NumAtt$ X | NumDef$ X | Planeswalker$ True | Ultimate$ True | SpellDescription$ Creatures you control gain trample and get +X/+X until end of turn, where X is the number of creature cards in your graveyard. SVar:X:Count$TypeInYourYard.Creature -SVar:DBSearch:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Creature | ChangeNum$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ EQ1 | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:Picture:http://www.wizards.com/global/images/magic/general/garruk_the_veil_cursed.jpg Oracle:[+1]: Create a 1/1 black Wolf creature token with deathtouch.\n[−1]: Sacrifice a creature. If you do, search your library for a creature card, reveal it, put it into your hand, then shuffle.\n[−3]: Creatures you control gain trample and get +X/+X until end of turn, where X is the number of creature cards in your graveyard. diff --git a/forge-gui/res/cardsfolder/j/jadzi_oracle_of_arcavios_journey_to_the_oracle.txt b/forge-gui/res/cardsfolder/j/jadzi_oracle_of_arcavios_journey_to_the_oracle.txt index 0cf3609e07d..69f8e3f49d9 100644 --- a/forge-gui/res/cardsfolder/j/jadzi_oracle_of_arcavios_journey_to_the_oracle.txt +++ b/forge-gui/res/cardsfolder/j/jadzi_oracle_of_arcavios_journey_to_the_oracle.txt @@ -19,10 +19,8 @@ ALTERNATE Name:Journey to the Oracle ManaCost:2 G G Types:Sorcery -A:SP$ ChangeZone | Origin$ Hand | Destination$ Battlefield | ChangeType$ Land | ChangeNum$ X | SubAbility$ DBDiscard | StackDescription$ {p:You} put any number of land cards from your hand onto the battlefield. | SpellDescription$ You may put any number of land cards from your hand onto the battlefield. -SVar:DBDiscard:DB$ Discard | Defined$ You | NumCards$ 1 | Mode$ TgtChoose | RememberDiscarded$ True | SubAbility$ DBBounce | ConditionPresent$ Land.YouCtrl | ConditionCompare$ GE8 | Optional$ True | StackDescription$ Then if {p:You} controls eight or more lands, they may discard a card. | SpellDescription$ Then if you control eight or more lands, you may discard a card. -SVar:DBBounce:DB$ ChangeZone | Defined$ Self | Origin$ Stack | Destination$ Hand | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup | StackDescription$ If {p:You} does, return CARDNAME to its owner's hand. | SpellDescription$ If you do, return CARDNAME to its owner's hand. -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +A:SP$ ChangeZone | Origin$ Hand | Destination$ Battlefield | ChangeType$ Land | ChangeNum$ X | SubAbility$ DBBounce | StackDescription$ {p:You} puts any number of land cards from your hand onto the battlefield. | SpellDescription$ You may put any number of land cards from your hand onto the battlefield. +SVar:DBBounce:DB$ ChangeZone | Defined$ Self | Origin$ Stack | Destination$ Hand | UnlessCost$ Discard<1/Card> | UnlessSwitched$ True | UnlessPayer$ You | ConditionPresent$ Land.YouCtrl | ConditionCompare$ GE8 | StackDescription$ Then if {p:You} controls eight or more lands, they may discard a card. If {p:You} does, return CARDNAME to its owner's hand. | SpellDescription$ Then if you control eight or more lands, you may discard a card. If you do, return CARDNAME to its owner's hand. SVar:X:Count$ValidHand Land.YouCtrl DeckHas:Ability$Discard SVar:NeedsToPlayVar:X GE2 diff --git a/forge-gui/res/cardsfolder/m/marit_lages_slumber.txt b/forge-gui/res/cardsfolder/m/marit_lages_slumber.txt index a04b6640191..e0f6c37f8bd 100644 --- a/forge-gui/res/cardsfolder/m/marit_lages_slumber.txt +++ b/forge-gui/res/cardsfolder/m/marit_lages_slumber.txt @@ -3,10 +3,8 @@ ManaCost:1 U Types:Legendary Snow Enchantment T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self,Permanent.Snow+Other+YouCtrl | Execute$ TrigScry | TriggerDescription$ Whenever CARDNAME or another snow permanent enters the battlefield under your control, scry 1. SVar:TrigScry:DB$ Scry | ScryNum$ 1 | SpellDescription$ Scry 1. -T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | IsPresent$ Permanent.Snow+YouCtrl | PresentCompare$ GE10 | Execute$ TrigSac | TriggerDescription$ At the beginning of your upkeep, if you control ten or more snow permanents, sacrifice CARDNAME. If you do, create Marit Lage, a legendary 20/20 black Avatar creature token with flying and indestructible. -SVar:TrigSac:DB$ Sacrifice | RememberSacrificed$ True | SubAbility$ DBToken -SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenScript$ marit_lage | TokenOwner$ You | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | IsPresent$ Permanent.Snow+YouCtrl | PresentCompare$ GE10 | Execute$ TrigToken | TriggerDescription$ At the beginning of your upkeep, if you control ten or more snow permanents, sacrifice CARDNAME. If you do, create Marit Lage, a legendary 20/20 black Avatar creature token with flying and indestructible. +SVar:TrigToken:AB$ Token | TokenAmount$ 1 | TokenScript$ marit_lage | TokenOwner$ You | Cost$ Mandatory Sac<1/CARDNAME> DeckHas:Ability$Token DeckNeeds:Type$Snow Oracle:Whenever Marit Lage's Slumber or another snow permanent enters the battlefield under your control, scry 1.\nAt the beginning of your upkeep, if you control ten or more snow permanents, sacrifice Marit Lage's Slumber. If you do, create Marit Lage, a legendary 20/20 black Avatar creature token with flying and indestructible. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/m/merchant_of_the_vale_haggle.txt b/forge-gui/res/cardsfolder/m/merchant_of_the_vale_haggle.txt index e88a20025ec..19011d2cf95 100644 --- a/forge-gui/res/cardsfolder/m/merchant_of_the_vale_haggle.txt +++ b/forge-gui/res/cardsfolder/m/merchant_of_the_vale_haggle.txt @@ -11,7 +11,5 @@ ALTERNATE Name:Haggle ManaCost:R Types:Instant Adventure -A:SP$ Discard | Cost$ R | NumCards$ 1 | Optional$ True | Mode$ TgtChoose | RememberDiscarded$ True | SubAbility$ DBDraw | SpellDescription$ You may discard a card. If you do, draw a card. -SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +A:SP$ Draw | Cost$ R | NumCards$ 1 | UnlessCost$ Discard<1/Card> | UnlessSwitched$ True | UnlessPayer$ You | SpellDescription$ You may discard a card. If you do, draw a card. Oracle:You may discard a card. If you do, draw a card. (Then exile this card. You may cast the creature later from exile.) \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/m/mila_crafty_companion_lukka_wayward_bonder.txt b/forge-gui/res/cardsfolder/m/mila_crafty_companion_lukka_wayward_bonder.txt index eee9feca0f6..10a2deafb21 100644 --- a/forge-gui/res/cardsfolder/m/mila_crafty_companion_lukka_wayward_bonder.txt +++ b/forge-gui/res/cardsfolder/m/mila_crafty_companion_lukka_wayward_bonder.txt @@ -2,7 +2,7 @@ Name:Mila, Crafty Companion ManaCost:1 W W Types:Legendary Creature Fox PT:2/3 -T:Mode$ AttackersDeclared | AttackedTarget$ Planeswalker.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigWalkerPump | TriggerDescription$ Whenever an opponent attacks a planeswalker you control, put a loyalty counter on each planeswalker you control. +T:Mode$ AttackersDeclared | AttackedTarget$ Planeswalker.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigWalkerPump | TriggerDescription$ Whenever an opponent attacks one or more planeswalkers you control, put a loyalty counter on each planeswalker you control. SVar:TrigWalkerPump:DB$ PutCounterAll | ValidCards$ Planeswalker.YouCtrl | CounterType$ LOYALTY | CounterNum$ 1 T:Mode$ BecomesTarget | ValidSource$ Card.OppCtrl | ValidTarget$ Permanent.YouCtrl+inZoneBattlefield | TriggerZones$ Battlefield | Execute$ TrigDraw | OptionalDecider$ You | TriggerDescription$ Whenever a permanent you control becomes the target of a spell or ability an opponent controls, you may draw a card. SVar:TrigDraw:DB$ Draw | NumCards$ 1 | Defined$ You @@ -15,10 +15,10 @@ Name:Lukka, Wayward Bonder ManaCost:4 R R Types:Legendary Planeswalker Lukka Loyalty:5 -A:AB$ Discard | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | NumCards$ 1 | Optional$ True | Mode$ TgtChoose | RememberDiscarded$ True | SubAbility$ DBDraw | SpellDescription$ You may discard a card. If you do, draw a card. If a creature card was discarded this way, draw an additional card. -SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBDraw2 -SVar:DBDraw2:DB$ Draw | NumCards$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Creature | ConditionCompare$ EQ1 | StackDescription$ None | SubAbility$ DBCleanup -A:AB$ ChangeZone | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | Origin$ Graveyard | Destination$ Battlefield | ValidTgts$ Creature.YouCtrl | GainControl$ True | SubAbility$ DBPump | RememberChanged$ True | AILogic$ BeforeCombat | SpellDescription$ Return target creature card from your graveyard to the battlefield. It gains haste. Exile it at the beginning of the next end step. +A:AB$ Discard | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | NumCards$ 1 | Optional$ True | Mode$ TgtChoose | RememberDiscarded$ True | SubAbility$ DBDraw | SpellDescription$ You may discard a card. If you do, draw a card. If a creature card was discarded this way, draw two cards instead. +SVar:DBDraw:DB$ Draw | NumCards$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Card.nonCreature | ConditionCompare$ GE1 | SubAbility$ DBDraw2 +SVar:DBDraw2:DB$ Draw | NumCards$ 2 | ConditionDefined$ Remembered | ConditionPresent$ Creature | ConditionCompare$ GE1 | StackDescription$ None | SubAbility$ DBCleanup +A:AB$ ChangeZone | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | Origin$ Graveyard | Destination$ Battlefield | ValidTgts$ Creature.YouCtrl | GainControl$ True | SubAbility$ DBPump | RememberChanged$ True | AILogic$ BeforeCombat | SpellDescription$ Return target creature card from your graveyard to the battlefield. It gains haste. Exile it at the beginning of your next upkeep. SVar:DBPump:DB$ Animate | Keywords$ Haste | Defined$ Remembered | Duration$ Permanent | AtEOT$ Exile | SubAbility$ DBCleanup A:AB$ Effect | Cost$ SubCounter<7/LOYALTY> | Planeswalker$ True | Ultimate$ True | Name$ Emblem - Lukka, Wayward Bonder | Image$ emblem_lukka_wayward_bonder | Triggers$ LukkaCreatureETB | SVars$ LukkaDmg | Duration$ Permanent | AILogic$ Always | SpellDescription$ You get an emblem with "Whenever a creature enters the battlefield under your control, it deals damage equal to its power to any target." SVar:LukkaCreatureETB:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.YouCtrl | TriggerZones$ Command | Execute$ LukkaDmg | TriggerDescription$ Whenever a creature enters the battlefield under your control, it deals damage equal to its power to any target. diff --git a/forge-gui/res/cardsfolder/p/plague_boiler.txt b/forge-gui/res/cardsfolder/p/plague_boiler.txt index cb8abe49a77..f0c5e7ce6af 100644 --- a/forge-gui/res/cardsfolder/p/plague_boiler.txt +++ b/forge-gui/res/cardsfolder/p/plague_boiler.txt @@ -6,10 +6,8 @@ SVar:PutPlagueCounter:DB$ PutCounter | Defined$ Self | CounterType$ PLAGUE | Cou A:AB$ GenericChoice | Cost$ 1 B G | Choices$ DBPutPlagueCounter,DBRemovePlagueCounter | SpellDescription$ Put a plague counter on CARDNAME or remove a plague counter from it. SVar:DBRemovePlagueCounter:DB$ RemoveCounter | Defined$ Self | CounterType$ PLAGUE | CounterNum$ 1 | SpellDescription$ Remove a plague counter on this card. SVar:DBPutPlagueCounter:DB$ PutCounter | Defined$ Self | CounterType$ PLAGUE | CounterNum$ 1 | SpellDescription$ Put a plague counter on this card. -T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Card.Self+counters_GE3_PLAGUE | Execute$ TrigSac | TriggerDescription$ When CARDNAME has three or more plague counters on it, sacrifice it. If you do, destroy all nonland permanents. -SVar:TrigSac:DB$ Sacrifice | Defined$ Self | RememberSacrificed$ True | SubAbility$ DBDestroyAll -SVar:DBDestroyAll:DB$ DestroyAll | ValidCards$ Permanent.nonLand | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Card.Self+counters_GE3_PLAGUE | Execute$ TrigDestroyAll | TriggerDescription$ When CARDNAME has three or more plague counters on it, sacrifice it. If you do, destroy all nonland permanents. +SVar:TrigDestroyAll:AB$ DestroyAll | ValidCards$ Permanent.nonLand | Cost$ Mandatory Sac<1/CARDNAME> AI:RemoveDeck:All SVar:Picture:http://www.wizards.com/global/images/magic/general/plague_boiler.jpg Oracle:At the beginning of your upkeep, put a plague counter on Plague Boiler.\n{1}{B}{G}: Put a plague counter on Plague Boiler or remove a plague counter from it.\nWhen Plague Boiler has three or more plague counters on it, sacrifice it. If you do, destroy all nonland permanents. diff --git a/forge-gui/res/cardsfolder/s/sarkhan_fireblood.txt b/forge-gui/res/cardsfolder/s/sarkhan_fireblood.txt index df5f7de9ead..7dbf51f67a9 100644 --- a/forge-gui/res/cardsfolder/s/sarkhan_fireblood.txt +++ b/forge-gui/res/cardsfolder/s/sarkhan_fireblood.txt @@ -1,9 +1,7 @@ Name:Sarkhan, Fireblood ManaCost:1 R R Types:Legendary Planeswalker Sarkhan -A:AB$ Discard | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | NumCards$ 1 | Optional$ True | Mode$ TgtChoose | RememberDiscarded$ True | SubAbility$ DBDraw | SpellDescription$ You may discard a card. If you do, draw a card. -SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +A:AB$ Draw | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | Defined$ You | NumCards$ 1 | UnlessCost$ Discard<1/Card> | UnlessSwitched$ True | UnlessPayer$ You A:AB$ Mana | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | Produced$ Combo W U B R G | Amount$ 2 | RestrictValid$ Card.Dragon | SpellDescription$ Add two mana in any combination of colors. Spend this mana only to cast Dragon spells. A:AB$ Token | Cost$ SubCounter<7/LOYALTY> | Planeswalker$ True | Ultimate$ True | TokenAmount$ 4 | TokenScript$ r_5_5_dragon_flying | LegacyImage$ r 5 5 dragon flying m19 | SpellDescription$ Create four 5/5 red Dragon creature tokens with flying. DeckHas:Ability$Token diff --git a/forge-gui/res/cardsfolder/t/taborax_hopes_demise.txt b/forge-gui/res/cardsfolder/t/taborax_hopes_demise.txt index 137517d0740..ffd3299c027 100755 --- a/forge-gui/res/cardsfolder/t/taborax_hopes_demise.txt +++ b/forge-gui/res/cardsfolder/t/taborax_hopes_demise.txt @@ -5,10 +5,8 @@ PT:2/2 K:Flying S:Mode$ Continuous | Affected$ Card.Self+counters_GE5_P1P1 | AddKeyword$ Lifelink | Description$ CARDNAME has lifelink as long as it has five or more +1/+1 counters on it. T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.nonToken+Other+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever another nontoken creature you control dies, put a +1/+1 counter on CARDNAME. If that creature was a Cleric, you may draw a card. If you do, you lose 1 life. -SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBDraw -SVar:DBDraw:DB$ Draw | NumCards$ 1 | ConditionDefined$ TriggeredCardLKICopy | ConditionPresent$ Creature.Cleric | ConditionCompare$ EQ1 | OptionalDecider$ True | RememberDrawn$ True | SubAbility$ DBLoseLife -SVar:DBLoseLife:DB$ LoseLife | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ EQ1 | Defined$ You | LifeAmount$ 1 | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBLoseLife +SVar:DBLoseLife:DB$ LoseLife | Defined$ You | LifeAmount$ 1 | UnlessCost$ Draw<1/Card> | UnlessSwitched$ True | UnlessPayer$ You | ConditionDefined$ TriggeredCardLKICopy | ConditionPresent$ Creature.Cleric | ConditionCompare$ EQ1 DeckHas:Ability$Counters DeckHints:Type$Cleric Oracle:Flying\nTaborax, Hope's Demise has lifelink as long as it has five or more +1/+1 counters on it.\nWhenever another nontoken creature you control dies, put a +1/+1 counter on Taborax. If that creature was a Cleric, you may draw a card. If you do, you lose 1 life. diff --git a/forge-gui/res/cardsfolder/t/tymaret_calls_the_dead.txt b/forge-gui/res/cardsfolder/t/tymaret_calls_the_dead.txt index 318fc6bacb8..bf98bc6bba7 100644 --- a/forge-gui/res/cardsfolder/t/tymaret_calls_the_dead.txt +++ b/forge-gui/res/cardsfolder/t/tymaret_calls_the_dead.txt @@ -2,11 +2,8 @@ Name:Tymaret Calls the Dead ManaCost:2 B Types:Enchantment Saga K:Saga:3:DBMill,DBMill,DBGainLife -SVar:DBMill:DB$ Mill | Defined$ You | NumCards$ 3 | SubAbility$ DBChooseCard | SpellDescription$ Mill three cards. Then you may exile a creature or enchantment card from your graveyard. If you do, create a 2/2 black Zombie creature token. -SVar:DBChooseCard:DB$ ChooseCard | Choices$ Creature.YouCtrl,Enchantment.YouCtrl | Optional$ Yes | ChoiceTitle$ Choose a creature or enchantment to exile | ChoiceZone$ Graveyard | Amount$ 1 | AILogic$ WorstCard | SubAbility$ DBChangeZone -SVar:DBChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Exile | Defined$ ChosenCard | RememberChanged$ True | SubAbility$ DBToken -SVar:DBToken:DB$ Token | TokenScript$ b_2_2_zombie | TokenOwner$ You | TokenAmount$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearChosenCard$ True | ClearRemembered$ True +SVar:DBMill:DB$ Mill | Defined$ You | NumCards$ 3 | SubAbility$ DBToken | SpellDescription$ Mill three cards. Then you may exile a creature or enchantment card from your graveyard. If you do, create a 2/2 black Zombie creature token. +SVar:DBToken:DB$ Token | TokenScript$ b_2_2_zombie | TokenOwner$ You | TokenAmount$ 1 | UnlessCost$ ExileFromGrave<1/Creature;Enchantment/creature or enchantment card> | UnlessSwitched$ True | UnlessPayer$ You SVar:DBGainLife:DB$ GainLife | LifeAmount$ X | SubAbility$ DBScry | SpellDescription$ You gain X life and scry X, where X is the number of Zombies you control. SVar:DBScry:DB$ Scry | ScryNum$ X SVar:X:Count$Valid Zombie.YouCtrl diff --git a/forge-gui/res/cardsfolder/v/vraska_golgari_queen.txt b/forge-gui/res/cardsfolder/v/vraska_golgari_queen.txt index 21ce306191e..561e372a628 100644 --- a/forge-gui/res/cardsfolder/v/vraska_golgari_queen.txt +++ b/forge-gui/res/cardsfolder/v/vraska_golgari_queen.txt @@ -2,10 +2,8 @@ Name:Vraska, Golgari Queen ManaCost:2 B G Types:Legendary Planeswalker Vraska Loyalty:4 -A:AB$ Sacrifice | Cost$ AddCounter<2/LOYALTY> | Planeswalker$ True | SacValid$ Permanent.Other | SacMessage$ another permanent | Optional$ True | RememberSacrificed$ True | SubAbility$ DBGainLife | SpellDescription$ You may sacrifice another permanent. If you do, you gain 1 life and draw a card. -SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ 1 | SubAbility$ DBDraw | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 -SVar:DBDraw:DB$ Draw | NumCards$ 1 | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +A:AB$ GainLife | Cost$ AddCounter<2/LOYALTY> | Planeswalker$ True | LifeAmount$ 1 | UnlessCost$ Sac<1/Permanent.Other> | UnlessSwitched$ True | UnlessPayer$ You | SubAbility$ DBDraw | SpellDescription$ You may sacrifice another permanent. If you do, you gain 1 life and draw a card. +SVar:DBDraw:DB$ Draw | NumCards$ 1 | ConditionDefined$ Sacrificed | ConditionPresent$ Card | ConditionCompare$ GE1 A:AB$ Destroy | Cost$ SubCounter<3/LOYALTY> | Planeswalker$ True | ValidTgts$ Permanent.nonLand+cmcLE3 | TgtPrompt$ Select target nonland permanent with mana value 3 or less | SpellDescription$ Destroy target nonland permanent with mana value 3 or less. A:AB$ Effect | Cost$ SubCounter<9/LOYALTY> | Planeswalker$ True | Ultimate$ True | Stackable$ False | Name$ Emblem - Vraska, Golgari Queen | Image$ emblem_vraska_golgari_queen | Triggers$ TrigDamage | Duration$ Permanent | AILogic$ Always | SpellDescription$ You get an emblem with "Whenever a creature you control deals combat damage to a player, that player loses the game." SVar:TrigDamage:Mode$ DamageDone | ValidSource$ Creature.YouCtrl | ValidTarget$ Player | CombatDamage$ True | Execute$ LoseGame | TriggerZones$ Command | TriggerDescription$ Whenever a creature you control deals combat damage to a player, that player loses the game. diff --git a/forge-gui/res/cardsfolder/w/whispering_specter.txt b/forge-gui/res/cardsfolder/w/whispering_specter.txt index 704f1094436..32a3fa5a3fd 100644 --- a/forge-gui/res/cardsfolder/w/whispering_specter.txt +++ b/forge-gui/res/cardsfolder/w/whispering_specter.txt @@ -4,9 +4,7 @@ Types:Creature Phyrexian Specter PT:1/1 K:Flying K:Infect -T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | OptionalDecider$ You | Execute$ TrigSacrifice | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you may sacrifice it. If you do, that player discards a card for each poison counter they have. -SVar:TrigSacrifice:DB$ SacrificeAll | Defined$ Self | RememberSacrificed$ True | SubAbility$ DBDiscard -SVar:DBDiscard:DB$ Discard | Defined$ TriggeredTarget | NumCards$ X | Mode$ TgtChoose | ConditionDefined$ Remembered | ConditionPresent$ Card | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | OptionalDecider$ You | Execute$ TrigDiscard | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you may sacrifice it. If you do, that player discards a card for each poison counter they have. +SVar:TrigDiscard:AB$ Discard | Defined$ TriggeredTarget | NumCards$ X | Mode$ TgtChoose | Cost$ Sac<1/CARDNAME> SVar:X:TriggeredTarget$PoisonCounters Oracle:Flying\nInfect (This creature deals damage to creatures in the form of -1/-1 counters and to players in the form of poison counters.)\nWhenever Whispering Specter deals combat damage to a player, you may sacrifice it. If you do, that player discards a card for each poison counter they have.