From b4afc3f3e1b400cd1102bd77292be7bfbd547345 Mon Sep 17 00:00:00 2001 From: Eduardo MG Date: Sat, 27 Jul 2024 17:23:07 -0600 Subject: [PATCH] New macros and token substitutions Bug fixes abilities simplification Disciples of the Inferno Blade of the Bloodchief Grenzo, Havoc Raiser Belligerent Brontodon Weight Advantage Liliana, Death Mage Garruk's Warsteed Ashiok's Forerunner Liliana, Death Mage --- .../mtg/bin/Res/sets/primitives/_macros.txt | 22 +- .../bin/Res/sets/primitives/borderline.txt | 252 +++++++++--------- projects/mtg/bin/Res/sets/primitives/mtg.txt | 90 +++---- .../bin/Res/sets/primitives/planeswalkers.txt | 10 +- 4 files changed, 193 insertions(+), 181 deletions(-) diff --git a/projects/mtg/bin/Res/sets/primitives/_macros.txt b/projects/mtg/bin/Res/sets/primitives/_macros.txt index 2f33bec02..a2700ba5e 100644 --- a/projects/mtg/bin/Res/sets/primitives/_macros.txt +++ b/projects/mtg/bin/Res/sets/primitives/_macros.txt @@ -42,6 +42,9 @@ # Heroic #AUTO_DEFINE _HEROIC_ @targeted(this) from(*[instant;sorcery;aura]|myCastingzone): +# Valiant +#AUTO_DEFINE _VALIANT_ @targeted(this) from(*|myCastingzone,myBattlefield) turnlimited: + # Rally #AUTO_DEFINE _RALLY_ @movedTo(other ally|myBattlefield): @@ -107,7 +110,7 @@ # Echo, not implemented #AUTO_DEFINE _ECHO_($cost) $cost[{$c};next upkeep] sacrifice -# Threshold, not implemented +# Threshold #AUTO_DEFINE _THRESHOLD_ if type(*|mygraveyard)~morethan~6 then # Splice onto Arcane, not implemented @@ -189,7 +192,10 @@ #AUTO_DEFINE _UNEARTH_ name(Unearth) moveto(mybattlefield) and!( transforms((,haste,newability[unearth],newability[exiledeath])) forever )! asSorcery # Exile the top card of your library. you may play it this turn. -#AUTO_DEFINE __PLAY_TOP_FROM_EXILE__ moveto(exile) and!( transforms((,canplayfromexile)) ueot )! all(*[zpos=1]|mylibrary) +#AUTO_DEFINE _EXILETOP_ moveto(exile) and!( transforms((,canplayfromexile)) ueot )! all(*[zpos=1]|mylibrary) + +# Exile the top card of your library. Until the end of your next turn, you may play that card. +#AUTO_DEFINE _EXILEUENT_ moveto(exile) and!( transforms((,canplayfromexile)) uent )! all(*[zpos=1]|mylibrary) # Ward #AUTO_DEFINE _WARD1_ @targeted(this) from(*|opponentzones):choice name(This spell costs 1 more) name(This spell costs 1 more) target(*|opponentzones) transforms((,newability[pay[[{1}]] name(pay 1 mana) donothing?fizzle])) oneshot @@ -225,6 +231,9 @@ # Suspect it (It has menace and can't block.) #AUTO_DEFINE _SUSPECT_IT_ name(Suspect it) transforms((,menace,cantblock,newability[becomes(suspect) forever])) forever +# Finality counter, if it would die, it's exiled instead +#AUTO_DEFINE _FINALITY_COUNTER_ and!( transforms((,newability[counter(0/0.1.finality)],newability[this(counter{0/0.1.finality}>=1) exiledeath])) forever )! + #AUTO_DEFINE _HARNESSED_LIGHTNING_($c) this(variable{penergy}>=$c) choice damage:$c && alterenergy:-$c controller # Angel Token @@ -233,6 +242,9 @@ # Beast Token #AUTO_DEFINE _BEASTTOKEN_ create(Beast:Creature Beast:3/3:green) +# Citizen Token +#AUTO_DEFINE _CITIZENTOKEN_ create(citizen:creature citizen:1/1:green:white) + # Detective Token #AUTO_DEFINE _DETECTIVETOKEN_ create(detective:creature detective:2/2:white:blue) @@ -248,6 +260,9 @@ # Elephant Token #AUTO_DEFINE _ELEPHANTTOKEN_ create(Elephant:Creature Elephant:3/3:green) +# Fish Token +#AUTO_DEFINE _FISHTOKEN_ create(fish:creature fish:1/1:blue) + # Goblin Token #AUTO_DEFINE _GOBLINTOKEN_ create(Goblin:Creature Goblin:1/1:red) @@ -278,6 +293,9 @@ # Spirit Token #AUTO_DEFINE _SPIRITTOKEN_ create(Spirit:creature Spirit:1/1:white:flying) +# Squirrel Token +#AUTO_DEFINE _SQUIRRELTOKEN_ create(Squirrel:Creature Squirrel:1/1:green) + # Thopter Token #AUTO_DEFINE _THOPTERTOKEN_ create(Thopter:Artifact Creature Thopter:1/1:flying) diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index 2339f8771..4d1eaf1c9 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -310,7 +310,7 @@ type=Instant [card] name=Access Tunnel auto={T}:add{C} -auto={3}{T}:name(Creature becomes unblockable) target(creature[power<=3]|battlefield) transforms((,newability[unblockable])) ueot +auto={3}{T}:name(Creature becomes unblockable) target(creature[power<=3]|battlefield) transforms((,unblockable)) ueot text={T}: Add {C}. -- {3}, {T}: Target creature with power 3 or less can't be blocked this turn. type=Land [/card] @@ -1272,8 +1272,7 @@ toughness=1 [/card] [card] name=Ajani's Aid -auto=moveto(ownerHand) target(Ajani^ Valiant Protector|mylibrary) -auto=moveto(ownerHand) target(Ajani^ Valiant Protector|mygraveyard) +auto=may name(Search library or graveyard) moveto(ownerHand) target(Ajani^ Valiant Protector|myLibrary,myGraveyard) auto={S}:target(creature) preventAllCombatDamage to(mytgt) ueot text=When Ajani's Aid enters the battlefield, you may search your library and/or graveyard for a card named Ajani, Valiant Protector, reveal it, and put it into your hand. If you search your library this way, shuffle it. -- Sacrifice Ajani's Aid: Prevent all combat damage a creature of your choice would deal this turn. mana={2}{G}{W} @@ -1838,7 +1837,7 @@ type=Enchantment [card] name=Alora, Merry Thief abilities=backgroundpartner -auto=@each my blockers:may target(creature[attacking]|myBattlefield) transforms((,newability[unblockable],newability[phaseaction[endofturn once] moveTo(ownerhand) ueot])) oneshot +auto=@each my blockers:may target(creature[attacking]|myBattlefield) transforms((,unblockable,newability[phaseaction[endofturn once] moveTo(ownerhand) ueot])) oneshot text=Whenever you attack, up to one target attacking creature can't be blocked this turn. Return that creature to its owner's hand at the beginning of the next end step. -- Choose a Background (You can have a Background as a second commander.) mana={2}{U} type=Legendary Creature @@ -2693,8 +2692,8 @@ toughness=7 [card] name=Angel's Grace abilities=split second -auto=all(*|mybattlefield) transforms((,newability[this(controllerlife >= 1) transforms((,newability[reduceto:1]))],newability[cantlose])) ueot -auto=all(*|opponentbattlefield) transforms((,newability[cantwin])) ueot +auto=all(*|mybattlefield) transforms((,newability[this(controllerlife >= 1) transforms((,newability[reduceto:1]))],cantlose)) ueot +auto=all(*|opponentbattlefield) transforms((,cantwin)) ueot text=Split second (As long as this spell is on the stack, players can't cast spells or activate abilities that aren't mana abilities.) -- You can't lose the game this turn and your opponents can't win the game this turn. Until end of turn, damage that would reduce your life total to less than 1 reduces it to 1 instead. mana={W} type=Instant @@ -5120,7 +5119,8 @@ type=Enchantment [/card] [card] name=Ashiok's Forerunner -auto=may moveto(ownerHand) target(Ashiok^ Sculptor of Fears|mylibrary,mygraveyard) && shuffle +abilities=flash +auto=may moveto(ownerHand) target(Ashiok^ Sculptor of Fears|mylibrary,mygraveyard) text=Flash -- When Ashiok's Forerunner enters the battlefield, you may search your library and/or graveyard for a card named Ashiok, Sculptor of Fears, reveal it, and put it into your hand. If you search your library this way, shuffle it. mana={3}{U}{B} type=Creature @@ -7624,8 +7624,7 @@ toughness=3 name=Basri's Aegis target=creature auto=counter(1/1) -auto=choice name(Search Library) may moveto(ownerHand) target(Basri^ Devoted Paladin|myLibrary) && shuffle -auto=choice name(Search Graveyard) may moveto(ownerHand) target(Basri^ Devoted Paladin|myGraveyard) +auto=may name(Search library or graveyard) moveto(ownerHand) target(Basri^ Devoted Paladin|myLibrary,myGraveyard) text=Put a +1/+1 counter on each of up to two target creatures. You may search your library and/or graveyard for a card named Basri, Devoted Paladin, reveal it, and put it into your hand. If you search your library this way, shuffle it. mana={2}{W}{W} type=Sorcery @@ -8332,6 +8331,7 @@ toughness=2 [/card] [card] name=Belligerent Brontodon +auto=lord(creature|myBattlefield) combattoughness text=Each creature you control assigns combat damage equal to its toughness rather than its power. mana={5}{G}{W} type=Creature @@ -8997,7 +8997,7 @@ toughness=4 [card] name=Biolume Serpent backside=Biolume Egg -auto={S(island|mybattlefield)}{S(island|mybattlefield)}:name(Gains unblockable) transforms((,newability[unblockable])) ueot +auto={S(island|mybattlefield)}{S(island|mybattlefield)}:name(Gains unblockable) transforms((,unblockable)) ueot text=Sacrifice two Islands: Biolume Serpent can't be blocked this turn. // Biolume Egg color=blue type=Creature @@ -10584,7 +10584,7 @@ toughness=1 [/card] [card] name=Bloodmist Infiltrator -auto=_ATTACKING_may name(sacrifice another creature) transforms((,newability[sacrifice notatarget(other creature|myBattlefield)],newability[unblockable])) ueot +auto=_ATTACKING_may name(sacrifice another creature) transforms((,newability[sacrifice notatarget(other creature|myBattlefield)],unblockable)) ueot text=Whenever Bloodmist Infiltrator attacks, you may sacrifice another creature. If you do, Bloodmist Infiltrator can't be blocked this turn. mana={2}{B} type=Creature @@ -13814,7 +13814,7 @@ type=Sorcery name=Cabaretti Charm auto=choice damage:type:creature:myBattlefield target(creature,planeswalker) auto=choice all(creature|myBattlefield) 1/1 && all(creature|mybattlefield) trample -auto=choice create(citizen:creature citizen:1/1:green,white)*2 +auto=choice _CITIZENTOKEN_*2 text=Choose one - -- - Cabaretti Charm deals damage equal to the number of creatures you control to target creature or planeswalker. -- - Creatures you control get +1/+1 and gain trample until end of turn. -- - Create two 1/1 green and white Citizen creature tokens. mana={R}{G}{W} type=Instant @@ -14000,8 +14000,8 @@ toughness=5 [/card] [card] name=Caldaia Guardian -auto=_DIES_name(Create Citizen) create(citizen:creature citizen:1/1:green:white)*2 -auto=@movedTo(graveyard) from(other creature[manacost>=4]|myBattlefield):name(Create Citizen) create(citizen:creature citizen:1/1:green:white)*2 +auto=_DIES_name(Create Citizen) _CITIZENTOKEN_*2 +auto=@movedTo(graveyard) from(other creature[manacost>=4]|myBattlefield):name(Create Citizen) _CITIZENTOKEN_*2 other={2}{G}:name(Blitz) auto=if paid(alternative) then moveto(mybattlefield) and!( transforms((,haste,newability[_DIES_draw:1],newability[treason])) forever )! asSorcery text=Whenever Caldaia Guardian or another creature you control with mana value 4 or greater dies, create two 1/1 green and white Citizen creature tokens. -- Blitz {2}{G} (If you cast this spell for its blitz cost, it gains haste and "When this creature dies, draw a card." Sacrifice it at the beginning of the next end step.) @@ -16227,8 +16227,7 @@ toughness=2 [card] name=Chandra's Firemaw abilities=haste -auto=choice name(Search Library) may moveto(ownerHand) target(Chandra^ Flame's Catalyst|myLibrary) && shuffle -auto=choice name(Search Graveyard) may moveto(ownerHand) target(Chandra^ Flame's Catalyst|myGraveyard) +auto=may name(Search library or graveyard) moveto(ownerHand) target(Chandra^ Flame's Catalyst|myLibrary,myGraveyard) text=Haste -- When Chandra's Firemaw enters the battlefield, you may search your library and/or graveyard for a card named Chandra, Flame's Catalyst, reveal it, and put it into your hand. If you search your library this way, shuffle it. mana={3}{R}{R} type=Creature @@ -16260,6 +16259,7 @@ toughness=2 name=Chandra's Outburst target=player,planeswalker. auto=damage:4 +auto=may name(Search library or graveyard) moveto(ownerHand) target(Chandra^ Bold Pyromancer|myLibrary,myGraveyard) text=Chandra's Outburst deals 4 damage to target player or planeswalker. -- Search your library and/or graveyard for a card named Chandra, Bold Pyromancer, reveal it, and put it into your hand. If you search your library this way, shuffle it. mana={3}{R}{R} type=Sorcery @@ -16511,7 +16511,7 @@ toughness=4 name=Charforger auto=create(phyrexian goblin:creature phyrexian goblin:1/1:red) auto=@movedto(other creature,artifact|graveyard) from(mybattlefield):counter(0/0,1,oil) -auto={C(0/0,-3,oil)}:__PLAY_TOP_FROM_EXILE__ +auto={C(0/0,-3,oil)}:_EXILETOP_ text=When Charforger enters the battlefield, create a 1/1 red Phyrexian Goblin creature token. -- Whenever another creature or artifact you control is put into a graveyard from the battlefield, put an oil counter on Charforger. -- Remove three oil counters from Charforger: Exile the top card of your library. You may play that card this turn. mana={1}{B}{R} type=Creature @@ -16747,7 +16747,7 @@ toughness=3 [card] name=Chatterstorm abilities=storm -auto=token(Squirrel,Creature Squirrel,1/1,green) +auto=_SQUIRRELTOKEN_ text=Create a 1/1 green Squirrel creature token. -- Storm (When you cast this spell, copy it for each spell cast before it this turn.) mana={1}{G} type=Sorcery @@ -16790,7 +16790,7 @@ type=Instant [/card] [card] name=Cherished Hatchling -auto=_DIES_all(dinosaur|mycastingzone) transforms((,newability[asflash])) ueot +auto=_DIES_all(dinosaur|mycastingzone) transforms((,asflash)) ueot auto=_DIES_emblem transforms((,newability[@movedto(dinosaur[power=0]|mybattlefield):ability$!name(Choose one) choice name(Don't fight) donothing _ choice name(Fights with another creature with power 0) target(creature[power=0]) damage:0 _ choice name(Fights with another creature with power 1) target(creature[power=1]) damage:0 && all(dinosaur[power=0;fresh]|mybattlefield) damage:1 _ choice name(Fights with another creature with power 2) target(creature[power=2]) damage:0 && all(dinosaur[power=0;fresh]|mybattlefield) damage:2 _ choice name(Fights with another creature with power 3) target(creature[power=3]) damage:0 && all(dinosaur[power=0;fresh]|mybattlefield) damage:3 _ choice name(Fights with another creature with power 4) target(creature[power=4]) damage:0 && all(dinosaur[power=0;fresh]|mybattlefield) damage:4 _ choice name(Fights with another creature with power 5) target(creature[power=5]) damage:0 && all(dinosaur[power=0;fresh]|mybattlefield) damage:5 _ choice name(Fights with another creature with power 6) target(creature[power=6]) damage:0 && all(dinosaur[power=0;fresh]|mybattlefield) damage:6 _ choice name(Fights with another creature with power 7) target(creature[power=7]) damage:0 && all(dinosaur[power=0;fresh]|mybattlefield) damage:7 _ choice name(Fights with another creature with power 8) target(creature[power=8]) damage:0 && all(dinosaur[power=0;fresh]|mybattlefield) damage:8 _ choice name(Fights with another creature with power 9) target(creature[power=9]) damage:0 && all(dinosaur[power=0;fresh]|mybattlefield) damage:9 _ choice name(Fights with another creature with power 10 or more) target(creature[power>=10]) damage:0 && all(dinosaur[power=0;fresh]|mybattlefield) damage:10!$ controller])) ueot auto=_DIES_emblem transforms((,newability[@movedto(dinosaur[power=1]|mybattlefield):ability$!name(Choose one) choice name(Don't fight) donothing _ choice name(Fights with another creature with power 0) target(creature[power=0]) damage:1 _ choice name(Fights with another creature with power 1) target(creature[power=1]) damage:1 && all(dinosaur[power=1;fresh]|mybattlefield) damage:1 _ choice name(Fights with another creature with power 2) target(creature[power=2]) damage:1 && all(dinosaur[power=1;fresh]|mybattlefield) damage:2 _ choice name(Fights with another creature with power 3) target(creature[power=3]) damage:1 && all(dinosaur[power=1;fresh]|mybattlefield) damage:3 _ choice name(Fights with another creature with power 4) target(creature[power=4]) damage:1 && all(dinosaur[power=1;fresh]|mybattlefield) damage:4 _ choice name(Fights with another creature with power 5) target(creature[power=5]) damage:1 && all(dinosaur[power=1;fresh]|mybattlefield) damage:5 _ choice name(Fights with another creature with power 6) target(creature[power=6]) damage:1 && all(dinosaur[power=1;fresh]|mybattlefield) damage:6 _ choice name(Fights with another creature with power 7) target(creature[power=7]) damage:1 && all(dinosaur[power=1;fresh]|mybattlefield) damage:7 _ choice name(Fights with another creature with power 8) target(creature[power=8]) damage:1 && all(dinosaur[power=1;fresh]|mybattlefield) damage:8 _ choice name(Fights with another creature with power 9) target(creature[power=9]) damage:1 && all(dinosaur[power=1;fresh]|mybattlefield) damage:9 _ choice name(Fights with another creature with power 10 or more) target(creature[power>=10]) damage:1 && all(dinosaur[power=1;fresh]|mybattlefield) damage:10!$ controller])) ueot auto=_DIES_emblem transforms((,newability[@movedto(dinosaur[power=2]|mybattlefield):ability$!name(Choose one) choice name(Don't fight) donothing _ choice name(Fights with another creature with power 0) target(creature[power=0]) damage:2 _ choice name(Fights with another creature with power 1) target(creature[power=1]) damage:2 && all(dinosaur[power=2;fresh]|mybattlefield) damage:1 _ choice name(Fights with another creature with power 2) target(creature[power=2]) damage:2 && all(dinosaur[power=2;fresh]|mybattlefield) damage:2 _ choice name(Fights with another creature with power 3) target(creature[power=3]) damage:2 && all(dinosaur[power=2;fresh]|mybattlefield) damage:3 _ choice name(Fights with another creature with power 4) target(creature[power=4]) damage:2 && all(dinosaur[power=2;fresh]|mybattlefield) damage:4 _ choice name(Fights with another creature with power 5) target(creature[power=5]) damage:2 && all(dinosaur[power=2;fresh]|mybattlefield) damage:5 _ choice name(Fights with another creature with power 6) target(creature[power=6]) damage:2 && all(dinosaur[power=2;fresh]|mybattlefield) damage:6 _ choice name(Fights with another creature with power 7) target(creature[power=7]) damage:2 && all(dinosaur[power=2;fresh]|mybattlefield) damage:7 _ choice name(Fights with another creature with power 8) target(creature[power=8]) damage:2 && all(dinosaur[power=2;fresh]|mybattlefield) damage:8 _ choice name(Fights with another creature with power 9) target(creature[power=9]) damage:2 && all(dinosaur[power=2;fresh]|mybattlefield) damage:9 _ choice name(Fights with another creature with power 10 or more) target(creature[power>=10]) damage:2 && all(dinosaur[power=2;fresh]|mybattlefield) damage:10!$ controller])) ueot @@ -17031,9 +17031,9 @@ toughness=3 [/card] [card] name=Chittering Doom -auto=@dierolled(*|battlefield) result(4) from(controller):token(Squirrel,Creature Squirrel,1/1,green) -auto=@dierolled(*|battlefield) result(5) from(controller):token(Squirrel,Creature Squirrel,1/1,green) -auto=@dierolled(*|battlefield) result(6) from(controller):token(Squirrel,Creature Squirrel,1/1,green) +auto=@dierolled(*|battlefield) result(4) from(controller):_SQUIRRELTOKEN_ +auto=@dierolled(*|battlefield) result(5) from(controller):_SQUIRRELTOKEN_ +auto=@dierolled(*|battlefield) result(6) from(controller):_SQUIRRELTOKEN_ text=Whenever you roll a 4 or higher on a die, create a 1/1 green Squirrel creature token. mana={3}{G} type=Enchantment @@ -17086,7 +17086,7 @@ toughness=2 name=Chitterspitter auto=@each my upkeep:may name(Sacrifice token) notATarget(*[token]|mybattlefield) sacrifice && counter(0/0,1,acorn) all(this) auto=thisforeach(counter{0/0.1.acorn}>0) lord(squirrel|mybattlefield) 1/1 -auto={G}{T}:name(Create Squirrel) token(Squirrel,Creature Squirrel,1/1,green) +auto={G}{T}:name(Create Squirrel) _SQUIRRELTOKEN_ text=At the beginning of your upkeep, you may sacrifice a token. If you do, put an acorn counter on Chitterspitter. -- Squirrels you control get +1/+1 for each acorn counter on Chitterspitter. -- {G}, {T}: Create a 1/1 green Squirrel creature token. mana={2}{G} type=Artifact @@ -18266,7 +18266,7 @@ name=Cloudsteel Kirin abilities=flying auto={5}:reconfigure auto=this(cantargetcard(*[attached]|*) {5}{unattach}:name(Reconfigure unattach) name(Reconfigure unattach) donothing asSorcery) -auto=teach(creature) transforms((,flying,newability[cantlose])) +auto=teach(creature) transforms((,flying,cantlose)) text=Flying -- Equipped creature has flying and "You can't lose the game and your opponents can't win the game." -- Reconfigure {5} ({5}: Attach to target creature you control; or unattach from a creature. Reconfigure only as a sorcery. While attached, this isn't a creature.) mana={2}{W} type=Artifact Creature @@ -19495,7 +19495,7 @@ type=Enchantment name=Connive // Concoct other={3}{U}{B} name(Concoct) aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus3plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot -auto=if paid(alternative) then name(Surveil 3) reveal:psurveiloffsetplus3plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed target(creature|mygraveyard) moveto(myBattlefield) && surveil afterrevealedend revealend +auto=if paid(alternative) then name(Surveil 3) reveal:psurveiloffsetplus3plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed all(*[zpos=1]|mylibrary) transforms((,newability[target(creature|mygraveyard) moveTo(battlefield)])) oneshot afterrevealedend revealend auto=ifnot paid(alternative) then moveTo(myBattlefield) target(creature[power<=2]) text=Gain control of target creature with power 2 or less. -- Surveil 3, then return a creature card from your graveyard to the battlefield. mana={2}{UB}{UB} @@ -19559,7 +19559,7 @@ type=Land [card] name=Consider aicode=activate draw:1 controller -auto=name(Look top card) reveal:1 optionone name(Put in graveyard) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo name(Put back) target(*|reveal) moveto(mylibrary) optiontwoend afterrevealed all(*[zpos=1]|mylibrary) transforms((,newability[draw:1 controller])) oneshot afterrevealedend revealend +auto=name(Look top card) reveal:psurveiloffsetplus1plusend optionone name(Put in graveyard) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo name(Put back) target(*|reveal) moveto(mylibrary) optiontwoend afterrevealed all(*[zpos=1]|mylibrary) transforms((,newability[draw:1 controller])) oneshot afterrevealedend revealend text=Look at the top card of your library. You may put that card into your graveyard. -- Draw a card. mana={U} type=Instant @@ -20182,7 +20182,7 @@ name=Corrupted Shapeshifter abilities=devoid auto=choice name(3/3 with flying) transforms((,flying,setpower=3,settoughness=3)) forever auto=choice name(2/5 with vigilance) transforms((,vigilance,setpower=2,settoughness=5)) forever -auto=choice name(0/12 with defender) transforms((,newability[defender],setpower=0,settoughness=12)) forever +auto=choice name(0/12 with defender) transforms((,defender,setpower=0,settoughness=12)) forever text=Devoid (This card has no color.) -- As Corrupted Shapeshifter enters the battlefield, it becomes your choice of a 3/3 creature with flying, a 2/5 creature with vigilance, or a 0/12 creature with defender. mana={3}{U} type=Creature @@ -20211,7 +20211,7 @@ toughness=2 [/card] [card] name=Corsairs of Umbar -auto={2}{U}:name(Creature becomes unblockable) target(*[goblin;orc;pirate]|battlefield) transforms((,newability[unblockable])) ueot +auto={2}{U}:name(Creature becomes unblockable) target(*[goblin;orc;pirate]|battlefield) transforms((,unblockable)) ueot auto=@combatdamaged(player) from(this):name(Amass orcs 3) ability$!name(Amass orcs 3) _AMASSORC3_!$ controller text={2}{U}: Target Goblin, Orc, or Pirate can't be blocked this turn. -- Whenever Corsairs of Umbar deals combat damage to a player, amass Orcs 3. (Put three +1/+1 counters on an Army you control. It's also an Orc. If you don't control an Army, create a 0/0 black Orc Army creature token first.) mana={3}{U} @@ -20395,7 +20395,7 @@ toughness=2 [/card] [card] name=Courier's Briefcase -auto=create(citizen:creature citizen:1/1:green:white) +auto=_CITIZENTOKEN_ auto={T}{S}:Add{W} auto={T}{S}:Add{U} auto={T}{S}:Add{B} @@ -20826,7 +20826,10 @@ type=Sorcery [/card] [card] name=Crashing Tide -auto=if type(*[merfolk]|mybattlefield)~morethan~0 then asflash +abilities=asflash +other={2}{U} +otherrestriction=type(merfolk|mybattlefield)~morethan~0 +restriction=can play sorcery target=creature auto=moveTo(ownerhand) auto=draw:1 controller @@ -22749,7 +22752,7 @@ toughness=1 [card] name=Darling of the Masses auto=lord(other citizen|myBattlefield) 1/0 -auto=_ATTACKING_create(citizen:creature citizen:1/1:green:white) +auto=_ATTACKING__CITIZENTOKEN_ text=Other Citizens you control get +1/+0. -- Whenever Darling of the Masses attacks, create a 1/1 green and white Citizen creature token. mana={2}{G}{W} type=Creature @@ -23826,7 +23829,7 @@ type=Instant [card] name=Deekah, Fractal Theorist auto=@movedto(*[instant;sorcery]|mystack):name(Create Fractal) all(trigger[to]) transforms((,newability[token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1.manacost) )!])) oneshot -auto={3}{U}:name(Token gains unblockable) target(creature[token]|battlefield) transforms((,newability[unblockable])) ueot +auto={3}{U}:name(Token gains unblockable) target(creature[token]|battlefield) transforms((,unblockable)) ueot text=Magecraft - Whenever you cast or copy an instant or sorcery spell, create a 0/0 green and blue Fractal creature token. Put X +1/+1 counters on it, where X is that spell's mana value. -- {3}{U}: Target creature token can't be blocked this turn. mana={4}{U} type=Legendary Creature @@ -23849,7 +23852,7 @@ name=Deep Forest Hermit auto=counter(0/0,3,Time) auto=@each my upkeep:counter(0/0,-1,Time) auto=this(counter{0/0.1.Time}<=0) sacrifice -auto=token(Squirrel,creature squirrel, 1/1,green)*4 +auto=_SQUIRRELTOKEN_*4 auto=lord(creature[squirrel]|myBattlefield) 1/1 text=Vanishing 3 (This creature enters the battlefield with three time counters on it. At the beginning of your upkeep, remove a time counter from it. When the last is removed, sacrifice it.) -- When Deep Forest Hermit enters the battlefield, create four 1/1 green Squirrel creature tokens. -- Squirrels you control get +1/+1. mana={3}{G}{G} @@ -24696,7 +24699,7 @@ type=Instant [/card] [card] name=Desecrated Tomb -auto=@movedto(*|mybattlefield,mystack,myhand,mylibrary,mysideboard,myexile,mycommandzone) from(mygraveyard):create(bat:creature bat:1/1:black:flying) +auto=@movedto(creature|mybattlefield,mystack,myhand,mylibrary,mysideboard,myexile,mycommandzone) from(mygraveyard):create(bat:creature bat:1/1:black:flying) text=Whenever one or more creature cards leave your graveyard, create a 1/1 black Bat creature token with flying. mana={3} type=Artifact @@ -25827,6 +25830,7 @@ toughness=4 [/card] [card] name=Disciples of the Inferno +auto=@movedTo(*[-creature]|mystack):1/1 ueot auto=@damaged(*[creature;planeswalker;battle]|battlefield) from(*[-creature]|myzones):name(Deals 2 damage more) all(trigger[to]) damage:2 auto=@damagefoeof(player) from(*[-creature]|myzones):name(Deals 2 damage more) all(trigger[to]) damage:2 text=Prowess (Whenever you cast a noncreature spell, this creature gets +1/+1 until end of turn.) -- If a noncreature source you control would deal damage to a creature, battle, or opponent, it deals that much damage plus 2 instead. @@ -25868,7 +25872,7 @@ abilities=flash other={3}{U}{B} name(Dispersal) restriction=can play sorcery aicode=activate transforms((,newability[surveil],newability[draw:1 controller])) oneshot -auto=ifnot paid(alternative) then name(Surveil 2) reveal:psurveiloffsetplus2plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed draw:1 controller && surveil afterrevealedend revealend +auto=ifnot paid(alternative) then name(Surveil 2) reveal:psurveiloffsetplus2plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed all(*[zpos=1]|mylibrary) transforms((,newability[draw:1])) oneshot afterrevealedend revealend auto=if paid(alternative) then ability$!name(return non-land permanent) name(return non-land permanent) moveto(ownerhand) notatarget(*[-land;manacost=convertedcost:highest:*:myBattlefield])!$ opponent auto=if paid(alternative) then ability$!name(Discard a card) name(Discard a card) target(*|myhand) reject!$ opponent text=Surveil 2, then draw a card. -- (To surveil 2, look at the top two cards of your library, then put any number of them into your graveyard and the rest on top of your library in any order.) // Each opponent returns a nonland permanent they control with the highest mana value among permanents they control to its owner's hand, then discards a card. @@ -27515,7 +27519,7 @@ toughness=6 [card] name=Dreadlight Monstrosity auto=_WARD2_ -auto=this(variable{type:*:myexile}>0) {3}{U}{U}:name(Gains unblockable) transforms((,newability[unblockable])) ueot +auto=this(variable{type:*:myexile}>0) {3}{U}{U}:name(Gains unblockable) transforms((,unblockable)) ueot text=Ward {2} (Whenever this creature becomes the target of a spell or ability an opponent controls, counter it unless that player pays {2}.) -- {3}{U}{U}: Dreadlight Monstrosity can't be blocked this turn. Activate only if you own a card in exile. mana={4}{U}{U} type=Creature @@ -27850,7 +27854,7 @@ type=Enchantment [/card] [card] name=Drey Keeper -auto=token(Squirrel,Creature Squirrel,1/1,green)*2 +auto=_SQUIRRELTOKEN_*2 auto={3}{B}:name(Squirrels get 1/0) all(squirrel|myBattlefield) 1/0 ueot text=When Drey Keeper enters the battlefield, create two 1/1 green Squirrel creature tokens. -- {3}{B}: Squirrels you control get +1/+0 and gain menace until end of turn. mana={3}{B}{G} @@ -28063,7 +28067,7 @@ type=Enchantment [card] name=Drownyard Amalgam auto=name(Target player mills 3 cards) target(player) deplete:3 -auto={2}{U}:name(Becomes unblockable) transforms((,newability[unblockable])) ueot +auto={2}{U}:name(Becomes unblockable) transforms((,unblockable)) ueot text=When Drownyard Amalgam enters the battlefield, target player mills three cards. (They put the top three cards of their library into their graveyard.) -- {2}{U}: Drownyard Amalgam can't be blocked this turn. mana={4}{U} type=Creature @@ -30194,7 +30198,7 @@ subtype=Saga [/card] [card] name=Elspeth's Devotee -auto=may moveto(ownerHand) target(Elspeth^ Undaunted Hero|mylibrary,mygraveyard) && shuffle +auto=may moveto(ownerHand) target(Elspeth^ Undaunted Hero|mylibrary,mygraveyard) text=When Elspeth's Devotee enters the battlefield, you may search your library and/or graveyard for a card named Elspeth, Undaunted Hero, reveal it, and put it into your hand. If you search your library this way, shuffle it. mana={2}{W}{W} type=Creature @@ -30564,7 +30568,7 @@ toughness=4 [card] name=Emergence Zone auto={T}:Add{C} -auto={1}{T}{S}:all(*|mycastingzone) transforms((,newability[asflash])) ueot +auto={1}{T}{S}:all(*|mycastingzone) transforms((,asflash)) ueot text={T}: Add {C}. -- {1}, {T}, Sacrifice Emergence Zone: You may cast spells this turn as though they had flash. type=Land [/card] @@ -32920,7 +32924,7 @@ toughness=4 [/card] [card] name=Exhibition Magician -auto=choice create(citizen:creature citizen:1/1:green:white) +auto=choice _CITIZENTOKEN_ auto=choice token(Treasure) text=When Exhibition Magician enters the battlefield, choose one -- Create a 1/1 green and white Citizen creature token. -- Create a Treasure token. (It's an artifact with "{T}, Sacrifice this artifact: Add one mana of any color.") mana={2}{R} @@ -33987,7 +33991,7 @@ toughness=3 name=Faldorn, Dread Wolf Herald auto=@movedTo(*|mystack) from(exile):_WOLFTOKEN_ auto=@movedTo(land|myBattlefield) from(exile):_WOLFTOKEN_ -auto={1}{T}{D(*|myhand)}:__PLAY_TOP_FROM_EXILE__ +auto={1}{T}{D(*|myhand)}:_EXILETOP_ text=Whenever you cast a spell from exile or a land enters the battlefield under your control from exile, create a 2/2 green Wolf creature token. -- {1}, {T}, Discard a card: Exile the top card of your library. You may play it this turn. mana={1}{R}{G} type=Legendary Creature @@ -38170,7 +38174,7 @@ type=Sorcery [/card] [card] name=From the Rubble -auto=chooseatype transforms((,newability[@each my endofturn:target(creature[chosentype]|mygraveyard) moveTo(battlefield) and!( transforms((,newability[counter(0/0.1.finality)],newability[this(counter{0/0.1.finality}>=1) exiledeath])))! forever])) chooseend +auto=chooseatype transforms((,newability[@each my endofturn:target(creature[chosentype]|mygraveyard) moveTo(battlefield) _FINALITY_COUNTER_ ])) chooseend text=As From the Rubble enters the battlefield, choose a creature type. -- At the beginning of your end step, return target creature card of the chosen type from your graveyard to the battlefield with a finality counter on it. (If a creature with a finality counter on it would die, exile it instead.) mana={4}{W}{W} type=Enchantment @@ -38628,7 +38632,7 @@ type=Land [card] name=Futurist Operative auto={2}{U}:untap -auto=this(cantargetcard(*[tapped]) transforms((Human Citizen,setpower=1,settoughness=1,newability[unblockable])) +auto=this(cantargetcard(*[tapped]) transforms((Human Citizen,setpower=1,settoughness=1,unblockable)) text=As long as Futurist Operative is tapped, it's a Human Citizen with base power and toughness 1/1 and can't be blocked. -- {2}{U}: Untap Futurist Operative. mana={3}{U} type=Creature @@ -39273,8 +39277,7 @@ type=Enchantment [card] name=Garruk's Warsteed abilities=vigilance -auto=choice name(Search Library) may moveto(ownerHand) target(Garruk^ Savage Herald|myLibrary) && shuffle -auto=choice name(Search Graveyard) may moveto(ownerHand) target(Garruk^ Savage Herald|myGraveyard) +auto=may name(Search library or graveyard) moveto(ownerHand) target(Garruk^ Savage Herald|myLibrary,myGraveyard) text=Vigilance -- When Garruk's Warsteed enters the battlefield, you may search your library and/or graveyard for a card named Garruk, Savage Herald, reveal it, and put it into your hand. If you search your library this way, shuffle it. mana={3}{G}{G} type=Creature @@ -40371,7 +40374,7 @@ toughness=4 [card] name=Gideon's Battle Cry auto=all(creature|myBattlefield) counter(1/1) -auto=target(planeswalker[gideon&manacost=6]|mylibrary) moveto(ownerHand) +auto=may name(Search library or graveyard) moveto(ownerHand) target(Gideon^ the Oathsworn|myLibrary,myGraveyard) text=Put a +1/+1 counter on each creature you control. You may search your library and/or graveyard for a card named Gideon, the Oathsworn, reveal it, and put it into your hand. If you search your library this way, shuffle it. mana={2}{W}{W} type=Sorcery @@ -40405,7 +40408,7 @@ type=Enchantment [/card] [card] name=Gideon's Resolve -auto=may moveto(ownerHand) target(Gideon^ Martial Paragon|mylibrary) +auto=may name(Search library or graveyard) moveto(ownerHand) target(Gideon^ Martial Paragon|myLibrary,myGraveyard) auto=lord(creature|mybattlefield) 1/1 text=When Gideon's Resolve enters the battlefield, you may search your library and/or graveyard for a card named Gideon, Martial Paragon, reveal it, and put it into your hand. If you search your library this way, shuffle it. -- Creatures you control get +1/+1. mana={4}{W} @@ -43384,7 +43387,7 @@ toughness=2 [/card] [card] name=Grand Crescendo -auto=create(Citizen:creature Citizen:1/1:green:white)*X +auto=_CITIZENTOKEN_*X auto=all(creature|myBattlefield) indestructible text=Create X 1/1 green and white Citizen creature tokens. Creatures you control gain indestructible until end of turn. mana={X}{W}{W} @@ -44001,10 +44004,8 @@ toughness=2 [/card] [card] name=Grenzo, Havoc Raiser -auto=@combatdamagefoeof(player) from(creature|mybattlefield) restriction{type(creature|opponentBattlefield)~morethan~0}:ability$!name(Choose one) choice name(Exile top card) all(*[zpos=1]|opponentlibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[phaseaction[endofturn once] moveTo(ownerexile)])) ueot )! _ choice name(Goad opponent creature) target(creature|opponentBattlefield) _GOAD_!$ controller -auto=@combatdamagefoeof(player) from(creature|mybattlefield) restriction{type(creature|opponentBattlefield)~equalto~0}:name(Exile top card) all(*[zpos=1]|opponentlibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[phaseaction[endofturn once] moveTo(ownerexile)])) ueot )! -auto=@combatdamageof(player) from(creature|mybattlefield) restriction{type(creature|mybattlefield)~morethan~0}:ability$!name(Choose one) choice name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana])) ueot )! _ choice name(Goad your creature) target(creature|myBattlefield) _GOAD_!$ controller -auto=@combatdamageof(player) from(creature|mybattlefield) restriction{type(creature|mybattlefield)~equalto~0}:name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana])) ueot )! +auto=@combatdamagefoeof(player) from(creature|mybattlefield) restriction{type(creature|opponentBattlefield)~morethan~0}:ability$!name(Choose one) choice name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( if cantargetcard(*[-land]|*) then transforms((,newability[this(cantargetcard(*[-land]|*)) canplayfromexile])) ueot )! _ choice name(Goad opponent creature) target(creature|opponentBattlefield) _GOAD_!$ controller +auto=@combatdamagefoeof(player) from(creature|mybattlefield) restriction{type(creature|opponentBattlefield)~equalto~0}:name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( if cantargetcard(*[-land]|*) then transforms((,newability[this(cantargetcard(*[-land]|*)) canplayfromexile])) ueot )! text=Whenever a creature you control deals combat damage to a player, choose one -- Goad target creature that player controls. -- Exile the top card of that player's library. 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={R}{R} type=Legendary Creature @@ -44886,7 +44887,7 @@ type=Enchantment [card] name=Guild Thief auto=@combatdamaged(player) from(this):name(Counter 1/1) counter(1/1) -auto={3}{U}:name(Cunning Action) transforms((,newability[unblockable])) ueot +auto={3}{U}:name(Cunning Action) transforms((,unblockable)) ueot text=Whenever Guild Thief deals combat damage to a player, put a +1/+1 counter on it. -- Cunning Action-{3}{U}: Guild Thief can't be blocked this turn. mana={1}{U} type=Creature @@ -45608,7 +45609,7 @@ toughness=1 [/card] [card] name=Halo Fountain -auto={W}{T}{Q(creature[tapped]|mybattlefield)}:create(citizen:creature citizen:1/1:green:white) +auto={W}{T}{Q(creature[tapped]|mybattlefield)}:_CITIZENTOKEN_ auto={W}{W}{T}{Q(creature[tapped]|mybattlefield)}{Q(creature[tapped]|mybattlefield)}:draw:1 auto={W}{W}{W}{W}{W}{T}{Q(creature[tapped]|mybattlefield)}{Q(creature[tapped]|mybattlefield)}{Q(creature[tapped]|mybattlefield)}{Q(creature[tapped]|mybattlefield)}{Q(creature[tapped]|mybattlefield)}{Q(creature[tapped]|mybattlefield)}{Q(creature[tapped]|mybattlefield)}{Q(creature[tapped]|mybattlefield)}{Q(creature[tapped]|mybattlefield)}{Q(creature[tapped]|mybattlefield)}{Q(creature[tapped]|mybattlefield)}{Q(creature[tapped]|mybattlefield)}{Q(creature[tapped]|mybattlefield)}{Q(creature[tapped]|mybattlefield)}{Q(creature[tapped]|mybattlefield)}:wingame text={W}, {T}, Untap a tapped creature you control: Create a 1/1 green and white Citizen creature token. -- {W}{W}, {T}, Untap two tapped creatures you control: Draw a card. -- {W}{W}{W}{W}{W}, {T}, Untap fifteen tapped creatures you control: You win the game. @@ -45980,7 +45981,7 @@ toughness=2 [/card] [card] name=Harbinger of the Tides -abilities=flash +abilities=asflash other={2}{U}{U} name(Cast with flash) restriction=can play creature auto=may name(Return tapped creature) target(creature[tapped]|opponentbattlefield) moveto(ownerhand) @@ -46247,7 +46248,7 @@ auto=if paid(alternative) then if type(*|mygraveyard)~morethan~2 then choice nam auto=if paid(alternative) then if type(*|mygraveyard)~morethan~3 then choice name(Damage creature and exile 4 cards) name(Damage creature and exile 4 cards) name(Damage creature and exile 4 cards) activate castcard(copied noevent costx!:4:! named!:Harvest Pyre:!) and!( ability$!name(Exile 4 cards) target(<4>*|mygraveyard) moveto(myexile)!$ controller )! auto=if paid(alternative) then if type(*|mygraveyard)~morethan~4 then choice name(Damage creature and exile 5 cards) name(Damage creature and exile 5 cards) name(Damage creature and exile 5 cards) activate castcard(copied noevent costx!:5:! named!:Harvest Pyre:!) and!( ability$!name(Exile 5 cards) target(<5>*|mygraveyard) moveto(myexile)!$ controller )! auto=if paid(alternative) then if type(*|mygraveyard)~morethan~5 then choice name(Damage creature and exile 6 cards) name(Damage creature and exile 6 cards) name(Damage creature and exile 6 cards) activate castcard(copied noevent costx!:6:! named!:Harvest Pyre:!) and!( ability$!name(Exile 6 cards) target(<6>*|mygraveyard) moveto(myexile)!$ controller )! -auto=if paid(alternative) then if type(*|mygraveyard)~morethan~6 then choice name(Damage creature and exile 7 cards) name(Damage creature and exile 7 cards) name(Damage creature and exile 7 cards) activate castcard(copied noevent costx!:7:! named!:Harvest Pyre:!) and!( ability$!name(Exile 7 cards) target(<7>*|mygraveyard) moveto(myexile)!$ controller )! +auto=if paid(alternative) then _THRESHOLD_ choice name(Damage creature and exile 7 cards) name(Damage creature and exile 7 cards) name(Damage creature and exile 7 cards) activate castcard(copied noevent costx!:7:! named!:Harvest Pyre:!) and!( ability$!name(Exile 7 cards) target(<7>*|mygraveyard) moveto(myexile)!$ controller )! auto=if paid(alternative) then if type(*|mygraveyard)~morethan~7 then choice name(Damage creature and exile 8 cards) name(Damage creature and exile 8 cards) name(Damage creature and exile 8 cards) activate castcard(copied noevent costx!:8:! named!:Harvest Pyre:!) and!( ability$!name(Exile 8 cards) target(<8>*|mygraveyard) moveto(myexile)!$ controller )! auto=if paid(alternative) then if type(*|mygraveyard)~morethan~8 then choice name(Damage creature and exile 9 cards) name(Damage creature and exile 9 cards) name(Damage creature and exile 9 cards) activate castcard(copied noevent costx!:9:! named!:Harvest Pyre:!) and!( ability$!name(Exile 9 cards) target(<9>*|mygraveyard) moveto(myexile)!$ controller )! auto=if paid(alternative) then if type(*|mygraveyard)~morethan~9 then choice name(Damage creature and exile 10 cards) name(Damage creature and exile 10 cards) name(Damage creature and exile 10 cards) activate castcard(copied noevent costx!:10:! named!:Harvest Pyre:!) and!( ability$!name(Exile 10 cards) target(<10>*|mygraveyard) moveto(myexile)!$ controller )! @@ -46897,7 +46898,7 @@ subtype=Equipment [card] name=Hedron Detonator auto=@movedTo(artifact|myBattlefield):damage:1 target(opponent) -auto={T}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}:__PLAY_TOP_FROM_EXILE__ +auto={T}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}:_EXILETOP_ text=Whenever an artifact enters the battlefield under your control, Hedron Detonator deals 1 damage to target opponent. -- {T}, Sacrifice two artifacts: Exile the top card of your library. You may play that card this turn. mana={2}{R} type=Creature @@ -48519,7 +48520,7 @@ toughness=2 [/card] [card] name=Hooded Horror -auto=@each my combatbegins restriction{compare(type:creature:opponentbattlefieldplus1plusend)~morethan~compare(type:creature:mybattlefield)}:transforms((,newability[unblockable])) ueot +auto=@each my combatbegins restriction{compare(type:creature:opponentbattlefieldplus1plusend)~morethan~compare(type:creature:mybattlefield)}:transforms((,unblockable)) ueot text=Hooded Horror can't be blocked as long as defending player controls the most creatures or is tied for the most. mana={4}{B} type=Creature @@ -53633,7 +53634,8 @@ toughness=2 [card] name=Jace's Ruse target=creature -auto=moveTo(ownerHand) and!(moveto(ownerHand) target(planeswalker[jace;manacost=6]|mylibrary,myGraveyard))! +auto=moveTo(ownerHand) +auto=may name(Search library or graveyard) moveto(ownerHand) target(Jace^ Arcane Strategist|myLibrary,myGraveyard) text=Return up to two target creatures to their owner's hand. You may search your library and/or graveyard for a card named Jace, Arcane Strategist, reveal it, and put it into your hand. If you search your library this way, shuffle it. mana={3}{U}{U} type=Sorcery @@ -54905,7 +54907,7 @@ toughness=2 name=Kagha, Shadow Archdruid auto=_ATTACKING_name(Gains deathtouch) transforms((,deathtouch,newability[deplete:2 controller])) ueot auto=@movedto(*|mygraveyard) from(mylibrary):name(Milled card) all(trigger[to]) transforms((,newability[counter(0/0.1.KaghaMilled)],newability[@each my endofturn:name(Effect ends) removeallcounters(0/0.1.KaghaMilled)])) ueot -auto={0}:name(Playble from graveyard) target(*[counter{0/0.1.KaghaMilled}]|mygraveyard) transforms((,newability[canplayfromgraveyard],newability[name(Effect ends) all(*[counter{0/0.1.KaghaMilled}]|mygraveyard) removeallcounters(0/0.1.KaghaMilled)])) ueot limit:1 +auto={0}:name(Playble from graveyard) target(*[counter{0/0.1.KaghaMilled}]|mygraveyard) transforms((,newability[canplayfromgraveyard],newability[name(Effect ends) all(*[counter{0/0.1.KaghaMilled}]|mygraveyard) removeallcounters(0/0.1.KaghaMilled)])) ueot limit:1 myturnonly text=Whenever Kagha, Shadow Archdruid attacks, it gains deathtouch until end of turn. Mill two cards. (Put the top two cards of your library into your graveyard.) -- Once during each of your turns, you may play a land or cast a permanent spell from among cards in your graveyard that were put there from your library this turn. mana={2}{B}{G} type=Legendary Creature @@ -57807,7 +57809,7 @@ toughness=7 [card] name=Krydle of Baldur's Gate auto=@combatdamaged(player) from(this):name(Gain life and scry) life:-1 opponent && deplete:1 opponent && life:1 controller && _SCRY1_ -auto=@each my blockers:name(Pay 2 for unblockable) pay({2}) name(Pay 2 for unblockable) target(creature|myBattlefield) transforms((,newability[unblockable])) ueot +auto=@each my blockers:name(Pay 2 for unblockable) pay({2}) name(Pay 2 for unblockable) target(creature|myBattlefield) transforms((,unblockable)) ueot text=Whenever Krydle of Baldur's Gate deals combat damage to a player, that player loses 1 life and mills a card, then you gain 1 life and scry 1. -- Whenever you attack, you may pay {2}. If you do, target creature can't be blocked this turn. mana={U}{B} type=Legendary Creature @@ -59473,7 +59475,7 @@ type=Enchantment name=Liberating Combustion target=creature auto=damage:6 -auto=moveto(ownerHand) target(Chandra^ Pyrogenius|mylibrary) && shuffle controller +auto=moveto(ownerHand) target(Chandra^ Pyrogenius|mylibrary) auto=moveto(ownerHand) target(Chandra^ Pyrogenius|mygraveyard) text=Liberating Combustion deals 6 damage to target creature. You may search your library and/or graveyard for a card named Chandra, Pyrogenius, reveal it, and put it into your hand. If you search your library this way, shuffle it. mana={4}{R} @@ -59689,7 +59691,7 @@ subtype=Saga [card] name=Light 'Em Up other={1}{R}{S(creature[power>=2]|myBattlefield)} name(Casualty 2) -otherrestriction=type(creature[power>=2]|myBattlefield)~morethan~1 +otherrestriction=type(creature[power>=2]|myBattlefield)~morethan~0 auto=if paid(alternative) then ability$!name(Copy Light 'Em Up) activate castcard(copied noevent named!:Light 'Em Up:!)!$ controller target=creature,planeswalker auto=damage:2 @@ -59878,7 +59880,7 @@ name=Lightning Surge target=anytarget flashback={5}{R}{R} auto=if type(*|mygraveyard)~lessthan~7 then damage:4 -auto=if type(*|mygraveyard)~morethan~6 then damage:6 +auto=_THRESHOLD_ damage:6 text=Lightning Surge deals 4 damage to target creature or player. -- Threshold - If seven or more cards are in your graveyard, instead Lightning Surge deals 6 damage to that creature or player and the damage can't be prevented. -- Flashback {5}{R}{R} (You may cast this card from your graveyard for its flashback cost. Then exile it.) mana={3}{R}{R} type=Sorcery @@ -60002,8 +60004,7 @@ type=Enchantment name=Liliana's Scorn target=creature auto=destroy -auto=choice name(Search Library) may moveto(ownerHand) target(Liliana^ Death Mage|myLibrary) && shuffle -auto=choice name(Search Graveyard) may moveto(ownerHand) target(Liliana^ Death Mage|myGraveyard) +auto=may name(Search library or graveyard) moveto(ownerHand) target(Liliana^ Death Mage|myLibrary,myGraveyard) text=Destroy target creature. You may search your library and/or graveyard for a card named Liliana, Death Mage, reveal it, and put it into your hand. If you search your library this way, shuffle it. mana={3}{B}{B} type=Sorcery @@ -61823,7 +61824,7 @@ type=Artifact name=Luxurious Libation target=creature auto=X/X -auto=create(Citizen:creature Citizen:1/1:green:white) +auto=_CITIZENTOKEN_ text=Target creature gets +X/+X until end of turn. Create a 1/1 green and white Citizen creature token. mana={X}{G} type=Instant @@ -64555,7 +64556,7 @@ toughness=4 [card] name=Meria, Scholar of Antiquity auto={T(artifact[-token]|mybattlefield)}:add {g} -auto={T(artifact[-token]|mybattlefield)}{T(artifact[-token]|mybattlefield)}:__PLAY_TOP_FROM_EXILE__ +auto={T(artifact[-token]|mybattlefield)}{T(artifact[-token]|mybattlefield)}:_EXILETOP_ text=Tap an untapped nontoken artifact you control: Add {G}. -- Tap two untapped nontoken artifacts you control: Exile the top card of your library. You may play it this turn. mana={1}{R}{G} type=Legendary Creature @@ -66495,7 +66496,7 @@ toughness=4 [card] name=Mocking Doppelganger abilities=flash -auto=may name(Clone a creature) target(creature|opponentBattlefield) clone and!( transforms((,newability[lord(other creature[share!name!]|battlefield) transforms((,newability[counter(0/0.1.Goaded)],newability[this(counter{0/0.1.Goaded}>0) mustattack]))])) forever )! +auto=may target(creature|opponentBattlefield) copy and!( transforms((,newability[lord(other creature[share!name!]|battlefield) transforms((,newability[counter(0/0.1.Goaded)],newability[this(counter{0/0.1.Goaded}>0) mustattack]))])) forever )! text=Flash -- You may have Mocking Doppelganger enter the battlefield as a copy of a creature an opponent controls, except it has "Other creatures with the same name as this creature are goaded." (They attack each combat if able and attack a player other than you if able.) mana={3}{U} type=Creature @@ -69363,7 +69364,7 @@ type=Enchantment [/card] [card] name=Nested Shambler -auto=_DIES_token(Squirrel,Creature Squirrel,1/1,green)*power and!( tap(noevent) )! +auto=_DIES__SQUIRRELTOKEN_*power and!( tap(noevent) )! text=When Nested Shambler dies, create X tapped 1/1 green Squirrel creature tokens, where X is Nested Shambler's power. mana={B} type=Creature @@ -70167,8 +70168,8 @@ toughness=1 [/card] [card] name=Nimble Trapfinder -auto=if thisturn(creature[cleric;rogue;warrior;wizard]|mybattlefield)~morethan~1 then transforms((,newability[unblockable])) ueot -auto=@movedTo(other creature[cleric;rogue;warrior;wizard]|myBattlefield):all(this) transforms((,newability[unblockable])) ueot +auto=if thisturn(creature[cleric;rogue;warrior;wizard]|mybattlefield)~morethan~1 then transforms((,unblockable)) ueot +auto=@movedTo(other creature[cleric;rogue;warrior;wizard]|myBattlefield):all(this) transforms((,unblockable)) ueot auto=@each my combatbegins:if compare(calculateparty)~equalto~4 then name(creatures get draw card on damage) name(creatures get draw card on damage) all(creature|myBattlefield) transforms((,newability[@combatdamagefoeof(player) from(this):draw:1 controller],newability[@combatdamageof(player) from(this):draw:1 controller])) ueot text=Nimble Trapfinder can't be blocked if you had another Cleric, Rogue, Warrior, or Wizard enter the battlefield under your control this turn. -- At the beginning of combat on your turn, if you have a full party, creatures you control gain "Whenever this creature deals combat damage to a player, draw a card" until end of turn. mana={1}{U} @@ -70230,7 +70231,7 @@ toughness=4 [/card] [card] name=Nimrodel Watcher -auto=@scryed(*|myzones) turnlimited:name(Gain 1/0 and unblockable) transforms((,newability[1/0],newability[unblockable])) ueot +auto=@scryed(*|myzones) turnlimited:name(Gain 1/0 and unblockable) transforms((,newability[1/0],unblockable)) ueot text=Whenever you scry, Nimrodel Watcher gets +1/+0 until end of turn and can't be blocked this turn. This ability triggers only once each turn. mana={1}{U} type=Creature @@ -70296,7 +70297,7 @@ subtype=Equipment [card] name=Nira, Hellkite Duelist abilities=flash,flying,trample,haste -auto=transforms((,newability[cantlose],newability[@lifelostof(player) once:if compare(lifetotal)~lessthan~5 then lifeset:5 controller && draw:3 controller])) ueot +auto=transforms((,cantlose,newability[@lifelostof(player) once:if compare(lifetotal)~lessthan~5 then lifeset:5 controller && draw:3 controller])) ueot text=Flash -- Flying, trample, haste -- When Nira, Hellkite Duelist enters the battlefield, the next time you would lose the game this turn, instead draw three cards and your life total becomes 5. mana={W}{U}{B}{R}{G} type=Legendary Creature @@ -70626,9 +70627,7 @@ toughness=3 [/card] [card] name=Notion Rain -#aicode=activate transforms((,newability[surveil],newability[draw:2 controller],newability[damage:2 controller])) oneshot -#auto=name(surveil 2) reveal:psurveiloffsetplus2plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed damage:2 controller && draw:2 controller && surveil afterrevealedend revealend -auto=_SURVEIL2_ && draw:2 && damage:2 controller +auto=name(Surveil 2) reveal:psurveiloffsetplus2plusend optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed all(*[zpos=1]|mylibrary) transforms((,newability[draw:2 && damage:2 controller])) oneshot afterrevealedend revealend text=Surveil 2, then draw two cards. Notion Rain deals 2 damage to you. (To surveil 2, look at the top two cards of your library, then put any number of them into your graveyard and the rest on top of your library in any order.) mana={1}{U}{B} type=Sorcery @@ -72825,7 +72824,7 @@ toughness=5 [/card] [card] name=Oracle's Vault -auto={2}{T}{counter(0/0,1,brick)}:__PLAY_TOP_FROM_EXILE__ +auto={2}{T}{counter(0/0,1,brick)}:_EXILETOP_ auto=this(counter{0/0.3.brick}) {T}:moveto(exile) and!( transforms((,zerocast,canplayfromexile)) ueot )! all(*[zpos=1]|mylibrary) text={2}, {T}: Exile the top card of your library. Until end of turn, you may play that card. Put a brick counter on Oracle's Vault. -- {T}: Exile the top card of your library. Until end of turn, you may play that card without paying its mana cost. Activate this ability only if there are three or more brick counters on Oracle's Vault. mana={4} @@ -73630,7 +73629,7 @@ type=Sorcery name=Outpost Siege auto=choice name(Khans) transforms((,newability[counter(0/0.1.Khans)])) forever auto=choice name(Dragons) transforms((,newability[counter(0/0.1.Dragons)])) forever -auto=@each my upkeep:this(counter{0/0.1.Khans}>=1) __PLAY_TOP_FROM_EXILE__ +auto=@each my upkeep:this(counter{0/0.1.Khans}>=1) _EXILETOP_ auto=@movedto(creature|nonbattlezone) from(mybattlefield):this(counter{0/0.1.Dragons}>=1) damage:1 target(anytarget) text=As Outpost Siege enters the battlefield, choose Khans or Dragons. -- Khans -- At the beginning of your upkeep, exile the top card of your library. Until end of turn, you may play that card. -- Dragons -- Whenever a creature you control leaves the battlefield, Outpost Siege deals 1 damage to any target. mana={3}{R} @@ -78256,7 +78255,7 @@ toughness=3 name=Professional Face-Breaker abilities=menace auto=@each my combatdamage restriction{opponentdamagedbycombat}:token(Treasure) -auto={S(*[Treasure]|myBattlefield)}:__PLAY_TOP_FROM_EXILE__ +auto={S(*[Treasure]|myBattlefield)}:_EXILETOP_ text=Menace -- Whenever one or more creatures you control deal combat damage to a player, create a Treasure token. -- Sacrifice a Treasure: Exile the top card of your library. You may play that card this turn. mana={2}{R} type=Creature @@ -78439,7 +78438,7 @@ toughness=1 [/card] [card] name=Prosperous Partnership -auto=create(citizen:creature citizen:1/1:green:white)*2 +auto=_CITIZENTOKEN_*2 auto={T(creature[-tapped]|myBattlefield)}{T(creature[-tapped]|myBattlefield)}{T(creature[-tapped]|myBattlefield)}:token(Treasure) text=When Prosperous Partnership enters the battlefield, create two 1/1 green and white Citizen creature tokens. -- Tap three untapped creatures you control: Create a Treasure token. mana={1}{R}{W} @@ -80428,6 +80427,7 @@ toughness=6 name=Ral's Dispersal target=creature auto=moveTo(ownerHand) +auto=may name(Search library or graveyard) moveto(ownerHand) target(Ral^ Caller of Storms|myLibrary,myGraveyard) text=Return target creature to its owner's hand. You may search your library and/or graveyard for a card named Ral, Caller of Storms, reveal it, and put it into your hand. If you search your library this way, shuffle it. mana={3}{U}{U} type=Instant @@ -83770,7 +83770,7 @@ type=Enchantment name=Rhythmic Water Vortex target=creature auto=moveTo(ownerhand) -auto=may moveto(ownerHand) target(Mu Yanling|mylibrary,mygraveyard) && shuffle +auto=may moveto(ownerHand) target(Mu Yanling|mylibrary,mygraveyard) text=Return up to two target creatures to their owner's hand. -- Search your library and/or graveyard for a card named Mu Yanling, reveal it, and put it into your hand. If you searched your library this way, shuffle it. mana={3}{U}{U} type=Sorcery @@ -88155,7 +88155,7 @@ type=Sorcery [card] name=Savage Summoning abilities=nofizzle -auto=name(Choose a creature) target(creature|myrestrictedcastingzone) transforms((,newability[asflash])) ueot +auto=name(Choose a creature) target(creature|myrestrictedcastingzone) transforms((,asflash)) ueot auto=emblem transforms((,newability[@movedto(creature|mystack) turnlimited:all(trigger[to]) transforms((,newability[nofizzle])) oneshot],newability[@movedto(creature|mybattlefield) turnlimited:all(trigger[to]) counter(1/1)])) ueot text=Savage Summoning can't be countered. -- The next creature card you cast this turn can be cast as though it had flash. That spell can't be countered. That creature enters the battlefield with an additional +1/+1 counter on it. mana={G} @@ -88626,7 +88626,7 @@ type=Instant name=Scepter of Celebration auto=teach(creature) 2/0 auto=teach(creature) trample -auto=@damaged(player) from(mytgt):name(Create Citizen) create(citizen:creature citizen:1/1:green:white)*thatmuch +auto=@damaged(player) from(mytgt):name(Create Citizen) _CITIZENTOKEN_*thatmuch auto={3}:equip text=Equipped creature gets +2/+0 and has trample. -- Whenever equipped creature deals combat damage to a player, create that many 1/1 green and white Citizen creature tokens. -- Equip {3} mana={2}{G} @@ -89258,7 +89258,7 @@ toughness=3 [card] name=Scurry Oak auto=evolve -auto=@counteradded(1/1) from(this):may name(Create squirrel) token(Squirrel,Creature Squirrel,1/1,green) +auto=@counteradded(1/1) from(this):may name(Create squirrel) _SQUIRRELTOKEN_ text=Evolve (Whenever a creature enters the battlefield under your control, if that creature has greater power or toughness than this creature, put a +1/+1 counter on this creature.) -- Whenever one or more +1/+1 counters are put on Scurry Oak, you may create a 1/1 green Squirrel creature token. mana={2}{G} type=Creature @@ -89468,11 +89468,11 @@ toughness=3 [/card] [card] name=Seafloor Stalker -auto={4}{U}:transforms((,newability[1/0],newability[unblockable])) ueot restriction{compare(calculateparty)~equalto~0} -auto={3}{U}:transforms((,newability[1/0],newability[unblockable])) ueot restriction{compare(calculateparty)~equalto~1} -auto={2}{U}:transforms((,newability[1/0],newability[unblockable])) ueot restriction{compare(calculateparty)~equalto~2} -auto={1}{U}:transforms((,newability[1/0],newability[unblockable])) ueot restriction{compare(calculateparty)~equalto~3} -auto={U}:transforms((,newability[1/0],newability[unblockable])) ueot restriction{compare(calculateparty)~equalto~4} +auto={4}{U}:transforms((,newability[1/0],unblockable)) ueot restriction{compare(calculateparty)~equalto~0} +auto={3}{U}:transforms((,newability[1/0],unblockable)) ueot restriction{compare(calculateparty)~equalto~1} +auto={2}{U}:transforms((,newability[1/0],unblockable)) ueot restriction{compare(calculateparty)~equalto~2} +auto={1}{U}:transforms((,newability[1/0],unblockable)) ueot restriction{compare(calculateparty)~equalto~3} +auto={U}:transforms((,newability[1/0],unblockable)) ueot restriction{compare(calculateparty)~equalto~4} text={4}{U}: Seafloor Stalker gets +1/+0 until end of turn and can't be blocked this turn. This ability costs {1} less to activate for each creature in your party. (Your party consists of up to one each of Cleric, Rogue, Warrior, and Wizard.) mana={2}{U} type=Creature @@ -90768,7 +90768,7 @@ type=Sorcery name=Settle the Wilds auto=name(Seek basic land) moverandom(land[basic]) from(mylibrary) to(myhand) and!( transforms((,newability[name(Seek a permanent) moverandom(*[-instant;-sorcery;manacost=type:land:mybattlefield]) from(mylibrary) to(myhand)])) oneshot )! text=Seek a basic land card and put it onto the battlefield tapped. Then seek a permanent card with mana value equal to the number of lands you control. -mana={1}{G}{G} +mana={2}{G} type=Sorcery [/card] [card] @@ -91793,7 +91793,7 @@ name=Shilgengar, Sire of Famine abilities=flying auto={S(other creature[Angel]|mybattlefield)}:name(sacrifice angel) create(blood)*storedtoughness restriction{type(other creature[Angel]|mybattlefield)~morethan~0} auto={S(other creature[-Angel]|mybattlefield)}:create(blood) restriction{type(other creature[-Angel]|mybattlefield)~morethan~0} -auto={WB}{WB}{WB}{S(*[blood]|mybattlefield)}{S(*[blood]|mybattlefield)}{S(*[blood]|mybattlefield)}{S(*[blood]|mybattlefield)}{S(*[blood]|mybattlefield)}{S(*[blood]|mybattlefield)} restriction{type(*[blood]|mybattlefield)~morethan~5}:all(creature|mygraveyard) moveto(battlefield) and!(transforms((Vampire,newability[counter(0/0.1.finality)],newability[this(counter{0/0.1.finality}>=1) exiledeath])) forever)! +auto={WB}{WB}{WB}{S(*[blood]|mybattlefield)}{S(*[blood]|mybattlefield)}{S(*[blood]|mybattlefield)}{S(*[blood]|mybattlefield)}{S(*[blood]|mybattlefield)}{S(*[blood]|mybattlefield)} restriction{type(*[blood]|mybattlefield)~morethan~5}:all(creature|mygraveyard) moveto(battlefield) and!(transforms((Vampire,newability[counter(0/0.1.finality)],newability[this(counter{0/0.1.finality}>=1) exiledeath])) forever )! text=Flying -- Sacrifice another creature: Create a Blood token. If you sacrificed an Angel this way, create a number of Blood tokens equal to its toughness instead. -- {W/B}{W/B}{W/B}, Sacrifice six Blood tokens: Return each creature card from your graveyard to the battlefield with a finality counter on it. Those creatures are Vampires in addition to their other types. mana={3}{B}{B} type=Legendary Creature @@ -94811,7 +94811,7 @@ type=Instant name=Slippery Scoundrel auto=_ASCEND_ auto=@movedTo(*|myBattlefield) restriction{type(City's Blessing|mybattlefield)~equalto~0}:_ASCEND_ -auto=_CITY'S_BLESSING_ transforms((,newability[unblockable],hexproof)) +auto=_CITY'S_BLESSING_ transforms((,unblockable,hexproof)) text=Ascend (If you control ten or more permanents, you get the city's blessing for the rest of the game.) -- As long as you have the city's blessing, Slippery Scoundrel has hexproof and can't be blocked. mana={2}{U} type=Creature @@ -96808,7 +96808,7 @@ toughness=3 [/card] [card] name=Specimen Collector -auto=token(Squirrel,Creature Squirrel,1/1,green) +auto=_SQUIRRELTOKEN_ auto=name(Create crab) token(Crab) auto=_DIES_name(Copy token) clone target(*[token]|mybattlefield) text=When Specimen Collector enters the battlefield, create a 1/1 green Squirrel creature token and a 0/3 blue Crab creature token. -- When Specimen Collector dies, create a token that's a copy of target token you control. @@ -98289,7 +98289,7 @@ color=green [/card] [card] name=Squirrel Sanctuary -auto=token(Squirrel,Creature Squirrel,1/1,green) +auto=_SQUIRRELTOKEN_ auto=@movedto(graveyard) from(creature[-token]|myBattlefield):pay({1}) name(Pay 1 and return to hand) moveTo(ownerhand) text=When Squirrel Sanctuary enters the battlefield, create a 1/1 green Squirrel creature token. -- Whenever a nontoken creature you control dies, you may pay {1}. If you do, return Squirrel Sanctuary to its owner's hand. mana={G} @@ -99066,7 +99066,7 @@ toughness=2 [card] name=Stimulus Package auto=token(Treasure)*2 -auto={S(*[Treasure]|myBattlefield)}:create(citizen:creature citizen:1/1:green,white) +auto={S(*[Treasure]|myBattlefield)}:_CITIZENTOKEN_ text=When Stimulus Package enters the battlefield, create two Treasure tokens. (They're artifacts with "{T}, Sacrifice this artifact: Add one mana of any color.") -- Sacrifice a Treasure: Create a 1/1 green and white Citizen creature token. mana={2}{R}{G} type=Enchantment @@ -100541,7 +100541,7 @@ auto=if paid(flashback) then if type(*|mygraveyard)~morethan~2 then if type(army auto=if paid(flashback) then if type(*|mygraveyard)~morethan~3 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 4 cards) name(Exile 4 cards) name(Exile 4 cards) name(Exile 4 cards) activate castcard(copied noevent alternative costx!:4:! named!:Summons of Saruman:!) and!( ability$!name(Exile 4 cards) target(<4>*|mygraveyard) moveto(myexile)!$ controller )! auto=if paid(flashback) then if type(*|mygraveyard)~morethan~4 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 5 cards) name(Exile 5 cards) name(Exile 5 cards) name(Exile 5 cards) activate castcard(copied noevent alternative costx!:5:! named!:Summons of Saruman:!) and!( ability$!name(Exile 5 cards) target(<5>*|mygraveyard) moveto(myexile)!$ controller )! auto=if paid(flashback) then if type(*|mygraveyard)~morethan~5 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 6 cards) name(Exile 6 cards) name(Exile 6 cards) name(Exile 6 cards) activate castcard(copied noevent alternative costx!:6:! named!:Summons of Saruman:!) and!( ability$!name(Exile 6 cards) target(<6>*|mygraveyard) moveto(myexile)!$ controller )! -auto=if paid(flashback) then if type(*|mygraveyard)~morethan~6 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 7 cards) name(Exile 7 cards) name(Exile 7 cards) name(Exile 7 cards) activate castcard(copied noevent alternative costx!:7:! named!:Summons of Saruman:!) and!( ability$!name(Exile 7 cards) target(<7>*|mygraveyard) moveto(myexile)!$ controller )! +auto=if paid(flashback) then _THRESHOLD_ if type(army|mybattlefield)~morethan~0 then choice name(Exile 7 cards) name(Exile 7 cards) name(Exile 7 cards) name(Exile 7 cards) activate castcard(copied noevent alternative costx!:7:! named!:Summons of Saruman:!) and!( ability$!name(Exile 7 cards) target(<7>*|mygraveyard) moveto(myexile)!$ controller )! auto=if paid(flashback) then if type(*|mygraveyard)~morethan~7 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 8 cards) name(Exile 8 cards) name(Exile 8 cards) name(Exile 8 cards) activate castcard(copied noevent alternative costx!:8:! named!:Summons of Saruman:!) and!( ability$!name(Exile 8 cards) target(<8>*|mygraveyard) moveto(myexile)!$ controller )! auto=if paid(flashback) then if type(*|mygraveyard)~morethan~8 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 9 cards) name(Exile 9 cards) name(Exile 9 cards) name(Exile 9 cards) activate castcard(copied noevent alternative costx!:9:! named!:Summons of Saruman:!) and!( ability$!name(Exile 9 cards) target(<9>*|mygraveyard) moveto(myexile)!$ controller )! auto=if paid(flashback) then if type(*|mygraveyard)~morethan~9 then if type(army|mybattlefield)~morethan~0 then choice name(Exile 10 cards) name(Exile 10 cards) name(Exile 10 cards) name(Exile 10 cards) activate castcard(copied noevent alternative costx!:10:! named!:Summons of Saruman:!) and!( ability$!name(Exile 10 cards) target(<10>*|mygraveyard) moveto(myexile)!$ controller )! @@ -100561,7 +100561,7 @@ auto=if paid(flashback) then if type(*|mygraveyard)~morethan~2 then if type(army auto=if paid(flashback) then if type(*|mygraveyard)~morethan~3 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 4 cards) name(Exile 4 cards) name(Exile 4 cards) name(Exile 4 cards) activate castcard(copied noevent costx!:4:! named!:Summons of Saruman:!) and!( ability$!name(Exile 4 cards) target(<4>*|mygraveyard) moveto(myexile)!$ controller )! auto=if paid(flashback) then if type(*|mygraveyard)~morethan~4 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 5 cards) name(Exile 5 cards) name(Exile 5 cards) name(Exile 5 cards) activate castcard(copied noevent costx!:5:! named!:Summons of Saruman:!) and!( ability$!name(Exile 5 cards) target(<5>*|mygraveyard) moveto(myexile)!$ controller )! auto=if paid(flashback) then if type(*|mygraveyard)~morethan~5 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 6 cards) name(Exile 6 cards) name(Exile 6 cards) name(Exile 6 cards) activate castcard(copied noevent costx!:6:! named!:Summons of Saruman:!) and!( ability$!name(Exile 6 cards) target(<6>*|mygraveyard) moveto(myexile)!$ controller )! -auto=if paid(flashback) then if type(*|mygraveyard)~morethan~6 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 7 cards) name(Exile 7 cards) name(Exile 7 cards) name(Exile 7 cards) activate castcard(copied noevent costx!:7:! named!:Summons of Saruman:!) and!( ability$!name(Exile 7 cards) target(<7>*|mygraveyard) moveto(myexile)!$ controller )! +auto=if paid(flashback) then _THRESHOLD_ if type(army|mybattlefield)~equalto~0 then choice name(Exile 7 cards) name(Exile 7 cards) name(Exile 7 cards) name(Exile 7 cards) activate castcard(copied noevent costx!:7:! named!:Summons of Saruman:!) and!( ability$!name(Exile 7 cards) target(<7>*|mygraveyard) moveto(myexile)!$ controller )! auto=if paid(flashback) then if type(*|mygraveyard)~morethan~7 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 8 cards) name(Exile 8 cards) name(Exile 8 cards) name(Exile 8 cards) activate castcard(copied noevent costx!:8:! named!:Summons of Saruman:!) and!( ability$!name(Exile 8 cards) target(<8>*|mygraveyard) moveto(myexile)!$ controller )! auto=if paid(flashback) then if type(*|mygraveyard)~morethan~8 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 9 cards) name(Exile 9 cards) name(Exile 9 cards) name(Exile 9 cards) activate castcard(copied noevent costx!:9:! named!:Summons of Saruman:!) and!( ability$!name(Exile 9 cards) target(<9>*|mygraveyard) moveto(myexile)!$ controller )! auto=if paid(flashback) then if type(*|mygraveyard)~morethan~9 then if type(army|mybattlefield)~equalto~0 then choice name(Exile 10 cards) name(Exile 10 cards) name(Exile 10 cards) name(Exile 10 cards) activate castcard(copied noevent costx!:10:! named!:Summons of Saruman:!) and!( ability$!name(Exile 10 cards) target(<10>*|mygraveyard) moveto(myexile)!$ controller )! @@ -101024,7 +101024,7 @@ toughness=3 [card] name=Surge Engine abilities=defender -auto={U}:transforms((,newability[-defender],newability[unblockable])) forever +auto={U}:transforms((,newability[-defender],unblockable)) forever auto=this(cantargetcard(*[-defender]) {2}{U}:name(blue and 5/4) name(blue and 5/4) becomes(,5/4,blue) forever auto=this(cantargetcard(*[blue;-effect]) {4}{U}{U}:draw:3 && becomes(effect) forever text=Defender -- {U}: Surge Engine loses defender and gains "This creature can't be blocked." -- {2}{U}: Surge Engine becomes blue and has base power and toughness 5/4. Activate only if Surge Engine doesn't have defender. -- {4}{U}{U}: Draw three cards. Activate only if Surge Engine is blue and only once. @@ -101551,7 +101551,7 @@ toughness=2 [/card] [card] name=Sword Coast Sailor -auto=lord(creature[iscommander]|mybattlefield) transforms((,newability[unblockable])) +auto=lord(creature[iscommander]|mybattlefield) transforms((,unblockable)) text=Commander creatures you own have "Whenever this creature attacks a player, if no opponent has more life than that player, this creature can't be blocked this turn." mana={1}{U} type=Legendary Enchantment @@ -101564,8 +101564,8 @@ restriction=can play creature other={1}{U} name(Adventure) auto=if paid(alternative) then may name(Return creature) name(Return creature) target(creature|battlefield) moveto(ownerhand) auto=if paid(alternative) then _ADVENTURE_ -auto=ifnot paid(alternative) then if thisturn(*[-creature]|mystack)~morethan~0 then transforms((,newability[unblockable])) ueot -auto=@movedTo(*[-creature]|mystack) turnlimited:name(Becomes unblockable) transforms((,newability[unblockable])) ueot +auto=ifnot paid(alternative) then if thisturn(*[-creature]|mystack)~morethan~0 then transforms((,unblockable)) ueot +auto=@movedTo(*[-creature]|mystack) turnlimited:name(Becomes unblockable) transforms((,unblockable)) ueot text=Sword Coast Serpent can't be blocked as long as you've cast a noncreature spell this turn. // Return target creature to its owner's hand. (Then exile this card. You may cast the creature later from exile.) mana={5}{U}{U} type=Creature @@ -102099,6 +102099,7 @@ toughness=2 name=Szat's Will auto=choice name(Sacrifice creature):ability$!name(Sacrifice) sacrifice notatarget(creature[power=power:highest:creature:myBattlefield]|mybattlefield)!$ opponent auto=choice name(Exile all cards):token(Thrull,Creature Thrull,0/1,black)*power:highest:creature:opponentGraveyard and!( moveTo(exile) all(*|opponentgraveyard) )! +auto=if type(*[iscommander]|mybattlefield)~morethan~0 then choice name(Choose both) name(Choose both) token(Thrull,Creature Thrull,0/1,black)*power:highest:creature:opponentGraveyard and!( moveTo(exile) all(*|opponentgraveyard) )! && ability$!name(Sacrifice) sacrifice notatarget(creature[power=power:highest:creature:myBattlefield]|mybattlefield)!$ opponent text=Choose one. If you control a commander as you cast this spell, you may choose both. -- Each opponent sacrifices a creature they control with the greatest power. -- Exile all cards from all opponents' graveyards, then create X 0/1 black Thrull creature tokens, where X is the greatest power among creature cards exiled this way. mana={4}{B} type=Instant @@ -103356,8 +103357,7 @@ type=Enchantment [card] name=Teferi's Wavecaster abilities=flash -auto=choice name(Search Library) may moveto(ownerHand) target(Teferi^ Timeless Voyager|myLibrary) && shuffle -auto=choice name(Search Graveyard) may moveto(ownerHand) target(Teferi^ Timeless Voyager|myGraveyard) +auto=may name(Search library or graveyard) moveto(ownerHand) target(Teferi^ Timeless Voyager|myLibrary,myGraveyard) text=Flash -- When Teferi's Wavecaster enters the battlefield, you may search your library and/or graveyard for a card named Teferi, Timeless Voyager, reveal it, and put it into your hand. If you search your library this way, shuffle it. mana={3}{U}{U} type=Creature @@ -103417,7 +103417,7 @@ type=Enchantment [/card] [card] name=Temmet, Vizier of Naktamun -auto=@each my combatbegins:target(creature[token]|mybattlefield) transforms((,newability[1/1],newability[unblockable])) ueot +auto=@each my combatbegins:target(creature[token]|mybattlefield) transforms((,newability[1/1],unblockable)) ueot autograveyard={3}{W}{U}{E}:name(Embalm) clone and!( transforms((Zombie,removemc,white)) forever )! asSorcery text=At the beginning of combat on your turn, target creature token you control gets +1/+1 until end of turn and can't be blocked this turn. -- Embalm {3}{W}{U} ({3}{W}{U}, Exile this card from your graveyard: Create a token that's a copy of it, except it's a white Zombie Human Cleric with no mana cost. Embalm only as a sorcery.) mana={W}{U} @@ -104061,7 +104061,7 @@ toughness=3 name=Tezzeret's Betrayal target=creature auto=destroy -auto=choice name(Search Library) may moveto(ownerHand) target(Tezzeret^ Master of Metal|myLibrary) && shuffle +auto=choice name(Search Library) may moveto(ownerHand) target(Tezzeret^ Master of Metal|myLibrary) auto=choice name(Search Graveyard) may moveto(ownerHand) target(Tezzeret^ Master of Metal|myGraveyard) text=Destroy target creature. You may search your library and/or graveyard for a card named Tezzeret, Master of Metal, reveal it, and put it into your hand. If you search your library this way, shuffle it. mana={3}{U}{B} @@ -104418,9 +104418,9 @@ name=The Black Gate auto=tap(noevent) auto=may name(Pay 3 life) pay({L:3}) name(Pay 3 life) untap auto={T}:add{B} -auto={1}{B}{T} restriction{compare(lifetotal)~lessthan~compare(opponentlifetotal)}:name(Target creature can't be blocked) name(Target creature can't be blocked) target(creature|mybattlefield) transforms((,newability[unblockable])) ueot -auto={1}{B}{T} restriction{compare(lifetotal)~equalto~compare(opponentlifetotal)}:name(Target creature can't be blocked) name(Target creature can't be blocked) target(creature|battlefield) transforms((,newability[unblockable])) ueot -auto={1}{B}{T} restriction{compare(lifetotal)~morethan~compare(opponentlifetotal)}:name(Target creature can't be blocked) name(Target creature can't be blocked) target(creature|opponentbattlefield) transforms((,newability[unblockable])) ueot +auto={1}{B}{T} restriction{compare(lifetotal)~lessthan~compare(opponentlifetotal)}:name(Target creature can't be blocked) name(Target creature can't be blocked) target(creature|mybattlefield) transforms((,unblockable)) ueot +auto={1}{B}{T} restriction{compare(lifetotal)~equalto~compare(opponentlifetotal)}:name(Target creature can't be blocked) name(Target creature can't be blocked) target(creature|battlefield) transforms((,unblockable)) ueot +auto={1}{B}{T} restriction{compare(lifetotal)~morethan~compare(opponentlifetotal)}:name(Target creature can't be blocked) name(Target creature can't be blocked) target(creature|opponentbattlefield) transforms((,unblockable)) ueot text=As The Black Gate enters the battlefield, you may pay 3 life. If you don't, it enters the battlefield tapped. -- {T}: Add {B}. -- {1}{B}, {T}: Choose a player with the most life or tied for most life. Target creature can't be blocked by creatures that player controls this turn. type=Legendary Land subtype=Gate @@ -105012,7 +105012,7 @@ subtype=Saga [card] name=The Mightstone and Weakstone auto=choice name(Draw 2 cards) draw:2 controller -auto=if type(creature|battlefield)~morethan~0 then choice name(Creature gets -5/-5) name(Creature gets -5/-5) target(creature|battlefield) transforms((,newability[-5/-5])) ueot +auto=if type(creature|battlefield)~morethan~0 then choice name(Creature gets -5/-5) name(Creature gets -5/-5) target(creature|battlefield) -5/-5 ueot auto=this(variable{type:artifact:myrestrictedcastingzone}>0) {T}:name(Add mana) add{C}{C} text=When The Mightstone and Weakstone enters the battlefield, choose one -- Draw two cards. -- Target creature gets -5/-5 until end of turn. -- {T}: Add {C}{C}. This mana can't be spent to cast nonartifact spells. -- (Melds with Urza, Lord Protector.) mana={5} @@ -107070,7 +107070,7 @@ auto=choice name(Exile opponent graveyard and create bears) ability$!name(Exile auto=choice name(Exile your graveyard and create bears) ability$!name(Exile graveyard) all(*|mygraveyard) moveto(ownerexile) and!( life:1 controller )!!$ controller && ability$!name(Create bears) token(Bear,Creature Bear,2/2,green)*2!$ controller auto=choice name(Exile opponent graveyard and put counters) ability$!name(Exile graveyard) all(*|opponentgraveyard) moveto(ownerexile) and!( life:1 controller )!!$ controller && ability$!name(Put counters) all(creature|mybattlefield) counter(1/1,2)!$ controller auto=choice name(Exile your graveyard and put counters) ability$!name(Exile graveyard) all(*|mygraveyard) moveto(ownerexile) and!( life:1 controller )!!$ controller && ability$!name(Put counters) all(creature|mybattlefield) counter(1/1,2)!$ controller -auto=if type(land|mylibrary)~morethan~0 then choice name(Search lands and create bears) name(Search lands and create bears) target(land|mylibrary) moveto(mybattlefield) and!( tap(noevent) )! && ability$!name(Create bears) token(Bear,Creature Bear,2/2,green)*2!$ controller +auto=if type(land|mylibrary)~morethan~0 then choice name(Search lands and create bears) name(Search lands and create bears) target(land|mylibrary) moveto(mybattlefield) and!( tap(noevent) )! && ability$!name(Create bears) token(Bear,Creature Bear,2/2,green)!$ controller auto=if type(land|mylibrary)~equalto~0 then choice name(Search lands and create bears) name(Search lands and create bears) token(Bear,Creature Bear,2/2,green)*2 auto=if type(land|mylibrary)~morethan~0 then choice name(Search lands and put counters) target(land|mylibrary) moveto(mybattlefield) and!( tap(noevent) )! && ability$!name(Put counters) all(creature|mybattlefield) counter(1/1,2)!$ controller auto=if type(land|mylibrary)~equalto~0 then choice name(Search lands and put counters) all(creature|mybattlefield) counter(1/1,2) @@ -109833,7 +109833,7 @@ type=Artifact [card] name=Uchbenbak, the Great Mistake abilities=menace,vigilance -autograveyard={4}{U}{B} restriction{type(*[-instant;-sorcery]|myGraveyard)~morethan~7}:moveto(mybattlefield) and!( transforms((,newability[counter(0/0.1.finality)],newability[this(counter{0/0.1.finality}>=1) exiledeath]))) forever asSorcery +autograveyard={4}{U}{B} restriction{type(*[-instant;-sorcery]|myGraveyard)~morethan~7}:moveto(mybattlefield) _FINALITY_COUNTER_ asSorcery text=Vigilance, menace -- Descend 8 - {4}{U}{B}: Return Uchbenbak, the Great Mistake from your graveyard to the battlefield with a finality counter on it. Activate only if there are eight or more permanent cards in your graveyard and only as a sorcery. (If a creature with a finality counter on it would die, exile it instead.) mana={3}{U}{B} type=Legendary Creature @@ -110473,7 +110473,7 @@ type=Sorcery [/card] [card] name=Underworld Hermit -auto=token(Squirrel,Creature Squirrel,1/1,green)*type:manab:mybattlefield +auto=_SQUIRRELTOKEN_*type:manab:mybattlefield text=When Underworld Hermit enters the battlefield, create a number of 1/1 green Squirrel creature tokens equal to your devotion to black. (Each {B} in the mana costs of permanents you control counts toward your devotion to black.) mana={4}{B}{B} type=Creature @@ -112574,9 +112574,9 @@ toughness=0 [card] name=Verdant Command #Counter Loyalty ability not supported ATM. -auto=if type(*|graveyard)~morethan~0 then choice name(Create squirrels and exile card) name(Create squirrels and exile card) target(*|graveyard) moveto(exile) && token(Squirrel,Creature Squirrel,1/1,green)*2 and!( tap(noevent) )! -auto=choice name(Create squirrels and you gain life) life:3 controller && token(Squirrel,Creature Squirrel,1/1,green)*2 and!( tap(noevent) )! -auto=choice name(Create squirrels and opponent gains life) life:3 opponent && token(Squirrel,Creature Squirrel,1/1,green)*2 and!( tap(noevent) )! +auto=if type(*|graveyard)~morethan~0 then choice name(Create squirrels and exile card) name(Create squirrels and exile card) target(*|graveyard) moveto(exile) && _SQUIRRELTOKEN_*2 and!( tap(noevent) )! +auto=choice name(Create squirrels and you gain life) life:3 controller && _SQUIRRELTOKEN_*2 and!( tap(noevent) )! +auto=choice name(Create squirrels and opponent gains life) life:3 opponent && _SQUIRRELTOKEN_*2 and!( tap(noevent) )! auto=if type(*|graveyard)~morethan~0 then choice name(Exile card and you gain life) name(Exile card and you gain life) target(*|graveyard) moveto(exile) && life:3 controller auto=if type(*|graveyard)~morethan~0 then choice name(Exile card and opponent gains life) name(Exile card and opponent gains life) target(*|graveyard) moveto(exile) && life:3 opponent text=Choose two -- Target player creates two tapped 1/1 green Squirrel creature tokens. -- Counter target loyalty ability of a planeswalker. -- Exile target card from a graveyard. -- Target player gains 3 life. @@ -113422,7 +113422,7 @@ toughness=1 [/card] [card] name=Visage of Bolas -auto=may moveto(ownerHand) target(Nicol Bolas^ the Deceiver|mylibrary,mygraveyard) and!( shuffle )! +auto=may moveto(ownerHand) target(Nicol Bolas^ the Deceiver|mylibrary,mygraveyard) auto={T}:Add{U} auto={T}:Add{B} auto={T}:Add{R} @@ -114480,7 +114480,7 @@ toughness=2 [card] name=Vraska's Scorn auto=life:-4 opponent -auto=may name(Move Vraska, Scheming Gorgon to hand) name(Move Vraska, Scheming Gorgon to hand) target(Vraska^ Scheming Gorgon|mylibrary,mygraveyard) moveto(ownerHand) and!( shuffle )! +auto=may name(Move Vraska, Scheming Gorgon to hand) name(Move Vraska, Scheming Gorgon to hand) target(Vraska^ Scheming Gorgon|mylibrary,mygraveyard) moveto(ownerHand) text=Target opponent loses 4 life. You may search your library and/or graveyard for a card named Vraska, Scheming Gorgon, reveal it, and put it into your hand. If you search your library this way, shuffle it. mana={2}{B}{B} type=Sorcery @@ -114489,6 +114489,7 @@ type=Sorcery name=Vraska's Stoneglare target=creature auto=destroy +auto=may name(Search library or graveyard) moveto(ownerHand) target(Vraska^ Regal Gorgon|myLibrary,myGraveyard) text=Destroy target creature. You gain life equal to its toughness. You may search your library and/or graveyard for a card named Vraska, Regal Gorgon, reveal it, and put it into your hand. If you search your library this way, shuffle it. mana={4}{B}{G} type=Sorcery @@ -115777,7 +115778,7 @@ type=Enchantment [card] name=Wedding Invitation auto=name(Draw a card) draw:1 controller -auto={T}{S}:name(Creature gains unblockable) target(creature) transforms((,newability[unblockable],newability[this(cantargetcard(*[vampire]|*) lifelink]))) ueot +auto={T}{S}:name(Creature gains unblockable) target(creature) transforms((,unblockable,newability[this(cantargetcard(*[vampire]|*) lifelink]))) ueot text=When Wedding Invitation enters the battlefield, draw a card. -- {T}, Sacrifice Wedding Invitation: Target creature can't be blocked this turn. If it's a Vampire, it also gains lifelink until end of turn. mana={2} type=Artifact @@ -115813,7 +115814,7 @@ type=Sorcery name=Weight Advantage abilities=isconspiracy restriction=never -autocommandzone=lord(creature|myBattlefield) transforms((,newability[_ATTACKING_becomes(^t/t) ueot],newability[@combat(blocking) source(this):becomes(^t/t) ueot])) +autocommandzone=lord(creature|myBattlefield) combattoughness 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] @@ -117193,6 +117194,7 @@ type=Instant name=Wizard's Rockets auto=tap(noevent) auto=@movedto(this|graveyard) from(battlefield):name(Draw a card) draw:1 controller +auto={T}{S}:name(Just draw) name(Just draw) doNothing auto={1}{T}{S}:name(Add 1 mana) name(Add 1 mana) ability$!name(Choose one) choice name(Add white) add{W} _ choice name(Add black) add{B} _ choice name(Add green) add{G} _ choice name(Add blue) add{U} _ choice name(Add red) add{R}!$ controller auto={2}{T}{S}:name(Add 2 mana) name(Add 2 mana) thisforeach(variable{2}) ability$!name(Choose one) choice name(Add white) add{W} _ choice name(Add black) add{B} _ choice name(Add green) add{G} _ choice name(Add blue) add{U} _ choice name(Add red) add{R}!$ controller auto={3}{T}{S}:name(Add 3 mana) name(Add 3 mana) thisforeach(variable{3}) ability$!name(Choose one) choice name(Add white) add{W} _ choice name(Add black) add{B} _ choice name(Add green) add{G} _ choice name(Add blue) add{U} _ choice name(Add red) add{R}!$ controller @@ -117614,7 +117616,7 @@ toughness=6 [/card] [card] name=Wormhole Serpent -auto={3}{U}:name(Creature becomes unblockable) target(creature) transforms((,newability[unblockable])) ueot +auto={3}{U}:name(Creature becomes unblockable) target(creature) transforms((,unblockable)) ueot text={3}{U}: Target creature can't be blocked this turn. mana={4}{U} type=Creature @@ -118010,7 +118012,7 @@ toughness=5 [card] name=Yanling's Harbinger abilities=flying -auto=target(Mu Yanling^ Celestial Wind|mylibrary,mygraveyard) moveto(ownerHand) and!( shuffle )! +auto=may name(Search library or graveyard) moveto(ownerHand) target(Mu Yanling^ Celestial Wind|myLibrary,myGraveyard) text=Flying -- When Yanling's Harbinger enters the battlefield, you may search your library and/or graveyard for a card named Mu Yanling, Celestial Wind, reveal it, and put it into your hand. If you search your library this way, shuffle it. mana={3}{U}{U} type=Creature @@ -118308,7 +118310,7 @@ type=Instant [card] name=You Come to a River auto=choice name(Return non-land permanent) target(*[-land]|battlefield) moveTo(ownerhand) -auto=choice name(Creature gets 1/0) target(creature|battlefield) transforms((,newability[1/0],newability[unblockable])) ueot +auto=choice name(Creature gets 1/0) target(creature|battlefield) transforms((,newability[1/0],unblockable)) ueot text=Choose one -- Fight the Current - Return target nonland permanent top its owner's hand. -- Find a Crossing - Target creature gets +1/+0 until end of turn and can't be blocked this turn. mana={1}{U} type=Instant @@ -118491,7 +118493,7 @@ toughness=2 [/card] [card] name=Yuan-Ti Malison -auto=@combat(attacking) source(this) restriction{type(creature[attacking]|myBattlefield)~equalto~1}:name(Becomes unblockable) transforms((,newability[unblockable])) ueot +auto=@combat(attacking) source(this) restriction{type(creature[attacking]|myBattlefield)~equalto~1}:name(Becomes unblockable) transforms((,unblockable)) ueot auto=@combatdamaged(player) from(this) restriction{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=Yuan-Ti Malison can't be blocked as long as it's attacking alone. -- Whenever Yuan-Ti Malison deals combat damage to a player, venture into the dungeon. (Enter the first room or advance to the next room.) mana={1}{U} diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index 0a5de55cb..7c1b5e693 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -711,15 +711,15 @@ toughness=1 [/card] [card] name=Acorn Catapult -auto={1}{T}:name(target creature or planeswalker) damage:1 target(creature,planeswalker) && create(Squirrel:Creature Squirrel:1/1:green) targetcontroller -auto={1}{T}:name(target player) damage:1 target(player) && create(Squirrel:Creature Squirrel:1/1:green) targetedplayer +auto={1}{T}:name(target creature or planeswalker) damage:1 target(creature,planeswalker) && _SQUIRRELTOKEN_ targetcontroller +auto={1}{T}:name(target player) damage:1 target(player) && _SQUIRRELTOKEN_ targetedplayer text={1}, {T}: Acorn Catapult deals 1 damage to any target. That creature's controller or that player puts a 1/1 green Squirrel creature token onto the battlefield. mana={4} type=Artifact [/card] [card] name=Acorn Harvest -auto=create(Squirrel:Creature Squirrel:1/1:green)*2 +auto=_SQUIRRELTOKEN_*2 flashback={L:3}{1}{G} text=Put two 1/1 green Squirrel creature tokens onto the battlefield. -- Flashback {1}{G}, Pay 3 life. (You may cast this card from your graveyard for its flashback cost. Then exile it.) mana={3}{G} @@ -2549,7 +2549,7 @@ type=Sorcery [card] name=Alchemist's Refuge auto={T}:Add{1} -auto={G}{U}{T}:name(nonland cards have flash) all(*[-land]|myhand,mygraveyard,myexile) transforms((,newability[asflash])) ueot +auto={G}{U}{T}:name(nonland cards have flash) all(*[-land]|myhand,mygraveyard,myexile) transforms((,asflash)) ueot text={T}: Add {1}. -- {G}{U}, {T}: You may cast nonland cards this turn as though they had flash. type=Land [/card] @@ -2798,11 +2798,11 @@ toughness=4 [/card] [card] name=Alloy Myr -auto={T}:Add{G} auto={T}:Add{W} auto={T}:Add{U} auto={T}:Add{B} auto={T}:Add{R} +auto={T}:Add{G} text={T}: Add one mana of any color. mana={3} type=Artifact Creature @@ -2927,7 +2927,7 @@ type=Sorcery [/card] [card] name=Altar Of Dementia -auto=aslongas(creature|mybattlefield) {S(creature|mybattlefield)}:name(deplete player) target(player) deplete:storedpower +auto=aslongas(creature|mybattlefield) {S(creature|mybattlefield)} restriction{compare(ishuman)~morethan~0}:name(deplete player) target(player) deplete:storedpower text=Sacrifice a creature: Target player puts a number of cards equal to the sacrificed creature's power from the top of their library into their graveyard. mana={2} type=Artifact @@ -7373,7 +7373,7 @@ toughness=2 name=Avacyn's Collar auto=teach(creature) 1/0 auto=teach(creature) vigilance -auto=teach(human) transforms((,newability[_DIES_token(Spirit Token)])) +auto=teach(human) transforms((,newability[_DIES__SPIRITTOKEN_])) auto={2}:equip text=Equipped creature gets +1/+0 and has vigilance. -- Whenever equipped creature dies, if it was a Human, put a 1/1 white Spirit creature token with flying onto the battlefield. -- Equip {2} mana={1} @@ -9431,7 +9431,7 @@ auto=while(restriction{attackersonly}) maxCast(*)0 controller auto=while(restriction{blockersonly}) maxCast(*)0 controller auto=while(restriction{combatdamageonly}) maxCast(*)0 controller auto=while(restriction{combatendsonly}) maxCast(*)0 controller -auto={r}:target(creature) mustattack +auto={R}:target(creature) mustattack text=Flying -- Players can't cast spells during combat. -- {R}: Target creature attacks this turn if able. mana={3}{R}{W} type=Legendary Creature @@ -11087,7 +11087,7 @@ type=Sorcery [card] name=Blade of the Bloodchief auto={1}:equip -auto=teach(creature) @movedto(creature|graveyard) from(battlefield):counter(1/1) && if cantargetcard(vampire) then counter(1/1) +auto=teach(creature) transforms((,newability[@movedto(creature|graveyard) from(battlefield):counter(1/1) && if cantargetcard(vampire) then counter(1/1)])) text=Whenever a creature dies, put a +1/+1 counter on equipped creature. If equipped creature is a Vampire, put two +1/+1 counters on it instead. -- Equip {1} mana={1} type=Artifact @@ -17953,7 +17953,7 @@ toughness=7 [card] name=Celestial Gatekeeper abilities=flying -auto=_DIES_target(bird,cleric|mygraveyard) moveto(mybattlefield) && shuffle +auto=_DIES_target(bird,cleric|mygraveyard) moveto(mybattlefield) autograveyard=_DIES_moveto(exile) text=Flying -- When Celestial Gatekeeper dies, exile it, then return up to two target Bird and/or Cleric permanent cards from your graveyard to the battlefield. mana={3}{W}{W} @@ -17996,11 +17996,11 @@ subtype=Aura [/card] [card] name=Celestial Prism -auto={2}{T}:Add{B} -auto={2}{T}:Add{U} -auto={2}{T}:Add{G} -auto={2}{T}:Add{R} auto={2}{T}:Add{W} +auto={2}{T}:Add{U} +auto={2}{T}:Add{B} +auto={2}{T}:Add{R} +auto={2}{T}:Add{G} text={2}, {T}: Add one mana of any color. mana={3} type=Artifact @@ -19175,7 +19175,7 @@ type=Instant [/card] [card] name=Chatter of the Squirrel -auto=token(Squirrel,creature squirrel, 1/1,green) +auto=_SQUIRRELTOKEN_ flashback={1}{G} text=Put a 1/1 green Squirrel creature token onto the battlefield. -- Flashback {1}{G} (You may cast this card from your graveyard for its flashback cost. Then exile it.) mana={G} @@ -28484,7 +28484,7 @@ subtype=Equipment [/card] [card] name=Demoralize -auto=if type(*|mygraveyard)~morethan~6 then all(creature) cantblock ueot +auto=_THRESHOLD_ all(creature) cantblock ueot auto=ifnot type(*|mygraveyard)~morethan~6 then all(creature) menace ueot text=Each creature can't be blocked this turn except by two or more creatures. -- Threshold - If seven or more cards are in your graveyard, creatures can't block this turn. mana={2}{R} @@ -28621,7 +28621,7 @@ toughness=1 [/card] [card] name=Deranged Hermit -auto=token(Squirrel,Creature Squirrel,1/1,green)*4 +auto=_SQUIRRELTOKEN_*4 auto=lord(squirrel) 1/1 auto=upcost[{3}{G}{G};next upkeep] sacrifice text=Echo {3}{G}{G} (At the beginning of your upkeep, if this came under your control since the beginning of your last upkeep, sacrifice it unless you pay its echo cost.) -- When Deranged Hermit enters the battlefield, put four 1/1 green Squirrel creature tokens onto the battlefield. -- Squirrel creatures get +1/+1. @@ -32665,7 +32665,7 @@ text={2}, {T}: Reveal the top card of your library. If it's a creature card, put [card] name=Druid's Call target=creature -auto=@damaged(mytgt):targetcontroller token(Squirrel,Creature Squirrel,1/1,green)*thatmuch +auto=@damaged(mytgt):targetcontroller _SQUIRRELTOKEN_*thatmuch text=Enchant creature -- Whenever enchanted creature is dealt damage, its controller puts that many 1/1 green Squirrel creature tokens onto the battlefield. mana={1}{G} type=Enchantment @@ -36580,7 +36580,7 @@ type=Enchantment [/card] [card] name=Epicenter -auto=if type(*|mygraveyard)~morethan~6 then sacrifice all(land) +auto=_THRESHOLD_ sacrifice all(land) auto=ifnot type(*|mygraveyard)~morethan~6 then target(player) ability$!name(sacrifice land) notatarget(land|mybattlefield) sacrifice!$ targetedplayer text=Target player sacrifices a land. -- Threshold - All players sacrifice all lands instead if seven or more cards are in your graveyard. mana={4}{R} @@ -39012,8 +39012,8 @@ type=Sorcery [/card] [card] name=Far Wanderings -aicode=activate transforms((,newability[if type(*|mygraveyard)~morethan~6 then moveto(mybattlefield) and!(tap(noevent))! target(<3>land[basic]|mylibrary)],newability[if type(*|mygraveyard)~lessthan~7 then moveto(mybattlefield) and!(tap(noevent))! target(land[basic]|mylibrary)])) ueot -auto=if type(*|mygraveyard)~morethan~6 then name(search card) reveal:plibrarycount optionone name(choose card) target(<3>land[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend +aicode=activate transforms((,newability[_THRESHOLD_ moveto(mybattlefield) and!(tap(noevent))! target(<3>land[basic]|mylibrary)],newability[if type(*|mygraveyard)~lessthan~7 then moveto(mybattlefield) and!(tap(noevent))! target(land[basic]|mylibrary)])) ueot +auto=_THRESHOLD_ name(search card) reveal:plibrarycount optionone name(choose card) target(<3>land[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend auto=if type(*|mygraveyard)~lessthan~7 then name(search card) reveal:plibrarycount optionone name(choose card) target(land[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend text=Search your library for a basic land card and put that card onto the battlefield tapped. Then shuffle. -- Threshold - If seven or more cards are in your graveyard, instead search your library for three basic land cards and put them onto the battlefield tapped. Then shuffle. mana={2}{G} @@ -40423,9 +40423,9 @@ toughness=4 [/card] [card] name=Figure of Destiny -auto={RW}:becomes(Kithkin Spirit,2/2) forever -auto=this(cantargetcard(*[spirit]) {RW}{RW}{RW}:becomes(Kithkin Spirit Warrior,4/4) forever ) auto=this(cantargetcard(*[warrior]) {RW}{RW}{RW}{RW}{RW}{RW}:becomes(Kithkin Spirit Warrior Avatar,8/8,flying,first strike) forever ) +auto=this(cantargetcard(*[spirit]) {RW}{RW}{RW}:becomes(Kithkin Spirit Warrior,4/4) forever ) +auto={RW}:becomes(Kithkin Spirit,2/2) forever text={RW}: Figure of Destiny becomes a 2/2 Kithkin Spirit. -- {RW}{RW}{RW}: If Figure of Destiny is a Spirit, it becomes a 4/4 Kithkin Spirit Warrior. -- {RW}{RW}{RW}{RW}{RW}{RW}: If Figure of Destiny is a Warrior, it becomes an 8/8 Kithkin Spirit Warrior Avatar with flying and first strike. mana={RW} type=Creature @@ -41046,7 +41046,7 @@ type=Instant [card] name=Fists of Ironwood target=creature -auto=token(Saproling,creature saproling, 1/1,green)*2 +auto=_SAPROLINGTOKEN_*2 auto=trample text=Enchant creature -- When Fists of Ironwood enters the battlefield, put two 1/1 green Saproling creature tokens onto the battlefield. -- Enchanted creature has trample. mana={1}{G} @@ -48893,7 +48893,7 @@ toughness=2 [/card] [card] name=Golgari Germination -auto=@movedto(graveyard) from(creature[-token]|myBattlefield):token(Saproling,creature saproling, 1/1,green) +auto=@movedto(graveyard) from(creature[-token]|myBattlefield):_SAPROLINGTOKEN_ text=Whenever a nontoken creature you control dies, put a 1/1 green Saproling creature token onto the battlefield. mana={1}{B}{G} type=Enchantment @@ -78805,7 +78805,7 @@ type=Artifact [/card] [card] name=Necrogenesis -auto={2}:moveTo(exile) target(creature|graveyard) && token(Saproling,creature saproling, 1/1,green) +auto={2}:moveTo(exile) target(creature|graveyard) && _SAPROLINGTOKEN_ text={2}: Exile target creature card from a graveyard. Put a 1/1 green Saproling creature token onto the battlefield. mana={B}{G} type=Enchantment @@ -81112,7 +81112,7 @@ toughness=1 [/card] [card] name=Nut Collector -auto=@each my upkeep:may token(Squirrel,creature squirrel, 1/1,green) +auto=@each my upkeep:may _SQUIRRELTOKEN_ auto=aslongas(*|mygraveyard) lord(squirrel) 2/2 >6 text=At the beginning of your upkeep, you may put a 1/1 green Squirrel creature token onto the battlefield. -- Threshold - Squirrel creatures get +2/+2 as long as seven or more cards are in your graveyard. mana={5}{G} @@ -86130,11 +86130,11 @@ subtype=Aura [/card] [card] name=Phyrexian Altar -auto=aslongas(creature|mybattlefield) {S(creature|myBattlefield)}:Add{W} restriction{compare(ishuman)~morethan~0} -auto=aslongas(creature|mybattlefield) {S(creature|myBattlefield)}:Add{U} restriction{compare(ishuman)~morethan~0} -auto=aslongas(creature|mybattlefield) {S(creature|myBattlefield)}:Add{B} restriction{compare(ishuman)~morethan~0} -auto=aslongas(creature|mybattlefield) {S(creature|myBattlefield)}:Add{R} restriction{compare(ishuman)~morethan~0} -auto=aslongas(creature|mybattlefield) {S(creature|myBattlefield)}:Add{G} restriction{compare(ishuman)~morethan~0} +auto=aslongas(creature|mybattlefield) {S(creature|myBattlefield)} restriction{compare(ishuman)~morethan~0}:Add{W} +auto=aslongas(creature|mybattlefield) {S(creature|myBattlefield)} restriction{compare(ishuman)~morethan~0}:Add{U} +auto=aslongas(creature|mybattlefield) {S(creature|myBattlefield)} restriction{compare(ishuman)~morethan~0}:Add{B} +auto=aslongas(creature|mybattlefield) {S(creature|myBattlefield)} restriction{compare(ishuman)~morethan~0}:Add{R} +auto=aslongas(creature|mybattlefield) {S(creature|myBattlefield)} restriction{compare(ishuman)~morethan~0}:Add{G} text=Sacrifice a creature: Add one mana of any color. mana={3} type=Artifact @@ -88521,7 +88521,7 @@ type=Instant name=Primal Clay auto=choice name(enter as 3/3) transforms((,setpower=3,settoughness=3)) forever auto=choice name(enter as 2/2 fly) transforms((,flying,setpower=2,settoughness=2)) forever -auto=choice name(enter as a wall) transforms((Wall,newability[defender],setpower=1,settoughness=6)) forever +auto=choice name(enter as a wall) transforms((Wall,defender,setpower=1,settoughness=6)) forever text=As Primal Clay enters the battlefield, it becomes your choice of a 3/3 artifact creature, a 2/2 artifact creature with flying, or a 1/6 Shapeshifter Wall artifact creature with defender. mana={4} type=Artifact Creature @@ -111614,14 +111614,6 @@ mana={3} type=Artifact [/card] [card] -name=Spirit Token -power=1 -toughness=1 -type=Creature -subtype=Spirit -color=white -[/card] -[card] name=Spirit Weaver auto={2}:0/1 target(creature[green;blue]) text={2}: Target green or blue creature gets +0/+1 until end of turn. @@ -111983,7 +111975,7 @@ type=Instant [/card] [card] name=Spontaneous Generation -auto=foreach(*|myhand) token(Saproling,creature saproling, 1/1,green) +auto=foreach(*|myhand) _SAPROLINGTOKEN_ text=Put a 1/1 green Saproling creature token onto the battlefield for each card in your hand. mana={3}{G} type=Sorcery @@ -112061,7 +112053,7 @@ toughness=5 [/card] [card] name=Sporemound -auto=_LANDFALL_token(Saproling,Creature Saproling, 1/1,green) +auto=_LANDFALL__SAPROLINGTOKEN_ text=Whenever a land enters the battlefield under your control, put a 1/1 green Saproling creature token onto the battlefield. mana={3}{G}{G} type=Creature @@ -112230,7 +112222,7 @@ toughness=2 [/card] [card] name=Sprouting Thrinax -auto=_DIES_token(Saproling,creature saproling, 1/1,green)*3 +auto=_DIES__SAPROLINGTOKEN_*3 text=When Sprouting Thrinax dies, put three 1/1 green Saproling creature tokens onto the battlefield. mana={B}{R}{G} type=Creature @@ -112401,7 +112393,7 @@ toughness=2 [card] name=Squirrel Nest target=land -auto=teach(land) {T}:token(Squirrel,Creature Squirrel,1/1,green) +auto=teach(land) {T}:_SQUIRRELTOKEN_ text=Enchant land -- Enchanted land has "{T}: Put a 1/1 green Squirrel creature token onto the battlefield." mana={1}{G}{G} type=Enchantment @@ -112409,7 +112401,7 @@ subtype=Aura [/card] [card] name=Squirrel Wrangler -auto={1}{G}{S(land|myBattlefield)}:token(Squirrel,Creature Squirrel,1/1,green)*2 +auto={1}{G}{S(land|myBattlefield)}:_SQUIRRELTOKEN_*2 auto={1}{G}{S(land|myBattlefield)}:all(squirrel) 1/1 ueot text={1}{G}, Sacrifice a land: Put two 1/1 green Squirrel creature tokens onto the battlefield. -- {1}{G}, Sacrifice a land: Squirrel creatures get +1/+1 until end of turn. mana={2}{G}{G} @@ -121191,7 +121183,7 @@ toughness=2 name=Thunderblade Charge target=anytarget auto=damage:3 -autograveyard=@each combatdamage restriction{opponentdamagedbycombat}:pay({2}{R}{R}{R}) name(pay to cast) activate name(pay to cast) castcard(restricted) +autograveyard=@each my combatdamage restriction{opponentdamagedbycombat}:pay({2}{R}{R}{R}) name(pay to cast) activate name(pay to cast) castcard(restricted) text=Thunderblade Charge deals 3 damage to any target. -- Whenever one or more creatures you control deal combat damage to a player, if Thunderblade Charge is in your graveyard, you may pay {2}{R}{R}{R}. If you do, you may cast it without paying its mana cost. mana={1}{R}{R} type=Sorcery @@ -134357,7 +134349,7 @@ type=Sorcery [card] name=Winding Canyons auto={T}:Add{1} -auto={2}{T}:all(creature|mycastingzone) transforms((,newability[asflash])) ueot +auto={2}{T}:all(creature|mycastingzone) transforms((,asflash)) ueot text={T}: Add {1}. -- {2}, {T}: Until end of turn, you may play creature cards as though they had flash. type=Land [/card] @@ -136283,7 +136275,7 @@ toughness=7 [/card] [card] name=Xathrid Gorgon -auto={2}{B}{T}:name(petrify) target(creature) transforms((artifact,artifact,newability[counter(0/0.1.Petrification) all(this)],newability[noactivatedability],newability[defender])) forever +auto={2}{B}{T}:name(petrify) target(creature) transforms((artifact,artifact,newability[counter(0/0.1.Petrification) all(this)],newability[noactivatedability],defender)) forever abilities=deathtouch text=Deathtouch (Any amount of damage this deals to a creature is enough to destroy it.) -- {2}{B}, {T}: Put a petrification counter on target creature. It gains defender and becomes a colorless artifact in addition to its other types. Its activated abilities can't be activated. (A creature with defender can't attack.) mana={5}{B} diff --git a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt index 47266bd8b..f90830b63 100644 --- a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt +++ b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt @@ -366,7 +366,7 @@ auto=counter(0/0,4,Loyalty) auto=token(Beeble,Creature Beeble,1/1,blue)*4 auto=@counteradded(0/0,1,Loyalty) from(this):token(Beeble,Creature Beeble,1/1,blue) auto=@counterremoved(0/0,1,Loyalty) from(this):sacrifice notAtarget(beeble|myBattlefield) -auto={C(0/0,1,Loyalty)}:name(+1: X Beebles can't be blocked) target(creature[Beeble]|myBattlefield) transforms((,newability[unblockable])) ueot +auto={C(0/0,1,Loyalty)}:name(+1: X Beebles can't be blocked) target(creature[Beeble]|myBattlefield) transforms((,unblockable)) ueot auto={C(0/0,-1,Loyalty)}:name(-1: Draw a card) draw:1 controller text=As B.O.B. enters the battlefield, create four 1/1 blue Beeble creature tokens. -- The number of loyalty counters on B.O.B. is equal to the number of Beebles you control. (Create or sacrifice Beebles whenever B.O.B. gains or loses loyalty.) -- +1: Up to X target Beebles can't be blocked this turn, where X is the number of cards in your hand. -- -1: Draw a card. mana={3}{U}{U} @@ -996,7 +996,7 @@ name=Estrid, the Masked abilities=canbecommander auto=counter(0/0,3,loyalty) auto={C(0/0,2,Loyalty)}:name(+2: Untap each enchanted permanent) untap all(*[enchanted]|myBattlefield) -auto={C(0/0,-1,Loyalty)}:name(-1: Create an Aura Mask) token(Mask Est) +auto={C(0/0,-1,Loyalty)}:name(-1: Create an Aura Mask) create(Mask Est) auto={C(0/0,-7,Loyalty)}:name(-7: Mill seven cards and return enchantments) deplete:7 controller && moveTo(myBattlefield) all(enchantment|myGraveyard) text=+2: Untap each enchanted permanent you control. -- −1: Create a white Aura enchantment token named Mask attached to another target permanent. The token has enchant permanent and Umbra Armor. -- −7: Mill seven cards. Return all non-Aura enchantment cards from your graveyard to the battlefield, then do the same for Aura cards. -- Estrid, the Masked can be your commander. mana={1}{G}{W}{U} @@ -1935,7 +1935,7 @@ name=Liliana, Death Mage auto=counter(0/0,4,loyalty) auto={C(0/0,1,Loyalty)}:name(+1: Return target creature from your graveyard to your hand) target(creature|myGraveyard) moveto(myHand) auto={C(0/0,-3,Loyalty)}:name(-3: Destroy target creature and loses 2 life) destroy target(creature) && life:-2 targetController -auto={C(0/0,-7,Loyalty)}:name(-7: Target opponent loses 2 life for each creature in graveyard) life:twicetype:creature:opponentGraveyard opponent +auto={C(0/0,-7,Loyalty)}:name(-7: Target opponent loses 2 life for each creature in graveyard) life:-twicetype:creature:opponentGraveyard target(opponent) text=+1: Return up to one target creature card from your graveyard to your hand. -- −3: Destroy target creature. Its controller loses 2 life. -- −7: Target opponent loses 2 life for each creature card in their graveyard. mana={4}{B}{B} type=Legendary Planeswalker @@ -2442,7 +2442,7 @@ name=Niko Aris auto=token(Shard)*x auto=counter(0/0,3,Loyalty) auto={C(0/0,1,Loyalty)}:name(+1: Don't target creature) donothing -auto={C(0/0,1,Loyalty)}:name(+1: Target creature gains unblockable) target(creature|mybattlefield) transforms((,newability[unblockable],newability[@damaged(player) from(this):moveto(ownerhand)],newability[@damaged(*[creature;planeswalker]|battlefield) from(this):moveto(ownerhand)])) ueot +auto={C(0/0,1,Loyalty)}:name(+1: Target creature gains unblockable) target(creature|mybattlefield) transforms((,unblockable,newability[@damaged(player) from(this):moveto(ownerhand)],newability[@damaged(*[creature;planeswalker]|battlefield) from(this):moveto(ownerhand)])) ueot auto={C(0/0,-1,Loyalty)}:name(-1: Create a shard) token(Shard) auto={C(0/0,-1,Loyalty)}:name(-1: Deals 2 damage) target(creature[tapped]) damage:twicepdrewcount text=When Niko Aris enters the battlefield, create X Shard tokens. (They're enchantments with "{2}, Sacrifice this enchantment: Scry 1, then draw a card.") -- +1: Up to one target creature you control can't be blocked this turn. Whenever that creature deals damage this turn, return it to its owner's hand. -- -1: Niko Aris deals 2 damage to target tapped creature for each card you've drawn this turn. -- -1: Create a Shard token. @@ -3772,7 +3772,7 @@ auto=counter(0/0,5,loyalty) auto={C(0/0,+1,Loyalty)}:name(+1: Phase out) target(other planeswalker|myBattlefield) transforms((,newability[phaseaction[endofturn once sourceinplay] phaseout])) forever auto={C(0/0,+1,Loyalty)}:name(+1: Don't phase out) donothing auto={C(0/0,-2,Loyalty)}:name(-2: Return nonland permanent) target(*[-land]|opponentbattlefield) moveto(ownerhand) -auto={C(0/0,-7,Loyalty)}:name(-7: Artifact becomes construct) target(artifact|myBattlefield) transforms((Creature Artifact Construct,setpower=9,settoughness=9,vigilance,indestructible,newability[unblockable])) forever +auto={C(0/0,-7,Loyalty)}:name(-7: Artifact becomes construct) target(artifact|myBattlefield) transforms((Creature Artifact Construct,setpower=9,settoughness=9,vigilance,indestructible,unblockable)) forever text=[+1]: Up to two other target planeswalkers you control phase out at the beginning of the next end step. (Treat them and anything attached to them as though they don't exist until your next turn.) -- [-2]: For each opponent, return up to one target nonland permanent that player controls to its owner's hand. -- [-7]: Target artifact you control becomes a 9/9 Construct artifact creature and gains vigilance, indestructible, and "This creature can't be blocked." mana={3}{U}{U} type=Legendary Planeswalker