From 491f42b7171b0c9fba8ef09cc7ac895af7f8b638 Mon Sep 17 00:00:00 2001 From: Eduardo MG Date: Thu, 13 Oct 2022 12:30:51 -0500 Subject: [PATCH] Bug Fixes and introducing Foretell macros and zombie token macros Dwarven Bloodboiler Endling Open the gates bolt hound Silverwing Squadron Doomskar Oracle glorious sunrise river's rebuke Bound in Gold daxos of meletis Thraben Watcher Prowess of the Fair --- .../mtg/bin/Res/sets/primitives/_macros.txt | 6 + .../bin/Res/sets/primitives/borderline.txt | 256 +++++++++--------- projects/mtg/bin/Res/sets/primitives/mtg.txt | 6 +- .../bin/Res/sets/primitives/planeswalkers.txt | 6 +- 4 files changed, 137 insertions(+), 137 deletions(-) diff --git a/projects/mtg/bin/Res/sets/primitives/_macros.txt b/projects/mtg/bin/Res/sets/primitives/_macros.txt index 19ae8ff2e..2226bd953 100644 --- a/projects/mtg/bin/Res/sets/primitives/_macros.txt +++ b/projects/mtg/bin/Res/sets/primitives/_macros.txt @@ -156,3 +156,9 @@ $AUTO_DEFINE _CLASH_ Put here a code if compare the casting cost based on Errati # Spectacle #AUTO_DEFINE _SPECTACLE_($cost) compare(oplifelost)~morethan~0 {$cost}: + +# Foretell +#AUTO_DEFINE _FORETELL_ {2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly + +# Zombie Token +#AUTO_DEFINE _ZOMBIETOKEN_ create(zombie:creature zombie:2/2:black) diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index 9778cea77..40686cdd9 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -406,7 +406,7 @@ toughness=1 [card] name=Adios Wormhole abilities=foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={U} restriction{compare(canforetellcast)~morethan~0}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=target(*[-land]|battlefield) moveto(ownerhand) text=Return target nonland permanent to its owners's hand. -- Foretell {U} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) @@ -461,7 +461,7 @@ toughness=1 name=Adriana's Valor abilities=hiddenface,isconspiracy restriction=never -autocommandzone=chooseaname transforms((,newability[lord(creature[chosenname]|myBattlefield) transforms((,newability[@combat(attacking) source(this):pay({W}) name(Pay and gains indestructible) name(Pay and gains indestructible) transforms((,newability[indestructible])) ueot]))])) forever chooseend +autocommandzone=chooseaname transforms((,newability[lord(creature[chosenname]|myBattlefield) transforms((,newability[_ATTACKING_pay({W}) name(Pay and gains indestructible) name(Pay and gains indestructible) transforms((,newability[indestructible])) ueot]))])) forever chooseend text=Hidden agenda (Start the game with this conspiracy face down in the command zone and secretly name a card. You may turn this conspiracy face up any time and reveal the chosen name.) -- Whenever a creature you control with the chosen name attacks, you may pay {W}. If you do, that creature gains indestructible until end of turn. (Damage and effects that say "destroy" don't destroy it.) type=Conspiracy [/card] @@ -1402,7 +1402,7 @@ toughness=2 [card] name=Alrund's Epiphany abilities=foretell,exiledeath -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={4}{U}{U} restriction{compare(canforetellcast)~morethan~0,can play sorcery}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=token(Bird,Creature Bird,1/1,blue,flying)*2 auto=turns:+1 controller @@ -1986,7 +1986,7 @@ name=Angelic Enforcer abilities=flying,controllershroud backside=Enduring Angel anyzone=lifetotal/lifetotal cdaactive -auto=@combat(attacking) source(this):name(Double your life) life:lifetotal controller +auto=_ATTACKING_name(Double your life) life:lifetotal controller text=Flying -- You have hexproof. -- Angelic Enforcer's power and toughness are each equal to your life total. -- Whenever Angelic Enforcer attacks, double your life total. // Enduring Angel type=Creature subtype=Angel @@ -2981,7 +2981,7 @@ toughness=7 name=Archive Haunt backside=Overwhelmed Archivist abilities=flying,exiledeath -auto=@combat(attacking) source(this):name(Draw and discard) draw:1 controller && transforms((,newability[name(Discard a card) target(*|myhand) reject])) oneshot +auto=_ATTACKING_name(Draw and discard) draw:1 controller && transforms((,newability[name(Discard a card) target(*|myhand) reject])) oneshot text=Flying -- Whenever Archive Haunt attacks, draw a card, then discard a card. -- If Archive Haunt would be put into a graveyard from anywhere, exile it instead. // Overwhelmed Archivist type=Creature subtype=Spirit Wizard @@ -3780,7 +3780,7 @@ type=Instant name=Assemble the Rank and Vile abilities=hiddenface,isconspiracy restriction=never -autocommandzone=chooseaname transforms((,newability[@movedto(creature[chosenname]|graveyard) from(mybattlefield):name(Pay and create zombie) pay({B}) name(Pay and create zombie) name(Pay and create zombie) token(Zombie Lil) and!( tap(noevent) )!])) forever chooseend +autocommandzone=chooseaname transforms((,newability[@movedto(creature[chosenname]|graveyard) from(mybattlefield):name(Pay and create zombie) pay({B}) name(Pay and create zombie) name(Pay and create zombie) _ZOMBIETOKEN_ and!( tap(noevent) )!])) forever chooseend text=Hidden agenda (Start the game with this conspiracy face down in the command zone and secretly name a card. You may turn this conspiracy face up any time and reveal the chosen name.) -- Creatures you control with the chosen name have "When this creature dies, you may pay {B}. If you do, put a 2/2 black Zombie creature token onto the battlefield tapped." type=Conspiracy [/card] @@ -3991,7 +3991,7 @@ toughness=3 [card] name=Augury Raven abilities=foretell,flying -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={1}{U} restriction{compare(canforetellcast)~morethan~0,can play creature}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) text=Flying -- Foretell {1}{U} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) mana={3}{U} @@ -4032,7 +4032,7 @@ type=Instant name=Aurelia, Exemplar of Justice abilities=flying,mentor auto=_ATTACKING_name(Choose attacking creature) transforms((,newability[target(other creature[attacking;power<=pminus1minusend]|myBattlefield) counter(1/1)])) oneshot -auto=@each my combatbegins:ability$!name(Choose a creature) choice name(Choose non-red, non-white creature) target(creature[-red;-white]|myBattlefield) 2/0 ueot _ choice name(Choose red and white creature) target(creature[red]|myBattlefield) transforms((,newability[2/0 ueot],newability[trample ueot],newability[vigilance ueot])) ueot _ choice name(Choose red creature) target(creature[red]|myBattlefield) transforms((,newability[2/0 ueot],newability[trample ueot])) ueot _ name(Choose white creature) target(creature[white]|myBattlefield) transforms((,newability[2/0 ueot],newability[vigilance ueot])) ueot!$ controller +auto=@each my combatbegins:ability$!name(Choose a creature) choice name(Choose red and white creature) target(creature[red]|myBattlefield) transforms((,newability[2/0 ueot],newability[trample ueot],newability[vigilance ueot])) ueot _ choice name(Choose red creature) target(creature[red]|myBattlefield) transforms((,newability[2/0 ueot],newability[trample ueot])) ueot _ name(Choose white creature) target(creature[white]|myBattlefield) transforms((,newability[2/0 ueot],newability[vigilance ueot] _ choice name(Choose non-red, non-white creature) target(creature[-red;-white]|myBattlefield) 2/0 ueot)) ueot!$ controller text=Flying -- Mentor (Whenever this creature attacks, put a +1/+1 counter on target attacking creature with lesser power.) -- At the beginning of combat on your turn, choose up to one target creature you control. Until end of turn, that creature gets +2/+0, gains trample if it's red, and gains vigilance if it's white. mana={2}{R}{W} type=Legendary Creature @@ -5361,7 +5361,7 @@ toughness=2 [card] name=Battle Mammoth abilities=foretell,trample -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={2}{G}{G} restriction{compare(canforetellcast)~morethan~0,can play creature}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=@targeted(*|mybattlefield) from(*|opponentzones):may name(Draw a card) draw:1 controller text=Trample -- Whenever a permanent you control becomes the target of a spell or ability an opponent controls, you may draw a card. -- Foretell {2}{G}{G} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) @@ -5549,7 +5549,9 @@ toughness=* [card] name=Bearded Axe auto={2}:equip -auto=teach(creature) type:*[dwarf;equipment;vehicle]:mybattlefield/type:*[dwarf;equipment;vehicle]:mybattlefield nonstatic +auto=teach(creature) type:dwarf:mybattlefield/type:dwarf:mybattlefield nonstatic +auto=teach(creature) type:equipment:mybattlefield/type:equipment:mybattlefield nonstatic +auto=teach(creature) type:vehicle:mybattlefield/type:vehicle:mybattlefield nonstatic text=Equipped creature gets +1/+1 for each Dwarf, Equipment, and/or Vehicle you control. -- Equip {2} mana={2}{R} type=Artifact @@ -5735,7 +5737,7 @@ type=Sorcery [card] name=Behold the Multiverse abilities=foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={1}{U} restriction{compare(canforetellcast)~morethan~0}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) aicode=activate transforms((,newability[draw:2 controller])) oneshot auto=scry:2 scrycore delayed draw:2 controller scrycoreend scryend @@ -6122,7 +6124,7 @@ abilities=hasdisturb restriction=compare(isflipped)~equalto~0 anyzone={0}:doubleside(backside) retrace={1}{U} name(Cast with disturb) -auto=@combat(attacking) source(this):name(Creature gets -2/0) target(creature|opponentBattlefield) -2/-0 ueot +auto=_ATTACKING_name(Creature gets -2/0) target(creature|opponentBattlefield) -2/-0 ueot autostack=if paid(retrace) then flip(backside) forcetype(Enchantment Aura) and!( transforms((,newability[name(Attach to creature) retargetfromplay target(creature)],newability[teach(creature) -2/0])) forever )! text=Whenever Binding Geist attacks, target creature an opponent controls gets -2/-0 until end of turn. -- Disturb {1}{U} (You may cast this card from your graveyard transformed for its disturb cost.) // Spectral Binding mana={2}{U} @@ -7298,7 +7300,7 @@ toughness=1 name=Bloodcrazed Socialite abilities=menace auto=token(Blood) -auto=@combat(attacking) source(this):may name(Sacrifice blood) target(blood|mybattlefield) sacrifice && all(this) 2/2 ueot +auto=_ATTACKING_may name(Sacrifice blood) target(blood|mybattlefield) sacrifice && all(this) 2/2 ueot text=Menace -- When Bloodcrazed Socialite enters the battlefield, create a Blood token. (It's an artifact with "{1}, {T}, Discard a card, Sacrifice this artifact: Draw a card.") -- Whenever Bloodcrazed Socialite attacks, you may sacrifice a Blood token. If you do, it gets +2/+2 until end of turn. mana={3}{B} type=Creature @@ -7563,7 +7565,7 @@ toughness=2 name=Bloodvial Purveyor abilities=flying,trample auto=@movedto(*|opponentstack):name(Create Blood) token(Blood) opponent -auto=@combat(attacking) source(this):name(Increase power) type:blood:opponentbattlefield/0 ueot +auto=_ATTACKING_name(Increase power) type:blood:opponentbattlefield/0 ueot text=Flying, trample -- Whenever an opponent casts a spell, that player creates a Blood token. (It's an artifact with "{1}, {T}, Discard a card, Sacrifice this artifact: Draw a card.") -- Whenever Bloodvial Purveyor attacks, it gets +1/+0 until end of turn for each Blood token defending player controls. mana={2}{B}{B} type=Creature @@ -7877,7 +7879,7 @@ type=Instant [card] name=Bolt Hound abilities=haste -auto=@combat(attakcing) source(this):all(other creature|myBattlefield) 1/0 ueot +auto=_ATTACKING_all(other creature|myBattlefield) 1/0 ueot text=Haste (This creature can attack and {T} as soon as it comes under your control.) -- Whenever Bolt Hound attacks, other creatures you control get +1/+0 until end of turn. mana={2}{R} type=Creature @@ -7888,7 +7890,7 @@ toughness=2 [card] name=Bomat Courier abilities=haste -auto=@combat(attacking) source(this):name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( counter(0/0,1,BomatExiled) )! +auto=_ATTACKING_name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( counter(0/0,1,BomatExiled) )! auto={R}{S}:name(Return all exiled cards) discard:phandcount && transforms((,newability[all(*[counter{0/0.1.BomatExiled}]|myexile) moveto(ownerhand)])) oneshot text=Haste -- Whenever Bomat Courier attacks, exile the top card of your library face down. (You can't look at it.) -- {R}, Discard your hand, Sacrifice Bomat Courier: Put all cards exiled with Bomat Courier into their owners' hands. mana={1} @@ -8397,6 +8399,7 @@ target=artifact,creature,enchantment,land,planeswalker auto=cantattack auto=cantpwattack auto=cantblock +auto=cantcrew auto=noactivatedability text=Enchant permanent -- Enchanted permanent can't attack, block, or crew Vehicles, and its activated abilities can't be activated unless they're mana abilities. mana={2}{W} @@ -11068,7 +11071,7 @@ abilities=flying,showfromtoplibrary auto=counter(0/0,1,IlluminatorEffect) notrg auto=@each beginofturn restriction{compare(hascntilluminatoreffect)~equalto~0}:name(Start effect) counter(0/0,1,IlluminatorEffect) notrg auto=name(Exile a card) target(*|graveyard) moveto(exile) and!( counter(0/0,1,IlluminatorExiled) notrg )! -auto=@combat(attacking) source(this):name(Exile a card) transforms((,newability[name(Exile a card) target(*|graveyard) moveto(exile) and!( counter(0/0.1.IlluminatorExiled) notrg )!])) oneshot +auto=_ATTACKING_name(Exile a card) transforms((,newability[name(Exile a card) target(*|graveyard) moveto(exile) and!( counter(0/0.1.IlluminatorExiled) notrg )!])) oneshot auto=aslongas(creature[counter{0/0.1.IlluminatorExiled}]|exile) aslongas(creature[zpos=1]|mylibrary) {C(0/0,-1,IlluminatorEffect)}:name(Cast creature) name(Cast creature) name(Cast creature) all(creature[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[phaseaction[endofturn once checkex] moveto(mylibrary)])) ueot )! limit:1 auto=aslongas(planeswalker[counter{0/0.1.IlluminatorExiled}]|exile) aslongas(planeswalker[zpos=1]|mylibrary) {C(0/0,-1,IlluminatorEffect)}:name(Cast planeswalker) name(Cast planeswalker) name(Cast planeswalker) all(planeswalker[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[phaseaction[endofturn once checkex] moveto(mylibrary)])) ueot )! limit:1 auto=aslongas(instant[counter{0/0.1.IlluminatorExiled}]|exile) aslongas(instant[zpos=1]|mylibrary) {C(0/0,-1,IlluminatorEffect)}:name(Cast instant) name(Cast instant) name(Cast instant) all(instant[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[phaseaction[endofturn once checkex] moveto(mylibrary)])) ueot )! limit:1 @@ -11099,7 +11102,7 @@ toughness=4 name=Cemetery Prowler abilities=vigilance auto=name(Exile a card) target(*|graveyard) moveto(exile) and!( counter(0/0.1.CemeteryExiled) )! -auto=@combat(attacking) source(this):name(Exile a card) target(*|graveyard) moveto(exile) and!( counter(0/0.1.CemeteryExiled) )! +auto=_ATTACKING_name(Exile a card) target(*|graveyard) moveto(exile) and!( counter(0/0.1.CemeteryExiled) )! auto=aslongas(creature[counter{0/0.1.CemeteryExiled}]|exile) lord(creature|mycastingzone) changecost(colorless:-1) >0 auto=aslongas(planeswalker[counter{0/0.1.CemeteryExiled}]|exile) lord(planeswalker|mycastingzone) changecost(colorless:-1) >0 auto=aslongas(enchantment[counter{0/0.1.CemeteryExiled}]|exile) lord(enchantment|mycastingzone) changecost(colorless:-1) >0 @@ -11171,7 +11174,7 @@ type=Instant [/card] [card] name=Ceremonial Knife -auto=teach(creature) transforms((,newability[@combat(attacking) source(this):name(Create blood) token(Blood)])) +auto=teach(creature) transforms((,newability[_ATTACKING_name(Create blood) token(Blood)])) auto=teach(creature) 1/0 auto={2}:equip text=Equipped creature gets +1/+0 and has "Whenever this creature deals combat damage, create a Blood token." (It's an artifact with "{1}, {T}, Discard a card, Sacrifice this artifact: Draw a card.") -- Equip {2} ({2}: Attach to target creature you control. Equip only as a sorcery.) @@ -14459,7 +14462,7 @@ toughness=4 [card] name=Cosmic Intervention abilities=foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={1}{W} restriction{compare(canforetellcast)~morethan~0}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=emblem transforms((,newability[@movedto(*[-instant;-sorcery]|graveyard) from(mybattlefield):all(trigger[to]) transforms((,newability[moveto(exile) and!( transforms((,newability[phaseaction[endofturn once checkex] moveto(ownerbattlefield)])) ueot )! ])) ueot])) ueot text=If a permanent you control would be put into a graveyard from the battlefield this turn, exile it instead. Return it to the battlefield under its owner's control at the beginning of the next end step. -- Foretell {1}{W} (During your turn, you may pay 2 and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) @@ -14469,7 +14472,7 @@ type=Instant [card] name=Cosmos Charger abilities=foretell,flash,flying -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={2}{U} restriction{compare(canforetellcast)~morethan~0,can play creature}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=lord(*[foretell]|myhand) transforms((,newability[{1} restriction{type(*[Cosmos Charger]|mybattlefield)~equalto~1}:name(Pay 1 and exile face-down) name(Pay 1 and exile face-down) doforetell],newability[{0} restriction{type(*[Cosmos Charger]|mybattlefield)~morethan~1}:name(Pay 0 and exile face-down) name(Pay 0 and exile face-down) doforetell])) text=Flash -- Flying -- Foretelling cards from your hand costs {1} less and can be done on any player's turn. -- Foretell {2}{U} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) @@ -14969,7 +14972,7 @@ type=Sorcery [card] name=Creeping Inn backside=Hostile Hostel -auto=@combat(attacking) source(this):may name(Exile a creature) target(creature|mygraveyard) moveto(myexile) and!( transforms((,newability[counter(0/0.1.InnExiled)],newability[foreach(creature[counter{0/0.1.InnExiled}]|myexile) life:-1 opponent],newability[foreach(creature[counter{0/0.1.InnExiled}]|myexile) life:1 controller])) oneshot )! +auto=_ATTACKING_may name(Exile a creature) target(creature|mygraveyard) moveto(myexile) and!( transforms((,newability[counter(0/0.1.InnExiled)],newability[foreach(creature[counter{0/0.1.InnExiled}]|myexile) life:-1 opponent],newability[foreach(creature[counter{0/0.1.InnExiled}]|myexile) life:1 controller])) oneshot )! auto={4}:name(Phase out) phaseoutf text=Whenever Creeping Inn attacks, you may exile a creature card from your graveyard. If you do, each opponent loses X life and you gain X life, where X is the number of creature cards exiled with Creeping Inn. -- {4}: Creeping Inn phases out. // Hostile Hostel type=Artifact Creature @@ -15306,7 +15309,7 @@ type=Instant [card] name=Crush the Weak abilities=foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={R} restriction{compare(canforetellcast)~morethan~0,can play sorcery}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=all(creature[-protection from red]) exiledeath ueot auto=damage:2 all(creature) @@ -15743,7 +15746,7 @@ subtype=Aura Curse [card] name=Curse of Disturbance target=opponent -auto=@combat(attacking) source(creature|mybattlefield) turnlimited:name(Create Zombie) token(Zombie Lil) +auto=@combat(attacking) source(creature|mybattlefield) turnlimited:name(Create Zombie) _ZOMBIETOKEN_ text=Enchant player -- Whenever enchanted player is attacked, create a 2/2 black Zombie creature token. Each opponent attacking that player does the same. mana={2}{B} type=Enchantment @@ -15823,7 +15826,7 @@ subtype=Aura Curse [/card] [card] name=Curse of Opulence -target=opponent +target=player auto=@combat(attacking) source(creature|myBattlefield) turnlimited:name(Create Gold) token(435451) text=Enchant player -- Whenever enchanted player is attacked, create a colorless artifact token named Gold. It has "Sacrifice this artifact: Add one mana of any color.". Each opponent attacking that player does the same. mana={R} @@ -15851,7 +15854,7 @@ subtype=Aura Curse [card] name=Curse of Shallow Graves target=opponent -auto=@combat(attacking) source(creature|mybattlefield) turnlimited:may name(Create Zombie) token(Zombie Lil) and!( tap(noevent) )! +auto=@combat(attacking) source(creature|mybattlefield) turnlimited:may name(Create Zombie) _ZOMBIETOKEN_ and!( tap(noevent) )! text=Enchant player -- Whenever a player attacks enchanted player with one or more creatures, that attacking player may put a 2/2 black Zombie creature token onto the battlefield tapped. mana={2}{B} type=Enchantment @@ -16711,8 +16714,8 @@ toughness=* [card] name=Daxos of Meletis auto=cantbeblockedby(creature[power>=3]) -auto=@combatdamagefoeof(player) from(creature|mybattlefield):name(Exile top card) all(*[zpos=1]|opponentlibrary) moveto(exile) and!( if cantargetcard(*[-land]|*) then moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[life:manacost controller],newability[phaseaction[endofturn once checkex] moveTo(ownerexile)])) ueot )! )! -auto=@combatdamageof(player) from(creature|mybattlefield):name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( if cantargetcard(*[-land]|*) then transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[life:manacost controller])) ueot )! +auto=@combatdamagefoeof(player) from(this):name(Exile top card) all(*[zpos=1]|opponentlibrary) moveto(exile) and!( if cantargetcard(*[-land]|*) then moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[life:manacost controller],newability[phaseaction[endofturn once checkex] moveTo(ownerexile)])) ueot )! )! +auto=@combatdamageof(player) from(this):name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( if cantargetcard(*[-land]|*) then transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[life:manacost controller])) ueot )! text=Daxos of Meletis can't be blocked by creatures with power 3 or greater. -- Whenever Daxos of Meletis deals combat damage to a player, exile the top card of that player's library. You gain life equal to that card's converted mana cost. Until end of turn, you may cast that card and you may spend mana as though it were mana of any color to cast it. mana={1}{W}{U} type=Legendary Creature @@ -17067,8 +17070,8 @@ type=Enchantment [card] name=Death Tyrant abilities=menace -auto=lord(creature[attacking]|mybattlefield) transforms((,newability[_DIES_name(Create zombie) token(Zombie Lil)])) -auto=lord(creature[blocking]|opponentbattlefield) transforms((,newability[_DIES_name(Create zombie) token(Zombie Lil) opponent])) +auto=lord(creature[attacking]|mybattlefield) transforms((,newability[_DIES_name(Create zombie) _ZOMBIETOKEN_])) +auto=lord(creature[blocking]|opponentbattlefield) transforms((,newability[_DIES_name(Create zombie) _ZOMBIETOKEN_ opponent])) autograveyard={5}{B}:name(Return to battlefield) moveto(mybattlefield) and!( tap(novent) )! text=Menace -- Negative Energy Cone - Whenever an attacking creature you control or a blocking creature an opponent controls dies, create a 2/2 black Zombie creature token. -- {5}{B}: Return Death Tyrant from your graveyard to the battlefield tapped. mana={4}{B} @@ -17645,7 +17648,7 @@ color=black name=Demon Bolt abilities=foretell target=creature,planeswalker -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={R} restriction{compare(canforetellcast)~morethan~0}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=damage:4 text=Demon Bolt deals 4 damage to target creature or planeswalker. -- Foretell {R} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) @@ -17821,7 +17824,7 @@ name=Depart the Realm abilities=foretell target=*[-land]|battlefield auto=moveto(ownerhand) -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={U} restriction{compare(canforetellcast)~morethan~0,type(*[-land]|battlefield)~morethan~0}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) text=Return target nonland permanent to its owner's hand. -- Foretell {U} (During your turn, you may pay 2 and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) mana={1}{U} @@ -18753,9 +18756,9 @@ name=Dire-Strain Anarchist abilities=nightbound,menace,haste backside=Volatile Arsonist auto=if type(*[day;night]|battlefield)~equalto~0 then if type(*[nonight]|battlefield)~equalto~0 then name(It becomes night) name(It becomes night) name(It becomes night) activate castcard(noevent named!:Night:!) -auto=@combat(attacking) source(this):may name(Damage planeswalker) damage:2 target(planeswalker) -auto=@combat(attacking) source(this):may name(Damage player) damage:2 target(player) -auto=@combat(attacking) source(this):may name(Damage creature) damage:2 target(creature) +auto=_ATTACKING_may name(Damage planeswalker) damage:2 target(planeswalker) +auto=_ATTACKING_may name(Damage player) damage:2 target(player) +auto=_ATTACKING_may name(Damage creature) damage:2 target(creature) text=Menace, haste -- Whenever Dire-Strain Anarchist attacks, it deals 2 damage to each of up to one target creature, up to one target player, and/or up to one target planeswalker. -- Nightbound (If a player casts at least two spells during their own turn, it becomes day next turn.) // Volatile Arsonist type=Creature subtype=Werewolf @@ -19073,8 +19076,8 @@ abilities=hasdisturb,flying restriction=compare(isflipped)~equalto~0 anyzone={0}:doubleside(backside) retrace={4}{W} name(Cast with disturb) -autostack=if paid(retrace) then flip(backside) forcetype(Enchantment Aura) and!( transforms((,newability[name(Attach to creature) retargetfromplay target(creature)],newability[teach(creature) transforms((,newability[@combat(attacking) source(this):name(Tap a creature) target(creature|opponentbattlefield) tap]))])) forever )! -auto=@combat(attacking) source(this):name(Tap a creature) target(creature|opponentbattlefield) tap +autostack=if paid(retrace) then flip(backside) forcetype(Enchantment Aura) and!( transforms((,newability[name(Attach to creature) retargetfromplay target(creature)],newability[teach(creature) transforms((,newability[_ATTACKING_name(Tap a creature) target(creature|opponentbattlefield) tap]))])) forever )! +auto=_ATTACKING_name(Tap a creature) target(creature|opponentbattlefield) tap text=Whenever Distracting Geist attacks, tap target creature defending player controls. -- Disturb {4}{W} (You may cast this card from your graveyard transformed for its disturb cost.) // Clever Distraction mana={2}{W} type=Creature @@ -19444,7 +19447,7 @@ type=Sorcery [card] name=Doomskar abilities=foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={1}{W}{W} restriction{compare(canforetellcast)~morethan~0,can play sorcery}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=destroy all(creature) text=Destroy all creatures. -- Foretell {1}{W}{W} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) @@ -19454,7 +19457,7 @@ type=Sorcery [card] name=Doomskar Oracle abilities=foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={W} restriction{compare(canforetellcast)~morethan~0,can play creature}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=@movedto(*|mystack) restriction{thisturn(*|mystack)~equalto~1}:life:2 controller text=Whenever you cast your second spell each turn, you gain 2 life. -- Foretell {W} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) @@ -19467,7 +19470,7 @@ toughness=2 [card] name=Doomskar Titan abilities=foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={4}{R} restriction{compare(canforetellcast)~morethan~0,can play creature}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=all(creature|mybattlefield) transforms((,newability[1/0],newability[haste])) ueot text=When Doomskar Titan enters the battlefield, creatures you control get +1/+0 and gain haste until end of turn. -- Foretell {4}{R} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) @@ -19516,7 +19519,7 @@ abilities=hasdisturb,flying restriction=compare(isflipped)~equalto~0 anyzone={0}:doubleside(backside) retrace={1}{W}{U} name(Cast with disturb) -autostack=if paid(retrace) then flip(backside) forcetype(Enchantment Aura) and!( transforms((,newability[name(Attach to creature) retargetfromplay target(creature)],newability[teach(creature) transforms((,newability[@combat(attacking) source(this):name(Create Spirit) token(Spirit^Creature Spirit^4/4^white^flying^battleready) and!( transforms((,newability[phaseaction[combatends once sourceinplay] sacrifice])) ueot )! ]))])) forever )! +autostack=if paid(retrace) then flip(backside) forcetype(Enchantment Aura) and!( transforms((,newability[name(Attach to creature) retargetfromplay target(creature)],newability[teach(creature) transforms((,newability[_ATTACKING_name(Create Spirit) token(Spirit^Creature Spirit^4/4^white^flying^battleready) and!( transforms((,newability[phaseaction[combatends once sourceinplay] sacrifice])) ueot )! ]))])) forever )! auto=@combat(attacking,blocking) source(this):name(Sacrifice) transforms((,newability[phaseaction[combatends once sourceinplay] sacrifice])) ueot text=Flying -- When Dorothea, Vengeful Victim attacks or blocks, sacrifice it at end of combat. -- Disturb {1}{W}{U} (You may cast this card from your graveyard transformed for its disturb cost.) // Dorothea's Retribution mana={W}{U} @@ -20772,7 +20775,7 @@ type=Sorcery [card] name=Dual Strike abilities=foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={R} restriction{compare(canforetellcast)~morethan~0}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=emblem transforms((,newability[@movedTo(*[instant;sorcery;manacost<=4]|mystack) once:name(Copy spell) all(trigger[to]) activate castcard(copied noevent)])) ueot text=When you cast your next instant or sorcery spell with converted mana cost 4 or less this turn, copy that spell. You may choose new targets for the copy. -- Foretell {R} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) @@ -21133,7 +21136,7 @@ toughness=4 [card] name=Dwarven Reinforcements abilities=foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={1}{R} restriction{compare(canforetellcast)~morethan~0,can play sorcery}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=token(Dwarf,Creature Dwarf Berserker,2/1,red)*2 text=Create two 2/1 red Dwarf Berserker creature tokens. -- Foretell {1}{R} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) @@ -21719,7 +21722,7 @@ subtype=Lesson [card] name=Elemental Uprising target=land|mybattlefield -auto=transforms((Creature Elemental,setpower=4,settoughness=4,newability[haste],newability[@combat(attacking) source(this):all(creature|opponentbattlefield) transforms((,newability[mustblock])) ueot])) ueot +auto=transforms((Creature Elemental,setpower=4,settoughness=4,newability[haste],newability[_ATTACKING_all(creature|opponentbattlefield) transforms((,newability[mustblock])) ueot])) ueot text=Target land you control becomes a 4/4 Elemental creature with haste until end of turn. it's still a land. It must be blocked this turn if able. mana={1}{G} type=Instant @@ -22479,8 +22482,8 @@ name=Endling auto={B}:menace auto={B}:deathtouch auto={B}:undying -auto={1}:-1/-1 -auto={1}:1/1 +auto={1}:1/-1 +auto={1}:-1/1 text={B}: Endling gains menace until end of turn. -- {B}: Endling gains deathtouch until end of turn. -- {B} : Endling gains undying until end of turn. (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.) {1}: Endling gets +1/-1 or -1/+1 until end of turn. mana={2}{B}{B} type=Creature @@ -24267,7 +24270,7 @@ toughness=1 [/card] [card] name=Falkenrath Perforator -auto=@combat(attacking) source(this):name(Deals 1 damage) damage:1 opponent +auto=_ATTACKING_name(Deals 1 damage) damage:1 opponent text=Whenever Falkenrath Perforator attacks, it deals 1 damage to defending player. type=Creature subtype=Vampire @@ -27290,7 +27293,7 @@ abilities=nightbound backside=Outland Liberator auto=if type(*[day;night]|battlefield)~equalto~0 then if type(*[nonight]|battlefield)~equalto~0 then name(It becomes night) name(It becomes night) name(It becomes night) activate castcard(noevent named!:Night:!) auto={1}{S}:name(Destroy artifact or enchantment) target(*[artifact;enchantment]|battlefield) destroy -auto=@combat(attacking) source(this):name(Destroy artifact or enchantment) target(*[artifact;enchantment]|opponentbattlefield) destroy +auto=_ATTACKING_name(Destroy artifact or enchantment) target(*[artifact;enchantment]|opponentbattlefield) destroy text={1}, Sacrifice Frenzied Trapbreaker: Destroy target artifact or enchantment. -- Whenever Frenzied Trapbreaker attacks, destroy target artifact or enchantment defending player controls. -- Nightbound (If a player casts at least two spells during their own turn, it becomes day next turn.) // Outland Liberator type=Creature subtype=Werewolf @@ -28855,8 +28858,8 @@ type=Enchantment [/card] [card] name=Ghouls' Night Out -auto=name(Return your creature) target(creature|mygraveyard) moveto(mybattlefield) and!( transforms((Zombie,newcolors[black],newability[decayed],newability[cantblock],newability[@combat(attacking) source(this):counter(0/0.1.Decayed)],newability[@combat(attacking) source(this):phaseaction[combatends sourceinplay] sacrifice])) forever )! -auto=ability$!name(Return opponent creature) name(Return opponent creature) target(creature|opponentgraveyard) moveto(mybattlefield) and!( transforms((Zombie,newcolors[black],newability[decayed],newability[cantblock],newability[@combat(attacking) source(this):counter(0/0.1.Decayed)],newability[@combat(attacking) source(this):phaseaction[combatends sourceinplay] sacrifice])) forever )! !$ controller +auto=name(Return your creature) target(creature|mygraveyard) moveto(mybattlefield) and!( transforms((Zombie,newcolors[black],newability[decayed],newability[cantblock],newability[_ATTACKING_counter(0/0.1.Decayed)],newability[_ATTACKING_phaseaction[combatends sourceinplay] sacrifice])) forever )! +auto=ability$!name(Return opponent creature) name(Return opponent creature) target(creature|opponentgraveyard) moveto(mybattlefield) and!( transforms((Zombie,newcolors[black],newability[decayed],newability[cantblock],newability[_ATTACKING_counter(0/0.1.Decayed)],newability[_ATTACKING_phaseaction[combatends sourceinplay] sacrifice])) forever )! !$ controller text=For each player, choose a creature card in that player's graveyard. Put those cards onto the battlefield under your control. They're black Zombies in addition to their other colors and types and they gain decayed. (A creature with decayed can't block. When it attacks, sacrifice it at end of combat.) mana={3}{B}{B} type=Sorcery @@ -29206,7 +29209,7 @@ type=Sorcery [card] name=Gisa, Glorious Resurrector auto=@movedto(creature|graveyard) from(opponentbattlefield):name(Exile creature) all(trigger[to]) moveto(opponentexile) and!( counter(0/0.1.GisaExiled) )! -auto=@each my upkeep restriction{type(creature|opponentexile)~morethan~0}:name(Put exile creatures in play) name(Put exile creatures in play) all(creature[counter[{0/0.1.GisaExiled}]|opponentexile) moveto(mybattlefield) and!( transforms((,newability[decayed],newability[cantblock],newability[@combat(attacking) source(this):counter(0/0.1.Decayed)],newability[@combat(attacking) source(this):phaseaction[combatends sourceinplay] sacrifice])) forever )! +auto=@each my upkeep restriction{type(creature|opponentexile)~morethan~0}:name(Put exile creatures in play) name(Put exile creatures in play) all(creature[counter[{0/0.1.GisaExiled}]|opponentexile) moveto(mybattlefield) and!( transforms((,newability[decayed],newability[cantblock],newability[_ATTACKING_counter(0/0.1.Decayed)],newability[_ATTACKING_phaseaction[combatends sourceinplay] sacrifice])) forever )! text=If a creature an opponent controls would die, exile it instead. -- At the beginning of your upkeep, put all creature cards exiled with Gisa, Glorious Resurrector onto the battlefield under your control. They gain decayed. (A creature with decayed can't block. When it attacks, sacrifice it at end of combat.) mana={2}{B}{B} type=Legendary Creature @@ -29645,7 +29648,7 @@ toughness=5 [card] name=Glorious Protector abilities=foretell,flash,flying -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={2}{W} restriction{compare(canforetellcast)~morethan~0}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=may name(Exile non-angel creatures) target(creature[-angel]|mybattlefield) (blink)forsrc text=Flash -- Flying -- When Glorious Protector enters the battlefield, you may exile any number of non-Angel creatures you control until Glorious Protector leaves the battlefield. @@ -29657,7 +29660,7 @@ toughness=4 [/card] [card] name=Glorious Sunrise -auto=@each my combatbegins:name(Choose one) transforms((,newability[choice name(Creatures get 1/1) all(creature|mybattlefield) 1/1 && trample ueot],newability[choice name(Land produces extramana) target(land|battlefield) transforms((,newability[{T}:name(Add 3 green) add{G}{G}{G}])) ueot],newability[if type(creature[power>=3]|mybattlefield)~morethan~0 then choice name(Draw a card) name(Draw a card) draw:1 controller],newability[choice name(Gain 3 life) life:3 controller])) oneshot +auto=@each my combatbegins:name(Choose one) transforms((,newability[choice name(Creatures get 1/1) all(creature|mybattlefield) 1/1 && all(creature|mybattlefield) trample ueot],newability[choice name(Land produces extramana) target(land|battlefield) transforms((,newability[{T}:name(Add 3 green) add{G}{G}{G}])) ueot],newability[if type(creature[power>=3]|mybattlefield)~morethan~0 then choice name(Draw a card) name(Draw a card) draw:1 controller],newability[choice name(Gain 3 life) life:3 controller])) oneshot text=At the beginning of combat on your turn, choose one -- Creatures you control get +1/+1 and gain trample until end of turn. -- Target land gains "{T}: Add {G}{G}{G}" until end of turn. -- Draw a card if you control a creature with power 3 or greater. -- You gain 3 life. mana={3}{G}{G} type=Enchantment @@ -30449,7 +30452,7 @@ toughness=1 [card] name=Gods' Hall Guardian abilities=foretell,vigilance -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={3}{W} restriction{compare(canforetellcast)~morethan~0,can play creature}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) text=Vigilance -- Foretell {3}{W} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) mana={5}{W} @@ -30617,7 +30620,7 @@ toughness=9 name=Goldspan Dragon abilities=flying,haste auto=@targeted(this):token(Treasure Sur) -auto=@combat(attacking) source(this):token(Treasure Sur) +auto=_ATTACKING_token(Treasure Sur) auto=lord(artifact[treasure]|mybattlefield) transforms((,newability[{T}{S}:add{W}{W}],newability[{T}{S}:add{R}{R}],newability[{T}{S}:add{U}{U}],newability[{T}{S}:add{G}{G}],newability[{T}{S}:add{B}{B}])) text=Flying, haste -- Whenever Goldspan Dragon attacks or becomes the target of a spell, create a Treasure token. -- Treasures you control have "{T}, Sacrifice this artifact: Add two mana of any one color." mana={3}{R}{R} @@ -31198,7 +31201,7 @@ backside=Graveyard Trespasser auto=if type(*[day;night]|battlefield)~equalto~0 then if type(*[nonight]|battlefield)~equalto~0 then name(It becomes night) name(It becomes night) name(It becomes night) activate castcard(noevent named!:Night:!) auto=@targeted(this) from(*|opponentstack):choice name(Discard or counter) name(Discard or counter) target(*|opponentstack) transforms((,newability[if type(*|myhand)~equalto~0 then all(this|mystack) fizzle else name(Discard a card) pay[[{0}]] name(Discard a card) target(*|myhand) reject?fizzle])) oneshot auto=may name(Exile 2 cards) target(*|graveyard) moveto(exile) and!( if cantargetcard(*[creature]|*) then life:-1 opponent && life:1 controller )! -auto=@combat(attacking) source(this):may name(Exile 2 cards) target(*|graveyard) moveto(exile) and!( if cantargetcard(*[creature]|*) then life:-1 opponent && life:1 controller )! +auto=_ATTACKING_may name(Exile 2 cards) target(*|graveyard) moveto(exile) and!( if cantargetcard(*[creature]|*) then life:-1 opponent && life:1 controller )! text=Ward-Discard a card. -- Whenever Graveyard Glutton enters the battlefield or attacks, exile up to two target cards from graveyards. For each creature card exiled this way, each opponent loses 1 life and you gain 1 life. -- Nightbound (If a player casts at least two spells during their own turn, it becomes day next turn.) // Graveyard Trespasser type=Creature subtype=Werewolf @@ -31225,7 +31228,7 @@ anyzone={0}:doubleside(backside) auto=if type(*[day;night]|battlefield)~equalto~0 then name(It becomes day) activate castcard(noevent named!:Day:!) auto=@targeted(this) from(*|opponentstack):choice name(Discard or counter) name(Discard or counter) target(*|opponentstack) transforms((,newability[if type(*|myhand)~equalto~0 then all(this|mystack) fizzle else name(Discard a card) pay[[{0}]] name(Discard a card) target(*|myhand) reject?fizzle])) oneshot auto=may name(Exile a card) target(*|graveyard) moveto(exile) and!( if cantargetcard(*[creature]|*) then life:-1 opponent && life:1 controller )! -auto=@combat(attacking) source(this):may name(Exile a card) target(*|graveyard) moveto(exile) and!( if cantargetcard(*[creature]|*) then life:-1 opponent && life:1 controller )! +auto=_ATTACKING_may name(Exile a card) target(*|graveyard) moveto(exile) and!( if cantargetcard(*[creature]|*) then life:-1 opponent && life:1 controller )! text=Ward-Discard a card. -- Whenever Graveyard Trespasser enters the battlefield or attacks, exile up to one target card from a graveyard. If a creature card was exiled this way, each opponent loses 1 life and you gain 1 life. -- Daybound (If a player casts no spells during their own turn, it becomes night next turn.) // Graveyard Glutton mana={2}{B} type=Creature @@ -31900,7 +31903,7 @@ toughness=1 name=Gryffwing Cavalry abilities=training,flying auto=_TRAINING_ -auto=@combat(attacking) source(this):may name(Pay and give flying) pay({1}{W}) name(Pay and give flying) name(Pay and give flying) target(creature[-flying]|battlefield) transforms((,newability[flying])) ueot +auto=_ATTACKING_may name(Pay and give flying) pay({1}{W}) name(Pay and give flying) name(Pay and give flying) target(creature[-flying]|battlefield) transforms((,newability[flying])) ueot text=Flying -- Training (Whenever this creature attacks with another creature with greater power, put a +1/+1 counter on this creature.) -- Whenever Gryffwing Cavalry attacks, you may pay {1}{W}. If you do, target attacking creature without flying gains flying until end of turn. mana={3}{W} type=Creature @@ -33183,7 +33186,7 @@ type=Sorcery [card] name=Haunting Voyage abilities=foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={5}{B}{B} restriction{compare(canforetellcast)~morethan~0,can play sorcery}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=ifnot paid(alternative) then chooseatype may name(Return up to 2 creatures) moveTo(mybattlefield) target(creature[chosentype]|mygraveyard) chooseend auto=if paid(alternative) then chooseatype name(Return all creatures) moveTo(mybattlefield) all(creature[chosentype]|mygraveyard) chooseend @@ -34290,7 +34293,7 @@ type=Land [/card] [card] name=Hiveheart Shaman -auto=@combat(attacking) source(this):may name(Search basic land) transforms((,newability[if type(plains[basic]|mybattlefield)~equalto~0 then choice name(Search Plains) name(Search Plains) target(plains[basic]|mylibrary) moveto(mybattlefield) and!( shuffle )!],newability[if type(mountain[basic]|mybattlefield)~equalto~0 then choice name(Search Mountain) name(Search Mountain) target(mountain[basic]|mylibrary) moveto(mybattlefield) and!( shuffle )!],newability[if type(swamp[basic]|mybattlefield)~equalto~0 then choice name(Search Swamp) name(Search Swamp) target(swamp[basic]|mylibrary) moveto(mybattlefield) and!( shuffle )!],newability[if type(forest[basic]|mybattlefield)~equalto~0 then choice name(Search Forest) name(Search Forest) target(forest[basic]|mylibrary) moveto(mybattlefield) and!( shuffle )!],newability[if type(island[basic]|mybattlefield)~equalto~0 then choice name(Search Island) name(Search Island) target(island[basic]|mylibrary) moveto(mybattlefield) and!( shuffle )!])) oneshot +auto=_ATTACKING_may name(Search basic land) transforms((,newability[if type(plains[basic]|mybattlefield)~equalto~0 then choice name(Search Plains) name(Search Plains) target(plains[basic]|mylibrary) moveto(mybattlefield) and!( shuffle )!],newability[if type(mountain[basic]|mybattlefield)~equalto~0 then choice name(Search Mountain) name(Search Mountain) target(mountain[basic]|mylibrary) moveto(mybattlefield) and!( shuffle )!],newability[if type(swamp[basic]|mybattlefield)~equalto~0 then choice name(Search Swamp) name(Search Swamp) target(swamp[basic]|mylibrary) moveto(mybattlefield) and!( shuffle )!],newability[if type(forest[basic]|mybattlefield)~equalto~0 then choice name(Search Forest) name(Search Forest) target(forest[basic]|mylibrary) moveto(mybattlefield) and!( shuffle )!],newability[if type(island[basic]|mybattlefield)~equalto~0 then choice name(Search Island) name(Search Island) target(island[basic]|mylibrary) moveto(mybattlefield) and!( shuffle )!])) oneshot auto={5}{G}:name(Create Insect) token(Insect Tok) and!( counter(1/1,pbasiclandtypes) )! asSorcery text=Whenever Hiveheart Shaman attacks, you may search your library for a basic land card that doesn't share a land type with any land you control, put that card onto the battlefield, then shuffle. -- {5}{G}: Create a 1/1 green Insect creature token. Put X +1/+1 counters on it, where X is the number of basic land types among lands you control. Activate only as a sorcery. mana={3}{G} @@ -36261,7 +36264,7 @@ toughness=5 [card] name=Imperious Mindbreaker abilities=soulbond -auto=soulbond transforms((,newability[@combat(attacking) source(this):name(Opponent mill cards) deplete:toughness opponent])) +auto=soulbond transforms((,newability[_ATTACKING_name(Opponent mill cards) deplete:toughness opponent])) text=Soulbond (You may pair this creature with another unpaired creature when either enters the battlefield. They remain paired for as long as you control both of them.) -- As long as Imperious Mindbreaker is paired with another creature, each of those creatures has "Whenever this creature attacks, each opponent mills cards equal to its toughness." mana={1}{U}{U} type=Creature @@ -36844,7 +36847,7 @@ restriction=compare(isflipped)~equalto~0 anyzone={0}:doubleside(backside) auto=if type(*[day;night]|battlefield)~equalto~0 then name(It becomes day) activate castcard(noevent named!:Day:!) auto=token(Insect Tok) -auto=@combat(attacking) source(this):name(Create Insects) token(Insect Tok) +auto=_ATTACKING_name(Create Insects) token(Insect Tok) text=Whenever Infestation Expert enters the battlefield or attacks, create a 1/1 green Insect creature token. -- Daybound (If a player casts no spells during their own turn, it becomes night next turn.) // Infested Werewolf mana={4}{G} type=Creature @@ -36858,7 +36861,7 @@ abilities=nightbound backside=Infestation Expert auto=if type(*[day;night]|battlefield)~equalto~0 then if type(*[nonight]|battlefield)~equalto~0 then name(It becomes night) name(It becomes night) name(It becomes night) activate castcard(noevent named!:Night:!) auto=token(Insect Tok)*2 -auto=@combat(attacking) source(this):name(Create Insects) token(Insect Tok)*2 +auto=_ATTACKING_name(Create Insects) token(Insect Tok)*2 text=Whenever Infested Werewolf enters the battlefield or attacks, create two 1/1 green Insect creature token. -- Nightbound (If a player casts at least two spells during their own turn, it becomes day next turn.) // Infestation Expert type=Creature subtype=Werewolf @@ -37721,7 +37724,7 @@ toughness=3 name=Iron Verdict target=creature[tapped]|battlefield abilities=foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={W} restriction{compare(canforetellcast)~morethan~0,type(creature[tapped]|battlefield)~morethan~0}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=damage:5 text=Iron Verdict deals 5 damage to target tapped creature. -- Foretell {W} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) @@ -38285,7 +38288,7 @@ toughness=3 [card] name=Jarl of the Forsaken abilities=foretell,flash -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={1}{B} restriction{compare(canforetellcast)~morethan~0,can play creature}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=target(creature[damaged]|opponentbattlefield) destroy text=Flash -- When Jarl of the Forsaken enters the battlefield, destroy target creature or planeswalker an opponent controls that was dealt damage this turn. -- Foretell {1}{B} (During your turn, you may pay and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) @@ -39321,7 +39324,7 @@ type=Instant name=Kaya's Onslaught target=creature abilities=foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={W} restriction{compare(canforetellcast)~morethan~0,type(creature|battlefield)~morethan~0}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=transforms((,newability[1/1],newability[double strike])) ueot text=Target creature gets +1/+1 and gains double strike until end of turn. -- Foretell {W} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) @@ -39732,7 +39735,7 @@ backside=Lord of the Ulvenwald restriction=compare(isflipped)~equalto~0 anyzone={0}:doubleside(backside) auto=if type(*[day;night]|battlefield)~equalto~0 then name(It becomes day) activate castcard(noevent named!:Day:!) -auto=@combat(attacking) source(this):name(Add 1 mana) ability$!name(Choose one) choice name(Add red) add{R} doesntempty _ choice name(Add green) add{G} doesntempty!$ controller +auto=_ATTACKING_name(Add 1 mana) ability$!name(Choose one) choice name(Add red) add{R} doesntempty _ choice name(Add green) add{G} doesntempty!$ controller text=Whenever Kessig Naturalist attacks, add {R} or {G}. Until end of turn, you don't lose this mana as steps and phases end. -- Daybound (If a player casts no spells during their own turn, it becomes night next turn.) // Lord of the Ulvenwald mana={R}{G} type=Creature @@ -40919,7 +40922,7 @@ toughness=3 name=Krothuss, Lord of the Deep abilities=flying backside=Runo Stromkirk -auto=@combat(attacking) source(this):name(Copy a creature) target(other creature[attacking]|mybattlefield) transforms((,newability[clone with(battleready)],newability[if cantargetcard(*[kraken;leviathan;octopus;serpent]|*) then clone with(battleready)])) oneshot +auto=_ATTACKING_name(Copy a creature) target(other creature[attacking]|mybattlefield) transforms((,newability[clone with(battleready)],newability[if cantargetcard(*[kraken;leviathan;octopus;serpent]|*) then clone with(battleready)])) oneshot text=Flying -- Whenever Krothuss, Lord of the Deep attacks, create a tapped and attacking token that's a copy of another target attacking creature. If that creature is a Kraken, Leviathan, Octopus, or Serpent, create two of those tokens instead. // Runo Stromkirk type=Legendary Creature subtype=Kraken Horror @@ -42615,7 +42618,7 @@ type=Sorcery [card] name=Liliana's Devotee auto=lord(zombie|myBattlefield) 1/0 -auto=@each my endofturn restriction{morbid}:may pay({1}{B}) token(Zombie Lil) +auto=@each my endofturn restriction{morbid}:may pay({1}{B}) _ZOMBIETOKEN_ text=Zombies you control get +1/+0. -- At the beginning of your end step, if a creature died this turn, you may pay {1}{B}. If you do, create a 2/2 black Zombie creature token. mana={2}{B} type=Creature @@ -42703,7 +42706,7 @@ abilities=lifelink backside=Liliana, Defiant Necromancer restriction=compare(isflipped)~equalto~0 anyzone={0}:doubleside(backside) -auto=@movedTo(other creature[-token]|graveyard) from(myBattlefield):name(Liliana, Defiant Necromancer) moveto(exile) and!( moveto(ownerbattlefield) and!( transforms((,newability[flip(backside)],newability[name(Create Zombie) token(Zombie Lil)])) oneshot )! )! +auto=@movedTo(other creature[-token]|graveyard) from(myBattlefield):name(Liliana, Defiant Necromancer) moveto(exile) and!( moveto(ownerbattlefield) and!( transforms((,newability[flip(backside)],newability[name(Create Zombie) _ZOMBIETOKEN_])) oneshot )! )! text=Lifelink -- Whenever another nontoken creature you control dies, exile Liliana, Heretical Healer, then return her to the battlefield transformed under her owner's control. If you do, put a 2/2 black Zombie creature token onto the battlefield. // Liliana, Defiant Necromancer mana={1}{B}{B} type=Legendary Creature @@ -43325,7 +43328,7 @@ name=Lord of the Ulvenwald abilities=nightbound backside=Kessig Naturalist auto=if type(*[day;night]|battlefield)~equalto~0 then if type(*[nonight]|battlefield)~equalto~0 then name(It becomes night) name(It becomes night) name(It becomes night) activate castcard(noevent named!:Night:!) -auto=@combat(attacking) source(this):name(Add 1 mana) ability$!name(Choose one) choice name(Add red) add{R} doesntempty _ choice name(Add green) add{G} doesntempty!$ controller +auto=_ATTACKING_name(Add 1 mana) ability$!name(Choose one) choice name(Add red) add{R} doesntempty _ choice name(Add green) add{G} doesntempty!$ controller auto=lord(other *[werewolf]|myBattlefield) 1/1 text=Other Wolves and Werewolves you control get +1/+1. -- Whenever Lord of the Ulvenwald attacks, add {R} or {G}. Until end of turn, you don't lose this mana as steps and phases end. -- Nightbound (If a player casts at least two spells during their own turn, it becomes day next turn.) // Kessig Naturalist type=Creature @@ -43675,7 +43678,7 @@ backside=Olag, Ludevic's Hubris restriction=compare(isflipped)~equalto~0 anyzone={0}:doubleside(backside) auto=name(Mill a card) deplete:1 controller -auto=@combat(attacking) source(this):name(Mill a card) deplete:1 controller +auto=_ATTACKING_name(Mill a card) deplete:1 controller auto={1}{U}{U}{B}{B}{E(creature|mygraveyard)}:name(X=1) transforms((,newability[flip(backside)],newability[counter(1/1)])) forever asSorcery auto={2}{U}{U}{B}{B}{E(creature|mygraveyard)}{E(creature|mygraveyard)}:name(X=2) transforms((,newability[flip(backside)],newability[counter(1/1.2)])) forever asSorcery auto={3}{U}{U}{B}{B}{E(creature|mygraveyard)}{E(creature|mygraveyard)}{E(creature|mygraveyard)}:name(X=3) transforms((,newability[flip(backside)],newability[counter(1/1.3)])) forever asSorcery @@ -43869,7 +43872,7 @@ toughness=1 [card] name=Lupine Harbingers abilities=trample,haste,foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={4}{G}{G} restriction{compare(canforetellcast)~morethan~0,can play creature}:name(Cast with foretell) name(Cast with foretell) name(Cast with foretell) transforms((,newability[activate castcard(alternative kicked!:canforetellcast:!)])) oneshot auto=if paid(kicker) then counter(1/1,kicked) text=Trample, haste -- Lupine Harbingers enters the battlefield with X +1/+1 counters on it, where X is the number of turns you've begun since it was foretold. -- Foretell {4}{G}{G} @@ -44533,7 +44536,7 @@ toughness=* name=Mammoth Growth abilities=foretell target=creature -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={G} restriction{compare(canforetellcast)~morethan~0,type(creature|battlefield)~morethan~0}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=4/4 ueot text=Target creature gets +4/+4 until end of turn. -- Foretell {G} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) @@ -45995,7 +45998,7 @@ type=Legendary Land [card] name=Miara, Thorn of the Glade abilities=partner -auto=@movedTo(*[elf]|mygraveyard) from(mybattlefield):may pay({1}{L:1}) name(draw card) draw:1 controller +auto=@movedTo(*[elf]|mygraveyard) from(mybattlefield):may pay({1}) name(draw card) draw:1 && life:-1 controller text=Whenever Miara, Thorn of the Glade or another Elf you control dies, you may pay {1} and 1 life. If you do, draw a card. -- Partner (You can have two commanders if both have partner.) mana={1}{B} type=Legendary Creature @@ -46149,7 +46152,7 @@ toughness=3 [card] name=Militia Rallier abilities=nosolo -auto=@combat(attacking) source(this):name(Untap a creature) target(creature) untap +auto=_ATTACKING_name(Untap a creature) target(creature) untap text=Militia Rallier can't attack alone. -- Whenever Militia Rallier attacks, untap target creature. mana={2}{W} type=Creature @@ -47850,7 +47853,7 @@ type=Enchantment name=Mystic Reflection abilities=foretell target=creature[-legendary] -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={U} restriction{compare(canforetellcast)~morethan~0}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=name(Choose non-legendary creature) transforms((,newability[@each endofturn:this(counter{0/0.1.MysticEffect}>=1) counter(0/0.-1.MysticEffect)],newability[counter(0/0.1.MysticEffect)],newability[@movedto(*[creature;planeswalker]|battlefield):all(trigger[to]) transforms((,newability[name(Copy mystic reflection target) name(Copy mystic reflection target) copy target(creature[counter{0/0.1.MysticEffect}])])) forever])) ueot text=Choose target nonlegendary creature. The next time one or more creatures or planeswalkers enter the battlefield this turn, they enter as copies of the chosen creature instead. -- Foretell {U} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) @@ -50174,7 +50177,7 @@ subtype=Aura [card] name=Odious Witch backside=Ragged Recluse -auto=@combat(attacking) source(this):name(Gain 1 life) life:1 controller && life:-1 opponent +auto=_ATTACKING_name(Gain 1 life) life:1 controller && life:-1 opponent text=Whenever Odious Witch attacks, defending player loses 1 life and you gain 1 life. // Ragged Recluse color=black type=Creature @@ -50257,7 +50260,7 @@ name=Oglor, Devoted Assistant aicode=activate transforms((,newability[target(*[zpos<=2]|mylibrary) moveto(mygraveyard)])) ueot auto=@each my upkeep:name(Look top 2 card) reveal:2 optionone name(Put in graveyard) target(*|reveal) moveto(mylibrary) and!( moveto(mygraveyard) )! optiononeend optiontwo name(Put back) target(*|reveal) moveto(mylibrary) optiontwoend revealend auto=@movedto(creature|mygraveyard) from(mylibrary):name(Gains ability) all(trigger[to]) name(Gains ability) counter(0/0.1.PerpetualZombie) notrg -auto=emblem transforms((,newability[@movedto(*|myzones) from(mygraveyard):name(Create zombie) all(trigger[to]) name(Create zombie) transforms((,newability[if compare(hascntperpetualzombie)~morethan~0 then token(Zombie Lil) and!( tap(noevent) )!])) oneshot])) forever dontremove +auto=emblem transforms((,newability[@movedto(*|myzones) from(mygraveyard):name(Create zombie) all(trigger[to]) name(Create zombie) transforms((,newability[if compare(hascntperpetualzombie)~morethan~0 then _ZOMBIETOKEN_ and!( tap(noevent) )!])) oneshot])) forever dontremove text=At the beginning of your upkeep, look at the top two cards of your library, then put one of them into your graveyard. -- Whenever a creature card is put into your graveyard from your library, it perpetually gains "When this card leaves your graveyard, create a 2/2 tapped black Zombie creature token." mana={1}{U} type=Legendary Creature @@ -50503,7 +50506,7 @@ type=Sorcery [card] name=Olivia, Crimson Bride abilities=flying,haste -auto=@combat(attacking) source(this):name(Return creature) target(creature|mygraveyard) moveto(mybattlefield) and!( transforms((,newability[ninjutsu],newability[@movedTo(vampire[legendary]|nonbattlezone) from(mybattlefield):if type(vampire[legendary]|mybattlefield)~equalto~0 then name(Exile creature) name(Exile creature) name(Exile creature) moveto(exile)])) forever )! +auto=_ATTACKING_name(Return creature) target(creature|mygraveyard) moveto(mybattlefield) and!( transforms((,newability[ninjutsu],newability[@movedTo(vampire[legendary]|nonbattlezone) from(mybattlefield):if type(vampire[legendary]|mybattlefield)~equalto~0 then name(Exile creature) name(Exile creature) name(Exile creature) moveto(exile)])) forever )! text=Flying, haste -- Whenever Olivia, Crimson Bride attacks, return target creature card from your graveyard to the battlefield tapped and attacking. It gains "When you don't control a legendary Vampire, exile this creature." mana={4}{B}{R} type=Legendary Creature @@ -50897,8 +50900,7 @@ type=Sorcery [/card] [card] name=Open the Gates -aicode=activate target(land[basic;gate]|mylibrary) moveto(myhand) -auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(land[basic;gate]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend +auto=notatarget(*[basic;gate]|mylibrary) moveto(myhand) text=Search your library for a basic land card or Gate card, reveal it, put it into your hand, then shuffle your library. mana={G} type=Sorcery @@ -51940,7 +51942,7 @@ name=Pako, Arcane Retriever abilities=hiddenface,haste,partner partner=Haldan, Avid Arcanist auto=_PARTNER_ -auto=@combat(attacking) source(this):name(Exile top cards) all(*[zpos=1]|library) moveto(exile) and!( counter(0/0,1,Fetch) && if cantargetcard(*[-creature]|*) then all(this) counter(1/1) )! +auto=_ATTACKING_name(Exile top cards) all(*[zpos=1]|library) moveto(exile) and!( counter(0/0,1,Fetch) && if cantargetcard(*[-creature]|*) then all(this) counter(1/1) )! text=Partner with Haldan, Avid Arcanist -- Haste -- Whenever Pako, Arcane Retriever attacks, exile the top card of each player's library and put a fetch counter on each of them. Put a +1/+1 counter on Pako for each noncreature card exiled this way. mana={3}{R}{G} type=Legendary Creature @@ -53775,7 +53777,7 @@ name=Poison the Cup target=creature abilities=foretell aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={1}{B} restriction{compare(canforetellcast)~morethan~0}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=destroy auto=if paid(alternative) then scry:2 scrycore delayed dontshow donothing scrycoreend scryend @@ -55661,7 +55663,7 @@ type=Instant [card] name=Quakebringer abilities=foretell,nolifegainopponent -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={2}{R}{R} restriction{compare(canforetellcast)~morethan~0,can play creature}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=@each my upkeep:name(Deals 2 damages) damage:2 opponent autograveyard=@each my upkeep restriction{type(giant|mybattlefield)~morethan~0}:name(Deals 2 damages) damage:2 opponent @@ -56894,7 +56896,7 @@ subtype=Equipment name=Ravenform abilities=foretell target=*[creature;artifact]|battlefield -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={U} restriction{compare(canforetellcast)~morethan~0,can play sorcery}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=moveto(ownerexile) && token(Bird,Creature Bird,1/1,blue,flying) targetController text=Exile target artifact or creature. Its controller creates a 1/1 blue Bird creature token with flying. -- Foretell {U} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) @@ -58379,7 +58381,7 @@ type=Artifact [card] name=Return Upon the Tide abilities=foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={3}{B} restriction{compare(canforetellcast)~morethan~0,can play sorcery}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=if type(creature[-elf]|mygraveyard)~morethan~0 then choice name(Return non-elf creature)name(Return non-elf creature) target(creature[-elf]|mygraveyard) moveTo(mybattlefield) auto=if type(creature[elf]|mygraveyard)~morethan~0 then choice name(Return elf creature)name(Return elf creature) target(creature[elf]|mygraveyard) moveTo(mybattlefield) && token(Warrior,Creature Elf Warrior,1/1,green)*2 @@ -59200,7 +59202,7 @@ type=Sorcery [card] name=Rise of the Dread Marn abilities=foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={B} restriction{compare(canforetellcast)~morethan~0}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=token(Berserker,Creature Zombie Berserker,2/2,black)*type:creature[fresh]:mygraveyard auto=token(Berserker,Creature Zombie Berserker,2/2,black)*type:creature[fresh]:opponentgraveyard @@ -59542,7 +59544,7 @@ type=Sorcery [card] name=River's Rebuke target=player -auto=moveto(targetedpersonshand) all(*[-land]|targetedpersonsbattlefield) +auto=moveto(ownerHand) all(*[-land]|targetedpersonsbattlefield) text=Return all nonland permanents target player controls to their owner's hand. mana={4}{U}{U} type=Sorcery @@ -59627,7 +59629,7 @@ toughness=2 name=Robber of the Rich abilities=reach,haste auto=@combat(attacking) source(this) restriction{compare(ohandcount)~morethan~(compare(phandcount)}:name(Exile top card) all(*[zpos=1]|opponentlibrary) moveto(exile) and!( counter(0/0,1,RobberExiled) )! -auto=emblem transforms((,newability[lord(rogue|myBattlefield) transforms((,newability[@combat(attacking) source(this):name(Can cast exiled cards) transforms((,newability[{0}:name(Cast exiled card) name(Cast exiled card) target(*[-land;counter{0/0.1.RobberExiled}]|opponentexile) moveto(myexile) and!( transforms((,newability[counter(0/0.1.RobberExiled)],newability[canplayfromexile],newability[anytypeofmana],newability[phaseaction[endofturn once checkex] moveTo(ownerexile)],newability[phaseaction[untap once checkex] counter(0/0.1.RobberExiled)])) ueot )!])) ueot]))])) forever dontremove +auto=emblem transforms((,newability[lord(rogue|myBattlefield) transforms((,newability[_ATTACKING_name(Can cast exiled cards) transforms((,newability[{0}:name(Cast exiled card) name(Cast exiled card) target(*[-land;counter{0/0.1.RobberExiled}]|opponentexile) moveto(myexile) and!( transforms((,newability[counter(0/0.1.RobberExiled)],newability[canplayfromexile],newability[anytypeofmana],newability[phaseaction[endofturn once checkex] moveTo(ownerexile)],newability[phaseaction[untap once checkex] counter(0/0.1.RobberExiled)])) ueot )!])) ueot]))])) forever dontremove text=Reach, haste -- Whenever Robber of the Rich attacks, if defending player has more cards in hand than you, exile the top card of their library. During any turn you attacked with a Rogue, you may cast that card and you may spend mana as though it were mana of any color to cast that spell. mana={1}{R} type=Creature @@ -60897,7 +60899,7 @@ toughness=2 [card] name=Sage of the Beyond abilities=flying,foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={4}{U} restriction{compare(canforetellcast)~morethan~0,can play creature}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=lord(*|mycommandzone) changecost(colorless:-2) forcedalive auto=lord(*|myexile) changecost(colorless:-2) forcedalive @@ -61591,7 +61593,7 @@ toughness=2 [card] name=Sarulf's Packmate abilities=foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={1}{G} restriction{compare(canforetellcast)~morethan~0,can play creature}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=draw:1 controller text=When Sarulf's Packmate enters the battlefield, draw a card. -- Foretell {1}{G} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) @@ -61905,7 +61907,7 @@ name=Saw It Coming abilities=foretell target=*|stack auto=fizzle -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={1}{U} restriction{compare(canforetellcast)~morethan~0,type(*|stack)~morethan~0}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) text=Counter target spell. -- Foretell {1}{U} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) mana={1}{U}{U} @@ -62370,7 +62372,7 @@ type=Instant [card] name=Scorn Effigy abilities=foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={0} restriction{compare(canforetellcast)~morethan~0,can play creature}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) text=Foretell 0 (During your turn, you may pay 2 and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) mana={3} @@ -64247,7 +64249,7 @@ toughness=4 [card] name=Shepherd of the Cosmos abilities=foretell,flying -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={3}{W} restriction{compare(canforetellcast)~morethan~0,can play creature}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=name(Return permanent from graveyard) target(*[-instant;-sorcery;manacost<=2]|mygraveyard) moveTo(myBattlefield) text=Flying -- When Shepherd of the Cosmos enters the battlefield, return target permanent card with converted mana cost 2 or less from your graveyard to the battlefield. -- Foretell {3}{W} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) @@ -64852,7 +64854,7 @@ toughness=3 [card] name=Siege Behemoth abilities=opponentshroud -auto=_ATTACKING_all(creature|mybattlefield) transforms((,newability[_BLOCKED_may name(assign combat damage to defending player) thisforeach(power>=1) damage:1 opponent],newability[fog from(this)])) ueot +auto=_BLOCKED_may name(assign combat damage to defending player) damage:power opponent && fog from(this) text=Hexproof -- As long as Siege Behemoth is attacking, for each creature you control, you may have that creature assign its combat damage as though it weren't blocked. mana={5}{G}{G} type=Creature @@ -65451,7 +65453,7 @@ toughness=1 [card] name=Silverwing Squadron abilities=flying,vigilance -anyzone=type:creature:battlefield/type:creature:battlefield cdaactive +anyzone=type:creature:mybattlefield/type:creature:mybattlefield cdaactive auto=_ATTACKING_token(Knight,creature Knight,2/2,white,vigilance) text=Flying, vigilance -- Silverwing Squadron's power and toughness are each equal to the number of creatures you control. -- Whenever Silverwing Squadron attacks, create a number of 2/2 white Knight creature tokens with vigilance equal to the number of opponents you have. mana={5}{W} @@ -66084,7 +66086,7 @@ toughness=1 [card] name=Skull Raid abilities=foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={1}{B} restriction{compare(canforetellcast)~morethan~0,can play sorcery}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=if type(*|opponenthand)~equalto~0 then life:2 controller auto=if type(*|opponenthand)~equalto~1 then ability$!name(Discard a card) name(Discard a card) reject notatarget(*|myhand) && life:1 opponent!$ opponent @@ -66746,7 +66748,7 @@ toughness=3 [card] name=Sludge Monster auto=may name(Put slime counter) target(creature) counter(0/0.1.Slime) -auto=@combat(attacking) source(this):may name(Put slime counter) target(creature) counter(0/0.1.Slime) +auto=_ATTACKING_may name(Put slime counter) target(creature) counter(0/0.1.Slime) auto=lord(*[-horror;counter{0/0.1.Slime}]|battlefield) transforms((,setpower=2,settoughness=2,newability[loseabilities])) text=Whenever Sludge Monster enters the battlefield or attacks, put a slime counter on up to one other target creature. -- Non-Horror creatures with slime counters on them lose all abilities and have base power and toughness 2/2. mana={3}{U}{U} @@ -68200,7 +68202,7 @@ subtype=Aura [card] name=Spectral Deluge abilities=foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={1}{U}{U} restriction{compare(canforetellcast)~morethan~0,can play sorcery}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=moveto(ownerhand) all(creature[toughness<=type:island:mybattlefield]|opponentbattlefield) text=Return each creature your opponents control with toughness X or less to its owner's hand, where X is the number of Islands you control. -- Foretell {1}{U}{U} (During your turn, you may pay 2 and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) @@ -68639,7 +68641,7 @@ type=Artifact name=Spiked Ripsaw auto={3}:equip auto=teach(creature) 3/3 -auto=teach(creature) transforms((,newability[@combat(attacking) source(this):may name(Sacrifice a forest) target(forest|mybattlefield) sacrifice and!( all(this) trample ueot )!])) +auto=teach(creature) transforms((,newability[_ATTACKING_may name(Sacrifice a forest) target(forest|mybattlefield) sacrifice and!( all(this) trample ueot )!])) text=Equipped creature gets +3/+3. -- Whenever equipped creature attacks, you may sacrifice a Forest. If you do, that creature gains trample until end of turn. -- Equip {3} ({3}: Attach to target creature you control. Equip only as a sorcery.) mana={2}{G} type=Artifact @@ -69670,7 +69672,7 @@ toughness=2 [card] name=Starnheim Unleashed abilities=foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={X}{X}{W} restriction{compare(canforetellcast)~morethan~0,can play sorcery}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=ifnot paid(alternative) then token(Warrior,Creature Angel Warrior,4/4,white,flying,vigilance) auto=if paid(alternative) then token(Warrior,Creature Angel Warrior,4/4,white,flying,vigilance)*xx @@ -70159,7 +70161,7 @@ toughness=4 [card] name=Stoic Farmer abilities=foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={1}{W} restriction{compare(canforetellcast)~morethan~0,can play creature}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=if compare(type:land:mybattlefield)~lessthan~compare(type:land:opponentbattlefield) then name(Search plains) name(Search plains) target(plains[basic]|mylibrary) moveto(mybattlefield) and!( transforms((,newability[tap(noevent)],newability[shuffle])) oneshot )! auto=if compare(type:land:mybattlefield)~equalto~compare(type:land:opponentbattlefield) then name(Search plains) name(Search plains) target(plains[basic]|mylibrary) moveto(myhand) @@ -70825,7 +70827,7 @@ type=Instant name=Struggle for Skemfar abilities=foretell target=creature|mybattlefield -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={G} restriction{compare(canforetellcast)~morethan~0,type(creature|mybattlefield)~morethan~0,can play sorcery}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=transforms((,newability[counter(1/1)],newability[may name(Fights another creature) target(creature|opponentbattlefield) dynamicability])) ueot text=Put a +1/+1 counter on target creature you control. Then that creature fights up to one target creature you don't control. (Each deals damage equal to its power to the other.) -- Foretell {G} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) @@ -71238,7 +71240,7 @@ type=Instant [card] name=Sungold Sentinel auto=may name(Exile a card from graveyard) target(*|graveyard) moveto(exile) -auto=@combat(attacking) source(this):may name(Exile a card from graveyard) target(*|graveyard) moveto(exile) +auto=_ATTACKING_may name(Exile a card from graveyard) target(*|graveyard) moveto(exile) auto={1}{W} restriction{coven}:chooseacolor transforms((,newability[protection from(*[chosencolor])],newability[cantbeblockedby(creature[chosencolor])])) ueot chooseend text=Whenever Sungold Sentinel enters the battlefield or attacks, exile up to one target card from a graveyard. -- Coven-{1}{W}: Choose a color. Sungold Sentinel gains hexproof from that color until end of turn and can't be blocked by creatures of that color this turn. Activate only if you control three or more creatures with different powers. type=Creature @@ -72305,7 +72307,7 @@ toughness=1 [card] name=Taigam, Ojutai Master auto=lord(instant,sorcery,dragon|mycastingzone) nofizzle -auto=@combat(attacking) source(this):name(Next spells gain rebound) transforms((,newability[@movedTo(*[instant;sorcery]|myStack):all(trigger[to]) transforms((,newability[gainedexiledeath],newability[phaseaction[my upkeep once] counter(0/0.1.MasterExile)])) ueot])) ueot +auto=_ATTACKING_name(Next spells gain rebound) transforms((,newability[@movedTo(*[instant;sorcery]|myStack):all(trigger[to]) transforms((,newability[gainedexiledeath],newability[phaseaction[my upkeep once] counter(0/0.1.MasterExile)])) ueot])) ueot auto=@each my upkeep:all(*[instant;sorcery]|myexile) removeallcounters(0/0,-1,MasterExile) auto=@each my upkeep:foreach(*[counter{0/0.1.MasterExile}]|myexile) ability$!name(Choose one) choice name(Cast card from exile) activate castcard(normal) target(*[instant;sorcery;counter{0/0.1.MasterExile}]|myexile) _ choice name(Don't cast card from exile) donothing!$ controller text=Instant, sorcery, and Dragon spells you control can't be countered. -- Whenever you cast an instant or sorcery spell from your hand, if Taigam, Ojutai Master attacked this turn, that spell gains rebound. (Exile the spell as it resolves. At the beginning of your next upkeep, you may cast that card from exile without paying its mana cost.) @@ -72479,7 +72481,7 @@ type=Instant [card] name=Tales of the Ancestors abilities=foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={1}{U} restriction{compare(canforetellcast)~morethan~0,can play sorcery}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=if compare(phandcount)~lessthan~compare(ohandcount) then draw:ohandcountminusphandcountminusend controller auto=if compare(ohandcount)~lessthan~compare(phandcount) then draw:phandcountminusohandcountminusend opponent @@ -72955,7 +72957,7 @@ type=Instant name=Tectonic Giant aicode=activate target(*[zpos<=2]|mylibrary) moveto(myexile) and!( transforms((,newability[all(*[zpos<=2]|mylibrary) moveto(ownerexile)],newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then removeallcounters(0/0.1.PlayExile)])) forever )! auto=@targeted(this) from(*|opponentcastingzone):name(Choose one) ability$!name(Choose one) choice name(Damage opponent) damage:3 opponent _ choice name(Exile 2 cards) all(mysource) counter(0/0.1.ExileEffect) !$ controller -auto=@combat(attacking) source(this):name(Choose one) ability$!name(Choose one) choice name(Damage opponent) damage:3 opponent _ choice name(Exile 2 cards) all(mysource) counter(0/0.1.ExileEffect) !$ controller +auto=_ATTACKING_name(Choose one) ability$!name(Choose one) choice name(Damage opponent) damage:3 opponent _ choice name(Exile 2 cards) all(mysource) counter(0/0.1.ExileEffect) !$ controller auto=@counteradded(0/0.1.ExileEffect) from(this):name(Exile top 2 cards) reveal:2 optionone name(Choose one card) target(*|reveal) moveto(myexile) and!( transforms((,newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then removeallcounters(0/0.1.PlayExile)])) forever )! optiononeend optiontwo name(Exile cards) all(*|reveal) moveto(ownerexile) optiontwoend revealend auto=@counteradded(0/0.1.ExileEffect) from(this):name(Exile top 2 cards) emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent auto=@counteradded(0/0.1.ExileEffect) from(this):name(Exile top 2 cards) removeallcounters(0/0.1.ExileEffect) @@ -73342,7 +73344,7 @@ type=Legendary Artifact [card] name=Tergrid's Shadow abilities=foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={2}{B}{B} restriction{compare(canforetellcast)~morethan~0}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=ability$!name(Sacrifice 2 creatures) name(Sacrifice 2 creatures) sacrifice notatarget(<2>creature|mybattlefield)!$ opponent auto=ability$!name(Sacrifice 2 creatures) name(Sacrifice 2 creatures) sacrifice notatarget(<2>creature|mybattlefield)!$ controller @@ -74563,8 +74565,8 @@ type=Instant [card] name=Thraben Watcher abilities=flying,vigilance -auto=lord(creature[-token]|myBattlefield) 1/1 -auto=lord(creature[-token]|myBattlefield) vigilance +auto=lord(other creature[-token]|myBattlefield) 1/1 +auto=lord(other creature[-token]|myBattlefield) vigilance text=Flying, vigilance -- Other nontoken creatures you control get +1/+1 and have vigilance. mana={2}{W}{W} type=Creature @@ -75806,7 +75808,7 @@ type=Instant [card] name=Toralf's Disciple abilities=haste -auto=@combat(attacking) source(this):name(Conjure cards) conjure cards(Lightning Bolt) zone(mylibrary) and!( conjure cards(Lightning Bolt) zone(mylibrary) and!( conjure cards(Lightning Bolt) zone(mylibrary) and!( conjure cards(Lightning Bolt) zone(mylibrary) and!( shuffle )! )! )! )! +auto=_ATTACKING_name(Conjure cards) conjure cards(Lightning Bolt) zone(mylibrary) and!( conjure cards(Lightning Bolt) zone(mylibrary) and!( conjure cards(Lightning Bolt) zone(mylibrary) and!( conjure cards(Lightning Bolt) zone(mylibrary) and!( shuffle )! )! )! )! text=Haste -- Whenever Toralf's Disciple's attacks, conjure four cards named Lightning Bolt into your library, then shuffle. mana={2}{R} type=Creature @@ -79243,7 +79245,7 @@ type=Instant [card] name=Vengeful Reaper abilities=flying,deathtouch,haste,foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={1}{B} restriction{compare(canforetellcast)~morethan~0,can play creature}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) text=Flying, deathtouch, haste -- Foretell {1}{B} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) mana={3}{B} @@ -80387,9 +80389,9 @@ backside=Dire-Strain Anarchist restriction=compare(isflipped)~equalto~0 anyzone={0}:doubleside(backside) auto=if type(*[day;night]|battlefield)~equalto~0 then name(It becomes day) activate castcard(noevent named!:Day:!) -auto=@combat(attacking) source(this):may name(Damage creature) damage:1 target(creature) -auto=@combat(attacking) source(this):may name(Damage player) damage:1 target(player) -auto=@combat(attacking) source(this):may name(Damage planeswalker) damage:1 target(planeswalker) +auto=_ATTACKING_may name(Damage creature) damage:1 target(creature) +auto=_ATTACKING_may name(Damage player) damage:1 target(player) +auto=_ATTACKING_may name(Damage planeswalker) damage:1 target(planeswalker) text=Menace, haste -- Whenever Volatile Arsonist attacks, it deals 1 damage to each of up to one target creature, up to one target player, and/or up to one target planeswalker. -- Daybound (If a player casts no spells during their own turn, it becomes night next turn.) // Dire-Strain Anarchist mana={3}{R}{R} type=Creature @@ -81014,7 +81016,7 @@ color=colorless [card] name=Wand of Orcus auto={3}:equip -auto=@damaged(player) from(mytgt):name(Create zombies) token(Zombie Lil)*thatmuch +auto=@damaged(player) from(mytgt):name(Create zombies) _ZOMBIETOKEN_*thatmuch auto=@combat(attacking,blocking) source(mytgt):name(All zombies gain deathtouch) all(zombie|mybattlefield) transforms((,newability[deathtouch])) ueot auto=teach(creature) transforms((,newability[_ATTACKING_name(Equipped creature gains deathtouch) deathtouch ueot],newability[@combat(blocking) source(this):name(Equipped creature gains deathtouch) deathtouch ueot])) text=Whenever equipped creature attacks or blocks, it and Zombies you control gain deathtouch until end of turn. -- Whenever equipped creature deals combat damage to a player, create that many 2/2 black Zombie creature tokens. -- Equip {3} @@ -81267,7 +81269,7 @@ toughness=3 [card] name=Warhorn Blast abilities=foretell -autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly +autohand=_FORETELL_ autoexile={2}{W} restriction{compare(canforetellcast)~morethan~0}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) auto=all(creature|mybattlefield) 2/1 ueot text=Creatures you control get +2/+1 until end of turn. -- Foretell {2}{W} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.) @@ -81810,7 +81812,7 @@ type=Artifact [/card] [card] name=Wedding Security -auto=@combat(attacking) source(this):may name(Sacrifice a Blood) target(Blood|mybattlefield) sacrifice && all(this) counter(1/1) && draw:1 controller +auto=_ATTACKING_may name(Sacrifice a Blood) target(Blood|mybattlefield) sacrifice && all(this) counter(1/1) && draw:1 controller text=Whenever Wedding Security attacks, you may sacrifice a Blood token. If you do, put a +1/+1 counter on Wedding Security and draw a card. mana={3}{B}{B} type=Creature @@ -81830,7 +81832,7 @@ type=Sorcery name=Weight Advantage abilities=isconspiracy restriction=never -autocommandzone=lord(creature|myBattlefield) transforms((,newability[@combat(attacking) source(this):becomes(^t/t) ueot],newability[@combat(blocking) source(this):becomes(^t/t) ueot])) +autocommandzone=lord(creature|myBattlefield) transforms((,newability[_ATTACKING_becomes(^t/t) ueot],newability[@combat(blocking) source(this):becomes(^t/t) ueot])) text=(Start the game with this conspiracy face up in the command zone.) -- Each creature you control assigns combat damage equal to its toughness rather than its power. type=Conspiracy [/card] @@ -82594,7 +82596,7 @@ toughness=3 [card] name=Wingsteed Trainer auto=name(Conjure Stormfront Pegasus) transforms((,newability[name(Conjure Stormfront Pegasus) conjure cards(Stormfront Pegasus) zone(myhand)])) oneshot -auto=@combat(attacking) source(this):name(Conjure Stormfront Pegasus) transforms((,newability[name(Conjure Stormfront Pegasus) conjure cards(Stormfront Pegasus) zone(myhand)])) oneshot +auto=_ATTACKING_name(Conjure Stormfront Pegasus) transforms((,newability[name(Conjure Stormfront Pegasus) conjure cards(Stormfront Pegasus) zone(myhand)])) oneshot text=When Wingsteed Trainer enters the battlefield or attacks, conjure a Stormfront Pegasus card into your hand. mana={3}{W} type=Creature @@ -84091,8 +84093,8 @@ type=Sorcery [card] name=Zombie Dec abilities=decayed,cantblock -auto=@combat(attacking) source(this):counter(0/0.1.Decayed) -auto=@combat(attacking) source(this):phaseaction[combatends sourceinplay] sacrifice +auto=_ATTACKING_counter(0/0.1.Decayed) +auto=_ATTACKING_phaseaction[combatends sourceinplay] sacrifice text=Decayed (This creature can't block. When it attacks, sacrifice it at end of combat.) type=Creature subtype=Zombie @@ -84101,14 +84103,6 @@ power=2 toughness=2 [/card] [card] -name=Zombie Lil -type=Creature -subtype=Zombie -power=2 -toughness=2 -color=black -[/card] -[card] name=Zombie Ogre auto=@each my endofturn restriction{morbid,compare(type:*[nodngplr]:mybattlefieldplustype:*[nodngopp]:opponentbattlefieldplusend)~equalto~0}:name(Venture into dungeon) transforms((,newability[if type(*[dungeon]|mycommandzone)~morethan~0 then name(Explore the dungeon) name(Explore the dungeon) all(*[dungeon]|mycommandzone) counter(0/0.1.Explore)],newability[if type(*[dungeon]|mycommandzone)~equalto~0 then name(Choose a new dungeon) name(Choose a new dungeon) target(*[dungeon]|mysideboard) moveTo(mycommandzone) and!( counter(0/0.1.Explore) )!])) oneshot text=At the beginning of your end step, if a creature died this turn, venture into the dungeon. (Enter the first room or advance to the next room.) diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index 49cd128d3..6b904b54b 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -7332,7 +7332,7 @@ toughness=8 [card] name=Avacyn, Guardian Angel abilities=flying,vigilance -auto={1}{W}:name(target Creature) target(other creature) activatechooseacolor transforms((,newability[preventalldamage from(*[chosencolor]|*)])) ueot activatechooseend +auto={1}{W}:name(target Creature) target(other creature) activatechooseacolor transforms((,newability[preventalldamage from chosencolor])) ueot activatechooseend auto={5}{W}{W}:name(target Player) target(player) && activatechooseacolor emblem transforms((,newability[preventalldamage to(targetedplayer) from(*[chosencolor]|*)])) ueot activatechooseend text=Flying, vigilance -- {1}{W}: Prevent all damage that would be dealt to another target creature this turn by sources of the color of your choice. -- {5}{W}{W}: Prevent all damage that would be dealt to target player this turn by sources of the color of your choice. mana={2}{W}{W}{W} @@ -33260,7 +33260,7 @@ toughness=1 [/card] [card] name=Dwarven Bloodboiler -auto={T(wizard|mybattlefield)}:2/0 target(creature) +auto={T(dwarf|mybattlefield)}:2/0 target(creature) text=Tap an untapped Dwarf you control: Target creature gets +2/+0 until end of turn. mana={R}{R}{R} type=Creature @@ -89335,7 +89335,7 @@ type=Instant [/card] [card] name=Prowess of the Fair -auto=@movedTo(graveyard) from(other elf[-token]|battlefield):may token(Elf Warrior,creature elf warrior,1/1,green) +auto=@movedTo(mygraveyard) from(other elf[-token]|battlefield):may token(Elf Warrior,creature elf warrior,1/1,green) text=Whenever another nontoken Elf is put into your graveyard from the battlefield, you may put a 1/1 green Elf Warrior creature token onto the battlefield. mana={1}{B} type=Tribal Enchantment diff --git a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt index dbc54f732..72c344679 100644 --- a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt +++ b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt @@ -676,8 +676,8 @@ subtype=Daretti name=Daretti, Scrap Savant abilities=canbecommander auto=counter(0/0,3,loyalty) -auto={C(0/0,2,Loyalty)}:name(+2: Don't discard) donothing auto={C(0/0,2,Loyalty)}:name(+2: Discard and Draw) reject notatarget(*|myhand) and!( draw:1 controller )! +auto={C(0/0,2,Loyalty)}:name(+2: Don't discard) donothing auto={C(0/0,-2,Loyalty)}:name(-2: Sacrifice an Artifact) sacrifice notatarget(artifact|mybattlefield) and!( moveto(mybattlefield) target(artifact|mygraveyard) )! auto={C(0/0,-10,Loyalty)}:name(-10: Emblem: "Reanimate artifacts") emblem transforms((,newability[@movedTo(artifact|mygraveyard) from(battlefield):all(trigger[to]) phaseaction[endofturn once] moveTo(mybattlefield)])) forever dontremove text=+2: Discard up to two cards, then draw that many cards. -- -2: Sacrifice an artifact. If you do, return target artifact card from your graveyard to the battlefield. -- -10: You get an emblem with "Whenever an artifact is put into your graveyard from the battlefield, return that card to the battlefield at the beginning of the next end step." -- Daretti, Scrap Savant can be your commander. @@ -1740,7 +1740,7 @@ subtype=Liliana name=Liliana, Dreadhorde General auto=counter(0/0,6,loyalty) auto=@movedTo(creature|Graveyard) from(mybattlefield):name(Draw a card) draw:1 controller -auto={C(0/0,1,Loyalty)}:name(+1: Create a 2/2 Zombie) token(Zombie Lil) +auto={C(0/0,1,Loyalty)}:name(+1: Create a 2/2 Zombie) _ZOMBIETOKEN_ auto={C(0/0,-4,Loyalty)}:name(-4: Each player sacrifices two creatures) transforms((,newability[name(Sacrifice 2 creatures) target(<2>creature|mybattlefield) sacrifice],newability[ability$!name(Sacrifice 2 creatures) name(Sacrifice 2 creatures) target(<2>creature|mybattlefield) sacrifice!$ opponent])) forever auto={C(0/0,-9,Loyalty)}:name(-9: Opponent sacrifices permanents) transforms((,newability[if type(land|opponentBattlefield)~morethan~1 then ability$!name(Sacrifice all lands except one) name(Sacrifice all lands except one) sacrifice target(land|mybattlefield)!$ opponent],newability[if type(creature|opponentBattlefield)~morethan~1 then ability$!name(Sacrifice all creatures except one) name(Sacrifice all creatures except one) sacrifice notatarget(creature|mybattlefield)!$ opponent],newability[if type(enchantment|opponentBattlefield)~morethan~1 then ability$!name(Sacrifice all enchantments except one) name(Sacrifice all enchantments except one) sacrifice notatarget(enchantment|mybattlefield)!$ opponent],newability[if type(artifact|opponentBattlefield)~morethan~1 then ability$!name(Sacrifice all artifacts except one) name(Sacrifice all artifacts except one) sacrifice notatarget(artifact|mybattlefield)!$ opponent],newability[if type(planeswalker|opponentBattlefield)~morethan~1 then ability$!name(Sacrifice all planeswalkers except one) name(Sacrifice all planeswalkers except one) sacrifice notatarget(planeswalker|mybattlefield)!$ opponent])) forever text=Whenever a creature you control dies, draw a card. -- +1: Create a 2/2 black Zombie creature token. -- -4: Each player sacrifices two creatures. -- -9: Each opponent chooses a permanent they control of each permanent type and sacrifices the rest. @@ -1809,7 +1809,7 @@ auto=counter(0/0,3,Loyalty) auto={C(0/0,1,Loyalty)}:name(+1: Do not target any creature) donothing auto={C(0/0,1,Loyalty)}:name(+1: Target creature gets -2/-1) target(creature) -2/-1 uynt auto={C(0/0,-2,Loyalty)}:name(-2: Mils two and return a creature) deplete:2 controller && ability$!name(Move to hand) moveto(myhand) target(creature|mygraveyard)!$ controller -auto={C(0/0,-7,Loyalty)}:name(-7: Emblem: "Each my end of turn create X 2/2 Zombie plus two") emblem transforms((,newability[phaseactionmulti[my endofturn] foreach(zombie|mybattlefield) token(Zombie Lil) && token(Zombie Lil)*2])) forever dontremove +auto={C(0/0,-7,Loyalty)}:name(-7: Emblem: "Each my end of turn create X 2/2 Zombie plus two") emblem transforms((,newability[phaseactionmulti[my endofturn] foreach(zombie|mybattlefield) _ZOMBIETOKEN_ && _ZOMBIETOKEN_*2])) forever dontremove text=+1: Up to one target creature gets -2/-1 until your next turn. -- -2: Put the top two cards of your library into your graveyard, then you may return a creature card from your graveyard to your hand. -- -7: You get an emblem with "At the beginning of your end step, put X 2/2 black Zombie creature tokens onto the battlefield, where X is two plus the number of Zombies you control." mana={1}{B}{B} type=Legendary Planeswalker