From a697c2a3a7653aa73e4a8e472cf30c76d116048d Mon Sep 17 00:00:00 2001 From: Eduardo MG Date: Sat, 29 Oct 2022 12:15:22 -0500 Subject: [PATCH] Bug fixes, changes in macros macros for casting a historic spell Pyroceratops Mirko Vosk, Mind Drinker Savage Gorger Heraldic Banner Blight Herder Dire Wolf Prowler Chandra, Roaring Flame Footfall Crater Supernatural Rescue Quicksilver Dagger mana crypt scavenged blade and others with the rules "enters the battlefield, attach it to target creature you control" equipment was just getting equiped for free when the hoked creature died Soulshift stays as is, implementing it with macros lead to bugs Farmstead Gleaner Vizier of Tumbling Sands Doomed Artisan Frostveil Ambush Avacyn, guardian angel crashes --- .../mtg/bin/Res/sets/primitives/_macros.txt | 18 +- .../bin/Res/sets/primitives/borderline.txt | 156 +++++++++--------- projects/mtg/bin/Res/sets/primitives/mtg.txt | 139 ++++++++-------- .../bin/Res/sets/primitives/planeswalkers.txt | 6 +- 4 files changed, 163 insertions(+), 156 deletions(-) diff --git a/projects/mtg/bin/Res/sets/primitives/_macros.txt b/projects/mtg/bin/Res/sets/primitives/_macros.txt index 67a4d03fd..569b63092 100644 --- a/projects/mtg/bin/Res/sets/primitives/_macros.txt +++ b/projects/mtg/bin/Res/sets/primitives/_macros.txt @@ -99,9 +99,6 @@ # Clash, not implemented $AUTO_DEFINE _CLASH_ Put here a code if compare the casting cost based on Erratic Explosion. Meaby it would work with a few fix -# Conspire, not implemented -#AUTO_DEFINE _CONSPIRE_ @movedTo(this|myStak):may {T(creature|myBattlefield)}{T(creature|myBattlefield)} castcard(copied noevent) target(*|myStack) - # Proliferate #AUTO_DEFINE _PROLIFERATE_ name(Proliferate) notatarget(proliferation) proliferate @@ -117,9 +114,6 @@ $AUTO_DEFINE _CLASH_ Put here a code if compare the casting cost based on Errati # Investigate token, Shadows over Innistrad SOI #AUTO_DEFINE _INVESTIGATE_ token(Clue) -# Soulshift, not implemented -#AUTO_DEFINE _SOULSHIFT_($c) @movedTo(this|myGraveyard) from(battlefield):may moveTo(myHand) target(creature[spirit;manacost<=$c]|myGraveyard) - # Ascend, Set XLN #AUTO_DEFINE _ASCEND_ if type(City's Blessing|mybattlefield)~lessthan~1 then transforms((,newability[if type(*|mybattlefield)~morethan~9 then token(City's Blessing^notrigger)])) oneshot @@ -130,25 +124,25 @@ $AUTO_DEFINE _CLASH_ Put here a code if compare the casting cost based on Errati #AUTO_DEFINE _MONARCH_CONTROLLER_ if type(The Monarch|battlefield)~lessthan~1 then token(The Monarch) else all(The Monarch|battlefield) moveto(mybattlefield) and!( transforms((,newability[becomesmonarch controller])) forever )! #AUTO_DEFINE _MONARCH_OPPONENT_ if type(The Monarch|battlefield)~lessthan~1 then token(The Monarch) opponent else all(The Monarch|battlefield) moveto(opponentbattlefield) and!( transforms((,newability[becomesmonarch controller])) forever )! -# Explore +# Explore, not implemented #AUTO_DEFINE _EXPLORE_ reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) optiontwoend revealend limit:1 # Treasure token, Set XLN #AUTO_DEFINE _TREASURE_ token(Treasure Sur) -# Historic -#AUTO_DEFINE _HISTORIC_ notAtarget(*[artifact;saga;legendary]|myZones) +# Cast a historic spell +#AUTO_DEFINE _CASTHISTORIC_ @movedTo(*[artifact;legendary;saga]|mystack): # Mentor, still not working with enhancements, pump effects #AUTO_DEFINE _MENTOR_ @combat(attacking) source(this):counter(1/1,1) target(other creature[attacking;power<=pminus1minusend]|myBattlefield) -# Surveil +# Surveil, not implemented #AUTO_DEFINE _SURVEIL_ name(surveil) reveal:1 optionone name(put in graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(<1>*|reveal) moveto(ownerlibrary) optiontwoend revealend # Undergrowth, not implemented #AUTO_DEFINE _UNDERGROWTH_ foreach(creature|myGraveyard) -# Afterlife +# Afterlife, not implemented #AUTO_DEFINE _AFTERLIFE_($c) @movedTo(this|graveyard) from(battlefield):create(Spirit:Creature Spirit:1/1:white,black:flying)*$c # Riot @@ -158,7 +152,7 @@ $AUTO_DEFINE _CLASH_ Put here a code if compare the casting cost based on Errati #AUTO_DEFINE _LEARN_ name(Learn) transforms((,newability[if type(*[lesson]|mysideboard)~morethan~0 then choice name(Put lesson in hand) name(Put lesson in hand) target(*[lesson]|mysideboard) moveto(myhand)],newability[if type(*|myhand)~morethan~0 then choice name(Discard and draw) name(Discard and draw) target(*|myhand) reject and!(draw:1)!],newability[if type(Retriever Phoenix|mygraveyard)~morethan~0 then choice name(Return a Retriever Phoenix) name(Return a Retriever Phoenix) target(Retriever Phoenix|mygraveyard) moveto(myBattlefield)],newability[choice name(Don't learn) donothing])) oneshot # Spectacle, not implemented -#AUTO_DEFINE _SPECTACLE_($cost) compare(oplifelost)~morethan~0 {$cost}: +#AUTO_DEFINE _SPECTACLE_ compare(oplifelost)~morethan~0 # Extort #AUTO_DEFINE _EXTORT_ @movedto(*|mystack):pay({WB}) life:-1 opponent && life:1 controller diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index 423fb7e02..1ade5afb0 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -274,8 +274,8 @@ toughness=3 name=Acererak the Archlich auto=if type(Tomb of Annihilation[dungeoncompleted]|myzones)~equalto~0 then if compare(type:*[nodngplr]:mybattlefieldplustype:*[nodngopp]:opponentbattlefieldplusend)~equalto~0 then name(Venture into dungeon) name(Venture into dungeon) 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 auto=if type(Tomb of Annihilation[dungeoncompleted]|myzones)~equalto~0 then name(Return to hand) moveTo(ownerhand) -auto=@combat(attacking) source(this) restriction{type(creature|opponentbattlefield)~morethan~0}:ability$!name(Choose one) choice name(Sacrifice a creature) notatarget(creature|mybattlefield) sacrifice _ choice name(Opponent create Zombie) token(Zombie) opponent!$ opponent -auto=@combat(attacking) source(this) restriction{type(creature|opponentbattlefield)~equalto~0}:name(Create zombie) token(Zombie) controller +auto=@combat(attacking) source(this) restriction{type(creature|opponentbattlefield)~morethan~0}:ability$!name(Choose one) choice name(Sacrifice a creature) notatarget(creature|mybattlefield) sacrifice _ choice name(Opponent create Zombie) _ZOMBIETOKEN_ opponent!$ opponent +auto=@combat(attacking) source(this) restriction{type(creature|opponentbattlefield)~equalto~0}:name(Create zombie) _ZOMBIETOKEN_ controller text=When Acererak the Archlich enters the battlefield, if you have not completed the dungeon Tomb of Annihilation, return Acererak the Archlich to its owner's hand and venture into the dungeon. -- Whenever Acererak the Archlich attacks, for each opponent, you create a 2/2 black Zombie creature token unless that player sacrifices a creature. mana={2}{B} type=Legendary Creature @@ -3526,7 +3526,7 @@ type=Instant name=Artificer's Assistant abilities=flying aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveTo(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=@movedTo(*[artifact;legendary;saga]|mystack):scry:1 scrycore delayed dontshow donothing scrycoreend scryend +auto=_CASTHISTORIC_scry:1 scrycore delayed dontshow donothing scrycoreend scryend text=Flying -- Whenever you cast a historic spell, scry 1. (Artifacts, legendaries, and Sagas are historic. To scry 1, look at the top card of your library, then you may put that card on the bottom of your library.) mana={U} type=Creature @@ -6176,10 +6176,10 @@ toughness=2 name=Biogenic Upgrade target=creature restriction=type(creature|battlefield)~morethan~0 -auto=transforms((,newability[counter(1/1.1)],newability[thisforeach(counter{1/1.1}) counter(1/1.1) all(this)])) oneshot +auto=transforms((,newability[counter(1/1)],newability[thisforeach(counter{1/1.1}) counter(1/1) all(this)])) oneshot auto=choice name(Give other 2 counters to same creature) name(Give other 2 counters to same creature) counter(1/1,4) -auto=if type(creature|battlefield)~morethan~1 then choice name(Give 2 counters to another creature) name(Give 2 counters to another creature) target(other creature) transforms((,newability[counter(1/1.2)],newability[thisforeach(counter{1/1.1}) counter(1/1.1) all(this)])) oneshot -auto=if type(creature|battlefield)~morethan~2 then choice name(Give 1 counter to other 2 creatures) name(Give 1 counter to other 2 creatures) target(<2>other creature) transforms((,newability[counter(1/1.1)],newability[thisforeach(counter{1/1.1}) counter(1/1.1) all(this)])) oneshot +auto=if type(creature|battlefield)~morethan~1 then choice name(Give 2 counters to another creature) name(Give 2 counters to another creature) target(other creature) transforms((,newability[counter(1/1.2)],newability[thisforeach(counter{1/1.1}) counter(1/1) all(this)])) oneshot +auto=if type(creature|battlefield)~morethan~2 then choice name(Give 1 counter to other 2 creatures) name(Give 1 counter to other 2 creatures) target(<2>other creature) transforms((,newability[counter(1/1)],newability[thisforeach(counter{1/1.1}) counter(1/1) all(this)])) oneshot text=Distribute three +1/+1 counters among one, two, or three target creatures, then double the number of +1/+1 counters on each of those creatures. mana={4}{G}{G} type=Sorcery @@ -6783,7 +6783,7 @@ toughness=2 [/card] [card] name=Blight Herder -auto=@movedTo(*|mystack):may ([upto <2>*] moveTo(opponentgraveyard) from (opponentexile)) then token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{1}])) forever )!*3 +autostack=if type(*|opponentexile)~morethan~1 then may target(<2>*|opponentexile) moveto(ownergraveyard) && token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{C}])) forever )!*2 text=When you cast this spell, you may put two cards your opponents own from exile into their owners' graveyards. If you do, create three 1/1 colorless Eldrazi Scion creature tokens. They have "Sacrifice this creature: Add {C}." mana={5} type=Creature @@ -7481,7 +7481,7 @@ type=Artifact name=Bloodthirsty Adversary abilities=haste auto=choice name(Don't add any counter) donothing -auto=choice name(Add 1 counter) ability$!may name(Pay to add 1 counter) pay({2}{R}) name(Pay to add 1 counter) all(mysource) name(Pay to add 1 counter) transforms((,newability[counter(1/1.1)],newability[name(Exile 1 card) target(*[instant;sorcery]|mygraveyard) moveto(myexile) and!( transforms((,newability[may name(Cast from exile) activate castcard(copied)])) oneshot )!])) oneshot!$ controller +auto=choice name(Add 1 counter) ability$!may name(Pay to add 1 counter) pay({2}{R}) name(Pay to add 1 counter) all(mysource) name(Pay to add 1 counter) transforms((,newability[counter(1/1)],newability[name(Exile 1 card) target(*[instant;sorcery]|mygraveyard) moveto(myexile) and!( transforms((,newability[may name(Cast from exile) activate castcard(copied)])) oneshot )!])) oneshot!$ controller auto=choice name(Add 2 counters) ability$!may name(Pay to add 2 counters) pay({4}{R}{R}) name(Pay to add 2 counters) all(mysource) name(Pay to add 2 counters) transforms((,newability[counter(1/1.2)],newability[name(Exile 2 cards) target(<2>*[instant;sorcery]|mygraveyard) moveto(myexile) and!( transforms((,newability[may name(Cast from exile) activate castcard(copied)])) oneshot )!])) oneshot!$ controller auto=choice name(Add 3 counters) ability$!may name(Pay to add 3 counters) pay({6}{R}{R}{R}) name(Pay to add 3 counters) all(mysource) name(Pay to add 3 counters) transforms((,newability[counter(1/1.3)],newability[name(Exile 3 cards) target(<3>*[instant;sorcery]|mygraveyard) moveto(myexile) and!( transforms((,newability[may name(Cast from exile) activate castcard(copied)])) oneshot )!])) oneshot!$ controller auto=choice name(Add 4 counters) ability$!may name(Pay to add 4 counters) pay({8}{R}{R}{R}{R}) name(Pay to add 4 counters) all(mysource) name(Pay to add 4 counters) transforms((,newability[counter(1/1.4)],newability[name(Exile 4 cards) target(<4>*[instant;sorcery]|mygraveyard) moveto(myexile) and!( transforms((,newability[may name(Cast from exile) activate castcard(copied)])) oneshot )!])) oneshot!$ controller @@ -9697,7 +9697,7 @@ toughness=1 [/card] [card] name=Cabal Paladin -auto=@movedTo(*[artifact;legendary;saga]|mystack):damage:2 opponent +auto=_CASTHISTORIC_damage:2 opponent text=Whenever you cast a historic spell, Cabal Paladin deals 2 damage to each opponent. (Artifacts, legendaries, and Sagas are historic.) mana={3}{B} type=Creature @@ -12902,7 +12902,7 @@ toughness=1 [/card] [card] name=Cliffhaven Kitesail -auto=aslongas(parents) name(Attach to creature) rehook target(creature|myBattlefield) <1 +auto=name(Attach to creature) rehook target(creature|mybattlefield) auto=teach(creature) flying auto={2}:equip text=When Cliffhaven Kitesail enters the battlefield, attach it to target creature you control. -- Equipped creature has flying. -- Equip {2} ({2}: Attach to target creature you control. Equip only as a sorcery) @@ -16100,10 +16100,10 @@ toughness=2 [card] name=Cytoplast Manipulator auto=counter(1/1,2) -auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|opponentbattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand20)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|opponentbattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand20)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) auto={U}{T}:name(Gain control of creature) target(creature[counter{1/1.1}]) steal text=Graft 2 (This creature enters the battlefield with two +1/+1 counters on it. Whenever another creature enters the battlefield, you may move a +1/+1 counter from this creature onto it.) -- {U}, {T}: Gain control of target creature with a +1/+1 counter on it for as long as Cytoplast Manipulator remains on the battlefield. mana={2}{U}{U} @@ -16123,7 +16123,7 @@ type=Instant [/card] [card] name=D'Avenant Trapper -auto=@movedTo(*[artifact;legendary;saga]|mystack):tap target(creature|opponentBattlefield) +auto=_CASTHISTORIC_tap target(creature|opponentBattlefield) text=Whenever you cast a historic spell, tap target creature an opponent controls. (Artifacts, legendaries, and Sagas are historic.) mana={2}{W} type=Creature @@ -16315,7 +16315,7 @@ toughness=7 [card] name=Daring Archaeologist auto=may target(artifact|mygraveyard) moveto(ownerhand) -auto=@movedTo(*[artifact;legendary;saga]|mystack):counter(1/1) +auto=_CASTHISTORIC_counter(1/1) text=When Daring Archaeologist enters the battlefield, you may return target artifact card from your graveyard to your hand. -- Whenever you cast a historic spell, put a +1/+1 counter on Daring Archaeologist. (Artifacts, legendaries, and Sagas are historic.) mana={3}{W} type=Creature @@ -18546,7 +18546,7 @@ type=Instant [/card] [card] name=Diligent Excavator -auto=@movedTo(*[artifact;legendary;saga]|mystack):target(player) deplete:2 +auto=_CASTHISTORIC_target(player) deplete:2 text=Whenever you cast a historic spell, target player puts the top two cards of their library into their graveyard. (Artifacts, legendaries, and Sagas are historic.) mana={1}{U} type=Creature @@ -18738,7 +18738,7 @@ type=Instant [/card] [card] name=Dire Wolf Prowler -auto={1}{G}:name(Gets 2/2 and haste) transforms((newability[2/2],newability[haste])) ueot limit:1 +auto={1}{G}:name(Gets 2/2 and haste) transforms((,newability[2/2],newability[haste])) ueot limit:1 text={1}{G}: Dire Wolf Prowler gets +2/+2 and gains haste until end of turn. Activate only once each turn. mana={2}{G} type=Creature @@ -19401,10 +19401,10 @@ toughness=6 [/card] [card] name=Doomed Artisan -auto=all(creature[sculpture]|mybattlefield) cantattack -auto=all(creature[sculpture]|mybattlefield) cantpwattack -auto=all(creature[sculpture]|mybattlefield) cantblock -auto=@each my endofturn:token(Sculpture,Creature Sculpture,type:creature[sculpture]:battlefield/type:creature[sculpture]:battlefield,artifact) +auto=lord(sculpture|mybattlefield) cantattack +auto=lord(sculpture|mybattlefield) cantpwattack +auto=lord(sculpture|mybattlefield) cantblock +auto=@each my endofturn:token(Sculpture,Artifact Creature Sculpture,0/0) and!(transforms((,newability[type:sculpture:mybattlefield/type:sculpture:mybattlefield cdaactive])) forever)! text=Sculptures you control can't attack or block. -- At the beginning of your end step, create a colorless Sculpture artifact creature token with "This creature's power and toughness are each equal to the number of Sculptures you control." mana={2}{W} type=Creature @@ -20016,7 +20016,7 @@ toughness=2 [card] name=Drana, the Last Bloodchief abilities=flying -auto=_ATTACKING_ability$!name(Choose a non-legendary creature) notAtarget(creature[-legendary]|opponentGraveyard) moveTo(opponentBattlefield) and!( counter(1/1.1) and!(becomes(vampire) forever)! )! !$ opponent +auto=_ATTACKING_ability$!name(Choose a non-legendary creature) notAtarget(creature[-legendary]|opponentGraveyard) moveTo(opponentBattlefield) and!( counter(1/1) and!(becomes(vampire) forever)! )! !$ opponent text=Flying -- Whenever Drana, the Last Bloodchief attacks, defending player chooses a nonlegendary creature card in your graveyard. You return that card to the battlefield with a +1/+1 counter on it. The creature is a Vampire in addition to its other types. mana={3}{B}{B} type=Legendary Creature @@ -20822,7 +20822,7 @@ toughness=2 [card] name=Dueling Rapier abilities=flash -auto=aslongas(parents) rehook target(creature|mybattlefield) <1 +auto=name(Attach to creature) rehook target(creature|mybattlefield) auto={4}:equip auto=teach(creature) 2/0 text=Flash -- When Dueling Rapier enters the battlefield, attach it to target creature you control. -- Equipped creature gets +2/+0. -- Equip {4} ({4}: Attach to target creature you control. Equip only as a sorcery.) @@ -22273,6 +22273,7 @@ type=Land [/card] [card] name=Emiel the Blessed +auto={3}:name(Move to exile) target(other creature|mybattlefield) moveto(exile) and!(moveto(ownerbattlefield))! auto=@movedto(other creature[-unicorn]|mybattlefield):name(pay G or W) pay[[{GW}]] name(Pay G or W) counter(1/1) all(trigger[to]) auto=@movedto(other creature[unicorn]|mybattlefield):name(pay G or W) pay[[{GW}]] name(Pay G or W) counter(1/1,2) all(trigger[to]) text={3}: Exile another target creature you control, then return it to the battlefield under its owner's control. -- Whenever another creature enters the battlefield under your control, you may pay {G} or {W}. If you do, put a +1/+1 counter on it. If it's a Unicorn, put two +1/+1 counters on it instead. ( {G} or {W} can be paid with either {G} or {W}.) @@ -24517,7 +24518,7 @@ type=Instant [card] name=Farmstead Gleaner abilities=doesnotuntap -auto={2}{Q}:counter(1,1) +auto={2}{Q}:counter(1/1) text=Farmstead Gleaner doesn't untap during your untap step. -- {2}, Untap: Put a +1/+1 counter on Farmstead Gleaner. ( Untap is the untap symbol.) mana={3} type=Artifact Creature @@ -26677,7 +26678,7 @@ type=Enchantment name=Footfall Crater abilities=cycling target=land -auto=teach(land) transforms((newability[{T}:haste && trample target(creature) ueot])) +auto=teach(land) transforms((,newability[{T}:haste && trample target(creature) ueot])) autohand=__CYCLING__({1}) text=Enchant land -- Enchanted land has " -- {T}: Target creature gains trample and haste until end of turn." -- Cycling {1} ({1}, Discard this card: Draw a card.) mana={R} @@ -27510,9 +27511,11 @@ toughness=5 [/card] [card] name=Frostveil Ambush +abilities=cycling target=creature auto=tap auto=frozen +autohand=__CYCLING__({1}) text=Tap up to two target creatures. Those creatures don't untap during their controller's next untap step. -- Cycling {1} ({1}, Discard this card: Draw a card.) mana={3}{U}{U} type=Instant @@ -32525,7 +32528,7 @@ type=Legendary Land [card] name=Hallar, the Firefletcher abilities=trample -auto=@movedto(*[kicked>=1]|mystack):transforms((,newability[counter(1/1.1)],newability[thisforeach(counter{1/1.1}) damage:1 opponent])) oneshot +auto=@movedto(*[kicked>=1]|mystack):transforms((,newability[counter(1/1)],newability[thisforeach(counter{1/1.1}) damage:1 opponent])) oneshot text=Trample -- Whenever you cast a spell, if that spell was kicked, put a +1/+1 counter on Hallar, the Firefletcher, then Hallar deals damage equal to the number of +1/+1 counters on it to each opponent. mana={1}{R}{G} type=Legendary Creature @@ -32639,7 +32642,7 @@ type=Sorcery [card] name=Hammer Jammer auto={3}{G}:all(this) rolld6 6 winability counter(1/1,lastrollresult) winabilityend loseability counter(1/1,lastrollresult) loseabilityend rolld6end -auto=@dierolled(*|battlefield) result(1) from(controller):name(Get counter) name(Get counter) removeallcounters(1/1) && transforms((,newability[counter(1/1.1)])) all(this) +auto=@dierolled(*|battlefield) result(1) from(controller):name(Get counter) name(Get counter) removeallcounters(1/1) && transforms((,newability[counter(1/1)])) all(this) auto=@dierolled(*|battlefield) result(2) from(controller):name(Get counters) name(Get counters) removeallcounters(1/1) && transforms((,newability[counter(1/1.2)])) all(this) auto=@dierolled(*|battlefield) result(3) from(controller):name(Get counters) name(Get counters) removeallcounters(1/1) && transforms((,newability[counter(1/1.3)])) all(this) auto=@dierolled(*|battlefield) result(4) from(controller):name(Get counters) name(Get counters) removeallcounters(1/1) && transforms((,newability[counter(1/1.4)])) all(this) @@ -33836,8 +33839,8 @@ type=Artifact [/card] [card] name=Heraldic Banner -auto=chooseacolor target(creature[chosencolor]|myBattlefield) 1/0 chooseend -auto={T}:add{chosencolor} +auto=chooseacolor transforms((,newability[{T}:add{chosencolor}],newability[@movedto(*[chosencolor]|stack):life:1 controller])) forever chooseend +auto=lord(creature[chosencolor]|myBattlefield) 1/0 text=As Heraldic Banner enters the battlefield, choose a color. -- Creatures you control of the chosen color get +1/+0. -- {T}: Add one mana of the chosen color. mana={3} type=Artifact @@ -38417,7 +38420,7 @@ toughness=2 [/card] [card] name=Jhoira, Weatherlight Captain -auto=@movedTo(*[artifact;legendary;saga]|mystack):draw:1 +auto=_CASTHISTORIC_draw:1 text=Whenever you cast a historic spell, draw a card. (Artifacts, legendaries, and Sagas are historic.) mana={2}{U}{R} type=Legendary Creature @@ -42760,7 +42763,7 @@ toughness=3 [/card] [card] name=Lingering Phantom -autograveyard=@movedTo(*[artifact;legendary;saga]|mystack):may pay({b}):moveto(myhand) all(this) +autograveyard=_CASTHISTORIC_may pay({b}):moveto(myhand) all(this) text=Whenever you cast a historic spell, you may pay {B}. If you do, return Lingering Phantom from your graveyard to your hand. (Artifacts, legendaries, and Sagas are historic.) mana={5}{B} type=Creature @@ -46014,6 +46017,7 @@ name=Midnight Clock auto={T}:add{1} auto={2}{U}:counter(0/0,1,hour) auto=@each upkeep:counter(0/0,1,hour) +auto={C(0/0,12,hour)}{E}:moveto(myLibrary) all(*|myGraveyard) && moveto(myLibrary) all(*|myHand) && shuffle && draw:7 controller auto=@counteradded(0/0,1,hour) from(this):this(counter{0/0.12.hour}) moveTo(exile) all(this) auto=@counteradded(0/0,1,hour) from(this):this(counter{0/0.12.hour}) moveto(myLibrary) all(*|myGraveyard) && moveto(myLibrary) all(*|myHand) && shuffle && draw:7 controller text={T}: Add {U}. -- {2}{U}: Put an hour counter on Midnight Clock. -- At the beginning of each upkeep, put an hour counter on Midnight Clock. -- When the twelfth hour counter is put on Midnight Clock, shuffle your hand and graveyard into your library, then draw seven cards. Exile Midnight Clock. @@ -46629,7 +46633,7 @@ type=Instant [/card] [card] name=Mishra's Self-Replicator -auto=@movedTo(*[artifact;legendary;saga]|mystack):may pay({1}) name(Pay 1 and clone) clone all(this) +auto=_CASTHISTORIC_may pay({1}) name(Pay 1 and clone) clone all(this) text=Whenever you cast a historic spell, you may pay {1}. If you do, create a token that's a copy of Mishra's Self-Replicator. (Artifacts, legendaries, and Sagas are historic.) mana={5} type=Artifact Creature @@ -50096,8 +50100,8 @@ auto={0}:destroy auto=if cantargetcard(*[token]|*) then counter(1/1) else counter(1/1,x) auto=@movedTo(this|graveyard) from(battlefield) restriction{compare(hascnt11)~equalto~2}:ability$!name(Create copy) emblem transforms((,newability[@each endofturn:token(Ochre Jelly)])) ueot!$ controller auto=@movedTo(this|graveyard) from(battlefield) restriction{compare(hascnt11)~equalto~3}:ability$!name(Create copy) emblem transforms((,newability[@each endofturn:token(Ochre Jelly)])) ueot!$ controller -auto=@movedTo(this|graveyard) from(battlefield) restriction{compare(hascnt11)~equalto~4}:ability$!name(Create copy) emblem transforms((,newability[@each endofturn:token(Ochre Jelly) and!( counter(1/1.1) )! ])) ueot!$ controller -auto=@movedTo(this|graveyard) from(battlefield) restriction{compare(hascnt11)~equalto~5}:ability$!name(Create copy) emblem transforms((,newability[@each endofturn:token(Ochre Jelly) and!( counter(1/1.1) )! ])) ueot!$ controller +auto=@movedTo(this|graveyard) from(battlefield) restriction{compare(hascnt11)~equalto~4}:ability$!name(Create copy) emblem transforms((,newability[@each endofturn:token(Ochre Jelly) and!( counter(1/1) )! ])) ueot!$ controller +auto=@movedTo(this|graveyard) from(battlefield) restriction{compare(hascnt11)~equalto~5}:ability$!name(Create copy) emblem transforms((,newability[@each endofturn:token(Ochre Jelly) and!( counter(1/1) )! ])) ueot!$ controller auto=@movedTo(this|graveyard) from(battlefield) restriction{compare(hascnt11)~equalto~6}:ability$!name(Create copy) emblem transforms((,newability[@each endofturn:token(Ochre Jelly) and!( counter(1/1.2) )! ])) ueot!$ controller auto=@movedTo(this|graveyard) from(battlefield) restriction{compare(hascnt11)~equalto~7}:ability$!name(Create copy) emblem transforms((,newability[@each endofturn:token(Ochre Jelly) and!( counter(1/1.2) )! ])) ueot!$ controller auto=@movedTo(this|graveyard) from(battlefield) restriction{compare(hascnt11)~equalto~8}:ability$!name(Create copy) emblem transforms((,newability[@each endofturn:token(Ochre Jelly) and!( counter(1/1.3) )! ])) ueot!$ controller @@ -54498,7 +54502,7 @@ toughness=1 name=Primal Adversary abilities=trample auto=choice name(Don't add any counter) donothing -auto=choice name(Add 1 counter) ability$!may name(Pay to add 1 counter) pay({1}{G}) name(Pay to add 1 counter) all(mysource) name(Pay to add 1 counter) transforms((,newability[counter(1/1.1)],newability[name(Choose 1 land) target(land|mybattlefield) transforms((Creature Wolf,setpower=3,settoughness=3,newability[haste])) forever])) oneshot!$ controller +auto=choice name(Add 1 counter) ability$!may name(Pay to add 1 counter) pay({1}{G}) name(Pay to add 1 counter) all(mysource) name(Pay to add 1 counter) transforms((,newability[counter(1/1)],newability[name(Choose 1 land) target(land|mybattlefield) transforms((Creature Wolf,setpower=3,settoughness=3,newability[haste])) forever])) oneshot!$ controller auto=choice name(Add 2 counters) ability$!may name(Pay to add 2 counters) pay({2}{G}{G}) name(Pay to add 2 counters) all(mysource) name(Pay to add 2 counters) transforms((,newability[counter(1/1.2)],newability[name(Choose 2 lands) target(<2>land|mybattlefield) transforms((Creature Wolf,setpower=3,settoughness=3,newability[haste])) forever])) oneshot!$ controller auto=choice name(Add 3 counters) ability$!may name(Pay to add 3 counters) pay({3}{G}{G}{G}) name(Pay to add 3 counters) all(mysource) name(Pay to add 3 counters) transforms((,newability[counter(1/1.3)],newability[name(Choose 3 lands) target(<3>land|mybattlefield) transforms((Creature Wolf,setpower=3,settoughness=3,newability[haste])) forever])) oneshot!$ controller auto=choice name(Add 4 counters) ability$!may name(Pay to add 4 counters) pay({4}{G}{G}{G}{G}) name(Pay to add 4 counters) all(mysource) name(Pay to add 4 counters) transforms((,newability[counter(1/1.4)],newability[name(Choose 4 lands) target(<4>land|mybattlefield) transforms((Creature Wolf,setpower=3,settoughness=3,newability[haste])) forever])) oneshot!$ controller @@ -55469,7 +55473,7 @@ type=Artifact [card] name=Pyroceratops abilities=trample -auto=@movedTo(*[-creature]|stack):counter(1/1) +auto=@movedTo(*[-creature]|mystack):counter(1/1) text=Trample -- Whenever you cast a noncreature spell, put a +1/+1 counter on Pyroceratops. mana={3}{R} type=Creature @@ -56841,8 +56845,8 @@ subtype=Island Mountain Plains [/card] [card] name=Ravager Wurm -auto=choice name(Counter 1/1 and destroy land) all(this) transforms((,newability[counter(1/1.1)])) forever && target(land[basic]) destroy -auto=choice name(Counter 1/1 and fights creature) transforms((,newability[counter(1/1.1)],newability[target(creature|opponentbattlefield) dynamicability])) forever +auto=choice name(Counter 1/1 and destroy land) all(this) transforms((,newability[counter(1/1)])) forever && target(land[basic]) destroy +auto=choice name(Counter 1/1 and fights creature) transforms((,newability[counter(1/1)],newability[target(creature|opponentbattlefield) dynamicability])) forever auto=choice name(Haste and destroy land) all(this) transforms((,newability[haste all(this)])) forever && target(land[basic]) destroy auto=choice name(Haste and fights creature) transforms((,newability[haste all(this)],newability[target(creature|opponentbattlefield) dynamicability])) forever text=Riot (This creature enters the battlefield with your choice of a +1/+1 counter or haste.) -- When Ravager Wurm enters the battlefield, choose up to one -- Ravager Wurm fights target creature you don't control. -- Destroy target land with an activated ability that isn't a mana ability. @@ -57868,7 +57872,7 @@ toughness=2 [/card] [card] name=Relic Runner -auto=@movedTo(*[artifact;legendary;saga]|mystack):unblockable ueot +auto=_CASTHISTORIC_unblockable ueot text=Relic Runner can't be blocked if you've cast a historic spell this turn. (Artifacts, legendaries, and Sagas are historic.) mana={1}{U} type=Creature @@ -57945,7 +57949,7 @@ type=Sorcery [card] name=Renata, Called to the Hunt anyzone=type:manaG:mybattlefield/3 cdaactive -auto=@movedTo(other creature|mybattlefield):all(trigger[to]) counter(1/1.1) +auto=@movedTo(other creature|mybattlefield):all(trigger[to]) counter(1/1) text=Renata's power is equal to your devotion to green. (Each {G} in the mana costs of permanents you control counts towards your devotion to green.) -- Each other creature you control enters the battlefield with an additional +1/+1 counter on it. mana={2}{G}{G} type=Legendary Enchantment Creature @@ -61721,6 +61725,7 @@ type=Instant [/card] [card] name=Savage Gorger +abilities=flying otherrestriction=compare(oplifelost)~morethan~0 auto=@each my endofturn:counter(1/1) text=Flying -- At the beginning of your end step, if an opponent lost life this turn, put a +1/+1 counter on Savage Gorger. (Damage causes loss of life.) @@ -62062,7 +62067,7 @@ type=Instant [/card] [card] name=Scavenged Blade -auto=aslongas(parents) name(Attach to creature) rehook target(creature|myBattlefield) <1 +auto=name(Attach to creature) rehook target(creature|myBattlefield) auto=teach(creature) 2/0 auto={2}{R}:equip text=When Scavenged Blade enters the battlefield, attach it to target creature you control. -- Equipped creature gets +2/+0. -- Equip {2}{R} ({2}{R}: Attach to target creature you control. Equip only as a sorcery.) @@ -62948,7 +62953,7 @@ type=Instant [/card] [card] name=Seeker of Insight -auto={T} {restriction type(*[-creature]|mystack)~morethan~0}:draw:1 && reject notatarget(*|myhand) +auto={T}:_LOOT_ restriction{thisturn(*[-creature]|mystack)~morethan~0} text={T}: Draw a card, then discard a card. Activate this ability only if you've cast a noncreature spell this turn. mana={1}{U} type=Creature @@ -63351,7 +63356,7 @@ toughness=1 [card] name=Sequence Engine auto={0}{T}:name(X = 0) target(creature[manacost=0]|graveyard) moveto(exile) && ability$!name(Create Fractal) name(Create Fractal) token(Fractal,Creature Fractal,0/0,green,blue)!$ controller assorcery -auto={1}{T}:name(X = 1) target(creature[manacost=1]|graveyard) moveto(exile) && ability$!name(Create Fractal) name(Create Fractal) token(Fractal,Creature Fractal,0/0,green,blue) and!( counter(1/1.1) )! !$ controller assorcery +auto={1}{T}:name(X = 1) target(creature[manacost=1]|graveyard) moveto(exile) && ability$!name(Create Fractal) name(Create Fractal) token(Fractal,Creature Fractal,0/0,green,blue) and!( counter(1/1) )! !$ controller assorcery auto={2}{T}:name(X = 2) target(creature[manacost=2]|graveyard) moveto(exile) && ability$!name(Create Fractal) name(Create Fractal) token(Fractal,Creature Fractal,0/0,green,blue) and!( counter(1/1.2) )! !$ controller assorcery auto={3}{T}:name(X = 3) target(creature[manacost=3]|graveyard) moveto(exile) && ability$!name(Create Fractal) name(Create Fractal) token(Fractal,Creature Fractal,0/0,green,blue) and!( counter(1/1.3) )! !$ controller assorcery auto={4}{T}:name(X = 4) target(creature[manacost=4]|graveyard) moveto(exile) && ability$!name(Create Fractal) name(Create Fractal) token(Fractal,Creature Fractal,0/0,green,blue) and!( counter(1/1.4) )! !$ controller assorcery @@ -63468,7 +63473,7 @@ type=Sorcery [card] name=Serra Disciple abilities=flying, first strike -auto=@movedTo(*[artifact;legendary;saga]|mystack):+1/+1 ueot +auto=_CASTHISTORIC_+1/+1 ueot text=Flying, first strike -- Whenever you cast a historic spell, Serra Disciple gets +1/+1 until end of turn. (Artifacts, legendaries, and Sagas are historic.) mana={1}{W} type=Creature @@ -66251,7 +66256,7 @@ toughness=1 [/card] [card] name=Skyclave Pick-Axe -auto=aslongas(parents) name(Attach to creature) rehook target(creature|myBattlefield) <1 +auto=name(Attach to creature) rehook target(creature|myBattlefield) auto=teach(creature) transforms((,newability[_LANDFALL_2/2 ueot])) auto={2}{G}:equip text=Skyclave Pick-Axe enters the battlefield, attach it to target creature you control. -- Landfall - Whenever a land enters the battlefield under your control, equipped creature gets +2/+2 until end of turn. -- Equip {2}{G} @@ -68126,7 +68131,7 @@ type=Sorcery name=Spectral Adversary abilities=flash,flying auto=choice name(Don't add any counter) donothing -auto=choice name(Add 1 counter) ability$!may name(Pay to add 1 counter) pay({1}{U}) name(Pay for 1 counter) all(mysource) name(Pay to add 1 counter) transforms((,newability[counter(1/1.1)],newability[name(Phase out 1 target) target(*[artifact;enchantment;creature]|battlefield) phaseout])) ueot!$ controller +auto=choice name(Add 1 counter) ability$!may name(Pay to add 1 counter) pay({1}{U}) name(Pay for 1 counter) all(mysource) name(Pay to add 1 counter) transforms((,newability[counter(1/1)],newability[name(Phase out 1 target) target(*[artifact;enchantment;creature]|battlefield) phaseout])) ueot!$ controller auto=choice name(Add 2 counters) ability$!may name(Pay to add 2 counters) pay({2}{U}{U}) name(Pay for 2 counters) all(mysource) name(Pay to add 2 counters) transforms((,newability[counter(1/1.2)],newability[name(Phase out 2 targets) target(<2>*[artifact;enchantment;creature]|battlefield) phaseout])) ueot!$ controller auto=choice name(Add 3 counters) ability$!may name(Pay to add 3 counters) pay({3}{U}{U}{U}) name(Pay for 3 counters) all(mysource) name(Pay to add 3 counters) transforms((,newability[counter(1/1.3)],newability[name(Phase out 3 targets) target(<3>*[artifact;enchantment;creature]|battlefield) phaseout])) ueot!$ controller auto=choice name(Add 4 counters) ability$!may name(Pay to add 4 counters) pay({4}{U}{U}{U}{U}) name(Pay for 4 counters) all(mysource) name(Pay to add 4 counters) transforms((,newability[counter(1/1.4,newability[name(Phase out 4 targets) target(<4>*[artifact;enchantment;creature]|battlefield) phaseout)])) ueot!$ controller @@ -71381,7 +71386,7 @@ name=Supernatural Rescue target=creature|myBattlefield anyzone=aslongas(spirit|mybattlefield) flash >0 auto=teach(creature) 1/2 -auto=may name(Tap 2 creatures) target(creature|opponentbattlefield) tap +autostack=may name(Tap 2 creatures) target(creature|opponentbattlefield) tap text=This spell has flash as long as you control a Spirit. -- When you cast this spell, tap up to two target creatures you don't control. -- Enchant creature you control -- Enchanted creature gets +1/+2. mana={3}{W} type=Enchantment @@ -72309,26 +72314,26 @@ toughness=4 name=Tainted Adversary abilities=deathtouch auto=choice name(Don't add any counter) donothing -auto=choice name(Add 1 counter) thisforeach(variable{1}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1.1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller -auto=choice name(Add 2 counters) thisforeach(variable{2}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1.1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller -auto=choice name(Add 3 counters) thisforeach(variable{3}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1.1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller -auto=choice name(Add 4 counters) thisforeach(variable{4}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1.1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller -auto=choice name(Add 5 counters) thisforeach(variable{5}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1.1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller -auto=choice name(Add 6 counters) thisforeach(variable{6}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1.1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller -auto=choice name(Add 7 counters) thisforeach(variable{7}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1.1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller -auto=choice name(Add 8 counters) thisforeach(variable{8}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1.1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller -auto=choice name(Add 9 counters) thisforeach(variable{9}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1.1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller -auto=choice name(Add 10 counters) thisforeach(variable{10}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1.1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller -auto=choice name(Add 11 counters) thisforeach(variable{11}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1.1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller -auto=choice name(Add 12 counters) thisforeach(variable{12}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1.1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller -auto=choice name(Add 13 counters) thisforeach(variable{13}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1.1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller -auto=choice name(Add 14 counters) thisforeach(variable{14}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1.1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller -auto=choice name(Add 15 counters) thisforeach(variable{15}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1.1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller -auto=choice name(Add 16 counters) thisforeach(variable{16}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1.1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller -auto=choice name(Add 17 counters) thisforeach(variable{17}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1.1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller -auto=choice name(Add 18 counters) thisforeach(variable{18}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1.1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller -auto=choice name(Add 19 counters) thisforeach(variable{19}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1.1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller -auto=choice name(Add 20 counters) thisforeach(variable{20}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1.1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller +auto=choice name(Add 1 counter) thisforeach(variable{1}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller +auto=choice name(Add 2 counters) thisforeach(variable{2}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller +auto=choice name(Add 3 counters) thisforeach(variable{3}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller +auto=choice name(Add 4 counters) thisforeach(variable{4}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller +auto=choice name(Add 5 counters) thisforeach(variable{5}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller +auto=choice name(Add 6 counters) thisforeach(variable{6}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller +auto=choice name(Add 7 counters) thisforeach(variable{7}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller +auto=choice name(Add 8 counters) thisforeach(variable{8}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller +auto=choice name(Add 9 counters) thisforeach(variable{9}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller +auto=choice name(Add 10 counters) thisforeach(variable{10}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller +auto=choice name(Add 11 counters) thisforeach(variable{11}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller +auto=choice name(Add 12 counters) thisforeach(variable{12}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller +auto=choice name(Add 13 counters) thisforeach(variable{13}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller +auto=choice name(Add 14 counters) thisforeach(variable{14}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller +auto=choice name(Add 15 counters) thisforeach(variable{15}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller +auto=choice name(Add 16 counters) thisforeach(variable{16}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller +auto=choice name(Add 17 counters) thisforeach(variable{17}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller +auto=choice name(Add 18 counters) thisforeach(variable{18}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller +auto=choice name(Add 19 counters) thisforeach(variable{19}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller +auto=choice name(Add 20 counters) thisforeach(variable{20}) ability$!name(Pay to add counter) pay({2}{B}) name(Pay to add counter) all(mysource) name(Pay to add counter) transforms((,newability[counter(1/1)],newability[name(Create 1 zombie) token(Zombie Dec)])) oneshot!$ controller text=Deathtouch -- When Tainted Adversary enters the battlefield, you may pay {2}{B} any number of times. When you pay this cost one or more times, put that many +1/+1 counters on Tainted Adversary, then create twice that many black 2/2 Zombie creature tokens with decayed. (A creature with decayed can't block. When it attacks, sacrifice it at end of combat.) type=Creature subtype=Zombie @@ -73453,7 +73458,7 @@ toughness=4 [card] name=Teshar, Ancestor's Apostle abilities=flying -auto=@movedTo(*[artifact;legendary;saga]|mystack):target(creature[manacost<=3]|myGraveyard) moveTo(mybattlefield) +auto=_CASTHISTORIC_target(creature[manacost<=3]|myGraveyard) moveTo(mybattlefield) text=Flying -- Whenever you cast a historic spell, return target creature card with mana value 3 or less from your graveyard to the battlefield. (Artifacts, legendaries, and Sagas are historic.) mana={3}{W} type=Legendary Creature @@ -73786,7 +73791,7 @@ type=Legendary Artifact [/card] [card] name=The Book of Vile Darkness -auto=@each my end restriction{compare(lifelost)~morethan~1}:name(Create zombie) token(Zombie) +auto=@each my end restriction{compare(lifelost)~morethan~1}:name(Create zombie) _ZOMBIETOKEN_ auto={T}{E}{E(Eye of Vecna|mybattlefield)}{E(Hand of Vecna|mybattlefield)}:name(Create Vecna) token(Vecna) text=At the beginning of your end step, if you lost 2 or more life this turn, create a 2/2 black Zombie creature token. -- {T}, Exile The Book of Vile Darkness and artifacts you control named Eye of Vecna and Hand of Vecna: Create Vecna, a legendary 8/8 black Zombie God creature token with indestructible. It gains all triggered abilities of the exiled cards. mana={B}{B}{B} @@ -76358,7 +76363,7 @@ type=Sorcery name=Traxos, Scourge of Kroog abilities=trample,doesnotuntap auto=tap(noevent) -auto=@movedTo(*[artifact;legendary;saga]|mystack):untap +auto=_CASTHISTORIC_untap text=Trample -- Traxos, Scourge of Kroog enters the battlefield tapped and doesn't untap during your untap step. -- Whenever you cast a historic spell, untap Traxos. (Artifacts, legendaries, and Sagas are historic.) mana={4} type=Legendary Artifact Creature @@ -77426,7 +77431,7 @@ toughness=8 [/card] [card] name=Ulamog's Despoiler -auto=if type(*|opponentexile)~morethan~1 then may target(<2>*|opponentexile) moveto(ownergraveyard) && counter(1/1,4) all(this) +auto=if type(*|opponentexile)~morethan~1 then may target(<2>*|opponentexile) moveto(ownergraveyard) && counter(1/1,2) all(this) text=As Ulamog's Despoiler enters the battlefield, you may put two cards your opponents own from exile into their owners' graveyards. If you do, Ulamog's Despoiler enters the battlefield with four +1/+1 counters on it. mana={6} type=Creature @@ -78357,7 +78362,7 @@ toughness=1 [/card] [card] name=Utility Knife -auto=aslongas(parents) name(Attach to creature) rehook target(creature|myBattlefield) <1 +auto=name(Attach to creature) rehook target(creature|myBattlefield) auto=teach(creature) 1/1 auto={3}:equip text=When Utility Knife enters the battlefield, attach it to target creature you control. -- Equipped creature gets +1/+1. -- Equip {3} ({3}: Attach to target creature you control. Equip only as a sorcery.) @@ -78940,7 +78945,7 @@ type=Land [card] name=Vecna abilities=indestructible -auto=@each my end restriction{compare(lifelost)~morethan~1}:name(Create zombie) token(Zombie) +auto=@each my end restriction{compare(lifelost)~morethan~1}:name(Create zombie) _ZOMBIETOKEN_ auto=@each my upkeep:name(Pay 2 to draw) pay[[{2}]] name(Pay 2) draw:1 controller && life:-2 controller auto=@each my combatbegins restriction{compare(phandcount)~morethan~0}:phandcount/phandcount ueot text=At the beginning of your end step, if you lost 2 or more life this turn, create a 2/2 black Zombie creature token. -- At the beginning of your upkeep, you may pay {2}. If you do, you draw a card and you lose 2 life. -- At the beginning of combat on your turn, Vecna gets +X/+X until end of turn, where X is the number of cards in your hand. @@ -80221,8 +80226,9 @@ toughness=1 [card] name=Vizier of Tumbling Sands abilities=cycling -auto={T}:untap target(other *|mybattlefield) +auto={T}:untap target(other *|battlefield) autohand=__CYCLING__({1}{U}) +autohand=@cycled(this|hand):untap target(*) text={T}: Untap another target permanent. -- Cycling {1}{U} ({1}{U}, Discard this card: Draw a card.) -- When you cycle Vizier of Tumbling Sands, untap target permanent. mana={2}{U} type=Creature diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index 90dde06fb..7a7cf1372 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -4643,9 +4643,9 @@ toughness=* [card] name=Aquastrand Spider auto=counter(1/1,2) -auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) auto={G}:reach target(creature[counter{1/1.1}]) text=Graft 2 (This creature enters the battlefield with two +1/+1 counters on it. Whenever another creature enters the battlefield, you may move a +1/+1 counter from this creature onto it.) -- {G}: Target creature with a +1/+1 counter on it gains reach until end of turn. (It can block creatures with flying.) mana={1}{G} @@ -5760,7 +5760,7 @@ type=Sorcery [card] name=Armament Corps auto=choice name(one creature) counter(1/1,2) target(creature|mybattlefield) -auto=if type(creature|mybattlefield)~morethan~1 then choice name(2 creatures) counter(1/1.1) target(<2>creature|mybattlefield) +auto=if type(creature|mybattlefield)~morethan~1 then choice name(2 creatures) counter(1/1) target(<2>creature|mybattlefield) text=When Armament Corps enters the battlefield, distribute two +1/+1 counters among one or two target creatures you control. mana={2}{W}{B}{G} type=Creature @@ -7331,9 +7331,22 @@ toughness=8 [card] name=Avacyn, Guardian Angel abilities=flying,vigilance -auto={1}{W}:name(target Creature) target(other creature) activatechooseacolor transforms((,newability[preventalldamage from chosencolor])) ueot activatechooseend -auto={5}{W}{W}:name(target Player) target(player) && activatechooseacolor emblem transforms((,newability[preventalldamage to(targetedplayer) from(*[chosencolor]|*)])) ueot activatechooseend -text=Flying, vigilance -- {1}{W}: Prevent all damage that would be dealt to another target creature this turn by sources of the color of your choice. -- {5}{W}{W}: Prevent all damage that would be dealt to target player this turn by sources of the color of your choice. +auto={1}{W}:name(Prevent white damage) target(other creature) transforms((,newability[preventalldamage from(*[white])] )) ueot +auto={1}{W}:name(Prevent blue damage) target(other creature) transforms((,newability[preventalldamage from(*[blue)])] )) ueot +auto={1}{W}:name(Prevent black damage) target(other creature) transforms((,newability[preventalldamage from(*[black])] )) ueot +auto={1}{W}:name(Prevent red damage) target(other creature) transforms((,newability[preventalldamage from(*[red])] )) ueot +auto={1}{W}:name(Prevent green damage) target(other creature) transforms((,newability[preventalldamage from(*[green])] )) ueot +auto={5}{W}{W}:name(Prevent white damage to player) emblem transforms((,newability[preventalldamage to(controller) from(*[white])])) ueot +auto={5}{W}{W}:name(Prevent blue damage to player) emblem transforms((,newability[preventalldamage to(controller) from(*[blue])])) ueot +auto={5}{W}{W}:name(Prevent black damage to player) emblem transforms((,newability[preventalldamage to(controller) from(*[black])])) ueot +auto={5}{W}{W}:name(Prevent red damage to player) emblem transforms((,newability[preventalldamage to(controller) from(*[red])])) ueot +auto={5}{W}{W}:name(Prevent green damage to player) emblem transforms((,newability[preventalldamage to(controller) from(*[green])])) ueot +auto={5}{W}{W}:name(Prevent white damage to planeswalker) target(planeswalker) transforms((,newability[preventalldamage from(*[white])])) ueot +auto={5}{W}{W}:name(Prevent blue damage to planeswalker) target(planeswalker) transforms((,newability[preventalldamage from(*[blue])])) ueot +auto={5}{W}{W}:name(Prevent black damage to planeswalker) target(planeswalker) transforms((,newability[preventalldamage from(*[black])])) ueot +auto={5}{W}{W}:name(Prevent red damage to planeswalker) target(planeswalker) transforms((,newability[preventalldamage from(*[red])])) ueot +auto={5}{W}{W}:name(Prevent green damage to planeswalker) target(planeswalker) transforms((,newability[preventalldamage from(*[green])])) ueot +text=Flying, vigilance -- {1}{W}: Prevent all damage that would be dealt to another target creature this turn by sources of the color of your choice. -- {5}{W}{W}: Prevent all damage that would be dealt to target player or planeswalker this turn by sources of the color of your choice. mana={2}{W}{W}{W} type=Legendary Creature subtype=Angel @@ -25317,9 +25330,9 @@ toughness=3 [card] name=Cytoplast Root-Kin auto=counter(1/1,4) -auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) auto=counter(1/1) all(other creature[counter{1/1.1}]|myBattlefield) auto={2}:counter(1/1,-1) target(creature[counter{1/1.1}]|myBattlefield) && counter(1/1) all(this) text=Graft 4 (This creature enters the battlefield with four +1/+1 counters on it. Whenever another creature enters the battlefield, you may move a +1/+1 counter from this creature onto it.) -- When Cytoplast Root-Kin enters the battlefield, put a +1/+1 counter on each other creature you control that has a +1/+1 counter on it. -- {2}: Move a +1/+1 counter from target creature you control onto Cytoplast Root-Kin. @@ -25332,9 +25345,9 @@ toughness=0 [card] name=Cytospawn Shambler auto=counter(1/1,6) -auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) auto={G}:trample target(creature[counter{1/1.1}]) text=Graft 6 (This creature enters the battlefield with six +1/+1 counters on it. Whenever another creature enters the battlefield, you may move a +1/+1 counter from this creature onto it.) -- {G}: Target creature with a +1/+1 counter on it gains trample until end of turn. mana={6}{G} @@ -32946,7 +32959,7 @@ toughness=* [/card] [card] name=Durable Handicraft -auto=@movedTo(creature|mybattlefield):all(trigger) transforms((,newability[pay[[{1}]] counter(1/1.1)])) forever +auto=@movedTo(creature|mybattlefield):all(trigger) transforms((,newability[pay[[{1}]] counter(1/1)])) forever auto={5}{G}{S}:counter(1/1) all(creature|mybattlefield) text=Whenever a creature enters the battlefield under your control, you may pay {1}. If you do, put a +1/+1 counter on that creature. -- {5}{G}, Sacrifice Durable Handicraft: Put a +1/+1 counter on each creature you control. mana={1}{G} @@ -37048,7 +37061,7 @@ subtype=Aura [card] name=Essence Flux target=creature|mybattlefield -auto=if cantargetcard(*[spirit]) then moveto(exile) and!( transforms((,newability[moveto(ownerbattlefield)],newability[counter(1/1.1)])) oneshot )! +auto=if cantargetcard(*[spirit]) then moveto(exile) and!( transforms((,newability[moveto(ownerbattlefield)],newability[counter(1/1)])) oneshot )! auto=if cantargetcard(*[-spirit]) then moveto(exile) and!(moveto(ownerbattlefield))! text=Exile target creature you control, then return that card to the battlefield under its owner's control. If it's a Spirit, put a +1/+1 counter on it. mana={U} @@ -53726,9 +53739,9 @@ type=Artifact [card] name=Helium Squirter auto=counter(1/1,3) -auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) auto={1}:flying target(creature[counter{1/1.1}]) text=Graft 3 (This creature enters the battlefield with three +1/+1 counters on it. Whenever another creature enters the battlefield, you may move a +1/+1 counter from this creature onto it.) -- {1}: Target creature with a +1/+1 counter on it gains flying until end of turn. mana={4}{U} @@ -67896,9 +67909,9 @@ name=Llanowar Reborn auto=tap(noevent) auto={T}:Add{G} auto=counter(1/1) -auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) text=Llanowar Reborn enters the battlefield tapped. -- {T}: Add {G} to your mana pool. -- Graft 1 (This land enters the battlefield with a +1/+1 counter on it. Whenever a creature enters the battlefield, you may move a +1/+1 counter from this land onto it.) type=Land [/card] @@ -73256,7 +73269,7 @@ type=Sorcery [/card] [card] name=Metallic Mimic -auto=chooseatype transforms((chosentype,newability[@movedTo(creature[chosentype]|mybattlefield)}:all(trigger[to]) counter(1/1.1)])) forever chooseend +auto=chooseatype transforms((chosentype,newability[@movedTo(creature[chosentype]|mybattlefield)}:all(trigger[to]) counter(1/1)])) forever chooseend text=As Metallic Mimic enters the battlefield, choose a creature type. -- Metallic Mimic is the chosen type in addition to its other types. -- Each other creature you control of the chosen type enters the battlefield with an additional +1/+1 counter on it. mana={2} type=Artifact Creature @@ -74586,8 +74599,9 @@ type=Sorcery [/card] [card] name=Mirko Vosk, Mind Drinker +abilities=flying auto=@combatdamaged(player) from(this):Reveal:4 revealzone(opponentlibrary) revealuntil(land|opponentlibrary) optionone choice name(Look) target(*|reveal) donothing optiononeend optiontwo choice name(put in Graveyard) all(*|reveal) moveto(graveyard) optiontwoend revealend -text=Flying -- Whenever Mirko Vosk, Mind Drinker deals combat damage to a player, that player reveals cards from the top of his or her library until he or she reveals four land cards, then puts those cards into his or her graveyard. +text=Flying -- Whenever Mirko Vosk, Mind Drinker deals combat damage to a player, that player reveals cards from the top of their library until they reveal four land cards, then puts those cards into their graveyard. mana={3}{U}{B} type=Legendary Creature subtype=Vampire @@ -80827,9 +80841,9 @@ toughness=7 [card] name=Novijen Sages auto=counter(1/1,4) -auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) auto={1}{C(1/1,-1),creature|mybattlefield}{C(1/1,-1),creature|mybattlefield}:draw:1 controller text=Graft 4 (This creature enters the battlefield with four +1/+1 counters on it. Whenever another creature enters the battlefield, you may move a +1/+1 counter from this creature onto it.) -- {1}, Remove two +1/+1 counters from among creatures you control: Draw a card. mana={4}{U}{U} @@ -82101,7 +82115,7 @@ toughness=3 [card] name=Olivia, Mobilized for War abilities=flying -auto=@movedto(other creature|mybattlefield):all(trigger) transforms((,newability[may reject notatarget(*|myhand) and!( all(this) counter(1/1.1) && all(this) haste && all(this) becomes(vampire) forever )!])) forever )! +auto=@movedto(other creature|mybattlefield):all(trigger) transforms((,newability[may reject notatarget(*|myhand) and!( all(this) counter(1/1) && all(this) haste && all(this) becomes(vampire) forever )!])) text=Flying -- Whenever another creature enters the battlefield under your control, you may discard a card. If you do, put a +1/+1 counter on that creature, it gains haste until end of turn, and it becomes a Vampire in addition to its other types. mana={1}{B}{R} type=Legendary Creature @@ -86738,11 +86752,11 @@ toughness=1 [card] name=Pili-Pala abilities=flying -auto={2}{q}:add{g} auto={2}{q}:add{w} -auto={2}{q}:add{r} auto={2}{q}:add{u} auto={2}{q}:add{b} +auto={2}{q}:add{r} +auto={2}{q}:add{g} text=Flying -- {2}, {Q}: Add one mana of any color to your mana pool. ({Q} is the untap symbol.) mana={2} type=Artifact Creature @@ -87494,9 +87508,9 @@ text=Your life total can't change. (You can't gain or lose life. You can't pay a name=Plaxcaster Frogling auto=counter(1/1,3) auto={2}:shroud target(creature[counter{1/1.1}]) -auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) text=Graft 3 (This creature enters the battlefield with three +1/+1 counters on it. Whenever another creature enters the battlefield, you may move a +1/+1 counter from this creature onto it.) -- {2}: Target creature with a +1/+1 counter on it gains shroud until end of turn. (It can't be the target of spells or abilities.) mana={1}{G}{U} type=Creature @@ -90577,8 +90591,9 @@ toughness=5 [card] name=Quicksilver Dagger target=creature -auto=teach(creature) ({T}:damage:1 target(creature,player) && draw:1 controller) -text=Enchant creature -- Enchanted creature has "{T}: This creature deals 1 damage to target player. You draw a card." +auto=teach(creature) transforms((,newability[{T}:name(damage player) damage:1 target(player) && draw:1 controller])) +auto=teach(creature) transforms((,newability[{T}:name(damage planeswalker) damage:1 target(planeswalker) && draw:1 controller])) +text=Enchant creature -- Enchanted creature has "{T}: This creature deals 1 damage to target player or planeswalker. You draw a card." mana={1}{U}{R} type=Enchantment subtype=Aura @@ -91208,7 +91223,7 @@ name=Raging Ravine auto=tap(noevent) auto={T}:Add{R} auto={T}:Add{G} -auto={2}{R}{G}:transforms((Elemental Creature,setpower=3,settoughness=3,red,green,newability[_ATTACKING_counter(1/1.1) all(this)])) ueot +auto={2}{R}{G}:transforms((Elemental Creature,setpower=3,settoughness=3,red,green,newability[_ATTACKING_counter(1/1) all(this)])) ueot text=Raging Ravine enters the battlefield tapped. -- {T}: Add {R} or {G} to your mana pool. -- {2}{R}{G}: Until end of turn, Raging Ravine becomes a 3/3 red and green Elemental creature with "Whenever this creature attacks, put a +1/+1 counter on it." It's still a land. type=Land [/card] @@ -95480,7 +95495,7 @@ toughness=2 name=Ring of Evos Isle auto={1}:equip autoskill={2}:opponentshroud ueot -auto=teach(creature[blue]) transforms((,newability[@each my upkeep:counter(1/1.1)])) +auto=teach(creature[blue]) transforms((,newability[@each my upkeep:counter(1/1)])) text={2}: Equipped creature gains hexproof until end of turn. (It can't be the target of spells or abilities your opponents control.) -- At the beginning of your upkeep, put a +1/+1 counter on equipped creature if it's blue. -- Equip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.) mana={2} type=Artifact @@ -95498,7 +95513,7 @@ type=Artifact name=Ring of Kalonia auto={1}:equip auto=teach(creature) trample -auto=teach(creature[green]) transforms((,newability[@each my upkeep:counter(1/1.1)])) +auto=teach(creature[green]) transforms((,newability[@each my upkeep:counter(1/1)])) text=Equipped creature has trample. (If it would assign enough damage to its blockers to destroy them, you may have it assign the rest of its damage to defending player or planeswalker.) -- At the beginning of your upkeep, put a +1/+1 counter on equipped creature if it's green. -- Equip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.) mana={2} type=Artifact @@ -95524,7 +95539,7 @@ type=Artifact name=Ring of Thune auto={1}:equip auto=teach(creature) vigilance -auto=teach(creature[white]) transforms((,newability[@each my upkeep:counter(1/1.1)])) +auto=teach(creature[white]) transforms((,newability[@each my upkeep:counter(1/1)])) text=Equipped creature has vigilance. (Attacking doesn't cause it to tap.) -- At the beginning of your upkeep, put a +1/+1 counter on equipped creature if it's white. -- Equip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.) mana={2} type=Artifact @@ -95534,7 +95549,7 @@ subtype=Equipment name=Ring of Valkas auto={1}:equip auto=teach(creature) haste -auto=teach(creature[red]) transforms((,newability[@each my upkeep:counter(1/1.1)])) +auto=teach(creature[red]) transforms((,newability[@each my upkeep:counter(1/1)])) text=Equipped creature has haste. (It can attack and {T} no matter when it came under your control.) -- At the beginning of your upkeep, put a +1/+1 counter on equipped creature if it's red. -- Equip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.) mana={2} type=Artifact @@ -95544,7 +95559,7 @@ subtype=Equipment name=Ring of Xathrid auto={1}:equip autoskill={2}:regenerate -auto=teach(creature[black]) transforms((,newability[@each my upkeep:counter(1/1.1)])) +auto=teach(creature[black]) transforms((,newability[@each my upkeep:counter(1/1)])) text={2}: Regenerate equipped creature. (The next time that creature would be destroyed this turn, it isn't. Instead tap it, remove all damage from it, and remove it from combat.) -- At the beginning of your upkeep, put a +1/+1 counter on equipped creature if it's black. -- Equip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.) mana={2} type=Artifact @@ -99713,7 +99728,7 @@ toughness=2 [/card] [card] name=Scale Blessing -auto=name(Bolster) notatarget(creature[toughness=toughness:lowest:creature:mybattlefield]|mybattlefield) transforms((,newability[counter(1/1.2)],newability[counter(1/1.1) all(other creature[counter{1/1.1}]|mybattlefield)])) forever +auto=name(Bolster) notatarget(creature[toughness=toughness:lowest:creature:mybattlefield]|mybattlefield) transforms((,newability[counter(1/1.2)],newability[counter(1/1) all(other creature[counter{1/1.1}]|mybattlefield)])) forever text=Bolster 1, then put a +1/+1 counter on each creature you control with a +1/+1 counter on it. (To bolster 1, choose a creature with the least toughness among creatures you control and put a +1/+1 counter on it.) mana={3}{W} type=Instant @@ -103368,7 +103383,7 @@ toughness=2 [card] name=Shaman of the Great Hunt abilities=haste -auto=lord(creature|mybattlefield) transforms((,newability[@combatdamaged(player) from(this):counter(1/1.1) all(this)])) +auto=lord(creature|mybattlefield) transforms((,newability[@combatdamaged(player) from(this):counter(1/1) all(this)])) auto={2}{GU}{GU}:foreach(creature[power>=4]|mybattlefield) draw:1 text=Haste -- Whenever a creature you control deals combat damage to a player, put a +1/+1 counter on it. -- Ferocious -- {2}{G/U}{G/U}: Draw a card for each creature you control with power 4 or greater. mana={3}{R} @@ -105969,9 +105984,9 @@ toughness=2 [card] name=Simic Basilisk auto=counter(1/1,3) -auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) auto={1}{G}:target(creature[counter{1/1.1}]) transforms((,newability[@combatdamaged(creature) from(this):all(trigger[to]) phaseaction[combatends once] destroy])) ueot text=Graft 3 (This creature enters the battlefield with three +1/+1 counters on it. Whenever another creature enters the battlefield, you may move a +1/+1 counter from this creature onto it.) -- {1}{G}: Until end of turn, target creature with a +1/+1 counter on it gains "Whenever this creature deals combat damage to a creature, destroy that creature at end of combat." mana={4}{G}{G} @@ -106021,9 +106036,9 @@ subtype=Gate name=Simic Initiate text=Graft 1 (This creature enters the battlefield with a +1/+1 counter on it. Whenever another creature enters the battlefield, you may move a +1/+1 counter from this creature onto it.) auto=counter(1/1) -auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) mana={G} type=Creature subtype=Human Mutant @@ -112053,9 +112068,9 @@ toughness=1 [card] name=Sporeback Troll auto=counter(1/1,2) -auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) auto={1}{G}:regenerate target(creature[counter{1/1.1}]) text=Graft 2 (This creature enters the battlefield with two +1/+1 counters on it. Whenever another creature enters the battlefield, you may move a +1/+1 counter from this creature onto it.) -- {1}{G}: Regenerate target creature with a +1/+1 counter on it. mana={3}{G} @@ -128915,9 +128930,9 @@ toughness=2 [card] name=Vigean Graftmage auto=counter(1/1,2) -auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) auto={1}{U}:untap target(creature[counter{1/1.1}]) text=Graft 2 (This creature enters the battlefield with two +1/+1 counters on it. Whenever another creature enters the battlefield, you may move a +1/+1 counter from this creature onto it.) -- {1}{U}: Untap target creature with a +1/+1 counter on it. mana={2}{U} @@ -128930,9 +128945,9 @@ toughness=0 name=Vigean Hydropon abilities=cantattack,cantblock,cantpwattack auto=counter(1/1,5) -auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) -auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1.1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|battlefield) restriction{compare(hascnt11)~morethan~0,compare(ishuman)~equalto~1}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~morethan~1,compare(ishuman)~equalto~0,compare(genrand2)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) +auto=@movedto(other creature|mybattlefield) restriction{compare(hascnt11)~equalto~1,compare(ishuman)~equalto~0,compare(genrand4)~equalto~0}:may name(move 1/1 counter) all(trigger) counter(1/1) && counter(1/1.-1) all(this) text=Graft 5 (This creature enters the battlefield with five +1/+1 counters on it. Whenever another creature enters the battlefield, you may move a +1/+1 counter from this creature onto it.) -- Vigean Hydropon can't attack or block. mana={1}{G}{U} type=Creature @@ -136919,7 +136934,7 @@ toughness=1 [/card] [card] name=Zameck Guildmage -auto={G}{U}:name(1/1 counters) emblem transforms((,newability[@movedto(creature|myBattlefield):all(trigger[to]) counter(1/1.1)])) ueot +auto={G}{U}:name(1/1 counters) emblem transforms((,newability[@movedto(creature|myBattlefield):all(trigger[to]) counter(1/1)])) ueot auto={G}{U}{C(1/1,-1),*|mybattlefield}:name(remove a 1/1 counter) draw:1 text={G}{U}: This turn, each creature you control enters the battlefield with an additional +1/+1 counter on it. -- {G}{U}, Remove a +1/+1 counter from a creature you control: Draw a card. mana={G}{U} @@ -137576,14 +137591,6 @@ power=2 toughness=2 [/card] [card] -name=Zombie -power=2 -toughness=2 -type=Creature -subtype=Zombie -color=black -[/card] -[card] name=Zombify target=creature|mygraveyard auto=moveTo(myBattlefield) diff --git a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt index 7bb11e5e5..5f33784c7 100644 --- a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt +++ b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt @@ -605,7 +605,7 @@ backside=Chandra, Fire of Kaladesh auto=counter(0/0,4,loyalty) auto={C(0/0,1,Loyalty)}:name(+1: Deals 2 damage to player or planeswalker) damage:2 target(player,planeswalker) auto={C(0/0,-2,Loyalty)}:name(-2: Deals 2 damage to creature) damage:2 target(creature) -auto={C(0/0,-7,Loyalty)}:name(-7: Deals 6 damage with Emblem) emblem transforms((newability[damage:6 opponent],newability[@each opponent upkeep:damage:3 opponent])) forever dontremove +auto={C(0/0,-7,Loyalty)}:name(-7: Deals 6 damage with Emblem) emblem transforms((,newability[damage:6 opponent],newability[@each opponent upkeep:damage:3 opponent])) forever dontremove text=+1: Chandra, Roaring Flame deals 2 damage to target player or planeswalker. -- −2: Chandra, Roaring Flame deals 2 damage to target creature. -- −7: Chandra, Roaring Flame deals 6 damage to each opponent. Each player dealt damage this way gets an emblem with "At the beginning of your upkeep, this emblem deals 3 damage to you." // Chandra, Fire of Kaladesh type=Legendary Planeswalker subtype=Chandra @@ -1533,7 +1533,7 @@ name=Kasmina, Enigma Sage auto=counter(0/0,2,Loyalty) aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto={C(0/0.2.Loyalty)}:limit:1 name(+2: Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend -auto={C(0/0.-1.Loyalty)}:limit:1 name(-1: Create fractal with 1 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1.1) )! +auto={C(0/0.-1.Loyalty)}:limit:1 name(-1: Create fractal with 1 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1) )! auto={C(0/0.-2.Loyalty)}:limit:1 name(-2: Create fractal with 2 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1.2) )! auto={C(0/0.-3.Loyalty)}:limit:1 name(-3: Create fractal with 3 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1.3) )! auto={C(0/0.-4.Loyalty)}:limit:1 name(-4: Create fractal with 4 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1.4) )! @@ -1555,7 +1555,7 @@ auto={C(0/0.-19.Loyalty)}:limit:1 name(-19: Create fractal with 19 counter) toke auto={C(0/0.-20.Loyalty)}:limit:1 name(-20: Create fractal with 20 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1.20) )! auto={C(0/0.-8.Loyalty)}:limit:1 name(-8: Search instant or sorcery) target(*[instant;sorcery;share!color!]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[zerocast],newability[@each untap:canplayfromexile],newability[@each untap:zerocast])) forever )! auto=lord(other planeswalker|mybattlefield) transforms((,newability[{C(0/0.2.Loyalty)}:limit:1 name(+2: Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend])) -auto=lord(other planeswalker|mybattlefield) transforms((,newability[{C(0/0.-1.Loyalty)}:limit:1 name(-1: Create fractal with 1 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1.1) )!])) +auto=lord(other planeswalker|mybattlefield) transforms((,newability[{C(0/0.-1.Loyalty)}:limit:1 name(-1: Create fractal with 1 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1) )!])) auto=lord(other planeswalker|mybattlefield) transforms((,newability[{C(0/0.-2.Loyalty)}:limit:1 name(-2: Create fractal with 2 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1.2) )!])) auto=lord(other planeswalker|mybattlefield) transforms((,newability[{C(0/0.-3.Loyalty)}:limit:1 name(-3: Create fractal with 3 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1.3) )!])) auto=lord(other planeswalker|mybattlefield) transforms((,newability[{C(0/0.-4.Loyalty)}:limit:1 name(-4: Create fractal with 4 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1.4) )!]))