diff --git a/forge-gui/res/cardsfolder/a/a_killer_among_us.txt b/forge-gui/res/cardsfolder/a/a_killer_among_us.txt index 621aaaa559d..5afaa5e6a8e 100644 --- a/forge-gui/res/cardsfolder/a/a_killer_among_us.txt +++ b/forge-gui/res/cardsfolder/a/a_killer_among_us.txt @@ -6,5 +6,5 @@ SVar:TrigToken:DB$ Token | TokenScript$ w_1_1_human,u_1_1_merfolk,r_1_1_goblin | SVar:DBChooseType:DB$ ChooseType | Type$ Creature | ValidTypes$ Human,Merfolk,Goblin | Secretly$ True A:AB$ PutCounter | Cost$ Sac<1/CARDNAME> RevealChosen | ValidTgts$ Creature.token+attacking | TgtPrompt$ Select target attacking creature token | AITgts$ Creature.token+attacking+ChosenType | Defined$ Targeted.ChosenType | CounterType$ P1P1 | CounterNum$ 3 | SubAbility$ DBPump | StackDescription$ REP target attacking creature token_{c:Targeted} | SpellDescription$ If target attacking creature token is the chosen type, put three +1/+1 counters on it SVar:DBPump:DB$ Pump | Defined$ Targeted.ChosenType | KW$ Deathtouch | StackDescription$ SpellDescription | SpellDescription$ and it gains deathtouch until end of turn. -DeckHas:Ability$Token|Sacrifice & Type$Human|Merfolk|Goblin & Color$White|Blue|Red +DeckHas:Ability$Token|Sacrifice|Counters Oracle:When A Killer Among Us enters, create a 1/1 white Human creature token, a 1/1 blue Merfolk creature token, and a 1/1 red Goblin creature token. Then secretly choose Human, Merfolk, or Goblin.\nSacrifice A Killer Among Us, Reveal the chosen creature type: If target attacking creature token is the chosen type, put three +1/+1 counters on it and it gains deathtouch until end of turn. diff --git a/forge-gui/res/cardsfolder/a/abdel_adrian_gorions_ward.txt b/forge-gui/res/cardsfolder/a/abdel_adrian_gorions_ward.txt index 8df9c6276bc..dc12296a5ad 100644 --- a/forge-gui/res/cardsfolder/a/abdel_adrian_gorions_ward.txt +++ b/forge-gui/res/cardsfolder/a/abdel_adrian_gorions_ward.txt @@ -10,5 +10,5 @@ SVar:X:Remembered$Amount SVar:MaxTgts:Count$Valid Permanent.Other+nonLand+YouCtrl K:Choose a Background AI:RemoveDeck:Random -DeckHas:Ability$Token & Type$Soldier +DeckHas:Ability$Token Oracle:When Abdel Adrian, Gorion's Ward enters, exile any number of other nonland permanents you control until Abdel Adrian leaves the battlefield. Create a 1/1 white Soldier creature token for each permanent exiled this way.\nChoose a Background (You can have a Background as a second commander.) diff --git a/forge-gui/res/cardsfolder/a/abhorrent_overlord.txt b/forge-gui/res/cardsfolder/a/abhorrent_overlord.txt index 56c83931d27..0232d80960b 100644 --- a/forge-gui/res/cardsfolder/a/abhorrent_overlord.txt +++ b/forge-gui/res/cardsfolder/a/abhorrent_overlord.txt @@ -8,4 +8,6 @@ SVar:TrigToken:DB$ Token | TokenAmount$ X | TokenScript$ b_1_1_harpy_flying | To SVar:X:Count$Devotion.Black T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigSac | TriggerDescription$ At the beginning of your upkeep, sacrifice a creature. SVar:TrigSac:DB$ Sacrifice | Defined$ You | SacValid$ Creature | SacMessage$ Creature +DeckHas:Ability$Token|Sacrifice +DeckHints:Color$Black Oracle:Flying\nWhen Abhorrent Overlord enters, create a number of 1/1 black Harpy creature tokens with flying equal to your devotion to black. (Each {B} in the mana costs of permanents you control counts toward your devotion to black.)\nAt the beginning of your upkeep, sacrifice a creature. diff --git a/forge-gui/res/cardsfolder/a/aboroth.txt b/forge-gui/res/cardsfolder/a/aboroth.txt index fa8a4903207..96320c514cd 100644 --- a/forge-gui/res/cardsfolder/a/aboroth.txt +++ b/forge-gui/res/cardsfolder/a/aboroth.txt @@ -3,4 +3,5 @@ ManaCost:4 G G Types:Creature Elemental PT:9/9 K:Cumulative upkeep:AddCounter<1/M1M1>:Put a -1/-1 counter on CARDNAME. +DeckHas:Ability$Counters Oracle:Cumulative upkeep—Put a -1/-1 counter on Aboroth. (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.) diff --git a/forge-gui/res/cardsfolder/a/abstruse_interference.txt b/forge-gui/res/cardsfolder/a/abstruse_interference.txt index 9f8db5e3f7f..e96ea819e7c 100644 --- a/forge-gui/res/cardsfolder/a/abstruse_interference.txt +++ b/forge-gui/res/cardsfolder/a/abstruse_interference.txt @@ -4,6 +4,6 @@ Types:Instant K:Devoid A:SP$ Counter | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | UnlessCost$ 1 | SubAbility$ DBToken | SpellDescription$ Counter target spell unless its controller pays {1}. SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenScript$ c_1_1_eldrazi_scion_sac | TokenOwner$ You | SpellDescription$ You create a 1/1 colorless Eldrazi Scion creature token. It has "Sacrifice this creature: Add {C}." ({C} represents colorless mana.) -DeckHas:Ability$Mana.Colorless|Token +DeckHas:Ability$Token DeckHints:Type$Eldrazi Oracle:Devoid (This card has no color.)\nCounter target spell unless its controller pays {1}. You create a 1/1 colorless Eldrazi Scion creature token. It has "Sacrifice this creature: Add {C}." ({C} represents colorless mana.) diff --git a/forge-gui/res/cardsfolder/a/abundance.txt b/forge-gui/res/cardsfolder/a/abundance.txt index 43cf1a339a2..21a6723ff70 100644 --- a/forge-gui/res/cardsfolder/a/abundance.txt +++ b/forge-gui/res/cardsfolder/a/abundance.txt @@ -5,6 +5,6 @@ R:Event$ Draw | ActiveZones$ Battlefield | ValidPlayer$ You | ReplaceWith$ Abund SVar:AbundantChoice:DB$ GenericChoice | Choices$ DigLand,DigNonland | Defined$ You SVar:DigLand:DB$ DigUntil | Valid$ Card.Land | ValidDescription$ land | FoundDestination$ Hand | RevealedDestination$ Library | RevealedLibraryPosition$ -1 | SpellDescription$ Land SVar:DigNonland:DB$ DigUntil | Valid$ Card.nonLand | ValidDescription$ nonland | FoundDestination$ Hand | RevealedDestination$ Library | RevealedLibraryPosition$ -1 | SpellDescription$ nonLand -AI:RemoveDeck:All SVar:NonStackingEffect:True +AI:RemoveDeck:All Oracle:If you would draw a card, you may instead choose land or nonland and reveal cards from the top of your library until you reveal a card of the chosen kind. Put that card into your hand and put all other cards revealed this way on the bottom of your library in any order. diff --git a/forge-gui/res/cardsfolder/a/abundant_maw.txt b/forge-gui/res/cardsfolder/a/abundant_maw.txt index 7277c09064b..9cefc2ad074 100644 --- a/forge-gui/res/cardsfolder/a/abundant_maw.txt +++ b/forge-gui/res/cardsfolder/a/abundant_maw.txt @@ -6,4 +6,5 @@ K:Emerge:6 B T:Mode$ SpellCast | ValidCard$ Card.Self | Execute$ TrigDrain | TriggerDescription$ When you cast this spell, target opponent loses 3 life and you gain 3 life. SVar:TrigDrain:DB$ LoseLife | ValidTgts$ Opponent | LifeAmount$ 3 | SubAbility$ DBGainLife SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ 3 +DeckHas:Ability$Sacrifice|LifeGain Oracle:Emerge {6}{B} (You may cast this spell by sacrificing a creature and paying the emerge cost reduced by that creature's mana value.)\nWhen you cast this spell, target opponent loses 3 life and you gain 3 life. diff --git a/forge-gui/res/cardsfolder/a/abzan_advantage.txt b/forge-gui/res/cardsfolder/a/abzan_advantage.txt index 021006778e2..80f1d1e066e 100644 --- a/forge-gui/res/cardsfolder/a/abzan_advantage.txt +++ b/forge-gui/res/cardsfolder/a/abzan_advantage.txt @@ -3,5 +3,5 @@ ManaCost:1 W Types:Instant A:SP$ Sacrifice | ValidTgts$ Player | SacValid$ Enchantment | SacMessage$ Enchantment | SubAbility$ DBBolster | SpellDescription$ Target player sacrifices an enchantment. Bolster 1. (Choose a creature with the least toughness among creatures you control and put a +1/+1 counter on it.) SVar:DBBolster:DB$ PutCounter | Bolster$ True | CounterNum$ 1 | CounterType$ P1P1 -DeckHas:Ability$Counters +DeckHas:Ability$Counters|Sacrifice Oracle:Target player sacrifices an enchantment. Bolster 1. (Choose a creature with the least toughness among creatures you control and put a +1/+1 counter on it.) diff --git a/forge-gui/res/cardsfolder/a/abzan_battle_priest.txt b/forge-gui/res/cardsfolder/a/abzan_battle_priest.txt index 737a3454b6d..fa02ef96995 100644 --- a/forge-gui/res/cardsfolder/a/abzan_battle_priest.txt +++ b/forge-gui/res/cardsfolder/a/abzan_battle_priest.txt @@ -5,6 +5,6 @@ PT:3/2 K:Outlast:W S:Mode$ Continuous | Affected$ Creature.YouCtrl+counters_GE1_P1P1 | AddKeyword$ Lifelink | Description$ Each creature you control with a +1/+1 counter on it has lifelink. SVar:PlayMain1:TRUE -DeckHas:Ability$Counters +DeckHas:Ability$Counters|LifeGain DeckHints:Ability$Counters Oracle:Outlast {W} ({W}, {T}: Put a +1/+1 counter on this creature. Outlast only as a sorcery.)\nEach creature you control with a +1/+1 counter on it has lifelink. diff --git a/forge-gui/res/cardsfolder/a/abzan_charm.txt b/forge-gui/res/cardsfolder/a/abzan_charm.txt index 93031e8ec67..bb6353d13e3 100644 --- a/forge-gui/res/cardsfolder/a/abzan_charm.txt +++ b/forge-gui/res/cardsfolder/a/abzan_charm.txt @@ -6,4 +6,5 @@ SVar:DBExile:DB$ ChangeZone | ValidTgts$ Creature.powerGE3 | TgtPrompt$ Choose t SVar:DBDraw:DB$ Draw | NumCards$ 2 | SubAbility$ DBLoseLife | SpellDescription$ You draw two cards and you lose 2 life. SVar:DBCounters:DB$ PutCounter | ValidTgts$ Creature | CounterType$ P1P1 | CounterNum$ 2 | TargetMin$ 1 | TargetMax$ 2 | DividedAsYouChoose$ 2 | SpellDescription$ Distribute two +1/+1 counters among one or two target creatures. SVar:DBLoseLife:DB$ LoseLife | LifeAmount$ 2 | Defined$ You | StackDescription$ None +DeckHas:Ability$Counters Oracle:Choose one —\n• Exile target creature with power 3 or greater.\n• You draw two cards and you lose 2 life.\n• Distribute two +1/+1 counters among one or two target creatures. diff --git a/forge-gui/res/cardsfolder/a/academic_dispute.txt b/forge-gui/res/cardsfolder/a/academic_dispute.txt index 84aa7495c9b..e4449f00bd7 100644 --- a/forge-gui/res/cardsfolder/a/academic_dispute.txt +++ b/forge-gui/res/cardsfolder/a/academic_dispute.txt @@ -5,4 +5,5 @@ A:SP$ Effect | ValidTgts$ Creature | RememberObjects$ Targeted | ExileOnMoved$ B SVar:MustBlock:Mode$ MustBlock | ValidCreature$ Card.IsRemembered | Description$ This creature blocks this turn if able. SVar:DBPump:DB$ Pump | Defined$ Targeted | KW$ Reach | Optional$ True | OptionQuestion$ Do you want TARGETS to gain reach? | SubAbility$ DBLearn | StackDescription$ SpellDescription | SpellDescription$ You may have it gain reach until end of turn. SVar:DBLearn:DB$ Learn | SpellDescription$ Learn. (You may reveal a Lesson card you own from outside the game and put it into your hand, or discard a card to draw a card.) +DeckHas:Ability$Discard Oracle:Target creature blocks this turn if able. You may have it gain reach until end of turn.\nLearn. (You may reveal a Lesson card you own from outside the game and put it into your hand, or discard a card to draw a card.) diff --git a/forge-gui/res/cardsfolder/a/academy_elite.txt b/forge-gui/res/cardsfolder/a/academy_elite.txt index 7aa3ef11e8e..e05c8ef8a5a 100644 --- a/forge-gui/res/cardsfolder/a/academy_elite.txt +++ b/forge-gui/res/cardsfolder/a/academy_elite.txt @@ -7,4 +7,6 @@ SVar:X:Count$ValidGraveyard Instant,Sorcery SVar:NeedsToPlayVar:X GT2 A:AB$ Draw | Cost$ 2 U SubCounter<1/P1P1> | SpellDescription$ Draw a card, then discard a card. | SubAbility$ DBDiscard SVar:DBDiscard:DB$ Discard | Defined$ You | Mode$ TgtChoose +DeckHas:Ability$Counters +DeckHints:Ability$Counters & Type$Instant|Sorcery Oracle:Academy Elite enters with X +1/+1 counters on it, where X is the number of instant and sorcery cards in all graveyards.\n{2}{U}, Remove a +1/+1 counter from Academy Elite: Draw a card, then discard a card. diff --git a/forge-gui/res/cardsfolder/a/academy_manufactor.txt b/forge-gui/res/cardsfolder/a/academy_manufactor.txt index 27071f22883..88855e61d7e 100644 --- a/forge-gui/res/cardsfolder/a/academy_manufactor.txt +++ b/forge-gui/res/cardsfolder/a/academy_manufactor.txt @@ -4,6 +4,6 @@ Types:Artifact Creature Assembly-Worker PT:1/3 R:Event$ CreateToken | ActiveZones$ Battlefield | ValidPlayer$ You | ValidToken$ Clue,Food,Treasure | ReplaceWith$ TokenReplace | Description$ If you would create a Clue, Food, or Treasure token, instead create one of each. SVar:TokenReplace:DB$ ReplaceToken | Type$ ReplaceToken | ValidCard$ Clue,Food,Treasure | TokenScript$ c_a_clue_draw,c_a_food_sac,c_a_treasure_sac -DeckHas:Ability$Sacrifice|Token|LifeGain -DeckHints:Ability$Investigate +DeckHas:Ability$Token +DeckHints:Ability$Investigate & Type$Clue|Food|Treasure Oracle:If you would create a Clue, Food, or Treasure token, instead create one of each. diff --git a/forge-gui/res/cardsfolder/a/access_denied.txt b/forge-gui/res/cardsfolder/a/access_denied.txt index 3d3cc9ef044..8ba8c436598 100644 --- a/forge-gui/res/cardsfolder/a/access_denied.txt +++ b/forge-gui/res/cardsfolder/a/access_denied.txt @@ -5,5 +5,5 @@ A:SP$ Counter | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ SVar:DBToken:DB$ Token | TokenScript$ c_1_1_a_thopter_flying | TokenAmount$ X | SubAbility$ DBCleanup | SpellDescription$ Create X 1/1 colorless Thopter artifact creature tokens with flying, where X is that spell's mana value. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$RememberedNumber -DeckHas:Ability$Token & Type$Thopter|Artifact|Creature & Keyword$Flying +DeckHas:Ability$Token Oracle:Counter target spell. Create X 1/1 colorless Thopter artifact creature tokens with flying, where X is that spell's mana value. diff --git a/forge-gui/res/cardsfolder/a/acid_spewer_dragon.txt b/forge-gui/res/cardsfolder/a/acid_spewer_dragon.txt index b91aa9076ff..ee4345df448 100644 --- a/forge-gui/res/cardsfolder/a/acid_spewer_dragon.txt +++ b/forge-gui/res/cardsfolder/a/acid_spewer_dragon.txt @@ -7,5 +7,6 @@ K:Deathtouch K:Megamorph:5 B B T:Mode$ TurnFaceUp | ValidCard$ Card.Self | Execute$ TrigCounters | TriggerZones$ Battlefield | TriggerDescription$ When CARDNAME is turned face up, put a +1/+1 counter on each other Dragon creature you control. SVar:TrigCounters:DB$ PutCounterAll | ValidCards$ Creature.Dragon+YouCtrl+StrictlyOther | CounterType$ P1P1 | CounterNum$ 1 +DeckHas:Ability$Counters DeckHints:Type$Dragon Oracle:Flying, deathtouch\nMegamorph {5}{B}{B} (You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its megamorph cost and put a +1/+1 counter on it.)\nWhen Acid-Spewer Dragon is turned face up, put a +1/+1 counter on each other Dragon creature you control. diff --git a/forge-gui/res/cardsfolder/a/acorn_catapult.txt b/forge-gui/res/cardsfolder/a/acorn_catapult.txt index 2710b3a1275..6d3bf55d18a 100644 --- a/forge-gui/res/cardsfolder/a/acorn_catapult.txt +++ b/forge-gui/res/cardsfolder/a/acorn_catapult.txt @@ -4,4 +4,5 @@ Types:Artifact A:AB$ DealDamage | Cost$ 1 T | NumDmg$ 1 | ValidTgts$ Any | SubAbility$ SquirrelToken | SpellDescription$ CARDNAME deals 1 damage to any target. That permanent's controller or that player creates a 1/1 green Squirrel creature token. SVar:SquirrelToken:DB$ Token | TokenAmount$ 1 | TokenScript$ g_1_1_squirrel | TokenOwner$ TargetedOrController AI:RemoveDeck:All +DeckHas:Ability$Token Oracle:{1}, {T}: Acorn Catapult deals 1 damage to any target. That permanent's controller or that player creates a 1/1 green Squirrel creature token. diff --git a/forge-gui/res/cardsfolder/a/acorn_harvest.txt b/forge-gui/res/cardsfolder/a/acorn_harvest.txt index ee0bb5bf4eb..01b30336592 100644 --- a/forge-gui/res/cardsfolder/a/acorn_harvest.txt +++ b/forge-gui/res/cardsfolder/a/acorn_harvest.txt @@ -3,4 +3,5 @@ ManaCost:3 G Types:Sorcery K:Flashback:1 G PayLife<3> A:SP$ Token | TokenAmount$ 2 | TokenScript$ g_1_1_squirrel | TokenOwner$ You | SpellDescription$ Create two 1/1 green Squirrel creature tokens. +DeckHas:Ability$Token Oracle:Create two 1/1 green Squirrel creature tokens.\nFlashback—{1}{G}, Pay 3 life. (You may cast this card from your graveyard for its flashback cost. Then exile it.) diff --git a/forge-gui/res/cardsfolder/a/adaptive_gemguard.txt b/forge-gui/res/cardsfolder/a/adaptive_gemguard.txt index 0651e37275e..9277e1b35da 100644 --- a/forge-gui/res/cardsfolder/a/adaptive_gemguard.txt +++ b/forge-gui/res/cardsfolder/a/adaptive_gemguard.txt @@ -3,5 +3,6 @@ ManaCost:3 W Types:Artifact Creature Gnome PT:3/3 A:AB$ PutCounter | Cost$ tapXType<2/Artifact;Creature/artifacts and/or creatures> | Defined$ Self | SorcerySpeed$ True | CounterType$ P1P1 | CounterNum$ 1 | SpellDescription$ Put a +1/+1 counter on CARDNAME. Activate only as a sorcery. +DeckHas:Ability$Counters DeckHints:Type$Artifact & Ability$Counters Oracle:Tap two untapped artifacts and/or creatures you control: Put a +1/+1 counter on Adaptive Gemguard. Activate only as a sorcery. diff --git a/forge-gui/res/cardsfolder/a/adaptive_sporesinger.txt b/forge-gui/res/cardsfolder/a/adaptive_sporesinger.txt index fffd147c263..131fa4cbdbb 100644 --- a/forge-gui/res/cardsfolder/a/adaptive_sporesinger.txt +++ b/forge-gui/res/cardsfolder/a/adaptive_sporesinger.txt @@ -8,4 +8,5 @@ SVar:TrigCharm:DB$ Charm | Choices$ DBPump,DBProliferate SVar:DBPump:DB$ Pump | NumAtt$ 2 | NumDef$ 2 | ValidTgts$ Creature | KW$ Vigilance | SpellDescription$ Target creature gets +2/+2 and gains vigilance until end of turn. SVar:DBProliferate:DB$ Proliferate | SpellDescription$ Proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.) DeckHas:Ability$Proliferate +DeckNeeds:Ability$Counters Oracle:Vigilance\nWhen Adaptive Sporesinger enters, choose one —\n• Target creature gets +2/+2 and gains vigilance until end of turn.\n• Proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.) diff --git a/forge-gui/res/cardsfolder/a/adder_staff_boggart.txt b/forge-gui/res/cardsfolder/a/adder_staff_boggart.txt index eb832aa4dac..34231b32145 100644 --- a/forge-gui/res/cardsfolder/a/adder_staff_boggart.txt +++ b/forge-gui/res/cardsfolder/a/adder_staff_boggart.txt @@ -5,4 +5,5 @@ PT:2/1 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigClash | TriggerDescription$ When CARDNAME enters, clash with an opponent. If you win, put a +1/+1 counter on CARDNAME. SVar:TrigClash:DB$ Clash | WinSubAbility$ DBPutCounter SVar:DBPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 +DeckHas:Ability$Counters Oracle:When Adder-Staff Boggart enters, clash with an opponent. If you win, put a +1/+1 counter on Adder-Staff Boggart. (Each clashing player reveals the top card of their library, then puts that card on the top or bottom. A player wins if their card had a higher mana value.) diff --git a/forge-gui/res/cardsfolder/a/adipose_offspring.txt b/forge-gui/res/cardsfolder/a/adipose_offspring.txt index 700226388f9..7c6db217412 100644 --- a/forge-gui/res/cardsfolder/a/adipose_offspring.txt +++ b/forge-gui/res/cardsfolder/a/adipose_offspring.txt @@ -7,5 +7,5 @@ T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.S SVar:TrigToken:DB$ Token | TokenAmount$ N | TokenScript$ w_2_2_alien | TokenOwner$ You SVar:N:Count$Emerged.T.1 SVar:T:Emerged$SumToughness -DeckHas:Ability$Token +DeckHas:Ability$Token|Sacrifice Oracle:Emerge {5}{W} (You may cast this spell by sacrificing a creature and paying the emerge cost reduced by that creature's mana value.)\nWhen Adipose Offspring enters, create a 2/2 white Alien creature token. If Adipose Offspring's emerge cost was paid, instead create X of those tokens, where X is the sacrificed creature's toughness. diff --git a/forge-gui/res/cardsfolder/a/adorned_pouncer.txt b/forge-gui/res/cardsfolder/a/adorned_pouncer.txt index 81733df1275..76c1420deca 100644 --- a/forge-gui/res/cardsfolder/a/adorned_pouncer.txt +++ b/forge-gui/res/cardsfolder/a/adorned_pouncer.txt @@ -4,5 +4,5 @@ Types:Creature Cat PT:1/1 K:Double Strike K:Eternalize:3 W W -DeckHas:Ability$Token +DeckHas:Ability$Token & Type$Zombie & Color$Black Oracle:Double strike\nEternalize {3}{W}{W} ({3}{W}{W}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Cat with no mana cost. Eternalize only as a sorcery.) diff --git a/forge-gui/res/cardsfolder/a/adverse_conditions.txt b/forge-gui/res/cardsfolder/a/adverse_conditions.txt index a75ab450d29..25b6e292f0a 100644 --- a/forge-gui/res/cardsfolder/a/adverse_conditions.txt +++ b/forge-gui/res/cardsfolder/a/adverse_conditions.txt @@ -5,6 +5,6 @@ K:Devoid A:SP$ Tap | TargetMin$ 0 | TargetMax$ 2 | TgtPrompt$ Choose target creature | ValidTgts$ Creature | SubAbility$ TrigPump | SpellDescription$ Tap up to two target creatures. SVar:TrigPump:DB$ Pump | Defined$ Targeted | KW$ HIDDEN This card doesn't untap during your next untap step. | Duration$ Permanent | SubAbility$ DBToken | SpellDescription$ Those creatures don't untap during their controller's next untap step. SVar:DBToken:DB$ Token | TokenAmount$ 1 | TokenScript$ c_1_1_eldrazi_scion_sac | TokenOwner$ You | SpellDescription$ Create a 1/1 colorless Eldrazi Scion creature token. It has "Sacrifice this creature: Add {C}." -DeckHas:Ability$Mana.Colorless|Token +DeckHas:Ability$Token DeckHints:Type$Eldrazi Oracle:Devoid (This card has no color.)\nTap up to two target creatures. Those creatures don't untap during their controller's next untap step. Create a 1/1 colorless Eldrazi Scion creature token. It has "Sacrifice this creature: Add {C}." diff --git a/forge-gui/res/cardsfolder/a/advocate_of_the_beast.txt b/forge-gui/res/cardsfolder/a/advocate_of_the_beast.txt index b9fb85e62ae..43daaf0999b 100644 --- a/forge-gui/res/cardsfolder/a/advocate_of_the_beast.txt +++ b/forge-gui/res/cardsfolder/a/advocate_of_the_beast.txt @@ -4,5 +4,6 @@ Types:Creature Elf Shaman PT:2/3 T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your end step, put a +1/+1 counter on target Beast creature you control. SVar:TrigPutCounter:DB$ PutCounter | ValidTgts$ Creature.Beast+YouCtrl | TgtPrompt$ Select target Beast creature you control | CounterType$ P1P1 | CounterNum$ 1 -DeckHints:Name$Marauding Maulhorn +DeckHas:Ability$Counters +DeckHints:Name$Marauding Maulhorn & Type$Beast Oracle:At the beginning of your end step, put a +1/+1 counter on target Beast creature you control. diff --git a/forge-gui/res/cardsfolder/a/aegis_of_the_legion.txt b/forge-gui/res/cardsfolder/a/aegis_of_the_legion.txt index 9c5b4cec0a8..beb5127dbc8 100644 --- a/forge-gui/res/cardsfolder/a/aegis_of_the_legion.txt +++ b/forge-gui/res/cardsfolder/a/aegis_of_the_legion.txt @@ -5,4 +5,5 @@ K:Equip:3 S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 1 | AddToughness$ 1 | AddKeyword$ Mentor | Description$ Equipped creature gets +1/+1 and has mentor. (Whenever it attacks, put a +1/+1 counter on target attacking creature with lesser power.) T:Mode$ Mentored | ValidSource$ Creature.EquippedBy | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever equipped creature mentors a creature, put a shield counter on that creature. (If that creature would be dealt damage or destroyed, remove a shield counter from it instead.) SVar:TrigPutCounter:DB$ PutCounter | Defined$ TriggeredCardLKICopy | CounterType$ SHIELD +DeckHas:Ability$Counters Oracle:Equipped creature gets +1/+1 and has mentor. (Whenever it attacks, put a +1/+1 counter on target attacking creature with lesser power.)\nWhenever equipped creature mentors a creature, put a shield counter on that creature. (If that creature would be dealt damage or destroyed, remove a shield counter from it instead.)\nEquip {3} diff --git a/forge-gui/res/cardsfolder/a/aerial_responder.txt b/forge-gui/res/cardsfolder/a/aerial_responder.txt index 6aa5d5a7958..6ea7897110b 100644 --- a/forge-gui/res/cardsfolder/a/aerial_responder.txt +++ b/forge-gui/res/cardsfolder/a/aerial_responder.txt @@ -5,4 +5,5 @@ PT:2/3 K:Flying K:Vigilance K:Lifelink +DeckHas:Ability$LifeGain Oracle:Flying, vigilance, lifelink diff --git a/forge-gui/res/cardsfolder/a/aerie_auxiliary.txt b/forge-gui/res/cardsfolder/a/aerie_auxiliary.txt index b9a802a3ae0..2dacb5ccb1a 100644 --- a/forge-gui/res/cardsfolder/a/aerie_auxiliary.txt +++ b/forge-gui/res/cardsfolder/a/aerie_auxiliary.txt @@ -5,4 +5,5 @@ PT:3/3 K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigPut | TriggerDescription$ When CARDNAME enters, support 2. (Put a +1/+1 counter on each of up to two other target creatures.) SVar:TrigPut:DB$ PutCounter | ValidTgts$ Creature.Other | TgtPrompt$ Select up to two other target creatures | TargetMin$ 0 | TargetMax$ 2 | CounterType$ P1P1 | CounterNum$ 1 +DeckHas:Ability$Counters Oracle:Flying\nWhen Aerie Auxiliary enters, support 2. (Put a +1/+1 counter on each of up to two other target creatures.) diff --git a/forge-gui/res/cardsfolder/a/aerie_ouphes.txt b/forge-gui/res/cardsfolder/a/aerie_ouphes.txt index 1c710c53a06..aa1fd104e3b 100644 --- a/forge-gui/res/cardsfolder/a/aerie_ouphes.txt +++ b/forge-gui/res/cardsfolder/a/aerie_ouphes.txt @@ -5,5 +5,5 @@ PT:3/3 K:Persist A:AB$ DealDamage | Cost$ Sac<1/CARDNAME> | ValidTgts$ Creature.withFlying | TgtPrompt$ Select target creature with flying | NumDmg$ X | SpellDescription$ It deals damage equal to its power to target creature with flying. SVar:X:Sacrificed$CardPower -DeckHas:Ability$Sacrifice +DeckHas:Ability$Sacrifice|Counters Oracle:Sacrifice Aerie Ouphes: It deals damage equal to its power to target creature with flying.\nPersist (When this creature dies, if it had no -1/-1 counters on it, return it to the battlefield under its owner's control with a -1/-1 counter on it.) diff --git a/forge-gui/res/cardsfolder/a/aerie_worshippers.txt b/forge-gui/res/cardsfolder/a/aerie_worshippers.txt index 152a5b92e51..774307c4daf 100644 --- a/forge-gui/res/cardsfolder/a/aerie_worshippers.txt +++ b/forge-gui/res/cardsfolder/a/aerie_worshippers.txt @@ -4,5 +4,5 @@ Types:Creature Human Cleric PT:2/4 T:Mode$ Untaps | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ Inspired — Whenever CARDNAME becomes untapped, you may pay {2}{U}. If you do, create a 2/2 blue Bird enchantment creature token with flying. SVar:TrigToken:AB$ Token | Cost$ 2 U | TokenScript$ u_2_2_e_bird_flying -DeckHas:Ability$Token & Type$Bird|Enchantment +DeckHas:Ability$Token Oracle:Inspired — Whenever Aerie Worshippers becomes untapped, you may pay {2}{U}. If you do, create a 2/2 blue Bird enchantment creature token with flying. diff --git a/forge-gui/res/cardsfolder/a/aether_chaser.txt b/forge-gui/res/cardsfolder/a/aether_chaser.txt index 94906290897..5fd1e3825f3 100644 --- a/forge-gui/res/cardsfolder/a/aether_chaser.txt +++ b/forge-gui/res/cardsfolder/a/aether_chaser.txt @@ -8,4 +8,6 @@ SVar:TrigEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ Whenever CARDNAME attacks, you may pay {E}{E}. If you do, create a 1/1 colorless Servo artifact creature token. SVar:TrigToken:AB$ Token | Cost$ PayEnergy<2> | TokenAmount$ 1 | TokenScript$ c_1_1_a_servo | TokenOwner$ You SVar:HasAttackEffect:TRUE +DeckHas:Ability$Token|Counters +DeckHints:Ability$Counters Oracle:First strike\nWhen Aether Chaser enters, you get {E}{E} (two energy counters).\nWhenever Aether Chaser attacks, you may pay {E}{E}. If you do, create a 1/1 colorless Servo artifact creature token. diff --git a/forge-gui/res/cardsfolder/a/aether_herder.txt b/forge-gui/res/cardsfolder/a/aether_herder.txt index f6494cfa11f..9b8c80a4dac 100644 --- a/forge-gui/res/cardsfolder/a/aether_herder.txt +++ b/forge-gui/res/cardsfolder/a/aether_herder.txt @@ -7,4 +7,6 @@ SVar:TrigEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ Whenever CARDNAME attacks, you may pay {E}{E}. If you do, create a 1/1 colorless Servo artifact creature token. SVar:TrigToken:AB$ Token | Cost$ PayEnergy<2> | TokenAmount$ 1 | TokenScript$ c_1_1_a_servo | TokenOwner$ You SVar:HasAttackEffect:TRUE +DeckHas:Ability$Token|Counters +DeckHints:Ability$Counters Oracle:When Aether Herder enters, you get {E}{E} (two energy counters).\nWhenever Aether Herder attacks, you may pay {E}{E}. If you do, create a 1/1 colorless Servo artifact creature token. diff --git a/forge-gui/res/cardsfolder/a/aether_hub.txt b/forge-gui/res/cardsfolder/a/aether_hub.txt index 0cb56d92bb0..3483fb42267 100644 --- a/forge-gui/res/cardsfolder/a/aether_hub.txt +++ b/forge-gui/res/cardsfolder/a/aether_hub.txt @@ -5,4 +5,6 @@ T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.S SVar:TrigEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum$ 1 A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}. A:AB$ Mana | Cost$ T PayEnergy<1> | Produced$ Any | SpellDescription$ Add one mana of any color. +DeckHas:Ability$Counters +DeckHints:Ability$Counters Oracle:When Aether Hub enters, you get {E} (an energy counter).\n{T}: Add {C}.\n{T}, Pay {E}: Add one mana of any color. diff --git a/forge-gui/res/cardsfolder/a/aether_inspector.txt b/forge-gui/res/cardsfolder/a/aether_inspector.txt index 9052b8b0f35..948eed8238c 100644 --- a/forge-gui/res/cardsfolder/a/aether_inspector.txt +++ b/forge-gui/res/cardsfolder/a/aether_inspector.txt @@ -8,4 +8,6 @@ SVar:TrigEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ Whenever CARDNAME attacks, you may pay {E}{E}. If you do, create a 1/1 colorless Servo artifact creature token. SVar:TrigToken:AB$ Token | Cost$ PayEnergy<2> | TokenAmount$ 1 | TokenScript$ c_1_1_a_servo | TokenOwner$ You SVar:HasAttackEffect:TRUE +DeckHas:Ability$Token|Counters +DeckHints:Ability$Counters Oracle:Vigilance\nWhen Aether Inspector enters, you get {E}{E} (two energy counters).\nWhenever Aether Inspector attacks, you may pay {E}{E}. If you do, create a 1/1 colorless Servo artifact creature token. diff --git a/forge-gui/res/cardsfolder/a/aether_meltdown.txt b/forge-gui/res/cardsfolder/a/aether_meltdown.txt index a3de72c30ae..cf3e76fc87a 100644 --- a/forge-gui/res/cardsfolder/a/aether_meltdown.txt +++ b/forge-gui/res/cardsfolder/a/aether_meltdown.txt @@ -7,4 +7,5 @@ A:SP$ Attach | Cost$ 1 U | ValidTgts$ Creature,Vehicle | AILogic$ Curse T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigEnergy | TriggerDescription$ When CARDNAME enters, you get {E}{E} (two energy counters). SVar:TrigEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum$ 2 S:Mode$ Continuous | Affected$ Permanent.EnchantedBy | AddPower$ -4 | Description$ Enchanted creature gets -4/-0. +DeckHas:Ability$Counters Oracle:Flash (You may cast this spell any time you could cast an instant.)\nEnchant creature or Vehicle\nWhen Aether Meltdown enters, you get {E}{E} (two energy counters).\nEnchanted creature gets -4/-0. diff --git a/forge-gui/res/cardsfolder/a/aether_poisoner.txt b/forge-gui/res/cardsfolder/a/aether_poisoner.txt index b05697d1609..63118bbb765 100644 --- a/forge-gui/res/cardsfolder/a/aether_poisoner.txt +++ b/forge-gui/res/cardsfolder/a/aether_poisoner.txt @@ -8,4 +8,6 @@ SVar:TrigEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ Whenever CARDNAME attacks, you may pay {E}{E}. If you do, create a 1/1 colorless Servo artifact creature token. SVar:TrigToken:AB$ Token | Cost$ PayEnergy<2> | TokenAmount$ 1 | TokenScript$ c_1_1_a_servo | TokenOwner$ You SVar:HasAttackEffect:TRUE +DeckHas:Ability$Token|Counters +DeckHints:Ability$Counters Oracle:Deathtouch (Any amount of damage this deals to a creature is enough to destroy it.)\nWhen Aether Poisoner enters, you get {E}{E} (two energy counters).\nWhenever Aether Poisoner attacks, you may pay {E}{E}. If you do, create a 1/1 colorless Servo artifact creature token. diff --git a/forge-gui/res/cardsfolder/a/aether_refinery.txt b/forge-gui/res/cardsfolder/a/aether_refinery.txt index 89e60cce73f..f065dcfd1b8 100644 --- a/forge-gui/res/cardsfolder/a/aether_refinery.txt +++ b/forge-gui/res/cardsfolder/a/aether_refinery.txt @@ -7,5 +7,6 @@ A:AB$ PutCounter | Cost$ T | Defined$ You | CounterType$ ENERGY | SubAbility$ DB SVar:DBChooseNumber:DB$ ChooseNumber | Max$ Count$YourCountersEnergy | ListTitle$ amount of energy to pay | SubAbility$ DBToken | StackDescription$ None SVar:DBToken:DB$ Token | ConditionCheckSVar$ X | UnlessCost$ Mandatory PayEnergy | UnlessPayer$ You | UnlessSwitched$ True | TokenScript$ b_x_x_aetherborn | TokenPower$ X | TokenToughness$ X | StackDescription$ SpellDescription | SpellDescription$ If you do, create an X/X black Aetherborn creature token, where X is the amount of {E} paid this way. SVar:X:Count$ChosenNumber -DeckHas:Ability$Token & Type$Aetherborn & Color$Black +DeckHas:Ability$Token|Counters +DeckHints:Ability$Counters Oracle:If you would get one or more {E}, you get twice that many {E} instead.\n{T}: You get {E}, then you may pay one or more {E}. If you do, create an X/X black Aetherborn creature token, where X is the amount of {E} paid this way. diff --git a/forge-gui/res/cardsfolder/a/aether_revolt.txt b/forge-gui/res/cardsfolder/a/aether_revolt.txt index afdb037ee50..199dc784fe5 100644 --- a/forge-gui/res/cardsfolder/a/aether_revolt.txt +++ b/forge-gui/res/cardsfolder/a/aether_revolt.txt @@ -5,4 +5,5 @@ R:Event$ DamageDone | Revolt$ True | ActiveZones$ Battlefield | ValidSource$ Car SVar:DamageReplace:DB$ ReplaceEffect | VarName$ DamageAmount | VarValue$ ReplaceCount$DamageAmount/Plus.2 T:Mode$ CounterAddedOnce | ValidPlayer$ You | TriggerZones$ Battlefield | CounterType$ ENERGY | Execute$ TrigDealDamage | TriggerDescription$ Whenever you get one or more {E}, CARDNAME deals that much damage to any target. SVar:TrigDealDamage:DB$ DealDamage | ValidTgts$ Any | NumDmg$ TriggerCount$Amount +DeckHints:Ability$Counters & Ability$Sacrifice Oracle:Revolt — As long as a permanent you controlled left the battlefield this turn, if a source you control would deal noncombat damage to an opponent or a permanent an opponent controls, it deals that much damage plus 2 instead.\nWhenever you get one or more {E}, Aether Revolt deals that much damage to any target. diff --git a/forge-gui/res/cardsfolder/a/aether_spike.txt b/forge-gui/res/cardsfolder/a/aether_spike.txt index 9711bcaf48a..288a419fd58 100644 --- a/forge-gui/res/cardsfolder/a/aether_spike.txt +++ b/forge-gui/res/cardsfolder/a/aether_spike.txt @@ -8,4 +8,6 @@ SVar:DBPay:DB$ Pump | UnlessCost$ Mandatory PayEnergy | UnlessPayer$ You | Un SVar:DBCounter:DB$ Counter | Defined$ Targeted | UnlessCost$ N | UnlessPayer$ TargetedController | StackDescription$ SpellDescription | SpellDescription$ Counter that spell unless its controller pays {1} for each {E} paid this way. SVar:Max:Count$YourCountersEnergy SVar:N:Count$ChosenNumber +DeckHas:Ability$Counters +DeckHints:Ability$Counters Oracle:Choose target spell. You get {E}{E} (two energy counters), then you may pay any amount of {E}. Counter that spell unless its controller pays {1} for each {E} paid this way. diff --git a/forge-gui/res/cardsfolder/a/aether_swooper.txt b/forge-gui/res/cardsfolder/a/aether_swooper.txt index 1ec67ff5195..cb3bc50ec19 100644 --- a/forge-gui/res/cardsfolder/a/aether_swooper.txt +++ b/forge-gui/res/cardsfolder/a/aether_swooper.txt @@ -8,4 +8,6 @@ SVar:TrigEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ Whenever CARDNAME attacks, you may pay {E}{E}. If you do, create a 1/1 colorless Servo artifact creature token. SVar:TrigToken:AB$ Token | Cost$ PayEnergy<2> | TokenAmount$ 1 | TokenScript$ c_1_1_a_servo | TokenOwner$ You SVar:HasAttackEffect:TRUE +DeckHas:Ability$Token|Counters +DeckHints:Ability$Counters Oracle:Flying\nWhen Aether Swooper enters, you get {E}{E} (two energy counters).\nWhenever Aether Swooper attacks, you may pay {E}{E}. If you do, create a 1/1 colorless Servo artifact creature token. diff --git a/forge-gui/res/cardsfolder/a/aether_theorist.txt b/forge-gui/res/cardsfolder/a/aether_theorist.txt index c94ccabf168..229e309c3b8 100644 --- a/forge-gui/res/cardsfolder/a/aether_theorist.txt +++ b/forge-gui/res/cardsfolder/a/aether_theorist.txt @@ -5,4 +5,6 @@ PT:1/3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigEnergy | TriggerDescription$ When CARDNAME enters, you get {E}{E}{E} (three energy counters). SVar:TrigEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum$ 3 A:AB$ Scry | Cost$ T PayEnergy<1> | ScryNum$ 1 | SpellDescription$ Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) +DeckHas:Ability$Counters +DeckHints:Ability$Counters Oracle:When Aether Theorist enters, you get {E}{E}{E} (three energy counters).\n{T}, Pay {E}: Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) diff --git a/forge-gui/res/cardsfolder/a/aether_vial.txt b/forge-gui/res/cardsfolder/a/aether_vial.txt index 116ef391405..a1fc69ca2c9 100644 --- a/forge-gui/res/cardsfolder/a/aether_vial.txt +++ b/forge-gui/res/cardsfolder/a/aether_vial.txt @@ -5,4 +5,6 @@ A:AB$ ChangeZone | Cost$ T | Origin$ Hand | Destination$ Battlefield | ChangeTyp T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, you may put a charge counter on CARDNAME. SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ CHARGE | CounterNum$ 1 | AILogic$ ChargeToBestCMC SVar:X:Count$CardCounters.CHARGE +DeckHas:Ability$Counters +DeckHints:Ability$Counters Oracle:At the beginning of your upkeep, you may put a charge counter on Aether Vial.\n{T}: You may put a creature card with mana value equal to the number of charge counters on Aether Vial from your hand onto the battlefield. diff --git a/forge-gui/res/cardsfolder/a/aetherborn_marauder.txt b/forge-gui/res/cardsfolder/a/aetherborn_marauder.txt index 4614a2a3396..47801fe028c 100644 --- a/forge-gui/res/cardsfolder/a/aetherborn_marauder.txt +++ b/forge-gui/res/cardsfolder/a/aetherborn_marauder.txt @@ -6,4 +6,6 @@ K:Flying K:Lifelink T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigMoveCounters | TriggerDescription$ When CARDNAME enters, move any number of +1/+1 counters from other permanents you control onto CARDNAME. SVar:TrigMoveCounters:DB$ MoveCounter | ValidSource$ Permanent.YouCtrl+Other+counters_GE1_P1P1 | Defined$ Self | CounterType$ P1P1 | CounterNum$ Any | AILogic$ FromValid +DeckHas:Ability$Counters|LifeGain +DeckHints:Ability$Counters Oracle:Flying, lifelink\nWhen Aetherborn Marauder enters, move any number of +1/+1 counters from other permanents you control onto Aetherborn Marauder. diff --git a/forge-gui/res/cardsfolder/a/aethergeode_miner.txt b/forge-gui/res/cardsfolder/a/aethergeode_miner.txt index 1969895788b..2783f315b09 100644 --- a/forge-gui/res/cardsfolder/a/aethergeode_miner.txt +++ b/forge-gui/res/cardsfolder/a/aethergeode_miner.txt @@ -7,4 +7,6 @@ SVar:TrigEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum A:AB$ ChangeZone | Cost$ PayEnergy<2> | Origin$ Battlefield | Destination$ Exile | SubAbility$ DBReturn | RememberChanged$ True | SpellDescription$ Exile CARDNAME, then return it to the battlefield under its owner's control. SVar:DBReturn:DB$ ChangeZone | Defined$ Remembered | Origin$ Exile | Destination$ Battlefield | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +DeckHas:Ability$Counters +DeckHints:Ability$Counters Oracle:Whenever Aethergeode Miner attacks, you get {E}{E} (two energy counters).\nPay {E}{E}: Exile Aethergeode Miner, then return it to the battlefield under its owner's control. diff --git a/forge-gui/res/cardsfolder/a/aetherplasm.txt b/forge-gui/res/cardsfolder/a/aetherplasm.txt index 0fe56688b20..1e7b58cb6a1 100644 --- a/forge-gui/res/cardsfolder/a/aetherplasm.txt +++ b/forge-gui/res/cardsfolder/a/aetherplasm.txt @@ -4,6 +4,6 @@ Types:Creature Illusion PT:1/1 T:Mode$ AttackerBlocked | ValidCard$ Creature | ValidBlocker$ Card.Self | Execute$ TrigBounce | TriggerDescription$ Whenever CARDNAME blocks a creature, you may return CARDNAME to its owner's hand. If you do, you may put a creature card from your hand onto the battlefield blocking that creature. SVar:TrigBounce:AB$ ChangeZone | Cost$ Return<1/CARDNAME> | Origin$ Hand | Destination$ Battlefield | ChangeType$ Creature | Blocking$ TriggeredAttacker -AI:RemoveDeck:All SVar:HasBlockEffect:TRUE +AI:RemoveDeck:All Oracle:Whenever Aetherplasm blocks a creature, you may return Aetherplasm to its owner's hand. If you do, you may put a creature card from your hand onto the battlefield blocking that creature. diff --git a/forge-gui/res/cardsfolder/a/aethersnipe.txt b/forge-gui/res/cardsfolder/a/aethersnipe.txt index 7e8f117cc59..dfc7392acd9 100644 --- a/forge-gui/res/cardsfolder/a/aethersnipe.txt +++ b/forge-gui/res/cardsfolder/a/aethersnipe.txt @@ -6,4 +6,5 @@ K:Evoke:1 U U T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigBounce | TriggerDescription$ When CARDNAME enters, return target nonland permanent to its owner's hand. SVar:TrigBounce:DB$ ChangeZone | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | Origin$ Battlefield | Destination$ Hand SVar:NeedsToPlayEvoked:Card.nonLand+OppCtrl +DeckHas:Ability$Sacrifice Oracle:When Aethersnipe enters, return target nonland permanent to its owner's hand.\nEvoke {1}{U}{U} (You may cast this spell for its evoke cost. If you do, it's sacrificed when it enters.) diff --git a/forge-gui/res/cardsfolder/a/aethersphere_harvester.txt b/forge-gui/res/cardsfolder/a/aethersphere_harvester.txt index c8faa0be64a..469bd6174f0 100644 --- a/forge-gui/res/cardsfolder/a/aethersphere_harvester.txt +++ b/forge-gui/res/cardsfolder/a/aethersphere_harvester.txt @@ -7,4 +7,6 @@ T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.S SVar:TrigEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum$ 2 A:AB$ Pump | Cost$ PayEnergy<1> | KW$ Lifelink | Defined$ Self | SpellDescription$ CARDNAME gains lifelink until end of turn. K:Crew:1 +DeckHas:Ability$Counters|LifeGain +DeckHints:Ability$Counters Oracle:Flying\nWhen Aethersphere Harvester enters, you get {E}{E} (two energy counters).\nPay {E}: Aethersphere Harvester gains lifelink until end of turn.\nCrew 1 (Tap any number of creatures you control with total power 1 or more: This Vehicle becomes an artifact creature until end of turn.) diff --git a/forge-gui/res/cardsfolder/a/aethersquall_ancient.txt b/forge-gui/res/cardsfolder/a/aethersquall_ancient.txt index e3b4b518d73..3c567e1089f 100644 --- a/forge-gui/res/cardsfolder/a/aethersquall_ancient.txt +++ b/forge-gui/res/cardsfolder/a/aethersquall_ancient.txt @@ -6,4 +6,6 @@ K:Flying T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigEnergy | TriggerDescription$ At the beginning of your upkeep, you get {E}{E}{E} (three energy counters). SVar:TrigEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum$ 3 A:AB$ ChangeZoneAll | Cost$ PayEnergy<8> | ChangeType$ Creature.StrictlyOther | SorcerySpeed$ True | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Return all other creatures to their owners' hands. Activate only as a sorcery. +DeckHas:Ability$Counters +DeckHints:Ability$Counters Oracle:Flying\nAt the beginning of your upkeep, you get {E}{E}{E} (three energy counters).\nPay eight {E}: Return all other creatures to their owners' hands. Activate only as a sorcery. diff --git a/forge-gui/res/cardsfolder/a/aetherstorm_roc.txt b/forge-gui/res/cardsfolder/a/aetherstorm_roc.txt index 3db4bfc1fdd..dbd6eee2528 100644 --- a/forge-gui/res/cardsfolder/a/aetherstorm_roc.txt +++ b/forge-gui/res/cardsfolder/a/aetherstorm_roc.txt @@ -8,4 +8,6 @@ SVar:TrigEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPutCounter | TriggerDescription$ Whenever CARDNAME attacks, you may pay {E}{E}. If you do, put a +1/+1 counter on it and tap up to one target creature defending player controls. SVar:TrigPutCounter:AB$ PutCounter | Cost$ PayEnergy<2> | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBTap SVar:DBTap:DB$ Tap | ValidTgts$ Creature | TargetsWithDefinedController$ TriggeredDefendingPlayer | TargetMin$ 0 | TargetMax$ 1 | TgtPrompt$ Select target creature defending player controls +DeckHas:Ability$Counters +DeckHints:Ability$Counters Oracle:Flying\nWhenever Aetherstorm Roc or another creature you control enters, you get {E} (an energy counter).\nWhenever Aetherstorm Roc attacks, you may pay {E}{E}. If you do, put a +1/+1 counter on it and tap up to one target creature defending player controls. diff --git a/forge-gui/res/cardsfolder/a/aetherstream_leopard.txt b/forge-gui/res/cardsfolder/a/aetherstream_leopard.txt index ed17549674d..5daf9d27559 100644 --- a/forge-gui/res/cardsfolder/a/aetherstream_leopard.txt +++ b/forge-gui/res/cardsfolder/a/aetherstream_leopard.txt @@ -8,4 +8,6 @@ SVar:TrigEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, you may pay {E}. If you do, it gets +2/+0 until end of turn. SVar:TrigPump:AB$ Pump | Cost$ PayEnergy<1> | Defined$ Self | NumAtt$ +2 SVar:HasAttackEffect:TRUE +DeckHas:Ability$Counters +DeckHints:Ability$Counters Oracle:Trample\nWhen Aetherstream Leopard enters, you get {E} (an energy counter).\nWhenever Aetherstream Leopard attacks, you may pay {E}. If you do, it gets +2/+0 until end of turn. diff --git a/forge-gui/res/cardsfolder/a/aethertide_whale.txt b/forge-gui/res/cardsfolder/a/aethertide_whale.txt index 6842217f40b..14150fa4c22 100644 --- a/forge-gui/res/cardsfolder/a/aethertide_whale.txt +++ b/forge-gui/res/cardsfolder/a/aethertide_whale.txt @@ -6,4 +6,6 @@ K:Flying T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigEnergy | TriggerDescription$ When CARDNAME enters, you get six {E} (energy counters). SVar:TrigEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum$ 6 A:AB$ ChangeZone | Cost$ PayEnergy<4> | Origin$ Battlefield | Destination$ Hand | SpellDescription$ Return CARDNAME to its owner's hand. +DeckHas:Ability$Counters +DeckHints:Ability$Counters Oracle:Flying\nWhen Aethertide Whale enters, you get six {E} (energy counters).\nPay {E}{E}{E}{E}: Return Aethertide Whale to its owner's hand. diff --git a/forge-gui/res/cardsfolder/a/aethertorch_renegade.txt b/forge-gui/res/cardsfolder/a/aethertorch_renegade.txt index 12d879bf07a..2e6a8efe8b0 100644 --- a/forge-gui/res/cardsfolder/a/aethertorch_renegade.txt +++ b/forge-gui/res/cardsfolder/a/aethertorch_renegade.txt @@ -6,4 +6,6 @@ T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.S SVar:TrigEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum$ 4 A:AB$ DealDamage | Cost$ T PayEnergy<2> | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to target creature. A:AB$ DealDamage | Cost$ T PayEnergy<8> | ValidTgts$ Player,Planeswalker | TgtPrompt$ Select target player or planeswalker | NumDmg$ 6 | SpellDescription$ CARDNAME deals 6 damage to target player or planeswalker. +DeckHas:Ability$Counters +DeckHints:Ability$Counters Oracle:When Aethertorch Renegade enters, you get {E}{E}{E}{E} (four energy counters).\n{T}, Pay {E}{E}: Aethertorch Renegade deals 1 damage to target creature.\n{T}, Pay eight {E}: Aethertorch Renegade deals 6 damage to target player or planeswalker. diff --git a/forge-gui/res/cardsfolder/a/aetherwind_basker.txt b/forge-gui/res/cardsfolder/a/aetherwind_basker.txt index 2742f8c607c..8e12df9be04 100644 --- a/forge-gui/res/cardsfolder/a/aetherwind_basker.txt +++ b/forge-gui/res/cardsfolder/a/aetherwind_basker.txt @@ -9,4 +9,6 @@ SVar:TrigEnergy:DB$ PutCounter | Defined$ You | CounterType$ ENERGY | CounterNum SVar:X:Count$TypeYouCtrl.Creature A:AB$ Pump | Cost$ PayEnergy<1> | Defined$ Self | NumAtt$ +1 | NumDef$ +1 | SpellDescription$ CARDNAME gets +1/+1 until end of turn. SVar:HasAttackEffect:TRUE +DeckHas:Ability$Counters +DeckHints:Ability$Counters Oracle:Trample\nWhenever Aetherwind Basker enters or attacks, you get {E} (an energy counter) for each creature you control.\nPay {E}: Aetherwind Basker gets +1/+1 until end of turn. diff --git a/forge-gui/res/cardsfolder/a/aetherworks_marvel.txt b/forge-gui/res/cardsfolder/a/aetherworks_marvel.txt index abadd9f9001..4e5e77f1caa 100644 --- a/forge-gui/res/cardsfolder/a/aetherworks_marvel.txt +++ b/forge-gui/res/cardsfolder/a/aetherworks_marvel.txt @@ -7,4 +7,6 @@ A:AB$ PeekAndReveal | Cost$ T PayEnergy<6> | Defined$ You | PeekAmount$ 6 | NoRe SVar:DBPlay:DB$ Play | ValidZone$ Library | Valid$ Card.IsRemembered | ValidSA$ Spell | Controller$ You | WithoutManaCost$ True | Optional$ True | Amount$ 1 | ForgetPlayed$ True | SubAbility$ DBRestRandomOrder SVar:DBRestRandomOrder:DB$ ChangeZoneAll | ChangeType$ Card.IsRemembered | Origin$ Library | Destination$ Library | LibraryPosition$ -1 | RandomOrder$ True | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +DeckHas:Ability$Counters +DeckHints:Ability$Counters Oracle:Whenever a permanent you control is put into a graveyard, you get {E} (an energy counter).\n{T}, Pay six {E}: Look at the top six cards of your library. You may cast a spell from among them without paying its mana cost. Put the rest on the bottom of your library in a random order. diff --git a/forge-gui/res/cardsfolder/a/afiya_grove.txt b/forge-gui/res/cardsfolder/a/afiya_grove.txt index 8ba148f5a91..5ec8815f5fc 100644 --- a/forge-gui/res/cardsfolder/a/afiya_grove.txt +++ b/forge-gui/res/cardsfolder/a/afiya_grove.txt @@ -7,4 +7,6 @@ SVar:TrigMoveCounter:DB$ MoveCounter | Source$ Self | ValidTgts$ Creature | TgtP T:Mode$ Always | TriggerZones$ Battlefield | IsPresent$ Card.Self+counters_EQ0_P1P1 | Execute$ TrigSac | TriggerDescription$ When CARDNAME has no +1/+1 counters on it, sacrifice it. SVar:TrigSac:DB$ Sacrifice SVar:NeedsToPlay:Creature.YouCtrl +DeckHas:Ability$Counters|Sacrifice +DeckHints:Ability$Counters|Proliferate Oracle:Afiya Grove enters with three +1/+1 counters on it.\nAt the beginning of your upkeep, move a +1/+1 counter from Afiya Grove onto target creature.\nWhen Afiya Grove has no +1/+1 counters on it, sacrifice it. diff --git a/forge-gui/res/cardsfolder/a/agate_instigator.txt b/forge-gui/res/cardsfolder/a/agate_instigator.txt index 2f55802bb9a..3f0282b66c0 100644 --- a/forge-gui/res/cardsfolder/a/agate_instigator.txt +++ b/forge-gui/res/cardsfolder/a/agate_instigator.txt @@ -6,4 +6,5 @@ K:Offspring:1 R T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Other+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ Whenever another creature you control enters, this creature deals 1 damage to each opponent. SVar:TrigDamage:DB$ DealDamage | Defined$ Player.Opponent | NumDmg$ 1 SVar:BuffedBy:Creature +DeckHas:Ability$Token Oracle:Offspring {1}{R} (You may pay an additional {1}{R} as you cast this spell. If you do, when this creature enters, create a 1/1 token copy of it.)\nWhenever another creature you control enters, this creature deals 1 damage to each opponent. diff --git a/forge-gui/res/cardsfolder/a/ageless_entity.txt b/forge-gui/res/cardsfolder/a/ageless_entity.txt index 09e6fb6cbe2..c2dd6b1d557 100644 --- a/forge-gui/res/cardsfolder/a/ageless_entity.txt +++ b/forge-gui/res/cardsfolder/a/ageless_entity.txt @@ -5,4 +5,6 @@ PT:4/4 T:Mode$ LifeGained | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever you gain life, put that many +1/+1 counters on CARDNAME. SVar:TrigPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ X SVar:X:TriggerCount$LifeAmount +DeckHas:Ability$Counters +DeckHints:Ability$LifeGain Oracle:Whenever you gain life, put that many +1/+1 counters on Ageless Entity. diff --git a/forge-gui/res/cardsfolder/a/aggressive_biomancy.txt b/forge-gui/res/cardsfolder/a/aggressive_biomancy.txt index dc2cb54b271..3000deb7e50 100644 --- a/forge-gui/res/cardsfolder/a/aggressive_biomancy.txt +++ b/forge-gui/res/cardsfolder/a/aggressive_biomancy.txt @@ -5,4 +5,5 @@ A:SP$ CopyPermanent | ValidTgts$ Creature.YouCtrl | NumCopies$ X | AddTriggers$ SVar:TrigFight:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigFightBis | TriggerDescription$ When CARDNAME enters, it fights up to one target creature you don't control. SVar:TrigFightBis:DB$ Fight | Defined$ TriggeredCardLKICopy | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Choose up to one target creature you don't control | TargetMin$ 0 | TargetMax$ 1 SVar:X:Count$xPaid +DeckHas:Ability$Token Oracle:Create X tokens that are copies of target creature you control, except they have "When this creature enters, it fights up to one target creature you don't control." diff --git a/forge-gui/res/cardsfolder/a/ajani_caller_of_the_pride.txt b/forge-gui/res/cardsfolder/a/ajani_caller_of_the_pride.txt index 1874ced422e..7a54ac8ded0 100644 --- a/forge-gui/res/cardsfolder/a/ajani_caller_of_the_pride.txt +++ b/forge-gui/res/cardsfolder/a/ajani_caller_of_the_pride.txt @@ -6,4 +6,6 @@ A:AB$ PutCounter | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | CounterNum A:AB$ Pump | Cost$ SubCounter<3/LOYALTY> | Planeswalker$ True | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ Flying & Double Strike | SpellDescription$ Target creature gains flying and double strike until end of turn. A:AB$ Token | Cost$ SubCounter<8/LOYALTY> | Planeswalker$ True | TokenAmount$ X | TokenScript$ w_2_2_cat | TokenOwner$ You | Ultimate$ True | SpellDescription$ Create X 2/2 white Cat creature tokens, where X is your life total. SVar:X:Count$YourLifeTotal +DeckHas:Ability$Counters|Token +DeckHas:Ability$LifeGain Oracle:[+1]: Put a +1/+1 counter on up to one target creature.\n[-3]: Target creature gains flying and double strike until end of turn.\n[-8]: Create X 2/2 white Cat creature tokens, where X is your life total. diff --git a/forge-gui/res/cardsfolder/a/ajani_fells_the_godsire.txt b/forge-gui/res/cardsfolder/a/ajani_fells_the_godsire.txt index 98c191198c4..bfc72c76498 100644 --- a/forge-gui/res/cardsfolder/a/ajani_fells_the_godsire.txt +++ b/forge-gui/res/cardsfolder/a/ajani_fells_the_godsire.txt @@ -6,5 +6,5 @@ SVar:DBExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTg SVar:DBCat:DB$ Token | TokenAmount$ 1 | TokenScript$ w_2_1_cat_warrior | TokenOwner$ You | SubAbility$ DBPutCounter | SpellDescription$ Create a 2/1 white Cat Warrior creature token, then put a vigilance counter on a creature you control. SVar:DBPutCounter:DB$ PutCounter | CounterType$ Vigilance | CounterNum$ 1 | Choices$ Creature.YouCtrl SVar:DBPump:DB$ Pump | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | KW$ Double Strike | SpellDescription$ Target creature you control gains double strike until end of turn. -DeckHas:Ability$Token & Type$Cat +DeckHas:Ability$Token|Counters & Keyword$Vigilance|Double Strike Oracle:I — Exile target creature an opponent controls with power 3 or greater.\nII — Create a 2/1 white Cat Warrior creature token, then put a vigilance counter on a creature you control.\nIII — Target creature you control gains double strike until end of turn. diff --git a/forge-gui/res/cardsfolder/a/ajani_goldmane.txt b/forge-gui/res/cardsfolder/a/ajani_goldmane.txt index e38dc94133a..0308df41822 100644 --- a/forge-gui/res/cardsfolder/a/ajani_goldmane.txt +++ b/forge-gui/res/cardsfolder/a/ajani_goldmane.txt @@ -6,4 +6,5 @@ A:AB$ GainLife | Cost$ AddCounter<1/LOYALTY> | LifeAmount$ 2 | Planeswalker$ Tru A:AB$ PutCounterAll | Cost$ SubCounter<1/LOYALTY> | ValidCards$ Creature.YouCtrl | CounterType$ P1P1 | CounterNum$ 1 | Planeswalker$ True | SubAbility$ DBPumpAll | SpellDescription$ Put a +1/+1 counter on each creature you control. Those creatures gain vigilance until end of turn. SVar:DBPumpAll:DB$ PumpAll | ValidCards$ Creature.YouCtrl | KW$ Vigilance A:AB$ Token | Cost$ SubCounter<6/LOYALTY> | TokenAmount$ 1 | TokenScript$ w_x_x_avatar_life_total | TokenOwner$ You | Planeswalker$ True | Ultimate$ True | SpellDescription$ Create a white Avatar creature token. It has "This creature's power and toughness are each equal to your life total." +DeckHas:Ability$Counters|Token|LifeGain Oracle:[+1]: You gain 2 life.\n[-1]: Put a +1/+1 counter on each creature you control. Those creatures gain vigilance until end of turn.\n[-6]: Create a white Avatar creature token. It has "This creature's power and toughness are each equal to your life total." diff --git a/forge-gui/res/cardsfolder/a/ajani_mentor_of_heroes.txt b/forge-gui/res/cardsfolder/a/ajani_mentor_of_heroes.txt index 9d6b322bd5a..3cc9c886b83 100644 --- a/forge-gui/res/cardsfolder/a/ajani_mentor_of_heroes.txt +++ b/forge-gui/res/cardsfolder/a/ajani_mentor_of_heroes.txt @@ -5,4 +5,6 @@ Loyalty:4 A:AB$ PutCounter | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control to distribute counters to | CounterType$ P1P1 | CounterNum$ 3 | TargetMin$ 1 | TargetMax$ 3 | DividedAsYouChoose$ 3 | SpellDescription$ Distribute three +1/+1 counters among one, two, or three target creatures you control. A:AB$ Dig | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | DigNum$ 4 | ChangeNum$ 1 | Optional$ True | ChangeValid$ Aura,Creature,Planeswalker | SpellDescription$ Look at the top four cards of your library. You may reveal an Aura, creature, or planeswalker card from among them and put that card into your hand. Put the rest on the bottom of your library in any order. A:AB$ GainLife | Cost$ SubCounter<8/LOYALTY> | Planeswalker$ True | Ultimate$ True | LifeAmount$ 100 | SpellDescription$ You gain 100 life. +DeckHas:Ability$Counters|LifeGain +DeckHints:Type$Aura|Creature|Planeswalker Oracle:[+1]: Distribute three +1/+1 counters among one, two, or three target creatures you control.\n[+1]: Look at the top four cards of your library. You may reveal an Aura, creature, or planeswalker card from among them and put it into your hand. Put the rest on the bottom of your library in any order.\n[-8]: You gain 100 life. diff --git a/forge-gui/res/cardsfolder/a/ajani_nacatl_pariah_ajani_nacatl_avenger.txt b/forge-gui/res/cardsfolder/a/ajani_nacatl_pariah_ajani_nacatl_avenger.txt index adfb30c3f67..0d14f3c509a 100644 --- a/forge-gui/res/cardsfolder/a/ajani_nacatl_pariah_ajani_nacatl_avenger.txt +++ b/forge-gui/res/cardsfolder/a/ajani_nacatl_pariah_ajani_nacatl_avenger.txt @@ -8,7 +8,8 @@ T:Mode$ ChangesZoneAll | TriggerZones$ Battlefield | ValidCards$ Cat.Other+YouCt SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | SubAbility$ DBReturn SVar:DBReturn:DB$ ChangeZone | Defined$ Remembered | Origin$ Exile | Destination$ Battlefield | Transformed$ True | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True -DeckHas:Ability$Sacrifice|Token +DeckHas:Ability$Sacrifice|Token|Counters +DeckHints:Color$Red AlternateMode:DoubleFaced Oracle:When Ajani, Nacatl Pariah enters, create a 2/1 white Cat Warrior creature token.\nWhenever one or more other Cats you control die, you may exile Ajani, then return him to the battlefield transformed under his owner's control. diff --git a/forge-gui/res/cardsfolder/a/ajani_sleeper_agent.txt b/forge-gui/res/cardsfolder/a/ajani_sleeper_agent.txt index 24a7676aa02..7f4f4249f9e 100644 --- a/forge-gui/res/cardsfolder/a/ajani_sleeper_agent.txt +++ b/forge-gui/res/cardsfolder/a/ajani_sleeper_agent.txt @@ -12,5 +12,6 @@ A:AB$ Effect | Cost$ SubCounter<6/LOYALTY> | Planeswalker$ True | Ultimate$ True SVar:TrigSpellCast:Mode$ SpellCast | ValidCard$ Creature,Planeswalker | ValidActivatingPlayer$ You | Execute$ EffSpellCast | TriggerDescription$ Whenever you cast a creature or planeswalker spell, target opponent gets two poison counters. SVar:EffSpellCast:DB$ Poison | ValidTgts$ Opponent | Num$ 2 SVar:BuffedBy:Creature,Planeswalker +DeckHas:Ability$Counters DeckHints:Type$Creature|Planeswalker Oracle:Compleated ({G/W/P} can be paid with {G}, {W}, or 2 life. If life was paid, this planeswalker enters with two fewer loyalty counters.)\n[+1]: Reveal the top card of your library. If it's a creature or planeswalker card, put it into your hand. Otherwise, you may put it on the bottom of your library.\n[-3]: Distribute three +1/+1 counters among up to three target creatures. They gain vigilance until end of turn.\n[-6]: You get an emblem with "Whenever you cast a creature or planeswalker spell, target opponent gets two poison counters." diff --git a/forge-gui/res/cardsfolder/a/ajani_valiant_protector.txt b/forge-gui/res/cardsfolder/a/ajani_valiant_protector.txt index dd17ca448e4..9e323fdc5e0 100644 --- a/forge-gui/res/cardsfolder/a/ajani_valiant_protector.txt +++ b/forge-gui/res/cardsfolder/a/ajani_valiant_protector.txt @@ -7,5 +7,7 @@ A:AB$ DigUntil | Cost$ AddCounter<1/LOYALTY> | Valid$ Card.Creature | ValidDescr A:AB$ PutCounter | Cost$ SubCounter<11/LOYALTY> | Planeswalker$ True | Ultimate$ True | CounterNum$ X | CounterType$ P1P1 | ValidTgts$ Creature | TgtPrompt$ Select target creature | SubAbility$ DBPump | SpellDescription$ Put X +1/+1 counters on target creature, where X is your life total. That creature gains trample until end of turn. SVar:DBPump:DB$ Pump | Defined$ Targeted | KW$ Trample SVar:X:Count$YourLifeTotal +DeckHas:Ability$Counters +DeckHints:Ability$LifeGain DeckHints:Name$Ajani's Aid Oracle:[+2]: Put two +1/+1 counters on up to one target creature.\n[+1]: Reveal cards from the top of your library until you reveal a creature card. Put that card into your hand and the rest on the bottom of your library in a random order.\n[-11]: Put X +1/+1 counters on target creature, where X is your life total. That creature gains trample until end of turn. diff --git a/forge-gui/res/cardsfolder/a/ajanis_chosen.txt b/forge-gui/res/cardsfolder/a/ajanis_chosen.txt index ffed1972f9d..8c48c70a240 100644 --- a/forge-gui/res/cardsfolder/a/ajanis_chosen.txt +++ b/forge-gui/res/cardsfolder/a/ajanis_chosen.txt @@ -6,4 +6,6 @@ T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Enchan SVar:TrigToken:DB$ Token | TokenScript$ w_2_2_cat | TokenAmount$ 1 | TokenOwner$ You | RememberTokens$ True | SubAbility$ DBAttach SVar:DBAttach:DB$ Attach | Object$ TriggeredCard | Defined$ Remembered | Optional$ True | ConditionDefined$ TriggeredCard | ConditionPresent$ Aura | ConditionCompare$ GE1 | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +DeckHas:Ability$Token +DeckHints:Type$Enchantment|Aura Oracle:Whenever an enchantment you control enters, create a 2/2 white Cat creature token. If that enchantment is an Aura, you may attach it to the token. diff --git a/forge-gui/res/cardsfolder/a/ajanis_comrade.txt b/forge-gui/res/cardsfolder/a/ajanis_comrade.txt index ac7abf41e7d..827c7fa138c 100644 --- a/forge-gui/res/cardsfolder/a/ajanis_comrade.txt +++ b/forge-gui/res/cardsfolder/a/ajanis_comrade.txt @@ -5,4 +5,6 @@ PT:2/2 K:Trample T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | IsPresent$ Planeswalker.Ajani+YouCtrl | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of combat on your turn, if you control an Ajani planeswalker, put a +1/+1 counter on CARDNAME. SVar:TrigPutCounter:DB$ PutCounter | CounterType$ P1P1 | CounterNum$ 1 +DeckHas:Ability$Counters +DeckHints:Type$Ajani Oracle:Trample\nAt the beginning of combat on your turn, if you control an Ajani planeswalker, put a +1/+1 counter on Ajani's Comrade. diff --git a/forge-gui/res/cardsfolder/a/ajanis_last_stand.txt b/forge-gui/res/cardsfolder/a/ajanis_last_stand.txt index 476252eca9f..11f6619b052 100644 --- a/forge-gui/res/cardsfolder/a/ajanis_last_stand.txt +++ b/forge-gui/res/cardsfolder/a/ajanis_last_stand.txt @@ -5,4 +5,6 @@ T:Mode$ ChangesZone | ValidCard$ Creature.YouCtrl,Planeswalker.YouCtrl | Origin$ SVar:TrigDiesToken:AB$ Token | Cost$ Sac<1/CARDNAME> | TokenOwner$ You | TokenAmount$ 1 | TokenScript$ w_4_4_avatar_flying T:Mode$ Discarded | ValidCard$ Card.Self | ValidCause$ SpellAbility.OppCtrl | IsPresent$ Plains.YouCtrl | Execute$ TrigDiscardedToken | TriggerDescription$ When a spell or ability an opponent controls causes you to discard this card, if you control a Plains, create a 4/4 white Avatar creature token with flying. SVar:TrigDiscardedToken:DB$ Token | TokenOwner$ You | TokenAmount$ 1 | TokenScript$ w_4_4_avatar_flying +DeckHas:Ability$Token +DeckHints:Ability$Sacrifice & Type$Creature|Planeswalker|Plains Oracle:Whenever a creature or planeswalker you control dies, you may sacrifice Ajani's Last Stand. If you do, create a 4/4 white Avatar creature token with flying.\nWhen a spell or ability an opponent controls causes you to discard this card, if you control a Plains, create a 4/4 white Avatar creature token with flying. diff --git a/forge-gui/res/cardsfolder/a/ajanis_sunstriker.txt b/forge-gui/res/cardsfolder/a/ajanis_sunstriker.txt index 7443373d9b9..050c9a476de 100644 --- a/forge-gui/res/cardsfolder/a/ajanis_sunstriker.txt +++ b/forge-gui/res/cardsfolder/a/ajanis_sunstriker.txt @@ -3,4 +3,5 @@ ManaCost:W W Types:Creature Cat Cleric PT:2/2 K:Lifelink +DeckHas:Ability$LifeGain Oracle:Lifelink (Damage dealt by this creature also causes you to gain that much life.) diff --git a/forge-gui/res/cardsfolder/a/akim_the_soaring_wind.txt b/forge-gui/res/cardsfolder/a/akim_the_soaring_wind.txt index e2210d3bb70..f9ebc921abf 100644 --- a/forge-gui/res/cardsfolder/a/akim_the_soaring_wind.txt +++ b/forge-gui/res/cardsfolder/a/akim_the_soaring_wind.txt @@ -6,6 +6,6 @@ K:Flying T:Mode$ TokenCreatedOnce | OnlyFirst$ You | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ Whenever you create one or more tokens for the first time each turn, create a 1/1 white Bird creature token with flying. SVar:TrigToken:DB$ Token | TokenScript$ w_1_1_bird_flying A:AB$ PumpAll | Cost$ 3 U R W | ValidCards$ Creature.token+YouCtrl | KW$ Double Strike | SpellDescription$ Creature tokens you control gain double strike until end of turn. -DeckHas:Ability$Token +DeckHas:Ability$Token & Keyword$Double Strike DeckNeeds:Ability$Token Oracle:Flying\nWhenever you create one or more tokens for the first time each turn, create a 1/1 white Bird creature token with flying.\n{3}{U}{R}{W}: Creature tokens you control gain double strike until end of turn. diff --git a/forge-gui/res/cardsfolder/a/akki_ember_keeper.txt b/forge-gui/res/cardsfolder/a/akki_ember_keeper.txt index 373b40fb0a7..9ac861ce437 100644 --- a/forge-gui/res/cardsfolder/a/akki_ember_keeper.txt +++ b/forge-gui/res/cardsfolder/a/akki_ember_keeper.txt @@ -4,6 +4,6 @@ Types:Enchantment Creature Goblin Warrior PT:2/1 T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.YouCtrl+modified+nonToken | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ Whenever a nontoken modified creature you control dies, create a 1/1 colorless Spirit creature token. (Equipment, Auras you control, and counters are modifications.) SVar:TrigToken:DB$ Token | TokenScript$ c_1_1_spirit -DeckHas:Ability$Token & Type$Spirit -DeckHints:Type$Aura|Equipment & Ability$Counters +DeckHas:Ability$Token +DeckHints:Ability$Sacrifice|Counters & Type$Creature|Aura|Equipment & Modifier$NoToken Oracle:Whenever a nontoken modified creature you control dies, create a 1/1 colorless Spirit creature token. (Equipment, Auras you control, and counters are modifications.) diff --git a/forge-gui/res/cardsfolder/a/akroan_crusader.txt b/forge-gui/res/cardsfolder/a/akroan_crusader.txt index d33a51b9815..3f111f414d6 100644 --- a/forge-gui/res/cardsfolder/a/akroan_crusader.txt +++ b/forge-gui/res/cardsfolder/a/akroan_crusader.txt @@ -4,4 +4,5 @@ Types:Creature Human Soldier PT:1/1 T:Mode$ SpellCast | ValidActivatingPlayer$ You | TargetsValid$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ Heroic — Whenever you cast a spell that targets CARDNAME, create a 1/1 red Soldier creature token with haste. SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ r_1_1_soldier_haste | TokenOwner$ You +DeckHas:Ability$Token Oracle:Heroic — Whenever you cast a spell that targets Akroan Crusader, create a 1/1 red Soldier creature token with haste. diff --git a/forge-gui/res/cardsfolder/a/akroan_horse.txt b/forge-gui/res/cardsfolder/a/akroan_horse.txt index ade1b32e608..b28546b318c 100644 --- a/forge-gui/res/cardsfolder/a/akroan_horse.txt +++ b/forge-gui/res/cardsfolder/a/akroan_horse.txt @@ -8,4 +8,5 @@ SVar:TrigChoose:DB$ ChoosePlayer | Defined$ You | Choices$ Player.Opponent | Cho SVar:DBDonate:DB$ GainControl | Defined$ Self | NewController$ Player.Chosen T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ At the beginning of your upkeep, each opponent creates a 1/1 white Soldier creature token. SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ w_1_1_soldier | TokenOwner$ Player.Opponent +DeckHas:Ability$Token Oracle:Defender\nWhen Akroan Horse enters, an opponent gains control of it.\nAt the beginning of your upkeep, each opponent creates a 1/1 white Soldier creature token. diff --git a/forge-gui/res/cardsfolder/a/akroan_skyguard.txt b/forge-gui/res/cardsfolder/a/akroan_skyguard.txt index 0da784a41ab..924c2abc5bd 100644 --- a/forge-gui/res/cardsfolder/a/akroan_skyguard.txt +++ b/forge-gui/res/cardsfolder/a/akroan_skyguard.txt @@ -5,4 +5,5 @@ PT:1/1 K:Flying T:Mode$ SpellCast | ValidActivatingPlayer$ You | TargetsValid$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigCounters | TriggerDescription$ Heroic — Whenever you cast a spell that targets CARDNAME, put a +1/+1 counter on CARDNAME. SVar:TrigCounters:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 +DeckHas:Ability$Counters Oracle:Flying\nHeroic — Whenever you cast a spell that targets Akroan Skyguard, put a +1/+1 counter on Akroan Skyguard. diff --git a/forge-gui/res/cardsfolder/a/al_abaras_carpet.txt b/forge-gui/res/cardsfolder/a/al_abaras_carpet.txt index 8aa63fe74b0..397c7773493 100644 --- a/forge-gui/res/cardsfolder/a/al_abaras_carpet.txt +++ b/forge-gui/res/cardsfolder/a/al_abaras_carpet.txt @@ -3,6 +3,6 @@ ManaCost:5 Types:Artifact A:AB$ Effect | Cost$ 5 T | ReplacementEffects$ RPrevent | SpellDescription$ Prevent all damage that would be dealt to you this turn by attacking creatures without flying. SVar:RPrevent:Event$ DamageDone | Prevent$ True | ActiveZones$ Command | ValidTarget$ You | ValidSource$ Creature.attacking+withoutFlying | Description$ Prevent all damage that would be dealt to you this turn by attacking creatures without flying. -AI:RemoveDeck:All SVar:NonStackingEffect:True +AI:RemoveDeck:All Oracle:{5}, {T}: Prevent all damage that would be dealt to you this turn by attacking creatures without flying. diff --git a/forge-gui/res/cardsfolder/a/alandra_sky_dreamer.txt b/forge-gui/res/cardsfolder/a/alandra_sky_dreamer.txt index 0a4335febd9..b6e693ae6b6 100644 --- a/forge-gui/res/cardsfolder/a/alandra_sky_dreamer.txt +++ b/forge-gui/res/cardsfolder/a/alandra_sky_dreamer.txt @@ -8,6 +8,6 @@ T:Mode$ Drawn | ValidCard$ Card.YouCtrl | Number$ 5 | TriggerZones$ Battlefield SVar:TrigPump:DB$ PumpAll | ValidCards$ Card.Self,Drake.YouCtrl | NumAtt$ X | NumDef$ X SVar:X:Count$InYourHand AI:RemoveDeck:Random -DeckHas:Ability$Token & Type$Drake -DeckHints:Type$Drake +DeckHas:Ability$Token +DeckHints:Ability$Token|Investigate & Type$Drake|Clue|Blood Oracle:Whenever you draw your second card each turn, create a 2/2 blue Drake creature token with flying.\nWhenever you draw your fifth card each turn, Alandra, Sky Dreamer and Drakes you control get +X/+X until end of turn, where X is the number of cards in your hand. diff --git a/forge-gui/res/cardsfolder/a/alaundo_the_seer.txt b/forge-gui/res/cardsfolder/a/alaundo_the_seer.txt index 8d018b7090f..8196a111a99 100644 --- a/forge-gui/res/cardsfolder/a/alaundo_the_seer.txt +++ b/forge-gui/res/cardsfolder/a/alaundo_the_seer.txt @@ -11,5 +11,6 @@ SVar:DBCastWithoutPayingManaCost:DB$ Play | Valid$ Card.Self | ValidSA$ Spell | SVar:DBGiveHaste:DB$ Pump | Defined$ Self | KW$ Haste | ConditionDefined$ Self | ConditionPresent$ Card.Creature | PumpZone$ Stack SVar:DBRemoveTimeCounterOtherCardsInExile:DB$ RemoveCounterAll | ValidCards$ Card.YouOwn+IsNotRemembered | ValidZone$ Exile | CounterType$ TIME | CounterNum$ 1 | SubAbility$ DBCleanUp SVar:DBCleanUp:DB$ Cleanup | ClearRemembered$ True +DeckHas:Ability$Counters DeckHints:Keyword$Suspend Oracle:{T}:Draw a card, then exile a card from your hand and put a number of time counters on it equal to its mana value. It gains "When the last time counter is removed from this card, if it's exiled, you may cast it without paying its mana cost. If you cast a creature spell this way, it gains haste until end of turn." Then remove a time counter from each other card you own in exile. diff --git a/forge-gui/res/cardsfolder/a/albiorix_goose_tyrant_wild_goose_chase.txt b/forge-gui/res/cardsfolder/a/albiorix_goose_tyrant_wild_goose_chase.txt index 0fad583c19c..454998969c2 100644 --- a/forge-gui/res/cardsfolder/a/albiorix_goose_tyrant_wild_goose_chase.txt +++ b/forge-gui/res/cardsfolder/a/albiorix_goose_tyrant_wild_goose_chase.txt @@ -7,8 +7,8 @@ K:Trample K:Ward:1 T:Mode$ Sacrificed | ValidPlayer$ You | ValidCard$ Card.token | TriggerZones$ Battlefield,Exile | Execute$ TrigPump | TriggerDescription$ Whenever you sacrifice a token, NICKNAME perpetually gets +1/+1. This ability also triggers if NICKNAME is in exile. SVar:TrigPump:DB$ Pump | PumpZone$ Battlefield,Exile | NumAtt$ 1 | NumDef$ 1 | Duration$ Perpetual -DeckHas:Ability$Discard|Token & Type$Food -DeckHints:Ability$Token & Type$Treasure|Food|Clue +DeckHas:Ability$Discard|Token +DeckHints:Ability$Token|Sacrifice & Type$Treasure|Food|Clue|Blood|Junk|Map AlternateMode:Adventure Oracle:Flying, Trample, Ward {1}\nWhenever you sacrifice a token, Albiorix perpetually gets +1/+1. This ability also triggers if Albiorix is in exile. diff --git a/forge-gui/res/cardsfolder/a/alchemists_talent.txt b/forge-gui/res/cardsfolder/a/alchemists_talent.txt index 235fb37ce44..9434f1ab3c5 100644 --- a/forge-gui/res/cardsfolder/a/alchemists_talent.txt +++ b/forge-gui/res/cardsfolder/a/alchemists_talent.txt @@ -10,4 +10,6 @@ K:Class:3:4 R:AddTrigger$ TriggerExplosion SVar:TriggerExplosion:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | ValidSA$ Spell.ManaFromTreasure | Execute$ TrigDamage | TriggerDescription$ Whenever you cast a spell, if mana from a Treasure was spent to cast it, this Class deals damage equal to that spell's mana value to each opponent. SVar:TrigDamage:DB$ DealDamage | Defined$ Opponent | NumDmg$ X SVar:X:TriggeredStackInstance$CardManaCostLKI +DeckHas:Ability$Token +DeckHints:Type$Treasure Oracle:(Gain the next level as a sorcery to add its ability.)\nWhen Alchemist's Talent enters, create two tapped Treasure tokens.\n{1}{R}: Level 2\nTreasures you control have "{T}, Sacrifice this artifact: Add two mana of any one color."\n{4}{R}: Level 3\nWhenever you cast a spell, if mana from a Treasure was spent to cast it, this Class deals damage equal to that spell's mana value to each opponent. diff --git a/forge-gui/res/cardsfolder/a/alela_artful_provocateur.txt b/forge-gui/res/cardsfolder/a/alela_artful_provocateur.txt index 19ac436edc6..4e8d726c506 100644 --- a/forge-gui/res/cardsfolder/a/alela_artful_provocateur.txt +++ b/forge-gui/res/cardsfolder/a/alela_artful_provocateur.txt @@ -10,5 +10,6 @@ SVar:PlayMain1:TRUE T:Mode$ SpellCast | ValidCard$ Artifact,Enchantment | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ Whenever you cast an artifact or enchantment spell, create a 1/1 blue Faerie creature token with flying. SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ u_1_1_faerie_flying | TokenOwner$ You SVar:BuffedBy:Artifact,Enchantment +DeckHas:Ability$LifeGain|Token DeckHints:Type$Artifact|Enchantment Oracle:Flying, deathtouch, lifelink\nOther creatures you control with flying get +1/+0.\nWhenever you cast an artifact or enchantment spell, create a 1/1 blue Faerie creature token with flying. diff --git a/forge-gui/res/cardsfolder/a/alela_cunning_conqueror.txt b/forge-gui/res/cardsfolder/a/alela_cunning_conqueror.txt index 0c71a9e2a32..7a88c421c96 100644 --- a/forge-gui/res/cardsfolder/a/alela_cunning_conqueror.txt +++ b/forge-gui/res/cardsfolder/a/alela_cunning_conqueror.txt @@ -7,4 +7,6 @@ T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ You | TriggerZones$ SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ b_1_1_faerie_rogue_flying | TokenOwner$ You T:Mode$ DamageDoneOnce | CombatDamage$ True | ValidSource$ Creature.Faerie+YouCtrl | ValidTarget$ Player | TriggerZones$ Battlefield | Execute$ TrigGoad | TriggerDescription$ Whenever one or more Faeries you control deal combat damage to a player, goad target creature that player controls. SVar:TrigGoad:DB$ Goad | ValidTgts$ Creature | TargetsWithDefinedController$ TriggeredTarget | TgtPrompt$ Select target creature that player controls +DeckHas:Ability$Token +DeckHints:Type$Faerie Oracle:Flying\nWhenever you cast your first spell during each opponent's turn, create a 1/1 black Faerie Rogue creature token with flying.\nWhenever one or more Faeries you control deal combat damage to a player, goad target creature that player controls. diff --git a/forge-gui/res/cardsfolder/a/alexios_deimos_of_kosmos.txt b/forge-gui/res/cardsfolder/a/alexios_deimos_of_kosmos.txt index 1a9b217b2b3..348b4eadd36 100644 --- a/forge-gui/res/cardsfolder/a/alexios_deimos_of_kosmos.txt +++ b/forge-gui/res/cardsfolder/a/alexios_deimos_of_kosmos.txt @@ -10,4 +10,5 @@ T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | TriggerZones$ Battlefield SVar:TrigControl:DB$ GainControl | Defined$ Self | NewController$ TriggeredPlayer | Untap$ True | SubAbility$ DBPutCounter SVar:DBPutCounter:DB$ PutCounter | Defined$ Self | Placer$ TriggeredPlayer | CounterType$ P1P1 | CounterNum$ 1 | SubAbility$ DBPump SVar:DBPump:DB$ Pump | Defined$ Self | KW$ Haste +DeckHas:Ability$Counters Oracle:Trample\nAlexios, Deimos of Kosmos attacks each combat if able, can't be sacrificed, and can't attack its owner.\nAt the beginning of each player's upkeep, that player gains control of Alexios, untaps it, and puts a +1/+1 counter on it. It gains haste until end of turn. diff --git a/forge-gui/res/cardsfolder/a/alharu_solemn_ritualist.txt b/forge-gui/res/cardsfolder/a/alharu_solemn_ritualist.txt index b17ec468298..fd4ae739f49 100644 --- a/forge-gui/res/cardsfolder/a/alharu_solemn_ritualist.txt +++ b/forge-gui/res/cardsfolder/a/alharu_solemn_ritualist.txt @@ -6,6 +6,7 @@ T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.S SVar:TrigPut:DB$ PutCounter | TargetMin$ 0 | TargetMax$ 2 | ValidTgts$ Creature.Other | TgtPrompt$ Select up to two other target creatures | CounterType$ P1P1 | CounterNum$ 1 T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.YouCtrl+nonToken+counters_GE1_P1P1 | TriggerZones$ Battlefield | Execute$ TrigToken | Secondary$ True | TriggerDescription$ Whenever a nontoken creature you control with a +1/+1 counter on it dies, create a 1/1 white Spirit creature token with flying. SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ w_1_1_spirit_flying | TokenOwner$ You -DeckHas:Ability$Counters|Token K:Partner +DeckHas:Ability$Counters|Token +DeckHints:Ability$Counters Oracle:When Alharu, Solemn Ritualist enters, put a +1/+1 counter on each of up to two other target creatures.\nWhenever a nontoken creature you control with a +1/+1 counter on it dies, create a 1/1 white Spirit creature token with flying.\nPartner (You can have two commanders if both have partner.) diff --git a/forge-gui/res/cardsfolder/a/alive_well.txt b/forge-gui/res/cardsfolder/a/alive_well.txt index ffbbb9a87d7..2e5a5e8e427 100644 --- a/forge-gui/res/cardsfolder/a/alive_well.txt +++ b/forge-gui/res/cardsfolder/a/alive_well.txt @@ -3,7 +3,7 @@ ManaCost:3 G Types:Sorcery K:Fuse A:SP$ Token | TokenAmount$ 1 | TokenScript$ g_3_3_centaur | TokenOwner$ You | SpellDescription$ Create a 3/3 green Centaur creature token. -DeckHas:Ability$Token +DeckHas:Ability$Token|LifeGain AlternateMode:Split Oracle:Create a 3/3 green Centaur creature token.\nFuse (You may cast one or both halves of this card from your hand.) diff --git a/forge-gui/res/cardsfolder/a/alliance_of_arms.txt b/forge-gui/res/cardsfolder/a/alliance_of_arms.txt index 62eb062936d..c088ff4c2af 100644 --- a/forge-gui/res/cardsfolder/a/alliance_of_arms.txt +++ b/forge-gui/res/cardsfolder/a/alliance_of_arms.txt @@ -8,4 +8,5 @@ SVar:DBToken:DB$ Token | TokenAmount$ JoinForcesAmount | TokenScript$ w_1_1_sold SVar:Y:Count$ChosenNumber SVar:JoinForcesAmount:Number$0 AI:RemoveDeck:All +DeckHas:Ability$Token Oracle:Join forces — Starting with you, each player may pay any amount of mana. Each player creates X 1/1 white Soldier creature tokens, where X is the total amount of mana paid this way. diff --git a/forge-gui/res/cardsfolder/a/allied_reinforcements.txt b/forge-gui/res/cardsfolder/a/allied_reinforcements.txt index 8e529aac8f7..b54af999d86 100644 --- a/forge-gui/res/cardsfolder/a/allied_reinforcements.txt +++ b/forge-gui/res/cardsfolder/a/allied_reinforcements.txt @@ -2,5 +2,6 @@ Name:Allied Reinforcements ManaCost:3 W Types:Sorcery A:SP$ Token | TokenAmount$ 2 | TokenScript$ w_2_2_knight_ally | TokenOwner$ You | SpellDescription$ Create two 2/2 white Knight Ally creature tokens. +DeckHas:Ability$Token DeckHints:Type$Ally Oracle:Create two 2/2 white Knight Ally creature tokens. diff --git a/forge-gui/res/cardsfolder/a/alora_rogue_companion.txt b/forge-gui/res/cardsfolder/a/alora_rogue_companion.txt index f2e4ed477d8..b11eb04bc4b 100644 --- a/forge-gui/res/cardsfolder/a/alora_rogue_companion.txt +++ b/forge-gui/res/cardsfolder/a/alora_rogue_companion.txt @@ -8,6 +8,7 @@ SVar:TrigUnblockable:DB$ Effect | TgtPrompt$ Select up to one target attacking c SVar:Unblockable:Mode$ CantBlockBy | ValidAttacker$ Card.IsRemembered | Description$ This creature can't be blocked this turn. SVar:DBDelTrig:DB$ DelayedTrigger | ConditionDefined$ Targeted | ConditionPresent$ Card | Mode$ Phase | Phase$ End of Turn | RememberObjects$ Targeted | Execute$ TrigReturn | TriggerDescription$ At the beginning of the next end step, return that creature to its owner's hand. SVar:TrigReturn:DB$ ChangeZone | Defined$ DelayTriggerRememberedLKI | Origin$ Battlefield | Destination$ Hand +DeckHas:Ability$Token AlternateMode:Specialize Oracle:Specialize {2}\nWhenever you attack, up to one target attacking creature can't be blocked this turn. At the beginning of the next end step, return that creature to its owner's hand. @@ -24,7 +25,6 @@ SVar:DBDelTrig:DB$ DelayedTrigger | ConditionDefined$ Targeted | ConditionPresen SVar:TrigReturn:DB$ ChangeZone | Defined$ DelayTriggerRememberedLKI | Origin$ Battlefield | Destination$ Hand | ForgetOtherRemembered$ True | RememberChanged$ True | SubAbility$ DBToken SVar:DBToken:DB$ Token | TokenScript$ w_1_1_soldier | ConditionDefined$ Remembered | ConditionPresent$ Card | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True -DeckHas:Ability$Token & Type$Soldier Oracle:Whenever you attack, up to one target attacking creature can't be blocked this turn. At the beginning of the next end step, return that creature to its owner's hand. If you do, create a 1/1 white Soldier creature token. SPECIALIZE:BLUE @@ -72,7 +72,6 @@ SVar:DBDelTrig:DB$ DelayedTrigger | ConditionDefined$ Targeted | ConditionPresen SVar:TrigReturn:DB$ ChangeZone | Defined$ DelayTriggerRememberedLKI | Origin$ Battlefield | Destination$ Hand | ForgetOtherRemembered$ True | RememberChanged$ True | SubAbility$ DBTreasure SVar:DBTreasure:DB$ Token | TokenScript$ c_a_treasure_sac | ConditionDefined$ Remembered | ConditionPresent$ Card | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True -DeckHas:Ability$Token|Sacrifice & Type$Artifact|Treasure Oracle:Whenever you attack, up to one target attacking creature can't be blocked this turn. At the beginning of the next end step, return that creature to its owner's hand. If you do, create a Treasure token. SPECIALIZE:GREEN