From 3a8d70ff272a27fb7ff118e6f1f049b09fd1886f Mon Sep 17 00:00:00 2001 From: Vittorio Alfieri Date: Tue, 22 Dec 2020 12:38:24 +0100 Subject: [PATCH] Fixed all primitives with Domain ability, fixed issue #1044 opened by DroidArthas. --- .../bin/Res/sets/primitives/borderline.txt | 108 ++++++++-- projects/mtg/bin/Res/sets/primitives/mtg.txt | 194 ++++++++---------- .../bin/Res/sets/primitives/planeswalkers.txt | 8 +- 3 files changed, 182 insertions(+), 128 deletions(-) diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index 01633b4ef..3c61ac3b4 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -800,15 +800,15 @@ toughness=1 [card] name=Aladdin's Lamp auto={1}{T}:name(X=1) name(X=1) donothing -auto={2}{T}:name(X=2) name(X=2) transforms((,newability[replacedraw reveal:2 optionone name(Choose a card) target(*|reveal) moveto(myhand) and!( all(*[zpos<=1]|mylibrary) moveto(myhand) )! forever optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend])) ueot -auto={3}{T}:name(X=3) name(X=3) transforms((,newability[replacedraw reveal:3 optionone name(Choose a card) target(*|reveal) moveto(myhand) and!( all(*[zpos<=2]|mylibrary) moveto(myhand) )! forever optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend])) ueot -auto={4}{T}:name(X=4) name(X=4) transforms((,newability[replacedraw reveal:4 optionone name(Choose a card) target(*|reveal) moveto(myhand) and!( all(*[zpos<=3]|mylibrary) moveto(myhand) )! forever optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend])) ueot -auto={5}{T}:name(X=5) name(X=5) transforms((,newability[replacedraw reveal:5 optionone name(Choose a card) target(*|reveal) moveto(myhand) and!( all(*[zpos<=4]|mylibrary) moveto(myhand) )! forever optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend])) ueot -auto={6}{T}:name(X=6) name(X=6) transforms((,newability[replacedraw reveal:6 optionone name(Choose a card) target(*|reveal) moveto(myhand) and!( all(*[zpos<=5]|mylibrary) moveto(myhand) )! forever optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend])) ueot -auto={7}{T}:name(X=7) name(X=7) transforms((,newability[replacedraw reveal:7 optionone name(Choose a card) target(*|reveal) moveto(myhand) and!( all(*[zpos<=6]|mylibrary) moveto(myhand) )! forever optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend])) ueot -auto={8}{T}:name(X=8) name(X=8) transforms((,newability[replacedraw reveal:8 optionone name(Choose a card) target(*|reveal) moveto(myhand) and!( all(*[zpos<=7]|mylibrary) moveto(myhand) )! forever optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend])) ueot -auto={9}{T}:name(X=9) name(X=9) transforms((,newability[replacedraw reveal:9 optionone name(Choose a card) target(*|reveal) moveto(myhand) and!( all(*[zpos<=8]|mylibrary) moveto(myhand) )! forever optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend])) ueot -auto={10}{T}:name(X=10) name(X=10) transforms((,newability[replacedraw reveal:10 optionone name(Choose a card) target(*|reveal) moveto(myhand) and!( all(*[zpos<=9]|mylibrary) moveto(myhand) )! forever optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend afterreveal all(*[zpos<=10]) moveto(myhand) afterrevealend revealend])) ueot +auto={2}{T}:name(X=2) name(X=2) transforms((,newability[replacedraw reveal:2 optionone name(Choose a card) target(*|reveal) moveto(myhand) and!( all(*[zpos<=1]|mylibrary) moveto(myhand) )! optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend])) ueot +auto={3}{T}:name(X=3) name(X=3) transforms((,newability[replacedraw reveal:3 optionone name(Choose a card) target(*|reveal) moveto(myhand) and!( all(*[zpos<=2]|mylibrary) moveto(myhand) )! optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend])) ueot +auto={4}{T}:name(X=4) name(X=4) transforms((,newability[replacedraw reveal:4 optionone name(Choose a card) target(*|reveal) moveto(myhand) and!( all(*[zpos<=3]|mylibrary) moveto(myhand) )! optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend])) ueot +auto={5}{T}:name(X=5) name(X=5) transforms((,newability[replacedraw reveal:5 optionone name(Choose a card) target(*|reveal) moveto(myhand) and!( all(*[zpos<=4]|mylibrary) moveto(myhand) )! optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend])) ueot +auto={6}{T}:name(X=6) name(X=6) transforms((,newability[replacedraw reveal:6 optionone name(Choose a card) target(*|reveal) moveto(myhand) and!( all(*[zpos<=5]|mylibrary) moveto(myhand) )! optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend])) ueot +auto={7}{T}:name(X=7) name(X=7) transforms((,newability[replacedraw reveal:7 optionone name(Choose a card) target(*|reveal) moveto(myhand) and!( all(*[zpos<=6]|mylibrary) moveto(myhand) )! optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend])) ueot +auto={8}{T}:name(X=8) name(X=8) transforms((,newability[replacedraw reveal:8 optionone name(Choose a card) target(*|reveal) moveto(myhand) and!( all(*[zpos<=7]|mylibrary) moveto(myhand) )! optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend])) ueot +auto={9}{T}:name(X=9) name(X=9) transforms((,newability[replacedraw reveal:9 optionone name(Choose a card) target(*|reveal) moveto(myhand) and!( all(*[zpos<=8]|mylibrary) moveto(myhand) )! optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend])) ueot +auto={10}{T}:name(X=10) name(X=10) transforms((,newability[replacedraw reveal:10 optionone name(Choose a card) target(*|reveal) moveto(myhand) and!( all(*[zpos<=9]|mylibrary) moveto(myhand) )! optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend afterreveal all(*[zpos<=10]) moveto(myhand) afterrevealend revealend])) ueot text={X}, {T}: The next time you would draw a card this turn, instead look at the top X cards of your library, put all but one of them on the bottom of your library in a random order, then draw a card. X can't be 0. mana={10} type=Artifact @@ -12533,7 +12533,30 @@ subtype=Equipment [card] name=Draco abilities=flying -anyzone=changecost(colorless:twicepbasiclandtypes) forcedalive +autoexile=this(variable{pbasiclandtypes}=1) changecost(colorless:-2) forcedalive +autoexile=this(variable{pbasiclandtypes}=2) changecost(colorless:-4) forcedalive +autoexile=this(variable{pbasiclandtypes}=3) changecost(colorless:-6) forcedalive +autoexile=this(variable{pbasiclandtypes}=4) changecost(colorless:-8) forcedalive +autoexile=this(variable{pbasiclandtypes}=5) changecost(colorless:-10) forcedalive +autoexile=this(variable{pbasiclandtypes}=6) changecost(colorless:-12) forcedalive +autoexile=this(variable{pbasiclandtypes}=7) changecost(colorless:-14) forcedalive +autoexile=this(variable{pbasiclandtypes}>=8) changecost(colorless:-16) forcedalive +autograveyard=this(variable{pbasiclandtypes}=1) changecost(colorless:-2) forcedalive +autograveyard=this(variable{pbasiclandtypes}=2) changecost(colorless:-4) forcedalive +autograveyard=this(variable{pbasiclandtypes}=3) changecost(colorless:-6) forcedalive +autograveyard=this(variable{pbasiclandtypes}=4) changecost(colorless:-8) forcedalive +autograveyard=this(variable{pbasiclandtypes}=5) changecost(colorless:-10) forcedalive +autograveyard=this(variable{pbasiclandtypes}=6) changecost(colorless:-12) forcedalive +autograveyard=this(variable{pbasiclandtypes}=7) changecost(colorless:-14) forcedalive +autograveyard=this(variable{pbasiclandtypes}>=8) changecost(colorless:-16) forcedalive +autohand={9}:restriction{compare(pbasiclandtypes)~equalto~1} name(2 less to cast) name(1 less to cast) activate castcard(restricted) target(Draco|myhand) +autohand={8}:restriction{compare(pbasiclandtypes)~equalto~2} name(4 less to cast) name(4 less to cast) activate castcard(restricted) target(Draco|myhand) +autohand={7}:restriction{compare(pbasiclandtypes)~equalto~3} name(6 less to cast) name(6 less to cast) activate castcard(restricted) target(Draco|myhand) +autohand={6}:restriction{compare(pbasiclandtypes)~equalto~4} name(8 less to cast) name(8 less to cast) activate castcard(restricted) target(Draco|myhand) +autohand={5}:restriction{compare(pbasiclandtypes)~equalto~5} name(10 less to cast) name(10 less to cast) activate castcard(restricted) target(Draco|myhand) +autohand={4}:restriction{compare(pbasiclandtypes)~equalto~6} name(12 less to cast) name(12 less to cast) activate castcard(restricted) target(Draco|myhand) +autohand={3}:restriction{compare(pbasiclandtypes)~equalto~7} name(14 less to cast) name(14 less to cast) activate castcard(restricted) target(Draco|myhand) +autohand={2}:restriction{compare(pbasiclandtypes)~morethan~7} name(16 less to cast) name(16 less to cast) activate castcard(restricted) target(Draco|myhand) auto=this(pbasiclandtypes=0) upcost[{10}] sacrifice auto=this(pbasiclandtypes=1) upcost[{8}] sacrifice auto=this(pbasiclandtypes=2) upcost[{6}] sacrifice @@ -14840,7 +14863,26 @@ toughness=2 [card] name=Evasive Action target=*|stack -auto=if cantargetcard(*|opponentstack) then transforms((,newability[pay[[{pbasiclandtypes}]] name(pay {pbasiclandtypes} mana) donothing?fizzle])) forever else transforms((,newability[pay[[{pbasiclandtypes}]] name(pay {pbasiclandtypes} mana) donothing?fizzle])) forever +auto=if compare(pbasiclandtypes)~equalto~1 then transforms((,newability[pay[[{1}]] name(pay {1} mana) donothing?fizzle])) forever +auto=if compare(pbasiclandtypes)~equalto~2 then transforms((,newability[pay[[{2}]] name(pay {2} mana) donothing?fizzle])) forever +auto=if compare(pbasiclandtypes)~equalto~3 then transforms((,newability[pay[[{3}]] name(pay {3} mana) donothing?fizzle])) forever +auto=if compare(pbasiclandtypes)~equalto~4 then transforms((,newability[pay[[{4}]] name(pay {4} mana) donothing?fizzle])) forever +auto=if compare(pbasiclandtypes)~equalto~5 then transforms((,newability[pay[[{5}]] name(pay {5} mana) donothing?fizzle])) forever +auto=if compare(pbasiclandtypes)~equalto~6 then transforms((,newability[pay[[{6}]] name(pay {6} mana) donothing?fizzle])) forever +auto=if compare(pbasiclandtypes)~equalto~7 then transforms((,newability[pay[[{7}]] name(pay {7} mana) donothing?fizzle])) forever +auto=if compare(pbasiclandtypes)~equalto~8 then transforms((,newability[pay[[{8}]] name(pay {8} mana) donothing?fizzle])) forever +auto=if compare(pbasiclandtypes)~equalto~9 then transforms((,newability[pay[[{9}]] name(pay {9} mana) donothing?fizzle])) forever +auto=if compare(pbasiclandtypes)~equalto~10 then transforms((,newability[pay[[{10}]] name(pay {10} mana) donothing?fizzle])) forever +auto=if compare(pbasiclandtypes)~equalto~11 then transforms((,newability[pay[[{11}]] name(pay {11} mana) donothing?fizzle])) forever +auto=if compare(pbasiclandtypes)~equalto~12 then transforms((,newability[pay[[{12}]] name(pay {12} mana) donothing?fizzle])) forever +auto=if compare(pbasiclandtypes)~equalto~13 then transforms((,newability[pay[[{13}]] name(pay {13} mana) donothing?fizzle])) forever +auto=if compare(pbasiclandtypes)~equalto~14 then transforms((,newability[pay[[{14}]] name(pay {14} mana) donothing?fizzle])) forever +auto=if compare(pbasiclandtypes)~equalto~15 then transforms((,newability[pay[[{15}]] name(pay {15} mana) donothing?fizzle])) forever +auto=if compare(pbasiclandtypes)~equalto~16 then transforms((,newability[pay[[{16}]] name(pay {16} mana) donothing?fizzle])) forever +auto=if compare(pbasiclandtypes)~equalto~17 then transforms((,newability[pay[[{17}]] name(pay {17} mana) donothing?fizzle])) forever +auto=if compare(pbasiclandtypes)~equalto~18 then transforms((,newability[pay[[{18}]] name(pay {18} mana) donothing?fizzle])) forever +auto=if compare(pbasiclandtypes)~equalto~19 then transforms((,newability[pay[[{19}]] name(pay {19} mana) donothing?fizzle])) forever +auto=if compare(pbasiclandtypes)~morethan~19 then transforms((,newability[pay[[{29}]] name(pay {20} mana) donothing?fizzle])) forever text=Domain — Counter target spell unless its controller pays {1} for each basic land type among lands you control. mana={1}{U} type=Instant @@ -24426,7 +24468,8 @@ type=Sorcery [/card] [card] name=Jace, Vryn's Prodigy -auto={T}:draw:1 controller && ability$!name(Discard a card) reject notAtarget(*|myhand)!$ controller && ability$!(Transform Jace) if type(*|myGraveyard)~morethan~4 then all(Jace, Vryn's Prodigy) moveto(ownerBattlefield)!$ controller && && ability$!(Transform Jace) if type(*|myGraveyard)~morethan~4 then all(Jace, Vryn's Prodigy) flip(Jace, Telepath Unbound)$! controller +auto={T}:draw:1 controller && ability$!name(Discard a card) reject notatarget(*|myhand)!$ controller restriction{type(*|mygraveyard)~lessthan~4} +auto={T}:draw:1 controller && ability$!name(Discard a card) reject notatarget(*|myhand)!$ controller && moveto(exile) and!( moveto(mybattlefield) and!( haste && counter(0/0,5,Loyalty) && flip(Jace, Telepath Unbound) )! )! restriction{type(*|mygraveyard)~morethan~3} text={T}: Draw a card, then discard a card. If there are five or more cards in your graveyard, exile Jace, Vryn's Prodigy, then return him to the battlefield transformed under his owner's control. mana={1}{U} type=Legendary Creature @@ -46732,7 +46775,36 @@ type=Instant [card] name=Stratadon abilities=trample -anyzone=foreach(land[basic]|mybattlefield) changecost(colorless:-1) forcedalive +autoexile=this(variable{pbasiclandtypes}=1) changecost(colorless:-1) forcedalive +autoexile=this(variable{pbasiclandtypes}=2) changecost(colorless:-2) forcedalive +autoexile=this(variable{pbasiclandtypes}=3) changecost(colorless:-3) forcedalive +autoexile=this(variable{pbasiclandtypes}=4) changecost(colorless:-4) forcedalive +autoexile=this(variable{pbasiclandtypes}=5) changecost(colorless:-5) forcedalive +autoexile=this(variable{pbasiclandtypes}=6) changecost(colorless:-6) forcedalive +autoexile=this(variable{pbasiclandtypes}=7) changecost(colorless:-7) forcedalive +autoexile=this(variable{pbasiclandtypes}=8) changecost(colorless:-8) forcedalive +autoexile=this(variable{pbasiclandtypes}=9) changecost(colorless:-9) forcedalive +autoexile=this(variable{pbasiclandtypes}=10) changecost(colorless:-10) forcedalive +autograveyard=this(variable{pbasiclandtypes}=1) changecost(colorless:-1) forcedalive +autograveyard=this(variable{pbasiclandtypes}=2) changecost(colorless:-2) forcedalive +autograveyard=this(variable{pbasiclandtypes}=3) changecost(colorless:-3) forcedalive +autograveyard=this(variable{pbasiclandtypes}=4) changecost(colorless:-4) forcedalive +autograveyard=this(variable{pbasiclandtypes}=5) changecost(colorless:-5) forcedalive +autograveyard=this(variable{pbasiclandtypes}=6) changecost(colorless:-6) forcedalive +autograveyard=this(variable{pbasiclandtypes}=7) changecost(colorless:-7) forcedalive +autograveyard=this(variable{pbasiclandtypes}=8) changecost(colorless:-8) forcedalive +autograveyard=this(variable{pbasiclandtypes}=9) changecost(colorless:-9) forcedalive +autograveyard=this(variable{pbasiclandtypes}>=10) changecost(colorless:-10) forcedalive +autohand={9}:restriction{compare(pbasiclandtypes)~equalto~1} name(1 less to cast) name(1 less to cast) activate castcard(restricted) target(Stratadon|myhand) +autohand={8}:restriction{compare(pbasiclandtypes)~equalto~2} name(2 less to cast) name(2 less to cast) activate castcard(restricted) target(Stratadon|myhand) +autohand={7}:restriction{compare(pbasiclandtypes)~equalto~3} name(3 less to cast) name(3 less to cast) activate castcard(restricted) target(Stratadon|myhand) +autohand={6}:restriction{compare(pbasiclandtypes)~equalto~4} name(4 less to cast) name(4 less to cast) activate castcard(restricted) target(Stratadon|myhand) +autohand={5}:restriction{compare(pbasiclandtypes)~equalto~5} name(5 less to cast) name(5 less to cast) activate castcard(restricted) target(Stratadon|myhand) +autohand={4}:restriction{compare(pbasiclandtypes)~equalto~6} name(6 less to cast) name(6 less to cast) activate castcard(restricted) target(Stratadon|myhand) +autohand={3}:restriction{compare(pbasiclandtypes)~equalto~7} name(7 less to cast) name(7 less to cast) activate castcard(restricted) target(Stratadon|myhand) +autohand={2}:restriction{compare(pbasiclandtypes)~equalto~8} name(8 less to cast) name(8 less to cast) activate castcard(restricted) target(Stratadon|myhand) +autohand={1}:restriction{compare(pbasiclandtypes)~equalto~9} name(9 less to cast) name(9 less to cast) activate castcard(restricted) target(Stratadon|myhand) +autohand={0}:restriction{compare(pbasiclandtypes)~morethan~9} name(10 less to cast) name(10 less to cast) activate castcard(restricted) target(Stratadon|myhand) text=Domain — Stratadon costs {1} less to cast for each basic land type among lands you control. -- Trample mana={10} type=Artifact Creature @@ -48313,6 +48385,10 @@ autoexile=this(variable{calculateparty}=1) changecost(colorless:-1) forcedalive autoexile=this(variable{calculateparty}=2) changecost(colorless:-2) forcedalive autoexile=this(variable{calculateparty}=3) changecost(colorless:-3) forcedalive autoexile=this(variable{calculateparty}=4) changecost(colorless:-4) forcedalive +autocommandzone=this(variable{calculateparty}=1) changecost(colorless:-1) forcedalive +autocommandzone=this(variable{calculateparty}=2) changecost(colorless:-2) forcedalive +autocommandzone=this(variable{calculateparty}=3) changecost(colorless:-3) forcedalive +autocommandzone=this(variable{calculateparty}=4) changecost(colorless:-4) forcedalive autograveyard=this(variable{calculateparty}=1) changecost(colorless:-1) forcedalive autograveyard=this(variable{calculateparty}=2) changecost(colorless:-2) forcedalive autograveyard=this(variable{calculateparty}=3) changecost(colorless:-3) forcedalive @@ -55313,7 +55389,7 @@ toughness=1 [/card] [card] name=Words of War -auto={1}:transforms((,newability[replacedraw ability$!name(Damage player or creatur) choice name(Damage creature) target(creature|battlefield) damage:2 _ choice name(Damage opponent) damage:2 opponent _ choice name(Damage yourself) damage:2 controller!$ controller])) ueot +auto={1}:transforms((,newability[replacedraw ability$!name(Damage player or creature) choice name(Damage creature) target(creature|battlefield) damage:2 _ choice name(Damage opponent) damage:2 opponent _ choice name(Damage yourself) damage:2 controller!$ controller])) ueot text={1}: The next time you would draw a card this turn, Words of War deals 2 damage to target creature or player instead. mana={2}{R} type=Enchantment @@ -55720,6 +55796,10 @@ autoexile=this(variable{calculateparty}=1) changecost(colorless:-1) forcedalive autoexile=this(variable{calculateparty}=2) changecost(colorless:-2) forcedalive autoexile=this(variable{calculateparty}=3) changecost(colorless:-3) forcedalive autoexile=this(variable{calculateparty}=4) changecost(colorless:-4) forcedalive +autocommandzone=this(variable{calculateparty}=1) changecost(colorless:-1) forcedalive +autocommandzone=this(variable{calculateparty}=2) changecost(colorless:-2) forcedalive +autocommandzone=this(variable{calculateparty}=3) changecost(colorless:-3) forcedalive +autocommandzone=this(variable{calculateparty}=4) changecost(colorless:-4) forcedalive autograveyard=this(variable{calculateparty}=1) changecost(colorless:-1) forcedalive autograveyard=this(variable{calculateparty}=2) changecost(colorless:-2) forcedalive autograveyard=this(variable{calculateparty}=3) changecost(colorless:-3) forcedalive diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index fd2ed01ba..65b1d2e3a 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -2758,11 +2758,7 @@ type=Sorcery [card] name=Allied Strategies target=player -auto=if type(plains|targetedpersonsbattlefield)~morethan~0 then draw:1 targetedplayer -auto=if type(island|targetedpersonsbattlefield)~morethan~0 then draw:1 targetedplayer -auto=if type(mountain|targetedpersonsbattlefield)~morethan~0 then draw:1 targetedplayer -auto=if type(swamp|targetedpersonsbattlefield)~morethan~0 then draw:1 targetedplayer -auto=if type(forest|targetedpersonsbattlefield)~morethan~0 then draw:1 targetedplayer +auto=ability$!name(Draw cards) name(Draw cards) draw:pbasiclandtypes controller!$ targetedplayer text=Domain - Target player draws a card for each basic land type among lands he or she controls. mana={4}{U} type=Sorcery @@ -7755,11 +7751,7 @@ toughness=3 [card] name=Aven Trailblazer abilities=flying -auto=aslongas(forest|myBattlefield) 0/1 -auto=aslongas(island|myBattlefield) 0/1 -auto=aslongas(plains|myBattlefield) 0/1 -auto=aslongas(mountain|myBattlefield) 0/1 -auto=aslongas(swamp|myBattlefield) 0/1 +anyzone=2/pbasiclandtypes cdaactive text=Flying -- Domain - Aven Trailblazer's toughness is equal to the number of basic land types among lands you control. mana={2}{W} type=Creature @@ -21313,18 +21305,8 @@ type=Snow Artifact [/card] [card] name=Collapsing Borders -auto=@each my upkeep restriction{type(plains|myBattlefield)~morethan~0:life:1 controller -auto=@each my upkeep restriction{type(island|myBattlefield)~morethan~0:life:1 controller -auto=@each my upkeep restriction{type(swamp|myBattlefield)~morethan~0:life:1 controller -auto=@each my upkeep restriction{type(mountain|myBattlefield)~morethan~0:life:1 controller -auto=@each my upkeep restriction{type(forest|myBattlefield)~morethan~0:life:1 controller -auto=@each my upkeep:life:-3 controller -auto=@each opponent upkeep restriction{type(plains|myBattlefield)~morethan~0:life:1 opponent -auto=@each opponent upkeep restriction{type(island|myBattlefield)~morethan~0:life:1 opponent -auto=@each opponent upkeep restriction{type(swamp|myBattlefield)~morethan~0:life:1 opponent -auto=@each opponent upkeep restriction{type(mountain|myBattlefield)~morethan~0:life:1 opponent -auto=@each opponent upkeep restriction{type(green|myBattlefield)~morethan~0:life:1 opponent -auto=@each opponent upkeep:life:-3 opponent +auto=@each my upkeep:life:pbasiclandtypes controller && damage:3 controller +auto=@each opponent upkeep:ability$!name(Gain life) life:pbasiclandtypes controller!$ opponent && damage:3 opponent text=Domain - At the beginning of each player's upkeep, that player gains 1 life for each basic land type among lands he or she controls. Then Collapsing Borders deals 3 damage to him or her. mana={3}{R} type=Enchantment @@ -21354,11 +21336,26 @@ type=Enchantment [/card] [card] name=Collective Restraint -auto=aslongas(forest|mybattlefield) lord(creature|opponentbattlefield) transforms((,newability[attackcost:1])) -auto=aslongas(island|mybattlefield) lord(creature|opponentbattlefield) transforms((,newability[attackcost:1])) -auto=aslongas(mountain|mybattlefield) lord(creature|opponentbattlefield) transforms((,newability[attackcost:1])) -auto=aslongas(swamp|mybattlefield) lord(creature|opponentbattlefield) transforms((,newability[attackcost:1])) -auto=aslongas(plains|mybattlefield) lord(creature|opponentbattlefield) transforms((,newability[attackcost:1])) +auto=this(variable{pbasiclandtypes}=1) lord(creature|opponentbattlefield) transforms((,newability[attackcost:1])) +auto=this(variable{pbasiclandtypes}=2) lord(creature|opponentbattlefield) transforms((,newability[attackcost:2])) +auto=this(variable{pbasiclandtypes}=3) lord(creature|opponentbattlefield) transforms((,newability[attackcost:3])) +auto=this(variable{pbasiclandtypes}=4) lord(creature|opponentbattlefield) transforms((,newability[attackcost:4])) +auto=this(variable{pbasiclandtypes}=5) lord(creature|opponentbattlefield) transforms((,newability[attackcost:5])) +auto=this(variable{pbasiclandtypes}=6) lord(creature|opponentbattlefield) transforms((,newability[attackcost:6])) +auto=this(variable{pbasiclandtypes}=7) lord(creature|opponentbattlefield) transforms((,newability[attackcost:7])) +auto=this(variable{pbasiclandtypes}=8) lord(creature|opponentbattlefield) transforms((,newability[attackcost:8])) +auto=this(variable{pbasiclandtypes}=9) lord(creature|opponentbattlefield) transforms((,newability[attackcost:9])) +auto=this(variable{pbasiclandtypes}=10) lord(creature|opponentbattlefield) transforms((,newability[attackcost:10])) +auto=this(variable{pbasiclandtypes}=11) lord(creature|opponentbattlefield) transforms((,newability[attackcost:11])) +auto=this(variable{pbasiclandtypes}=12) lord(creature|opponentbattlefield) transforms((,newability[attackcost:12])) +auto=this(variable{pbasiclandtypes}=13) lord(creature|opponentbattlefield) transforms((,newability[attackcost:13])) +auto=this(variable{pbasiclandtypes}=14) lord(creature|opponentbattlefield) transforms((,newability[attackcost:14])) +auto=this(variable{pbasiclandtypes}=15) lord(creature|opponentbattlefield) transforms((,newability[attackcost:15])) +auto=this(variable{pbasiclandtypes}=16) lord(creature|opponentbattlefield) transforms((,newability[attackcost:16])) +auto=this(variable{pbasiclandtypes}=17) lord(creature|opponentbattlefield) transforms((,newability[attackcost:17])) +auto=this(variable{pbasiclandtypes}=18) lord(creature|opponentbattlefield) transforms((,newability[attackcost:18])) +auto=this(variable{pbasiclandtypes}=19) lord(creature|opponentbattlefield) transforms((,newability[attackcost:19])) +auto=this(variable{pbasiclandtypes}>=20) lord(creature|opponentbattlefield) transforms((,newability[attackcost:20])) text=Domain -- Creatures can't attack you unless their controller pays {X} for each creature he or she controls that's attacking you, where X is the number of basic land types among lands you control. mana={3}{U} type=Enchantment @@ -30873,11 +30870,7 @@ type=Sorcery [card] name=Drag Down target=creature -auto=aslongas(forest|myBattlefield) -1/-1 -auto=aslongas(island|myBattlefield) -1/-1 -auto=aslongas(plains|myBattlefield) -1/-1 -auto=aslongas(mountain|myBattlefield) -1/-1 -auto=aslongas(swamp|myBattlefield) -1/-1 +auto=-pbasiclandtypes/-pbasiclandtypes ueot text=Domain - Target creature gets -1/-1 until end of turn for each basic land type among lands you control. mana={2}{B} type=Instant @@ -37726,11 +37719,7 @@ subtype=Aura [card] name=Exotic Curse target=creature -auto=aslongas(forest|mybattlefield) -1/-1 -auto=aslongas(mountain|mybattlefield) -1/-1 -auto=aslongas(plains|mybattlefield) -1/-1 -auto=aslongas(swamp|mybattlefield) -1/-1 -auto=aslongas(island|mybattlefield) -1/-1 +auto=thisforeach(variable{pbasiclandtypes}>0) -1/-1 text=Enchant creature -- Domain - Enchanted creature gets -1/-1 for each basic land type among lands you control. mana={2}{B} type=Enchantment @@ -37738,11 +37727,8 @@ subtype=Aura [/card] [card] name=Exotic Disease -auto=aslongas(plains|myBattlefield) life:-1 opponent && life:1 controller -auto=aslongas(island|myBattlefield) life:-1 opponent && life:1 controller -auto=aslongas(swamp|myBattlefield) life:-1 opponent && life:1 controller -auto=aslongas(mountain|myBattlefield) life:-1 opponent && life:1 controller -auto=aslongas(forest|myBattlefield) life:-1 opponent && life:1 controller +auto=life:-pbasiclandtypes opponent +auto=life:pbasiclandtypes controller text=Domain - Target player loses X life and you gain X life, where X is the number of basic land types among lands you control. mana={4}{B} type=Sorcery @@ -44298,11 +44284,7 @@ subtype=Aura [card] name=Gaea's Might target=creature -auto=aslongas(forest|myBattlefield) 1/1 -auto=aslongas(mountain|myBattlefield) 1/1 -auto=aslongas(plains|myBattlefield) 1/1 -auto=aslongas(swamp|myBattlefield) 1/1 -auto=aslongas(island|myBattlefield) 1/1 +auto=pbasiclandtypes/pbasiclandtypes ueot text=Domain - Target creature gets +1/+1 until end of turn for each basic land type among lands you control. mana={G} type=Instant @@ -61936,11 +61918,7 @@ toughness=3 [/card] [card] name=Kavu Scout -auto=aslongas(forest|myBattlefield) 1/0 -auto=aslongas(island|myBattlefield) 1/0 -auto=aslongas(plains|myBattlefield) 1/0 -auto=aslongas(mountain|myBattlefield) 1/0 -auto=aslongas(swamp|myBattlefield) 1/0 +auto=thisforeach(variable{pbasiclandtypes}>0) 1/0 text=Domain - Kavu Scout gets +1/+0 for each basic land type among lands you control. mana={2}{R} type=Creature @@ -70382,11 +70360,7 @@ subtype=Aura [card] name=Manaforce Mace auto={3}:equip -auto=teach(creature) transforms((,newability[aslongas(forest|myBattlefield) 1/1])) -auto=teach(creature) transforms((,newability[aslongas(mountain|myBattlefield) 1/1])) -auto=teach(creature) transforms((,newability[aslongas(plains|myBattlefield) 1/1])) -auto=teach(creature) transforms((,newability[aslongas(island|myBattlefield) 1/1])) -auto=teach(creature) transforms((,newability[aslongas(swamp|myBattlefield) 1/1])) +auto=teach(creature) thisforeach(variable{pbasiclandtypes}>0) 1/1 text=Domain - Equipped creature gets +1/+1 for each basic land type among lands you control. -- Equip {3} mana={4} type=Artifact @@ -73426,12 +73400,8 @@ type=Instant [/card] [card] name=Might of Alara -target=Creature -auto=aslongas(forest|myBattlefield) 1/1 -auto=aslongas(mountain|myBattlefield) 1/1 -auto=aslongas(plains|myBattlefield) 1/1 -auto=aslongas(swamp|myBattlefield) 1/1 -auto=aslongas(island|myBattlefield) 1/1 +target=creature +auto=pbasiclandtypes/pbasiclandtypes ueot text=Domain - Target creature gets +1/+1 until end of turn for each basic land type among lands you control. mana={G} type=Instant @@ -82923,11 +82893,7 @@ toughness=2 [/card] [card] name=Ordered Migration -auto=aslongas(forest|myBattlefield) token(Bird,Creature Bird,1/1,blue,flying) -auto=aslongas(mountain|myBattlefield) token(Bird,Creature Bird,1/1,blue,flying) -auto=aslongas(island|myBattlefield) token(Bird,Creature Bird,1/1,blue,flying) -auto=aslongas(swamp|myBattlefield) token(Bird,Creature Bird,1/1,blue,flying) -auto=aslongas(plains|myBattlefield) token(Bird,Creature Bird,1/1,blue,flying) +auto=token(Bird,Creature Bird,1/1,blue,flying)*pbasiclandtypes text=Domain - Put a 1/1 blue Bird creature token with flying onto the battlefield for each basic land type among lands you control. mana={3}{W}{U} type=Sorcery @@ -87117,11 +87083,7 @@ type=Enchantment [/card] [card] name=Planar Despair -auto=aslongas(swamp|myBattlefield) all(creature) -1/-1 -auto=aslongas(mountain|myBattlefield) all(creature) -1/-1 -auto=aslongas(forest|myBattlefield) all(creature) -1/-1 -auto=aslongas(plains|myBattlefield) all(creature) -1/-1 -auto=aslongas(island|myBattlefield) all(creature) -1/-1 +auto=all(creature) -pbasiclandtypes/-pbasiclandtypes ueot text=Domain - All creatures get -1/-1 until end of turn for each basic land type among lands you control. mana={3}{B}{B} type=Sorcery @@ -87763,7 +87725,7 @@ type=Artifact [/card] [card] name=Power Armor -auto={3}{T}:target(creature) transforms((,newability[aslongas(plains|mybattlefield) 1/1 ueot],newability[aslongas(island|mybattlefield) 1/1 ueot],newability[aslongas(swamp|mybattlefield) 1/1 ueot],newability[aslongas(mountain|mybattlefield) 1/1 ueot],newability[aslongas(forest|mybattlefield) 1/1 ueot])) ueot +auto={3}{T}:target(creature) pbasiclandtypes/pbasiclandtypes ueot text=Domain - {3}, {T}: Target creature gets +1/+1 until end of turn for each basic land type among lands you control. mana={4} type=Artifact @@ -88588,7 +88550,26 @@ type=Instant [card] name=Prismatic Geoscope auto=tap(noevent) -auto={T}:name(add mana) thisforeach(variable{pbasiclandtypes}>0) ability$! choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller +auto={T} restriction{compare(pbasiclandtypes)~equalto~1}:ability$!name(Choose one) choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller +auto={T} restriction{compare(pbasiclandtypes)~equalto~2}:thisforeach(variable{2}) ability$!name(Choose one) choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller +auto={T} restriction{compare(pbasiclandtypes)~equalto~3}:thisforeach(variable{3}) ability$!name(Choose one) choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller +auto={T} restriction{compare(pbasiclandtypes)~equalto~4}:thisforeach(variable{4}) ability$!name(Choose one) choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller +auto={T} restriction{compare(pbasiclandtypes)~equalto~5}:thisforeach(variable{5}) ability$!name(Choose one) choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller +auto={T} restriction{compare(pbasiclandtypes)~equalto~6}:thisforeach(variable{6}) ability$!name(Choose one) choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller +auto={T} restriction{compare(pbasiclandtypes)~equalto~7}:thisforeach(variable{7}) ability$!name(Choose one) choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller +auto={T} restriction{compare(pbasiclandtypes)~equalto~8}:thisforeach(variable{8}) ability$!name(Choose one) choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller +auto={T} restriction{compare(pbasiclandtypes)~equalto~9}:thisforeach(variable{9}) ability$!name(Choose one) choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller +auto={T} restriction{compare(pbasiclandtypes)~equalto~10}:thisforeach(variable{10}) ability$!name(Choose one) choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller +auto={T} restriction{compare(pbasiclandtypes)~equalto~11}:thisforeach(variable{11}) ability$!name(Choose one) choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller +auto={T} restriction{compare(pbasiclandtypes)~equalto~12}:thisforeach(variable{12}) ability$!name(Choose one) choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller +auto={T} restriction{compare(pbasiclandtypes)~equalto~13}:thisforeach(variable{13}) ability$!name(Choose one) choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller +auto={T} restriction{compare(pbasiclandtypes)~equalto~14}:thisforeach(variable{14}) ability$!name(Choose one) choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller +auto={T} restriction{compare(pbasiclandtypes)~equalto~15}:thisforeach(variable{15}) ability$!name(Choose one) choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller +auto={T} restriction{compare(pbasiclandtypes)~equalto~16}:thisforeach(variable{16}) ability$!name(Choose one) choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller +auto={T} restriction{compare(pbasiclandtypes)~equalto~17}:thisforeach(variable{17}) ability$!name(Choose one) choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller +auto={T} restriction{compare(pbasiclandtypes)~equalto~18}:thisforeach(variable{18}) ability$!name(Choose one) choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller +auto={T} restriction{compare(pbasiclandtypes)~equalto~19}:thisforeach(variable{19}) ability$!name(Choose one) choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller +auto={T} restriction{compare(pbasiclandtypes)~morethan~19}:thisforeach(variable{20}) ability$!name(Choose one) choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller text=Prismatic Geoscope enters the battlefield tapped. -- Domain -- {T}: Add X mana in any combination of colors to your mana pool, where X is the number of basic land types among lands you control. mana={5} type=Artifact @@ -111768,11 +111749,7 @@ subtype=Aura [/card] [card] name=Spore Burst -auto=aslongas(forest|myBattlefield) token(Saproling,Creature Saproling,1/1,green) -auto=aslongas(mountain|myBattlefield) token(Saproling,Creature Saproling,1/1,green) -auto=aslongas(plains|myBattlefield) token(Saproling,Creature Saproling,1/1,green) -auto=aslongas(swamp|myBattlefield) token(Saproling,Creature Saproling,1/1,green) -auto=aslongas(island|myBattlefield) token(Saproling,Creature Saproling,1/1,green) +auto=token(Saproling,Creature Saproling,1/1,green)*pbasiclandtypes text=Domain - Put a 1/1 green Saproling creature token onto the battlefield for each basic land type among lands you control. mana={3}{G} type=Sorcery @@ -114452,11 +114429,7 @@ type=Instant [card] name=Strength of Unity target=creature -auto=aslongas(forest|myBattlefield) 1/1 -auto=aslongas(island|myBattlefield) 1/1 -auto=aslongas(plains|myBattlefield) 1/1 -auto=aslongas(mountain|myBattlefield) 1/1 -auto=aslongas(swamp|myBattlefield) 1/1 +auto=thisforeach(variable{pbasiclandtypes}>0) 1/1 text=Enchant creature -- Domain - Enchanted creature gets +1/+1 for each basic land type among lands you control. mana={3}{W} type=Enchantment @@ -123893,11 +123866,7 @@ type=Artifact [card] name=Tribal Flames target=creature,player -auto=aslongas(forest|myBattlefield) damage:1 -auto=aslongas(mountain|myBattlefield) damage:1 -auto=aslongas(plains|myBattlefield) damage:1 -auto=aslongas(island|myBattlefield) damage:1 -auto=aslongas(swamp|myBattlefield) damage:1 +auto=damage:pbasiclandtypes text=Domain - Tribal Flames deals X damage to target creature or player, where X is the number of basic land types among lands you control. mana={1}{R} type=Sorcery @@ -124236,11 +124205,7 @@ toughness=6 [/card] [card] name=Tromp the Domains -auto=aslongas(plains|myBattlefield) all(creature|myBattlefield) 1/1 ueot -auto=aslongas(forest|myBattlefield) all(creature|myBattlefield) 1/1 ueot -auto=aslongas(mountain|myBattlefield) all(creature|myBattlefield) 1/1 ueot -auto=aslongas(swamp|myBattlefield) all(creature|myBattlefield) 1/1 ueot -auto=aslongas(island|myBattlefield) all(creature|myBattlefield) 1/1 ueot +auto=all(creature|myBattlefield) pbasiclandtypes/pbasiclandtypes ueot auto=all(creature|myBattlefield) trample ueot text=Domain - Until end of turn, creatures you control gain trample and get +1/+1 for each basic land type among lands you control. mana={5}{G} @@ -129811,11 +129776,26 @@ toughness=1 [card] name=Voices from the Void target=player -auto=aslongas(forest|myBattlefield) ability$!target(*|myhand) reject!$ targetedplayer -auto=aslongas(island|myBattlefield) ability$!target(*|myhand) reject!$ targetedplayer -auto=aslongas(plains|myBattlefield) ability$!target(*|myhand) reject!$ targetedplayer -auto=aslongas(mountain|myBattlefield) ability$!target(*|myhand) reject!$ targetedplayer -auto=aslongas(swamp|myBattlefield) ability$!target(*|myhand) reject!$ targetedplayer +auto=if compare(pbasiclandtypes)~equalto~1 then ability$!target(*|myhand) reject!$ targetedplayer +auto=if compare(pbasiclandtypes)~equalto~2 then ability$!target(<2>*|myhand) reject!$ targetedplayer +auto=if compare(pbasiclandtypes)~equalto~3 then ability$!target(<3>*|myhand) reject!$ targetedplayer +auto=if compare(pbasiclandtypes)~equalto~4 then ability$!target(<4>*|myhand) reject!$ targetedplayer +auto=if compare(pbasiclandtypes)~equalto~5 then ability$!target(<5>*|myhand) reject!$ targetedplayer +auto=if compare(pbasiclandtypes)~equalto~6 then ability$!target(<6>*|myhand) reject!$ targetedplayer +auto=if compare(pbasiclandtypes)~equalto~7 then ability$!target(<7>*|myhand) reject!$ targetedplayer +auto=if compare(pbasiclandtypes)~equalto~8 then ability$!target(<8>*|myhand) reject!$ targetedplayer +auto=if compare(pbasiclandtypes)~equalto~9 then ability$!target(<9>*|myhand) reject!$ targetedplayer +auto=if compare(pbasiclandtypes)~equalto~10 then ability$!target(<10>*|myhand) reject!$ targetedplayer +auto=if compare(pbasiclandtypes)~equalto~11 then ability$!target(<11>*|myhand) reject!$ targetedplayer +auto=if compare(pbasiclandtypes)~equalto~12 then ability$!target(<12>*|myhand) reject!$ targetedplayer +auto=if compare(pbasiclandtypes)~equalto~13 then ability$!target(<13>*|myhand) reject!$ targetedplayer +auto=if compare(pbasiclandtypes)~equalto~14 then ability$!target(<14>*|myhand) reject!$ targetedplayer +auto=if compare(pbasiclandtypes)~equalto~15 then ability$!target(<15>*|myhand) reject!$ targetedplayer +auto=if compare(pbasiclandtypes)~equalto~16 then ability$!target(<16>*|myhand) reject!$ targetedplayer +auto=if compare(pbasiclandtypes)~equalto~17 then ability$!target(<17>*|myhand) reject!$ targetedplayer +auto=if compare(pbasiclandtypes)~equalto~18 then ability$!target(<18>*|myhand) reject!$ targetedplayer +auto=if compare(pbasiclandtypes)~equalto~19 then ability$!target(<19>*|myhand) reject!$ targetedplayer +auto=if compare(pbasiclandtypes)~morethan~19 then ability$!target(<20>*|myhand) reject!$ targetedplayer text=Domain - Target player discards a card for each basic land type among lands you control. mana={4}{B} type=Sorcery @@ -131425,7 +131405,7 @@ type=Land [/card] [card] name=Wandering Goblins -auto={3}:aslongas(plains|myBattlefield]) 1/0 && aslongas(island|myBattlefield]) 1/0 && aslongas(swamp|myBattlefield]) 1/0 && aslongas(mountain|myBattlefield]) 1/0 && aslongas(forest|myBattlefield]) 1/0 +auto={3}:pbasiclandtypes/0 ueot text=Domain - {3}: Wandering Goblins gets +1/+0 until end of turn for each basic land type among lands you control. mana={2}{R} type=Creature @@ -131466,11 +131446,7 @@ toughness=1 [/card] [card] name=Wandering Stream -auto=aslongas(forest|myBattlefield) life:2 -auto=aslongas(mountain|myBattlefield) life:2 -auto=aslongas(swamp|myBattlefield) life:2 -auto=aslongas(island|myBattlefield) life:2 -auto=aslongas(plains|myBattlefield) life:2 +auto=life:twicepbasiclandtypes controller text=Domain - You gain 2 life for each basic land type among lands you control. mana={2}{G} type=Sorcery @@ -132434,11 +132410,7 @@ type=Artifact [/card] [card] name=Wayfaring Giant -auto=aslongas(forest|myBattlefield) 1/1 -auto=aslongas(island|myBattlefield) 1/1 -auto=aslongas(plains|myBattlefield) 1/1 -auto=aslongas(mountain|myBattlefield) 1/1 -auto=aslongas(swamp|myBattlefield) 1/1 +auto=thisforeach(variable{pbasiclandtypes}>0) 1/1 text=Domain - Wayfaring Giant gets +1/+1 for each basic land type among lands you control. mana={5}{W} type=Creature diff --git a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt index 6649a8ea3..77e85e35d 100644 --- a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt +++ b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt @@ -1230,12 +1230,14 @@ subtype=Jace [card] name=Jace, Telepath Unbound auto=counter(0/0,5,loyalty) -auto={C(0/0,1,Loyalty)}:name(+1: creature gets -2/0) target(creature) -2/0 uynt -auto={C(0/0,-3,Loyalty)}:name(-3: cast from graveyard) transforms((,newability[@movedTo(instant,sorcery|graveyard):all(trigger) moveTo(exile) limit:1],newability[target(*[instant;sorcery]|mygraveyard) activate castcard(normal)])) ueot -auto={C(0/0,-9,Loyalty)}:name(-9: emblem) emblem transforms((,newability[@movedTo(*|mystack):deplete:5 opponent])) forever dontremove +auto={C(0/0,1,Loyalty)}:name(+1: don't target any creature) donothing +auto={C(0/0,1,Loyalty)}:name(+1: target creature gets -2/0) may target(creature) -2/0 uynt +auto={C(0/0,-3,Loyalty)}:name(-3: choose an instant or sorcery you may from graveyard) target(*[instant;sorcery]|mygraveyard) transforms((,newability[canplayfromgraveyard],newability[gainedexiledeath])) ueot +auto={C(0/0,-9,Loyalty)}:name(-9: emblem mills opponent cards) emblem transforms((,newability[@movedTo(*|mystack):deplete:5 opponent])) forever dontremove text=+1: Up to one target creature gets -2/-0 until your next turn. -- -3: You may cast target instant or sorcery card from your graveyard this turn. If that card would be put into your graveyard this turn, exile it instead. -- -9: You get an emblem with "Whenever you cast a spell, target opponent puts the top five cards of his or her library into his or her graveyard." type=Legendary Planeswalker subtype=Jace +color=blue [/card] [card] name=Jace, Wielder of Mysteries