From 5a3a32462d67404d402400e8ac6faa1480608c20 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Thu, 16 Feb 2017 02:44:42 +0800 Subject: [PATCH] first set of changes updated some cards --- .../bin/Res/sets/primitives/borderline.txt | 10 - projects/mtg/bin/Res/sets/primitives/mtg.txt | 487 ++++++++++++------ .../bin/Res/sets/primitives/unsupported.txt | 33 -- projects/mtg/bin/Res/test/welkin_hawk.txt | 2 +- projects/mtg/bin/Res/test/windswept_heath.txt | 2 +- 5 files changed, 345 insertions(+), 189 deletions(-) diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index ee25dd475..243e1cafd 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -412,16 +412,6 @@ type=Sorcery text=Destroy all creatures target player controls. For each creature that died this way, put two 1/1 red Goblin creature tokens onto the battlefield under that player's control. [/card] [card] -name=Necropotence -#exile cards are faceup -auto=@movedTo(*|mygraveyard):all(trigger[to]) moveTo(exile) -auto=phasealter(remove,draw,controller) -auto={L:1}:name(exile) reveal:1 optionone all(*|reveal) transforms((,newability[moveto(exile)],newability[phaseaction[my endofturn once checkex] moveto(ownerhand)])) optiononeend revealend -text=Skip your draw step. -- Whenever you discard a card, exile that card from your graveyard. -- Pay 1 life: Exile the top card of your library face down. Put that card into your hand at the beginning of your next end step. -mana={B}{B}{B} -type=Enchantment -[/card] -[card] name=Nightshade Seer auto={2}{B}{T}:foreach(*[black]|myhand) -1/-1 target(creature) text={2}{B}, {T}: Reveal any number of black cards in your hand. Target creature gets -X/-X until end of turn, where X is the number of cards revealed this way. diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index 665508a12..76fdb9724 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -68,7 +68,7 @@ toughness=3 [card] name=Abbot of Keral Keep auto=@movedTo(*[-creature]|mystack):1/1 ueot -auto=reveal:1 optionone all(*|reveal) moveto(exile) and!( transforms((,newability[canplayfromexile])) ueot)! optiononeend revealend +auto=moveto(exile) and!( transforms((,canplayfromexile)) ueot )! all(*[zpos=1]|mylibrary) text=Prowess (Whenever you cast a noncreature spell, this creature gets +1/+1 until end of turn.) -- When Abbot of Keral Keep enters the battlefield, exile the top card of your library. Until end of turn, you may play that card. mana={1}{R} type=Creature @@ -236,7 +236,8 @@ name=Absorb Vis target=player auto=life:-4 auto=life:4 controller -autohand=__BASIC_LANDCYCLING__({1}{B}) +aicode=activate target(land[basic]|mylibrary) moveto(myhand) +autohand={1}{B}{cycle}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>land[basic]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Target player loses 4 life and you gain 4 life. -- Basic landcycling {1}{B} ({1}{B}, Discard this card: Search your library for a basic land card, reveal it, and put it into your hand. Then shuffle your library.) mana={6}{B} type=Sorcery @@ -762,7 +763,7 @@ type=Sorcery [/card] [card] name=Act on Impulse -auto=name(exile) reveal:3 optionone all(*|reveal) moveto(exile) and!( transforms((,newability[canplayfromexile])) ueot)! optiononeend revealend +auto=moveto(exile) and!( transforms((,canplayfromexile)) ueot )! all(*[zpos<=3]|mylibrary) text=Exile the top three cards of your library. Until end of turn, you may play cards exiled this way. (If you cast a spell this way, you still pay its costs. You can play a land this way only if you have an available land play remaining.) mana={2}{R} type=Sorcery @@ -1029,7 +1030,7 @@ toughness=4 [card] name=Aerial Caravan abilities=flying -auto={1}{U}{U}:name(exile) reveal:1 optionone all(*|reveal) moveto(exile) and!( transforms((,newability[canplayfromexile])) ueot )! optiononeend revealend +auto={1}{U}{U}:moveto(exile) and!( transforms((,canplayfromexile)) ueot )! all(*[zpos=1]|mylibrary) text=Flying -- {1}{U}{U}: Exile the top card of your library. Until end of turn, you may play that card. (Reveal the card as you exile it.) mana={4}{U}{U} type=Creature @@ -1969,6 +1970,7 @@ subtype=Ajani [card] name=Ajani Unyielding auto=counter(0/0,4,loyalty) +aicode=activate target(<3>*[zpos<=3]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(land|*) then bottomoflibrary)! auto={C(0/0,2,Loyalty)}:name(+2: Reveal Cards) reveal:3 optionone name(Get Nonland Cards) target(<3>*[-land]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<3>*|reveal) bottomoflibrary optiontwoend revealend auto={C(0/0,-2,Loyalty)}:name(-2: Exile Target) target(creature) dynamicability moveTo(exile) auto={C(0/0,-9,Loyalty)}:name(-9: Ultimate) counter(1/1,5) all(creature|mybattlefield) && counter(0/0,5,loyalty) all(other planeswalker|mybattlefield) @@ -6283,7 +6285,8 @@ type=Enchantment [card] name=Ash Barrens auto={t}:add{c} -autohand=__BASIC_LANDCYCLING__({1}) +aicode=activate target(land[basic]|mylibrary) moveto(myhand) +autohand={1}{cycle}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>land[basic]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text={T}: Add {C} to your mana pool. -- Basic landcycling {1} ({1}, Discard this card: Search your library for a basic land card, reveal it, and put it into your hand. Then shuffle your library.) type=Land [/card] @@ -6331,6 +6334,17 @@ power=6 toughness=6 [/card] [card] +name=Ashen Ghoul +abilities=haste +autograveyard={B}:moveto(ownerbattlefield) restriction{type(creature[zpos>=myposplus1plusend]|mygraveyard)~morethan~2,myupkeeponly} +text=Haste -- {B}: Return Ashen Ghoul from your graveyard to the battlefield. Activate this ability only during your upkeep and only if three or more creature cards are above Ashen Ghoul. +mana={3}{B} +type=Creature +subtype=Zombie +power=3 +toughness=1 +[/card] +[card] name=Ashen Monstrosity abilities=haste,mustattack text=Haste -- Ashen Monstrosity attacks each turn if able. @@ -6920,6 +6934,7 @@ toughness=1 [/card] [card] name=Augury Adept +aicode=activate target(*[zpos=1]|mylibrary) moveto(myhand) and!(dynamicability)! auto=@combatdamaged(player) from(this):reveal:1 optionone name(Reveal) target(*|reveal) transforms((,newability[life:manacost controller])) forever optiononeend optiontwo choice all(*|reveal) moveto(myhand) optiontwoend revealend text=Whenever Augury Adept deals combat damage to a player, reveal the top card of your library and put that card into your hand. You gain life equal to its converted mana cost. mana={1}{WU}{WU} @@ -10078,6 +10093,7 @@ type=Instant [/card] [card] name=Beast Hunt +aicode=activate target(<3>*[zpos<=3]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-creature]|*) then moveto(mygraveyard))! auto=reveal:3 optionone name(Reveal) target(<3>creature|reveal) moveto(myhand) optiononeend optiontwo choice all(*|reveal) moveto(mygraveyard) optiontwoend revealend text=Reveal the top three cards of your library. Put all creature cards revealed this way into your hand and the rest into your graveyard. mana={3}{G} @@ -10259,7 +10275,9 @@ type=Enchantment [card] name=Behold the Beyond auto=reject all(*|myhand) -auto=moveto(myhand) target(<3>*|mylibrary) +abilities=hiddenface +aicode=activate moveto(myhand) target(<3>*|mylibrary) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<3>*|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Discard your hand. Search your library for three cards and put those cards into your hand. Then shuffle your library. mana={5}{B}{B} type=Sorcery @@ -12567,6 +12585,7 @@ toughness=3 [/card] [card] name=Bloodline Shaman +aicode=activate transforms((,newability[if type(creature[chosentype;zpos=1]|mylibrary)~morethan~0 then target(creature[chosentype;zpos=1]|mylibrary) moveto(ownerbattlefield) else target(*[zpos=1]|mylibrary) moveto(mygraveyard)])) ueot auto=chooseatype {t}:transforms((,newability[reveal:1 optionone name(Reveal) target(creature[chosentype]|reveal) moveto(myhand) optiononeend optiontwo name(Discard) target(<1>*|reveal) moveto(mygraveyard) optiontwoend revealend])) forever chooseend text={T}: Choose a creature type. Reveal the top card of your library. If that card is a creature card of the chosen type, put it into your hand. Otherwise, put it into your graveyard. mana={1}{G} @@ -13722,6 +13741,7 @@ toughness=4 [card] name=Borborygmos Enraged auto={D(land|myhand)}:target(creature,player) damage:3 +aicode=activate target(<3>*[zpos<=3]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-land]|*) then moveto(mygraveyard))! auto=@combatdamaged(player) from(this):reveal:3 optionone name(Reveal) target(<3>land|reveal) moveto(myhand) optiononeend optiontwo name(Send To Grave) choice all(*|reveal) moveto(mygraveyard) optiontwoend revealend text=Trample -- Whenever Borborygmos Enraged deals combat damage to a player, reveal the top three cards of your library. Put all land cards revealed this way into your hand and the rest into your graveyard. -- Discard a land card: Borborygmos Enraged deals 3 damage to target creature or player. mana={4}{R}{R}{G}{G} @@ -14467,6 +14487,7 @@ toughness=1 [/card] [card] name=Brass Herald +aicode=activate target(<4>*[zpos<=4]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-chosentype]|*) then bottomoflibrary)! auto=chooseatype transforms((,newability[lord(creature[chosentype]|mybattlefield) 1/1],newability[reveal:4 optionone name(Reveal) target(<4>creature[chosentype]|reveal) moveto(myhand) optiononeend optiontwo target(<4>*|reveal) bottomoflibrary optiontwoend revealend])) forever chooseend text=As Brass Herald enters the battlefield, choose a creature type. -- When Brass Herald enters the battlefield, reveal the top four cards of your library. Put all creature cards of the chosen type revealed this way into your hand and the rest on the bottom of your library in any order. -- Creatures of the chosen type get +1/+1. mana={6} @@ -16351,6 +16372,7 @@ type=Sorcery [/card] [card] name=Call of the Wild +aicode=activate transforms((,newability[if type(creature[zpos=1]|mylibrary)~morethan~0 then target(creature[zpos=1]|mylibrary) moveto(ownerbattlefield) else target(*[zpos=1]|mylibrary) moveto(mygraveyard)])) ueot auto={2}{g}{g}:reveal:1 optionone target(creature|reveal) moveto(mybattlefield) optiononeend optiontwo name(Put in grave) target(<1>*|reveal) moveto(mygraveyard) optiontwoend revealend text={2}{G}{G}: Reveal the top card of your library. If it's a creature card, put it onto the battlefield. Otherwise, put it into your graveyard. mana={2}{G}{G} @@ -18501,7 +18523,7 @@ type=Instant [card] name=Chameleon Colossus abilities=protection from black,changeling -auto={2}{G}{G}:dynamicability && dynamicability +auto={2}{G}{G}:power/power ueot text=Changeling (This card is every creature type at all times.) -- Protection from black -- {2}{G}{G}: Chameleon Colossus gets +X/+X until end of turn, where X is its power. mana={2}{G}{G} type=Creature @@ -19634,6 +19656,7 @@ toughness=2 [card] name=Chromescale Drake abilities=affinityartifacts,flying +aicode=activate target(<3>*[zpos<=3]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-artifact]|*) then moveto(mygraveyard))! auto=name(Reveal 3 cards) reveal:3 optionone name(Artifacts) target(<3>artifact|reveal) moveto(myhand) optiononeend optiontwo choice all(*|reveal) moveto(mygraveyard) optiontwoend revealend text=Affinity for artifacts (This spell costs {1} less to cast for each artifact you control.) -- Flying -- When Chromescale Drake enters the battlefield, reveal the top three cards of your library. Put all artifact cards revealed this way into your hand and the rest into your graveyard. mana={6}{U}{U}{U} @@ -21234,6 +21257,7 @@ toughness=1 [/card] [card] name=Coiling Oracle +aicode=activate target(<1>*[zpos=1]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(land|*) then moveto(mybattlefield))! auto=reveal:1 optionone target(land|reveal) moveto(mybattlefield) optiononeend optiontwo name(Put in hand) target(<1>*|reveal) moveto(myhand) optiontwoend revealend text=When Coiling Oracle enters the battlefield, reveal the top card of your library. If it's a land card, put it onto the battlefield. Otherwise, put that card into your hand. mana={G}{U} @@ -21503,7 +21527,7 @@ type=Instant [/card] [card] name=Commune with Lava -auto=name(exile) reveal:x revealzone(mylibrary) optionone all(*|reveal) moveto(exile) and!( transforms((,newability[canplayfromexile])) uynt )! optiononeend revealend +auto=moveto(exile) and!( transforms((,canplayfromexile)) uynt )! all(*[zpos<=castx]|mylibrary) text=Exile the top X cards of your library. Until the end of your next turn, you may play those cards. mana={X}{R}{R} type=Instant @@ -24066,8 +24090,9 @@ toughness=1 [/card] [card] name=Cruel Tutor -auto=name(search a card) moveTo(exile) and!(transforms((,newability[moveto(ownerlibrary)])) oneshot)! notatarget(*|mylibrary) -auto=life:-2 controller +abilities=hiddenface +aicode=activate moveto(mylibrary) and!(moveto(mylibrary) and!(life:-2 controller)!)! target(*|mylibrary) +auto=name(search card) reveal:plibrarycount optionone name(choose card) target(*|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(mylibrary) and!(moveto(mylibrary) and!(life:-2 controller)!)! afterrevealedend revealend text=Search your library for a card, then shuffle your library and put that card on top of it. You lose 2 life. mana={2}{B} type=Sorcery @@ -25580,6 +25605,7 @@ type=Instant [/card] [card] name=Dark Confidant +aicode=activate target(*[zpos=1]|mylibrary) moveto(myhand) and!(dynamicability)! auto=@each my upkeep:reveal:1 optionone name(Reveal) target(*|reveal) transforms((,newability[life:-manacost controller])) forever optiononeend optiontwo name(Claim your card) choice all(*|reveal) moveto(myhand) optiontwoend revealend text=At the beginning of your upkeep, reveal the top card of your library and put that card into your hand. You lose life equal to its converted mana cost. mana={1}{B} @@ -25668,7 +25694,9 @@ type=Sorcery [/card] [card] name=Dark Petition -auto=moveto(myhand) notatarget(*|mylibrary) +abilities=hiddenface +aicode=activate moveto(myhand) target(*|mylibrary) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>*|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend auto=if type(*[instant;sorcery]|mygraveyard)~morethan~1 then add{B}{B}{B} text=Search your library for a card and put that card into your hand. Then shuffle your library. -- Spell mastery — If there are two or more instant and/or sorcery cards in your graveyard, add {B}{B}{B} to your mana pool. mana={3}{B}{B} @@ -25754,6 +25782,8 @@ type=Instant [/card] [card] name=Dark Tutelage +aicode=activate target(*[zpos=1]|mylibrary) moveto(myhand) and!(dynamicability)! +auto=@each my upkeep:reveal:1 optionone name(Reveal) target(*|reveal) transforms((,newability[life:-manacost controller])) forever optiononeend optiontwo name(Claim your card) choice all(*|reveal) moveto(myhand) optiontwoend revealend text=At the beginning of your upkeep, reveal the top card of your library and put that card into your hand. You lose life equal to its converted mana cost. mana={2}{B} type=Enchantment @@ -26902,6 +26932,15 @@ other={delve} name(Delve) type=Instant [/card] [card] +name=Death Spark +target=creature,player +auto=damage:1 +autograveyard={1}:moveto(ownerhand) restriction{type(creature[zpos=myposplus1plusend]|mygraveyard)~morethan~0,myupkeeponly} +text=Death Spark deals 1 damage to target creature or player. -- At the beginning of your upkeep, if Death Spark is in your graveyard with a creature card directly above it, you may pay {1}. If you do, return Death Spark to your hand. +mana={R} +type=Instant +[/card] +[card] name=Death Speakers abilities=protection from black text=Protection from black @@ -28143,8 +28182,9 @@ subtype=Aura [/card] [card] name=Demonic Collusion -target=*|mylibrary -auto=moveTo(myhand) +abilities=hiddenface +aicode=activate moveto(myhand) target(*|mylibrary) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>*|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend buyback={3}{B}{B}{D(*|myhand)}{D(*|myhand)} text=Buyback - Discard two cards. (You may discard two cards in addition to any other costs as you cast this spell. If you do, put this card into your hand as it resolves.) -- Search your library for a card and put that card into your hand. Then shuffle your library. mana={3}{B}{B} @@ -28200,7 +28240,9 @@ subtype=Aura [/card] [card] name=Demonic Tutor -auto=moveTo(myhand) notatarget(*|myLibrary) +abilities=hiddenface +aicode=activate moveto(myhand) target(*|mylibrary) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>*|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Search your library for a card and put that card into your hand. Then shuffle your library. mana={1}{B} type=Sorcery @@ -28363,6 +28405,7 @@ type=Sorcery name=Depala, Pilot Exemplar auto=lord(other dwarf|mybattlefield) 1/1 auto=lord(creature[vehicle]|mybattlefield) 1/1 +aicode=activate target(*[zpos<=x]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-dwarf;-vehicle]|*) then bottomoflibrary))! auto=@tapped(this):may pay({x}) name(Pay X) Reveal:x revealzone(mylibrary) optionone all(*[dwarf;vehicle]|reveal) moveto(ownerhand) optiononeend optiontwo all(*|reveal) bottomoflibrary optiontwoend revealend text=Other Dwarves you control get +1/+1. -- Each Vehicle you control gets +1/+1 as long as it's a creature. -- Whenever Depala, Pilot Exemplar becomes tapped, you may pay {X}. If you do, reveal the top X cards of your library, put all Dwarf and Vehicle cards from among them into your hand, then put the rest on the bottom of your library in a random order. -- mana={1}{R}{W} @@ -29080,7 +29123,9 @@ type=Instant [/card] [card] name=Diabolic Intent -auto=moveTo(myhand) target(*|myLibrary) +abilities=hiddenface +aicode=activate moveto(myhand) target(*|mylibrary) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>*|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=As an additional cost to cast Diabolic Intent, sacrifice a creature. -- Search your library for a card and put that card into your hand. Then shuffle your library. mana={1}{B}{S(creature|mybattlefield)} type=Sorcery @@ -29097,14 +29142,18 @@ toughness=4 [/card] [card] name=Diabolic Revelation -auto=this(variable{castx} >0) notatarget(*|mylibrary) moveTo(myhand) +abilities=hiddenface +aicode=activate moveto(myhand) target(*|mylibrary) +auto=this(variable{castx} >0) name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(*|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Search your library for up to X cards and put those cards into your hand. Then shuffle your library. mana={X}{3}{B}{B} type=Sorcery [/card] [card] name=Diabolic Tutor -auto=moveTo(myHand) notatarget(*|mylibrary) +abilities=hiddenface +aicode=activate moveto(myhand) target(*|mylibrary) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>*|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Search your library for a card and put that card into your hand. Then shuffle your library. mana={2}{B}{B} type=Sorcery @@ -31605,7 +31654,7 @@ subtype=Aura [card] name=Dream Pillager abilities=flying -auto=@combatdamaged(player) from(this):name(exile) reveal:thatmuch revealzone(mylibrary) optionone all(*|reveal) moveto(exile) and!( if cantargetcard(*[-land]|*) then transforms((,newability[canplayfromexile])) ueot )! optiononeend revealend +auto=@combatdamaged(player) from(this):name(exile) reveal:thatmuch revealzone(mylibrary) optionone all(*|reveal) moveto(exile) and!( if cantargetcard(*[-land]|*) then transforms((,canplayfromexile)) ueot )! optiononeend revealend text=Flying -- Whenever Dream Pillager deals combat damage to a player, exile that many cards from the top of your library. Until end of turn, you may cast nonland cards exiled this way. mana={5}{R}{R} type=Creature @@ -34018,6 +34067,7 @@ toughness=3 [/card] [card] name=Elder Pine of Jukai +aicode=activate target(<3>*[zpos<=3]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-land]|*) then bottomoflibrary))! auto=@movedTo(arcane,spirit|mystack):reveal:4 optionone name(Get Lands) target(<4>land|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend auto=@movedTo(this|mygraveyard) from(myBattlefield):may moveTo(myhand) target(spirit[manacost<=2]|mygraveyard) text=Whenever you cast a Spirit or Arcane spell, reveal the top three cards of your library. Put all land cards revealed this way into your hand and the rest on the bottom of your library in any order. -- Soulshift 2 (When this is put into a graveyard from the battlefield, you may return target Spirit card with converted mana cost 2 or less from your graveyard to your hand.) @@ -35979,6 +36029,7 @@ toughness=5 [/card] [card] name=Enlistment Officer +aicode=activate target(<4>*[zpos<=4]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-soldier]|*) then bottomoflibrary))! auto=reveal:4 optionone name(Get Soldiers) target(<4>soldier|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend text=First strike -- When Enlistment Officer enters the battlefield, reveal the top four cards of your library. Put all Soldier cards revealed this way into your hand and the rest on the bottom of your library. mana={3}{W} @@ -36027,6 +36078,7 @@ type=Instant [/card] [card] name=Enshrined Memories +aicode=activate target(*[zpos<=castx]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-creature]|*) then bottomoflibrary))! auto=reveal:x optionone name(Get creatures) target(<50>artifact|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<50>*|reveal) bottomoflibrary optiontwoend revealend text=Reveal the top X cards of your library. Put all creature cards revealed this way into your hand and the rest on the bottom of your library in any order. mana={X}{G} @@ -38852,7 +38904,7 @@ name=Fatal Frenzy target=creature auto=trample auto=treason -auto=dynamicability +auto=power/0 ueot text=Until end of turn, target creature you control gains trample and gets +X/+0, where X is its power. Sacrifice it at the beginning of the next end step. mana={2}{R} type=Instant @@ -39502,7 +39554,7 @@ toughness=5 [/card] [card] name=Feral Animist -auto={3}:dynamicability +auto={3}:power/0 ueot text={3}: Feral Animist gets +X/+0 until end of turn, where X is its power. mana={1}{R}{G} type=Creature @@ -40008,7 +40060,8 @@ type=Instant name=Fiery Fall target=creature auto=damage:5 -autohand=__BASIC_LANDCYCLING__({1}{R}) +aicode=activate target(land[basic]|mylibrary) moveto(myhand) +autohand={1}{R}{cycle}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>land[basic]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Fiery Fall deals 5 damage to target creature. -- Basic landcycling {1}{R} ({1}{R}, Discard this card: Search your library for a basic land card, reveal it, and put it into your hand. Then shuffle your library.) mana={5}{R} type=Instant @@ -44211,7 +44264,9 @@ toughness=3 [/card] [card] name=Gamble -auto=name(search a card) notatarget(*|mylibrary) moveTo(myHand) and!( discard:1 controller )! oneshot +abilities=hiddenface +aicode=activate moveto(myhand) and!(discard:1 controller)! target(*|mylibrary) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>*|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand) and!(discard:1 controller)!])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Search your library for a card, put that card into your hand, discard a card at random, then shuffle your library. mana={R} type=Sorcery @@ -44962,6 +45017,7 @@ type=Artifact [/card] [card] name=Genesis Hydra +aicode=activate target(*[-land;-instant;-sorcery;zpos<=castx]|mylibrary) moveto(mybattlefield) autostack=if casted(this) then reveal:x optionone target(*[-land;-instant;-sorcery;manacost<=x]|reveal) moveto(mybattlefield) and!( all(*|reveal) moveto(mylibrary) and!(shuffle)! )! optiononeend optiontwo all(*|reveal) moveto(mylibrary) and!(shuffle)! optiontwoend revealend auto=counter(1/1,x) text=When you cast Genesis Hydra, reveal the top X cards of your library. You may put a nonland permanent card with converted mana cost X or less from among them onto the battlefield. Then shuffle the rest into your library. -- Genesis Hydra enters the battlefield with X +1/+1 counters on it. @@ -46497,7 +46553,8 @@ type=Enchantment name=Gleam of Resistance auto=lord(creature|myBattlefield) 1/2 ueot auto=untap all(creature|myBattlefield) -autohand=__BASIC_LANDCYCLING__({1}{W}) +aicode=activate target(land[basic]|mylibrary) moveto(myhand) +autohand={1}{W}{cycle}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>land[basic]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Creatures you control get +1/+2 until end of turn. Untap those creatures. -- Basic landcycling {1}{W} ({1}{W}, Discard this card: Search your library for a basic land card, reveal it, and put it into your hand. Then shuffle your library.) mana={4}{W} type=Instant @@ -47851,6 +47908,7 @@ toughness=2 [card] name=Goblin Ringleader abilities=haste +aicode=activate target(<4>*[zpos<=4]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-goblin]|*) then bottomoflibrary))! auto=reveal:4 optionone name(Get Goblin) target(<4>Goblin|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend text=Haste -- When Goblin Ringleader enters the battlefield, reveal the top four cards of your library. Put all Goblin cards revealed this way into your hand and the rest on the bottom of your library. mana={3}{R} @@ -49124,6 +49182,7 @@ toughness=4 [/card] [card] name=Grave Defiler +aicode=activate target(<4>*[zpos<=4]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-zombie]|*) then bottomoflibrary))! auto=reveal:4 optionone name(Get Zombie) target(<4>zombie|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend text=When Grave Defiler enters the battlefield, reveal the top four cards of your library. Put all Zombie cards revealed this way into your hand and the rest on the bottom of your library. -- {1}{B}: Regenerate Grave Defiler. auto={1}{B}:regenerate @@ -49203,7 +49262,8 @@ toughness=6 name=Grave Upheaval target=creature|graveyard auto=moveto(mybattlefield) and!(haste)! -autohand=__BASIC_LANDCYCLING__({2}) +aicode=activate target(land[basic]|mylibrary) moveto(myhand) +autohand={2}{cycle}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>land[basic]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Put target creature card from a graveyard onto the battlefield under your control. It gains haste. -- Basic landcycling {2} ({2}, Discard this card: Search your library for a basic land card, reveal it, and put it into your hand. Then shuffle your library.) mana={4}{B}{R} type=Sorcery @@ -50078,8 +50138,9 @@ toughness=1 [/card] [card] name=Grim Tutor -auto=moveTo(myhand) notatarget(*|myLibrary) -auto=life:-3 controller +abilities=hiddenface +aicode=activate moveto(myhand) and!(life:-3 controller)! target(*|mylibrary) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>*|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand) and!(life:-3 controller)!])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Search your library for a card and put that card into your hand, then shuffle your library. You lose 3 life. mana={1}{B}{B} type=Sorcery @@ -56976,8 +57037,9 @@ toughness=1 [/card] [card] name=Imperial Seal -auto=name(search a card) moveTo(exile) and!(transforms((,newability[moveto(ownerlibrary)])) oneshot)! notatarget(*|mylibrary) -auto=life:-2 controller +abilities=hiddenface +aicode=activate moveto(mylibrary) and!(moveto(mylibrary) and!(life:-2 controller)!)! target(*|mylibrary) +auto=name(search card) reveal:plibrarycount optionone name(choose card) target(*|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(mylibrary) and!(moveto(mylibrary) and!(life:-2 controller)!)! afterrevealedend revealend text=Search your library for a card, then shuffle your library and put that card on top of it. You lose 2 life. mana={B} type=Sorcery @@ -57289,9 +57351,10 @@ toughness=3 [/card] [card] name=Increasing Ambition -target=*|mylibrary -auto=moveTo(myhand) -auto=flashback target(*|myLibrary) moveTo(myhand) +abilities=hiddenface +aicode=activate transforms((,newability[ifnot gravecast then target(*|myLibrary) moveTo(myhand)],newability[if gravecast then target(<2>*|myLibrary) moveTo(myhand)])) ueot +auto=ifnot gravecast then name(search card) reveal:plibrarycount optionone name(choose card) target(*|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(mylibrary) and!(moveto(mylibrary) and!(life:-2 controller)!)! afterrevealedend revealend +auto=if gravecast then name(search card) reveal:plibrarycount optionone name(choose card) target(<2>*|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(mylibrary) and!(moveto(mylibrary) and!(life:-2 controller)!)! afterrevealedend revealend flashback={7}{B} text=Search your library for a card and put that card into your hand. If Increasing Ambition was cast from a graveyard, instead search your library for two cards and put those cards into your hand. Then shuffle your library. -- Flashback {7}{B} (You may cast this card from your graveyard for its flashback cost. Then exile it.) mana={4}{B} @@ -57300,8 +57363,8 @@ type=Sorcery [card] name=Increasing Confusion target=player -auto=deplete:X -auto=flashback deplete:X +auto=ifnot gravecast then deplete:X +auto=if gravecast then deplete:twiceX flashback={X}{U} text=Target player puts the top X cards of his or her library into his or her graveyard. If Increasing Confusion was cast from a graveyard, that player puts twice as many cards into his or her graveyard instead. -- Flashback {X}{U} (You may cast this card from your graveyard for its flashback cost. Then exile it.) mana={X}{U} @@ -57309,8 +57372,8 @@ type=Sorcery [/card] [card] name=Increasing Devotion -auto=token(Human,Creature Human,1/1,white)*5 -auto=flashback token(Human,Creature Human,1/1,white)*5 +auto=ifnot gravecast then token(Human,Creature Human,1/1,white)*5 +auto=if gravecast then token(Human,Creature Human,1/1,white)*10 flashback={7}{W}{W} text=Put five 1/1 white Human creature tokens onto the battlefield. If Increasing Devotion was cast from a graveyard, put ten of those tokens onto the battlefield instead. -- Flashback {7}{W}{W} mana={3}{W}{W} @@ -57319,8 +57382,8 @@ type=Sorcery [card] name=Increasing Savagery target=creature -auto=counter(1/1,5) -auto=flashback counter(1/1,5) +auto=ifnot gravecast then counter(1/1,5) +auto=if gravecast then counter(1/1,10) flashback={5}{G}{G} text=Put five +1/+1 counters on target creature. If Increasing Savagery was cast from a graveyard, put ten +1/+1 counters on that creature instead. -- Flashback {5}{G}{G} mana={2}{G}{G} @@ -58557,7 +58620,7 @@ name=Ire Shaman abilities=menace facedown={3} autofacedown={R}:morph -autofaceup=counter(1/1,1) && name(exile) reveal:1 revealzone(mylibrary) optionone all(*|reveal) moveto(exile) and!( transforms((,newability[canplayfromexile])) ueot )! optiononeend revealend +autofaceup=counter(1/1,1) && moveto(exile) and!( transforms((,canplayfromexile)) ueot )! all(*[zpos=1]|mylibrary) text=Menace (This creature can't be blocked except by two or more creatures.) -- Megamorph {R} (You may cast this card face down as a 2/2 creature for {3}. Turn it face up any time for its megamorph cost and put a +1/+1 counter on it.) -- When Ire Shaman is turned face up, exile the top card of your library. Until end of turn, you may play that card. mana={1}{R} type=Creature @@ -61512,6 +61575,7 @@ toughness=1 [/card] [card] name=Kavu Howler +aicode=activate target(<4>*[zpos<=4]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-kavu]|*) then bottomoflibrary))! auto=reveal:4 optionone name(Get Kavu) target(<4>kavu|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend text=When Kavu Howler enters the battlefield, reveal the top four cards of your library. Put all Kavu cards revealed this way into your hand and the rest on the bottom of your library. mana={4}{G}{G} @@ -64303,6 +64367,17 @@ type=Enchantment subtype=Aura [/card] [card] +name=Krovikan Horror +autograveyard=@each endofturn restriction{type(creature[zpos=myposplus1plusend]|mygraveyard)~morethan~0}:may moveto(ownerhand) +auto={1}{S(creature|mybattlefield)}:damage:1 target(creature,player) +text=At the beginning of the end step, if Krovikan Horror is in your graveyard with a creature card directly above it, you may return Krovikan Horror to your hand. -- {1}, Sacrifice a creature: Krovikan Horror deals 1 damage to target creature or player. +mana={3}{B} +type=Creature +subtype=Horror Spirit +power=2 +toughness=2 +[/card] +[card] name=Krovikan Mist abilities=flying anyzone=type:illusion:battlefield/type:illusion:battlefield cdaactive @@ -64865,6 +64940,7 @@ toughness=4 [/card] [card] name=Lair Delve +aicode=activate target(<2>*[zpos<=2]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-creature;-land]|*) then bottomoflibrary))! auto=reveal:2 optionone name(Get creature and land) target(<2>*[creature,land]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend text=Reveal the top two cards of your library. Put all creature and land cards revealed this way into your hand and the rest on the bottom of your library in any order. mana={2}{G} @@ -68682,6 +68758,7 @@ toughness=1 [/card] [card] name=Lurking Predators +aicode=activate transforms((,newability[if type(creature[zpos=1]|mylibrary)~morethan~0 then target(creature[zpos=1]|mylibrary) moveto(ownerbattlefield) else target(*[zpos=1]|mylibrary) bottomoflibrary])) ueot auto=@movedTo(*|opponentstack):reveal:1 optionone if type(creature|reveal)~morethan~0 then name(Creature) target(*|reveal) moveto(mybattlefield) else name(put on bottom?) target(*|reveal) bottomoflibrary optiononeend optiontwo name(Put Back) target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend text=Whenever an opponent casts a spell, reveal the top card of your library. If it's a creature card, put it onto the battlefield. Otherwise, you may put that card on the bottom of your library. mana={4}{G}{G} @@ -71452,6 +71529,7 @@ toughness=1 [/card] [card] name=Matter Reshaper +aicode=activate target(<1>*[zpos=1]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-instant;-sorcery;manacost<=3]|*) then moveto(mybattlefield))! auto=@movedTo(this|graveyard) from(battlefield):name(Reshape) reveal:1 optionone if type(*[manacost <=3]|reveal)~morethan~0 then target(*|reveal) moveto(mybattlefield) optiononeend optiontwo name(Put in hand) target(<1>*|reveal) moveto(myhand) optiontwoend revealend text=({C} represents colorless mana.) -- When Matter Reshaper dies, reveal the top card of your library. You may put that card onto the battlefield if it's a permanent card with converted mana cost 3 or less. Otherwise, put that card into your hand. mana={2}{C} @@ -72437,7 +72515,8 @@ toughness=2 [card] name=Merfolk Wayfinder abilities=flying -auto=reveal:3 optionone name(Get islands) target(<3>island|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate target(<3>*[zpos<=3]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-island]|*) then bottomoflibrary))! +auto=reveal:3 optionone name(Get islands) target(<3>island|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<3>*|reveal) bottomoflibrary optiontwoend revealend text=Flying -- When Merfolk Wayfinder enters the battlefield, reveal the top three cards of your library. Put all Island cards revealed this way into your hand and the rest on the bottom of your library in any order. mana={2}{U} type=Creature @@ -73064,7 +73143,8 @@ type=Instant [card] name=Migratory Route auto=create(Bird:Creature Bird:1/1:white:flying)*4 -autohand=__BASIC_LANDCYCLING__({2}) +aicode=activate target(land[basic]|mylibrary) moveto(myhand) +autohand={2}{cycle}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>land[basic]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Create four 1/1 white Bird creature tokens with flying. -- Basic landcycling {2} ({2}, Discard this card: Search your library for a basic land card, reveal it, and put it into your hand. Then shuffle your library.) mana={3}{W}{U} type=Sorcery @@ -73537,7 +73617,7 @@ type=Enchantment name=Mind's Desire abilities=storm auto=shuffle -auto=reveal:1 optionone all(*|reveal) moveto(exile) and!( transforms((,newability[zerocast],newability[canplayfromexile])) ueot)! optiononeend revealend +auto=moveto(exile) and!( transforms((,zerocast,canplayfromexile)) ueot )! all(*[zpos=1]|mylibrary) text=Shuffle your library. Then exile the top card of your library. Until end of turn, you may play that card without paying its mana cost. (If it has X in its mana cost, X is 0.) -- Storm (When you cast this spell, copy it for each spell cast before it this turn.) mana={4}{U}{U} type=Sorcery @@ -75250,6 +75330,7 @@ subtype=Aura [/card] [card] name=Momir Vig, Simic Visionary +aicode=activate target(<1>*[zpos=1]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-creature]|*) then moveto(mylibrary))! auto=@movedTo(creature[green]|mystack):target(creature|mylibrary) moveto(mylibrary) auto=@movedTo(creature[blue]|mystack):reveal:1 optionone target(creature|reveal) moveto(myhand) optiononeend optiontwo name(Put Back) target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend text=Whenever you cast a green creature spell, you may search your library for a creature card and reveal it. If you do, shuffle your library and put that card on top of it. -- Whenever you cast a blue creature spell, reveal the top card of your library. If it's a creature card, put that card into your hand. @@ -76431,6 +76512,7 @@ type=Sorcery [/card] [card] name=Mulch +aicode=activate target(<4>*[zpos<=4]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(*[-land]|*) then moveto(mygraveyard))! auto=reveal:4 optionone name(Get land) target(<4>land|reveal) moveto(myhand) optiononeend optiontwo name(put in grave) all(*|reveal) moveto(mygraveyard) optiontwoend revealend text=Reveal the top four cards of your library. Put all land cards revealed this way into your hand and the rest into your graveyard. mana={1}{G} @@ -77657,7 +77739,7 @@ type=Instant [card] name=Narset, Enlightened Master abilities=first strike,opponentshroud -auto=@combat(attacking) source(this):name(exile) reveal:4 revealzone(mylibrary) optionone all(*|reveal) moveto(exile) and!( if cantargetcard(*[-creature;-land]|*) then transforms((,newability[zerocast],newability[canplayfromexile])) ueot )! optiononeend revealend +auto=@combat(attacking) source(this):moveto(exile) and!( if cantargetcard(*[-creature;-land]|*) then transforms((,zerocast,canplayfromexile)) ueot )! all(*[zpos<=4]|mylibrary) text=First strike, hexproof -- Whenever Narset, Enlightened Master attacks, exile the top four cards of your library. Until end of turn, you may cast noncreature cards exiled with Narset this turn without paying their mana costs. mana={3}{U}{R}{W} type=Legendary Creature @@ -78227,6 +78309,15 @@ power=0 toughness=1 [/card] [card] +name=Necropotence +auto=@movedTo(*|mygraveyard):all(trigger[to]) moveTo(exile) +auto=phasealter(remove,draw,controller) +auto={L:1}:name(pay life & exile) transforms((,newability[hiddenmoveto(exile)],newability[phaseaction[my endofturn once checkex] moveto(ownerhand)])) forever all(*[zpos=1]|mylibrary) +text=Skip your draw step. -- Whenever you discard a card, exile that card from your graveyard. -- Pay 1 life: Exile the top card of your library face down. Put that card into your hand at the beginning of your next end step. +mana={B}{B}{B} +type=Enchantment +[/card] +[card] name=Necropouncer auto={2}:equip auto=teach(creature) 3/1 @@ -78575,6 +78666,17 @@ power=4 toughness=2 [/card] [card] +name=Nether Shadow +abilities=haste +autograveyard=@each my upkeep restriction{type(creature[zpos>=myposplus1plusend]|mygraveyard)~morethan~2}:may moveto(ownerbattlefield) +text=Haste -- At the beginning of your upkeep, if Nether Shadow is in your graveyard with three or more creature cards above it, you may put Nether Shadow onto the battlefield. +mana={B}{B} +type=Creature +subtype=Spirit +power=1 +toughness=1 +[/card] +[card] name=Nether Spirit autograveyard=@each my upkeep restriction{type(creature|mygraveyard)~equalto~1}:moveTo(mybattlefield) text=At the beginning of your upkeep, if Nether Spirit is the only creature card in your graveyard, you may return Nether Spirit to the battlefield. @@ -78689,6 +78791,7 @@ toughness=1 [card] name=Neurok Familiar abilities=flying +aicode=activate transforms((,newability[if type(artifact[zpos=1]|mylibrary)~morethan~0 then target(artifact[zpos=1]|mylibrary) moveto(myhand) else target(*[zpos=1]|mylibrary) moveto(mygraveyard)])) ueot auto=reveal:1 optionone target(artifact|reveal) moveto(myhand) optiononeend optiontwo name(Put in grave) target(<1>*|reveal) moveto(mygraveyard) optiontwoend revealend text=Flying -- When Neurok Familiar enters the battlefield, reveal the top card of your library. If it's an artifact card, put it into your hand. Otherwise, put it into your graveyard. mana={1}{U} @@ -79605,6 +79708,7 @@ subtype=Nissa [card] name=Nissa, Nature's Artisan auto=counter(0/0,5,loyalty) +aicode=activate target(<2>*[zpos<=2]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(land|*) then moveto(mybattlefield))! auto={C(0/0,3,Loyalty)}:name(+3: Gain 3 Life) life:3 controller auto={C(0/0,-4,Loyalty)}:name(-4: Reveal Cards) reveal:2 optionone name(Get Lands) target(<2>land|reveal) moveto(mybattlefield) optiononeend optiontwo name(put on hand) target(<2>*|reveal) moveto(myhand) optiontwoend revealend auto={C(0/0,-12,Loyalty)}:name(-12: 5/5 & Trample) lord(creature|mybattlefield) 5/5 ueot && lord(creature|mybattlefield) trample ueot @@ -79615,6 +79719,7 @@ subtype=Nissa [/card] [card] name=Nissa, Sage Animist +aicode=activate transforms((,newability[if type(land[zpos=1]|mylibrary)~morethan~0 then target(land[zpos=1]|mylibrary) moveto(ownerbattlefield) else target(*[zpos=1]|mylibrary) moveto(ownerhand)])) ueot auto={C(0/0,1,Loyalty)}:name(+1: reveal) reveal:1 optionone target(<1>land|reveal) moveto(ownerbattlefield) optiononeend optiontwo target(<1>*|reveal) moveto(ownerhand) optiontwoend revealend auto={C(0/0,-2,Loyalty)}:name(-2: ashaya token) create(Ashaya, the Awoken World:Legendary Elemental Creature:4/4:green) auto={C(0/0,-7,Loyalty)}:name(-7: animate land) target(land) transforms((Creature Elemental,newability[untap],setpower=6,settoughness=6)) forever @@ -83325,6 +83430,7 @@ type=Enchantment [/card] [card] name=Pain Seer +aicode=activate target(*[zpos=1]|mylibrary) moveto(myhand) and!(transforms((,newability[life:-manacost controller])) ueot)! auto=@untapped(this):reveal:1 optionone name(Reveal) target(*|reveal) transforms((,newability[life:-manacost controller])) forever optiononeend optiontwo name(Claim your card) choice all(*|reveal) moveto(myhand) optiontwoend revealend text=Inspired — Whenever Pain Seer becomes untapped, reveal the top card of your library and put that card into your hand. You lose life equal to that card's converted mana cost. mana={1}{B} @@ -88475,7 +88581,9 @@ type=Enchantment [card] name=Prophecy target=opponent +aicode=activate target(*[zpos=1]|targetedpersonslibrary) moveto(ownerlibrary) and!(if cantargetcard(land|*) then life:1 controller)! auto=reveal:1 revealzone(targetedpersonslibrary) optionone name(put back) target(land|reveal) moveto(ownerlibrary) and!( transforms((,newability[shuffle],newability[life:1 opponent])) oneshot )! optiononeend optiontwo name(put back) target(*[-land]|reveal) moveto(ownerlibrary) and!( transforms((,newability[shuffle])) oneshot )! optiontwoend revealend +auto=@next upkeep:draw:1 controller text=Reveal the top card of target opponent's library. If it's a land, you gain 1 life. Then that player shuffles his or her library. -- Draw a card at the beginning of the next turn's upkeep. mana={W} type=Sorcery @@ -88514,7 +88622,7 @@ type=Instant [card] name=Prophetic Flamespeaker abilities=double strike,trample -auto=@combatdamaged(player) from(this):reveal:1 optionone all(*|reveal) moveto(exile) and!( transforms((,newability[canplayfromexile])) ueot)! optiononeend revealend +auto=@combatdamaged(player) from(this):moveto(exile) and!( transforms((,canplayfromexile)) ueot )! all(*[zpos=1]|mylibrary) text=Double strike, trample -- Whenever Prophetic Flamespeaker deals combat damage to a player, exile the top card of your library. You may play it this turn. mana={1}{R}{R} type=Creature @@ -97555,6 +97663,7 @@ type=Sorcery [/card] [card] name=Sages of the Anima +aicode=activate target(<3>creature[zpos<=3]|mylibrary) moveto(myhand) auto=replacedraw reveal:3 optionone name(Get creatures) target(<3>creature|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<3>*|reveal) bottomoflibrary optiontwoend revealend text=If you would draw a card, instead reveal the top three cards of your library. Put all creature cards revealed this way into your hand and the rest on the bottom of your library in any order. mana={3}{G}{U} @@ -98288,6 +98397,7 @@ type=Sorcery [card] name=Sapling of Colfenor abilities=indestructible +aicode=activate notatarget(*[zpos=1]|mylibrary) name(revealed card) moveto(mylibrary) name(revealed card) and!(if cantargetcard(creature|*) then moveto(myhand) and!(transforms((,newability[life:toughness],newability[life:-power])) ueot)!)! auto=@combat(attacking) source(this):reveal:1 optionone name(Reveal and gain/lose life) target(creature|reveal) transforms((,newability[life:toughness],newability[life:-power],newability[moveto(myhand)])) forever optiononeend optiontwo target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend text=Sapling of Colfenor is indestructible. -- Whenever Sapling of Colfenor attacks, reveal the top card of your library. If it's a creature card, you gain life equal to that card's toughness, lose life equal to its power, then put it into your hand. mana={3}{BG}{BG} @@ -98446,6 +98556,7 @@ toughness=1 [card] name=Sarkhan the Mad auto=counter(0/0,7,loyalty) +aicode=activate moveto(myhand) and!( dynamicability )! notatarget(<1>*[zpos=1]|mylibrary) auto={0}:name(0: reveal damage) Reveal:1 revealzone(mylibrary) revealuntil(*|mylibrary) optionone name(put in hand) target(*|reveal) moveto(myhand) optiononeend afterrevealed all(this) damage:revealedmana afterrevealedend revealend auto={C(0/0,-2,Loyalty)}:name(-2: sacrifice) target(creature) sacrifice and!( token(Dragon,creature dragon,5/5,flying,red) targetcontroller )! auto={C(0/0,-4,Loyalty)}:name(-4: ultimate) all(creature[dragon]|mybattlefield) transforms((,newability[target(player) dynamicability])) oneshot @@ -99982,7 +100093,7 @@ toughness=1 [/card] [card] name=Scrib Nibblers -auto={T}:name(exile) target(player) reveal:1 revealzone(targetedpersonslibrary) optionone all(*|reveal) moveto(exile) and!( if cantargetcard(*[land]|*) then life:1 controller )! optiononeend revealend +auto={T}:target(player) moveto(exile) and!( if cantargetcard(*[land]|*) then life:1 controller )! all(*[zpos=1]|targetedpersonslibrary) auto=@movedTo(land|mybattlefield):untap all(this) text={T}: Exile the top card of target player's library. If it's a land card, you gain 1 life. -- Landfall — Whenever a land enters the battlefield under your control, you may untap Scrib Nibblers. mana={2}{B} @@ -100986,7 +101097,8 @@ type=Instant [/card] [card] name=Seek the Horizon -auto=moveTo(myHand) notatarget(land[basic]|myLibrary) +aicode=activate target(land[basic]|mylibrary) moveto(myhand) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(land[basic]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Search your library for up to three basic land cards, reveal them, and put them into your hand. Then shuffle your library. mana={3}{G} type=Sorcery @@ -101249,7 +101361,8 @@ type=Instant [/card] [card] name=Selective Memory -auto=moveTo(exile) notatarget(*[-land]|mylibrary) +aicode=activate target(*[-land]|mylibrary) moveto(exile) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(*[-land]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(exile)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Search your library for any number of nonland cards and exile them. Then shuffle your library. mana={3}{U} type=Sorcery @@ -101350,7 +101463,7 @@ type=Artifact [card] name=Self-Assembler aicode=activate notatarget(creature[Assembly-Worker]|mylibrary) moveTo(ownerhand) -auto=Reveal:type:*:mylibrary revealzone(mylibrary) revealtype(creature[Assembly-Worker]|mylibrary) optionone name(choose card) target(creature[Assembly-Worker]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend revealend +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) revealtype(creature[Assembly-Worker]|mylibrary) optionone name(choose card) target(creature[Assembly-Worker]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend revealend text=When Self-Assembler enters the battlefield, you may search your library for an Assembly-Worker creature card, reveal it, put it into your hand, then shuffle your library. mana={5} type=Artifact Creature @@ -102254,7 +102367,7 @@ type=Sorcery [/card] [card] name=Sever the Bloodline -target=creature +target=creature[-black] auto=moveTo(exile) auto=all(*[share!name!]|targetcontrollerbattlefield) moveto(exile) flashback={5}{B}{B} @@ -102458,7 +102571,8 @@ type=Land [/card] [card] name=Shadowborn Apostle -auto={B}{S(Shadowborn Apostle|myBattlefield)}{S(Shadowborn Apostle|myBattlefield)}{S(Shadowborn Apostle|myBattlefield)}{S(Shadowborn Apostle|myBattlefield)}{S(Shadowborn Apostle|myBattlefield)}{S(Shadowborn Apostle|myBattlefield)}:moveTo(mybattlefield) target(creature[Demon]|mylibrary) +aicode=activate moveTo(mybattlefield) target(creature[Demon]|mylibrary) +auto={B}{S(Shadowborn Apostle|myBattlefield)}{S(Shadowborn Apostle|myBattlefield)}{S(Shadowborn Apostle|myBattlefield)}{S(Shadowborn Apostle|myBattlefield)}{S(Shadowborn Apostle|myBattlefield)}{S(Shadowborn Apostle|myBattlefield)}:name(search card) reveal:plibrarycount optionone name(choose card) target(creature[demon]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield))! afterrevealedend revealend text= A deck can have any number of cards named Shadowborn Apostle. -- {B}, Sacrifice six creatures named Shadowborn Apostle: Search your library for a Demon creature card and put it onto the battlefield. Then shuffle your library. mana={B} type=Creature @@ -103264,6 +103378,7 @@ toughness=0 [card] name=Shimian Specter abilities=flying +aicode=name(put in exile) activate name(put in exile) notatarget(*[-land]|opponenthand) transforms((,newability[all(*[share!name!]|mylibrary) moveto(exile) and!(shuffle)!],newability[all(*[share!name!]|mygraveyard) moveto(exile)],newability[all(*[share!name!]|myhand) moveto(exile)])) ueot auto=@combatdamaged(player) from(this):reveal:type:*:opponenthand revealzone(opponenthand) optionone name(choose card) notatarget(*[-land]|reveal) moveto(exile) and!( transforms((,newability[all(*[share!name!]|mylibrary) moveto(exile) and!(shuffle)!],newability[all(*[share!name!]|mygraveyard) moveto(exile)],newability[all(*[share!name!]|myhand) moveto(exile)])) oneshot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend text=Flying -- Whenever Shimian Specter deals combat damage to a player, that player reveals his or her hand. You choose a nonland card from it. Search that player's graveyard, hand, and library for all cards with the same name as that card and exile them. Then that player shuffles his or her library. mana={2}{B}{B} @@ -103692,7 +103807,8 @@ toughness=2 [card] name=Shoreline Ranger abilities=flying -autohand={2}{cycle}:name(islandcycling) moveTo(myhand) target(island|mylibrary) +aicode=activate target(island|mylibrary) moveto(myhand) +autohand={2}{cycle}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>island|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Flying -- Islandcycling {2} ({2}, Discard this card: Search your library for an Island card, reveal it, and put it into your hand. Then shuffle your library.) mana={5}{U} type=Creature @@ -103778,7 +103894,8 @@ type=Instant name=Shred Memory target=*|graveyard auto=moveTo(exile) -autohand={1}{B}{B}{D(this|myhand)}:moveTo(myhand) target(*[manacost=2]|mylibrary) asSorcery +aicode=activate target(*[manacost=2]|mylibrary) moveto(myhand) +autohand={1}{B}{B}{D(this|myhand)}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>*[manacost=2]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend asSorcery text=Exile up to four target cards from a single graveyard. -- Transmute {1}{B}{B} ({1}{B}{B}, Discard this card: Search your library for a card with the same converted mana cost as this card, reveal it, and put it into your hand. Then shuffle your library. Transmute only as a sorcery.) mana={1}{B} type=Instant @@ -104219,8 +104336,9 @@ toughness=1 [/card] [card] name=Sidisi, Undead Vizier -abilities=deathtouch -auto=may name(Exploit) sacrifice notatarget(creature|mybattlefield) && transforms((,newability[moveto(myhand) notatarget(*|mylibrary)])) forever +abilities=deathtouch,hiddenface +aicode=activate moveto(myhand) notatarget(*|mylibrary) +auto=may name(Exploit) sacrifice notatarget(creature|mybattlefield) and!( reveal:plibrarycount optionone name(choose card) target(*|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myhand))! afterrevealedend revealend )! text=Deathtouch -- Exploit (When this creature enters the battlefield, you may sacrifice a creature.) -- When Sidisi, Undead Vizier exploits a creature, you may search your library for a card, put it into your hand, then shuffle your library. mana={3}{B}{B} type=Legendary Creature @@ -104328,7 +104446,8 @@ toughness=2 name=Sift Through Sands auto=draw:2 controller auto=target(*|myhand) reject -auto=if thisturn(*[Peer Through Depths]|mystack),thisturn(Reach Through Mists|mystack) then may name(search for Unspeakable) target(The Unspeakable|mylibrary) moveTo(mybattlefield) +aicode=activate target(The Unspeakable|mylibrary) moveTo(mybattlefield) +auto=if thisturn(*[Peer Through Depths]|mystack),thisturn(Reach Through Mists|mystack) then name(search for Unspeakable) reveal:plibrarycount optionone name(choose card) target(The Unspeakable|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield))! afterrevealedend revealend text=Draw two cards, then discard a card. -- If you've cast a spell named Peer Through Depths and a spell named Reach Through Mists this turn, you may search your library for a card named The Unspeakable, put it onto the battlefield, then shuffle your library. mana={1}{U}{U} type=Instant @@ -104777,7 +104896,8 @@ toughness=2 [card] name=Silkwing Scout abilities=flying -auto={G}{S}:moveTo(myBattlefield) and!(tap(noevent))! target(basic|mylibrary) +aicode=activate moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|myLibrary) +auto={G}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(land[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend text=Flying -- {G}, Sacrifice Silkwing Scout: Search your library for a basic land card and put that card onto the battlefield tapped. Then shuffle your library. mana={2}{U} type=Creature @@ -105000,7 +105120,8 @@ toughness=1 [/card] [card] name=Silverglade Elemental -auto=may moveTo(myBattlefield) target(forest|myLibrary) +aicode=activate moveTo(myBattlefield) target(forest|myLibrary) +auto=name(search card) reveal:plibrarycount optionone name(choose card) target(forest|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield))! afterrevealedend revealend text=When Silverglade Elemental enters the battlefield, you may search your library for a Forest card and put that card onto the battlefield. If you do, shuffle your library. mana={4}{G} type=Creature @@ -105010,7 +105131,8 @@ toughness=4 [/card] [card] name=Silverglade Pathfinder -auto={1}{G}{T}{D(*|myhand)}:moveTo(myBattlefield) and!(tap(noevent))! target(basic|myLibrary) +aicode=activate moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|myLibrary) +auto={1}{G}{T}{D(*|myhand)}:name(search card) reveal:plibrarycount optionone name(choose card) target(land[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend text={1}{G}, {T}, Discard a card: Search your library for a basic land card and put that card onto the battlefield tapped. Then shuffle your library. mana={1}{G} type=Creature @@ -105784,6 +105906,7 @@ toughness=1 [/card] [card] name=Skirk Drill Sergeant +aicode=activate transforms((,newability[if type(goblin[-instant;-sorcery;zpos=1]|mylibrary)~morethan~0 then target(goblin[-instant;-sorcery;zpos=1]|mylibrary) moveto(ownerbattlefield) else target(*[zpos=1]|mylibrary) moveto(ownergraveyard)])) ueot auto=@movedto(Goblin|mygraveyard) from(battlefield):pay({2}{r}) reveal:1 optionone target(goblin|reveal) moveto(mybattlefield) optiononeend optiontwo name(Put in grave) target(<1>*|reveal) moveto(mygraveyard) optiontwoend revealend text=Whenever Skirk Drill Sergeant or another Goblin is put into a graveyard from the battlefield, you may pay {2}{R}. If you do, reveal the top card of your library. If it's a Goblin permanent card, put it onto the battlefield. Otherwise, put it into your graveyard. mana={1}{R} @@ -106517,7 +106640,8 @@ toughness=3 [/card] [card] name=Skyship Weatherlight -auto=moveto(myexile) and!(transforms((skyshipped)) forever)! notatarget(*[creature;artifact]|mylibrary) +aicode=activate moveto(myexile) and!(transforms((skyshipped)) forever)! target(*[creature;artifact]|mylibrary) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(*[creature;artifact]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myexile) and!(becomes(skyshipped) forever)!])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend auto={4}{T}:moverandom(*[skyshipped]) from(myexile) to(ownerhand) text=When Skyship Weatherlight enters the battlefield, search your library for any number of artifact and/or creature cards and exile them. Then shuffle your library. -- {4}, {T}: Choose a card at random that was exiled with Skyship Weatherlight. Put that card into its owner's hand. mana={4} @@ -106565,7 +106689,8 @@ type=Instant [/card] [card] name=Skyshroud Claim -auto=moveTo(myBattlefield) notatarget(forest|myLibrary) +aicode=activate moveTo(myBattlefield) target(forest|myLibrary) +auto=name(search card) reveal:plibrarycount optionone name(choose card) target(forest|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield))! afterrevealedend revealend text=Search your library for up to two Forest cards and put them onto the battlefield. Then shuffle your library. mana={3}{G} type=Sorcery @@ -106636,7 +106761,8 @@ type=Land [/card] [card] name=Skyshroud Poacher -auto={3}{T}:moveTo(myBattlefield) target(elf[-sorcery;-instant]|mylibrary) +aicode=activate moveTo(myBattlefield) target(elf[-sorcery;-instant]|myLibrary) +auto={3}{T}:name(search card) reveal:plibrarycount optionone name(choose card) target(elf[-sorcery;-instant]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield))! afterrevealedend revealend text={3}, {T}: Search your library for an Elf permanent card and put that card onto the battlefield. Then shuffle your library. mana={2}{G}{G} type=Creature @@ -106666,7 +106792,8 @@ toughness=3 [/card] [card] name=Skyshroud Sentinel -auto=moveTo(myhand) target(skyshroud sentinel|mylibrary) +aicode=activate target(skyshroud sentinel|mylibrary) moveto(myhand) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(skyshroud sentinel|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=When Skyshroud Sentinel enters the battlefield, you may search your library for up to three cards named Skyshroud Sentinel, reveal them, and put them into your hand. If you do, shuffle your library. mana={2}{G} type=Creature @@ -106764,6 +106891,7 @@ toughness=4 [card] name=Skyward Eye Prophets abilities=vigilance +aicode=activate transforms((,newability[if type(land[zpos=1]|mylibrary)~morethan~0 then target(land[zpos=1]|mylibrary) moveto(ownerbattlefield) else target(*[zpos=1]|mylibrary) moveto(ownerhand)])) ueot auto={t}:reveal:1 optionone target(land|reveal) moveto(mybattlefield) optiononeend optiontwo name(Put in hand) target(<1>*|reveal) moveto(myhand) optiontwoend revealend text=Vigilance -- {T}: Reveal the top card of your library. If it's a land card, put it onto the battlefield. Otherwise, put it into your hand. mana={3}{G}{W}{U} @@ -107348,7 +107476,8 @@ toughness=7 [/card] [card] name=Sliver Overlord -auto={3}:moveto(hand) target(sliver|myLibrary) +aicode=activate target(sliver|mylibrary) moveto(myhand) +auto={3}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>sliver|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend auto={3}:moveto(myBattlefield) target(sliver|battlefield) text={3}: Search your library for a Sliver card, reveal that card, and put it into your hand. Then shuffle your library. -- {3}: Gain control of target Sliver. (This effect lasts indefinitely.) mana={W}{U}{B}{R}{G} @@ -108199,7 +108328,8 @@ toughness=2 [/card] [card] name=Solemn Simulacrum -auto=may moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|mylibrary) +aicode=activate moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|myLibrary) +auto=name(search card) reveal:plibrarycount optionone name(choose card) target(land[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend auto=@movedTo(this|graveyard) from(Battlefield):may draw:1 controller text=When Solemn Simulacrum enters the battlefield, you may search your library for a basic land card and put that card onto the battlefield tapped. If you do, shuffle your library. -- When Solemn Simulacrum dies, you may draw a card. mana={4} @@ -108683,6 +108813,7 @@ type=Sorcery [card] name=Sorin, Grim Nemesis auto=counter(0/0,6,loyalty) +aicode=activate moveto(myhand) and!(transforms((,newability[life:-manacost opponent])) ueot)! notatarget(<1>*[zpos=1]|mylibrary) auto={C(0/0,1,Loyalty)}:reveal:1 optionone name(Reveal) target(*|reveal) transforms((,newability[life:-manacost opponent])) forever optiononeend optiontwo name(Claim your card) choice all(*|reveal) moveto(myhand) optiontwoend revealend auto={C(0/0,-1,Loyalty)}:damage:1 target(creature,planeswalker) && life:1 controller auto={C(0/0,-2,Loyalty)}:damage:2 target(creature,planeswalker) && life:2 controller @@ -110022,7 +110153,8 @@ toughness=6 [card] name=Sphinx Summoner abilities=flying -auto=may moveTo(myHand) target(creature[artifact]|myLibrary) +aicode=activate target(creature[artifact]|mylibrary) moveto(myhand) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>creature[artifact]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Flying -- When Sphinx Summoner enters the battlefield, you may search your library for an artifact creature card, reveal it, and put it into your hand. If you do, shuffle your library. mana={3}{U}{B} type=Artifact Creature @@ -110050,7 +110182,8 @@ toughness=2 [/card] [card] name=Sphinx's Herald -auto={2}{U}{T}{S(creature[white]|myBattlefield)}{S(creature[blue]|myBattlefield)}{S(creature[black]|myBattlefield)}:moveTo(mybattlefield) target(sphinx sovereign|mylibrary) +aicode=activate moveTo(myBattlefield) target(sphinx sovereign|myLibrary) +auto={2}{U}{T}{S(creature[white]|myBattlefield)}{S(creature[blue]|myBattlefield)}{S(creature[black]|myBattlefield)}:name(search card) reveal:plibrarycount optionone name(choose card) target(sphinx sovereign|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield))! afterrevealedend revealend text={2}{U}, {T}, Sacrifice a white creature, a blue creature, and a black creature: Search your library for a card named Sphinx Sovereign and put it onto the battlefield. Then shuffle your library. mana={U} type=Artifact Creature @@ -111096,7 +111229,8 @@ type=Instant [/card] [card] name=Spoils of Victory -auto=moveTo(myBattlefield) notatarget(plains,island,swamp,mountain,forest|mylibrary) +aicode=activate moveTo(myBattlefield) target(*[plains;island;swamp;mountain;forest]|myLibrary) +auto=name(search card) reveal:plibrarycount optionone name(choose card) target(*[plains;island;swamp;mountain;forest]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield))! afterrevealedend revealend text=Search your library for a Plains, Island, Swamp, Mountain, or Forest card and put that card onto the battlefield. Then shuffle your library. mana={2}{G} type=Sorcery @@ -111381,7 +111515,8 @@ toughness=3 [card] name=Sprouting Vines abilities=storm -auto=moveto(myHand) notatarget(land[basic]|myLibrary) +aicode=activate target(land[basic]|mylibrary) moveto(myhand) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>land[basic]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Search your library for a basic land card, reveal that card, and put it into your hand. Then shuffle your library. -- Storm (When you cast this spell, copy it for each spell cast before it this turn.) mana={2}{G} type=Instant @@ -112400,7 +112535,8 @@ type=Instant [/card] [card] name=Steelshaper Apprentice -auto={H}{W}{T}:moveTo(myhand) target(equipment|mylibrary) +aicode=activate target(equipment|mylibrary) moveto(myhand) +auto={H}{W}{T}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>equipment|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text={W}, {T}, Return Steelshaper Apprentice to its owner's hand: Search your library for an Equipment card, reveal that card, and put it into your hand. Then shuffle your library. mana={2}{W}{W} type=Creature @@ -112410,7 +112546,8 @@ toughness=3 [/card] [card] name=Steelshaper's Gift -auto=moveTo(myhand) notatarget(equipment|mylibrary) +aicode=activate target(equipment|mylibrary) moveto(myhand) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>equipment|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Search your library for an Equipment card, reveal that card, and put it into your hand. Then shuffle your library. mana={W} type=Sorcery @@ -112986,7 +113123,8 @@ subtype=Equipment [/card] [card] name=Stoneforge Mystic -auto=may moveTo(myhand) target(equipment|mylibrary) +aicode=activate target(equipment|mylibrary) moveto(myhand) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>equipment|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend auto={1}{W}{T}:moveTo(myBattlefield) target(equipment|myhand) text=When Stoneforge Mystic enters the battlefield, you may search your library for an Equipment card, reveal it, put it into your hand, then shuffle your library. -- {1}{W}, {T}: You may put an Equipment card from your hand onto the battlefield. mana={1}{W} @@ -113016,7 +113154,8 @@ subtype=Aura [card] name=Stonehewer Giant abilities=vigilance -auto={1}{W}{T}:name(move and attach) target(equipment|mylibrary) moveto(mybattlefield) and!(transforms((,newability[rehook target(creature|mybattlefield)])))! +aicode=activate moveTo(myBattlefield) and!(transforms((,newability[rehook target(creature|mybattlefield)])) oneshot)! target(equipment|myLibrary) +auto={1}{W}{T}:name(search card) reveal:plibrarycount optionone name(choose card) target(equipment|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(transforms((,newability[rehook target(creature|mybattlefield)])) oneshot)! afterrevealedend revealend text=Vigilance -- {1}{W}, {T}: Search your library for an Equipment card and put it onto the battlefield. Attach it to a creature you control. Then shuffle your library. mana={3}{W}{W} type=Creature @@ -113916,7 +114055,7 @@ toughness=1 [card] name=Stromkirk Occultist abilities=trample,madness -auto=@combatdamaged(player) from(this):name(exile) reveal:1 optionone all(*|reveal) moveto(exile) and!( transforms((,newability[canplayfromexile])) ueot)! optiononeend revealend +auto=@combatdamaged(player) from(this):moveto(exile) and!( transforms((,canplayfromexile)) ueot )! all(*[zpos=1]|mylibrary) autoexile=restriction{discarded} pay({1}{r}) name(pay 1R to cast) activate name(pay 1R to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard) text=Trample -- Whenever Stromkirk Occultist deals combat damage to a player, exile the top card of your library. Until end of turn, you may play that card. -- Madness {1}{R} (If you discard this card, discard it into exile. When you do, cast it for its madness cost or put it into your graveyard.) mana={2}{R} @@ -114581,8 +114720,8 @@ type=Instant [/card] [card] name=Summoner's Pact -target=creature[green]|mylibrary -auto=moveTo(myhand) +aicode=activate target(creature[green]|mylibrary) moveto(myhand) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>creature[green]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend auto=if casted(this) then transforms((,newability[upcost[{2}{G}{G};next upkeep] wingame opponent])) forever color=green text=Summoner's Pact is green. -- Search your library for a green creature card, reveal it, and put it into your hand. Then shuffle your library. -- At the beginning of your next upkeep, pay {2}{G}{G}. If you don't, you lose the game. @@ -115111,7 +115250,8 @@ toughness=10 [/card] [card] name=Supreme Inquisitor -auto={T(wizard|myBattlefield)}{T(wizard|myBattlefield)}{T(wizard|myBattlefield)}{T(wizard|myBattlefield)}{T(wizard|myBattlefield)}:choice name(target player) target(player) moveto(exile) target(*|targetedpersonslibrary) +aicode=activate moveto(exile) target(*|targetedpersonslibrary) +auto={T(wizard|myBattlefield)}{T(wizard|myBattlefield)}{T(wizard|myBattlefield)}{T(wizard|myBattlefield)}{T(wizard|myBattlefield)}:name(target player) target(player) reveal:type:*:targetedpersonslibrary revealzone(targetedpersonslibrary) optionone name(choose card) target(*|reveal) moveto(exile) optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend revealend text=Tap five untapped Wizards you control: Search target player's library for up to five cards and exile them. Then that player shuffles his or her library. mana={3}{U}{U} type=Creature @@ -115332,7 +115472,8 @@ type=Sorcery [/card] [card] name=Survival of the Fittest -auto={G}{D(creature|myhand)}:moveTo(myhand) target(creature|myLibrary) +aicode=activate target(creature|mylibrary) moveto(myhand) +auto={G}{D(creature|myhand)}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>creature|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text={G}, Discard a creature card: Search your library for a creature card, reveal that card, and put it into your hand. Then shuffle your library. mana={1}{G} type=Enchantment @@ -115817,7 +115958,8 @@ subtype=Equipment name=Sword of the Animist auto={2}:equip auto=teach(creature) 1/1 -auto=@combat(attacking) source(mytgt):may notatarget(land[basic]|mylibrary) moveto(mybattlefield) and!(tap(noevent))! +aicode=activate moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|myLibrary) +auto=@combat(attacking) source(mytgt):name(search card) reveal:plibrarycount optionone name(choose card) target(land[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend text=Equipped creature gets +1/+1. -- Whenever equipped creature attacks, you may search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library. -- Equip {2} mana={2} type=Legendary Artifact @@ -115957,7 +116099,8 @@ toughness=4 name=Sylvan Bounty target=player auto=life:8 -autohand=__BASIC_LANDCYCLING__({1}{G}) +aicode=activate target(land[basic]|mylibrary) moveto(myhand) +autohand={1}{G}{cycle}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>land[basic]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Target player gains 8 life. -- Basic landcycling {1}{G} ({1}{G}, Discard this card: Search your library for a basic land card, reveal it, and put it into your hand. Then shuffle your library.) mana={5}{G} type=Instant @@ -116020,7 +116163,8 @@ type=Instant [card] name=Sylvan Primordial abilities=reach -auto=target(*[-creature]|opponentbattlefield) destroy and!(if cantargetcard(*[-creature]|nonbattlezone) then choice notatarget(forest|mylibrary) moveto(mybattlefield) and!(tap(noevent))! )! +aicode=activate notatarget(forest|mylibrary) moveto(mybattlefield) and!(tap(noevent))! +auto=target(*[-creature]|opponentbattlefield) destroy and!(if cantargetcard(*[-creature]|nonbattlezone) then name(search card) reveal:plibrarycount optionone name(choose card) target(forest|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend )! text=Reach -- When Sylvan Primordial enters the battlefield, for each opponent, destroy target noncreature permanent that player controls. For each permanent destroyed this way, search your library for a Forest card and put that card onto the battlefield tapped. Then shuffle your library. mana={5}{G}{G} type=Creature @@ -116030,7 +116174,8 @@ toughness=8 [/card] [card] name=Sylvan Ranger -auto=may moveTo(myhand) target(land[basic]|mylibrary) +aicode=activate target(land[basic]|mylibrary) moveto(myhand) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>land[basic]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=When Sylvan Ranger enters the battlefield, you may search your library for a basic land card, reveal it, and put it into your hand. If you do, shuffle your library. mana={1}{G} type=Creature @@ -116042,7 +116187,8 @@ toughness=1 name=Sylvan Reclamation target=*[artifact;enchantment] auto=moveto(exile) -autohand=__BASIC_LANDCYCLING__({2}) +aicode=activate target(land[basic]|mylibrary) moveto(myhand) +autohand={2}{cycle}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>land[basic]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Exile up to two target artifacts and/or enchantments. -- Basic landcycling {2} ({2}, Discard this card: Search your library for a basic land card, reveal it, and put it into your hand. Then shuffle your library.) mana={3}{G}{W} type=Instant @@ -116059,7 +116205,8 @@ toughness=1 [/card] [card] name=Sylvan Scrying -auto=name(search a land) moveTo(myHand) target(land|mylibrary) +aicode=activate target(land|mylibrary) moveto(myhand) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>land|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Search your library for a land card, reveal it, and put it into your hand. Then shuffle your library. mana={1}{G} type=Sorcery @@ -116067,7 +116214,7 @@ type=Sorcery [card] name=Sylvan Tutor aicode=activate target(creature|mylibrary) moveto(mylibrary) and!(moveto(mylibrary))! -auto=Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>creature|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(mylibrary)])) optiononeend optiontwo bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>creature|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(mylibrary)])) optiononeend optiontwo bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend text=Search your library for a creature card and reveal that card. Shuffle your library, then put the card on top of it. mana={G} type=Sorcery @@ -116682,7 +116829,8 @@ type=Artifact [/card] [card] name=Tallowisp -auto=@movedto(spirit,arcane|mystack):may moveto(myhand) target(aura|myLibrary) +aicode=activate target(aura|mylibrary) moveto(myhand) +auto=@movedto(spirit,arcane|mystack):name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(aura|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Whenever you cast a Spirit or Arcane spell, you may search your library for an Aura card with enchant creature, reveal it, and put it into your hand. If you do, shuffle your library. mana={1}{W} type=Creature @@ -116830,8 +116978,10 @@ subtype=Tamiyo [/card] [card] name=Tamiyo's Journal -auto=@upkeep:token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! -auto={T}{S(clue|mybattlefield)}{S(clue|mybattlefield)}{S(clue|mybattlefield)}: moveto(myhand) target(*|mylibrary) +abilities=hiddenface +auto=@each my upkeep:token(Clue,Artifact Clue,0/0) and!( transforms((,newability[{S}{2}:draw:1])) forever )! +aicode=activate target(*|mylibrary) moveto(myhand) +auto={T}{S(clue|mybattlefield)}{S(clue|mybattlefield)}{S(clue|mybattlefield)}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>*|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=At the beginning of your upkeep, investigate. (Put a colorless Clue artifact token onto the battlefield with "{2}, Sacrifice this artifact: Draw a card.") -- {T}, Sacrifice three Clues: Search your library for a card and put that card into your hand. Then shuffle your library. mana={5} type=Legendary Artifact @@ -118169,7 +118319,8 @@ toughness=9 [card] name=Terminal Moraine auto={T}:Add{1} -auto={2}{T}{S}:moveTo(myBattlefield) and!(tap(noevent))! target(basic|mylibrary) +aicode=activate moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|myLibrary) +auto={2}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(land[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend text={T}: Add {1} to your mana pool. -- {2}, {T}, Sacrifice Terminal Moraine: Search your library for a basic land card and put that card onto the battlefield tapped. Then shuffle your library. type=Land [/card] @@ -118268,7 +118419,8 @@ type=Land [/card] [card] name=Terramorphic Expanse -auto={T}{S}:moveTo(myBattlefield) and!(tap(noevent))! target(basic|mylibrary) +aicode=activate moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|myLibrary) +auto={T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(land[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend text={T}, Sacrifice Terramorphic Expanse: Search your library for a basic land card and put it onto the battlefield tapped. Then shuffle your library. type=Land [/card] @@ -118574,8 +118726,8 @@ subtype=Aura [card] name=Thada Adel, Acquisitor abilities=islandwalk -auto=@combatdamagefoeof(player) from(this):name(exile artifact) notatarget(artifact|opponentlibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[phaseactionmulti[endofturn once] moveto(ownerexile) all(this|exile)])) ueot)! -auto=@combatdamageof(player) from(this):name(exile artifact) notatarget(artifact|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[phaseactionmulti[endofturn once] moveto(ownerexile) all(this|exile)])) ueot)! +aicode=activate notatarget(artifact|opponentlibrary) moveto(myexile) and!( transforms((,canplayfromexile,newability[phaseactionmulti[endofturn once] moveto(ownerexile) all(this|exile)])) ueot)! +auto=@combatdamaged(player) from(this):name(exile artifact) Reveal:olibrarycount revealzone(opponentlibrary) optionone name(choose card) target(<1>artifact|reveal) moveto(myexile) and!( transforms((,canplayfromexile,newability[phaseactionmulti[endofturn once] moveto(ownerexile) all(this|exile)],newability[all(other *|reveal) moveto(ownerlibrary) and!(shuffle)!])) ueot)! optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Islandwalk -- Whenever Thada Adel, Acquisitor deals combat damage to a player, search that player's library for an artifact card and exile it. Then that player shuffles his or her library. Until end of turn, you may play that card. mana={1}{U}{U} type=Legendary Creature @@ -118694,7 +118846,8 @@ toughness=2 [card] name=Thalia's Lancers abilities=first strike -auto=may moveTo(myHand) target(*[legendary]|myLibrary) +aicode=activate target(*[legendary]|mylibrary) moveto(myhand) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>*[legendary]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=First strike -- When Thalia's Lancers enters the battlefield, you may search your library for a legendary card, reveal it, put it into your hand, then shuffle your library. mana={3}{W}{W} type=Creature @@ -118853,7 +119006,8 @@ toughness=2 [card] name=Thawing Glaciers auto=tap(noevent) -auto={1}{T}:moveTo(mybattlefield) and!(tap(noevent))! target(land[basic]|mylibrary) && phaseaction[cleanup,sourceinplay] moveto(myhand) all(this) +aicode=activate moveTo(mybattlefield) and!( tap(noevent) && phaseaction[cleanup,sourceinplay] moveto(myhand) all(this) )! target(land[basic]|mylibrary) +auto={1}{T}:name(search card) reveal:plibrarycount optionone name(choose card) target(land[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot && phaseaction[cleanup,sourceinplay] moveto(myhand) all(this))! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend text=Thawing Glaciers enters the battlefield tapped. -- {1}, {T}: Search your library for a basic land card, put that card onto the battlefield tapped, then shuffle your library. Return Thawing Glaciers to its owner's hand at the beginning of the next cleanup step. type=Land [/card] @@ -119975,7 +120129,8 @@ subtype=Arcane [/card] [card] name=Three Visits -auto=moveTo(myBattlefield) notatarget(forest|mylibrary) +aicode=activate moveTo(myBattlefield) target(forest|myLibrary) +auto=name(search card) reveal:plibrarycount optionone name(choose card) target(forest|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield))! afterrevealedend revealend text=Search your library for a Forest card and put that card onto the battlefield. Then shuffle your library. mana={1}{G} type=Sorcery @@ -120896,7 +121051,8 @@ type=Enchantment [/card] [card] name=Time of Need -auto=moveTo(myHand) notatarget(creature[legendary]|mylibrary) +aicode=activate target(creature[legendary]|mylibrary) moveto(myhand) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>creature[legendary]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Search your library for a legendary creature card, reveal it, and put it into your hand. Then shuffle your library. mana={1}{G} type=Sorcery @@ -121048,7 +121204,8 @@ toughness=1 [/card] [card] name=Tinker -auto=moveto(mybattlefield) target(artifact|mylibrary) +aicode=activate moveTo(myBattlefield) target(artifact|myLibrary) +auto=name(search card) reveal:plibrarycount optionone name(choose card) target(artifact|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield))! afterrevealedend revealend text=As an additional cost to cast Tinker, sacrifice an artifact. -- Search your library for an artifact card and put that card onto the battlefield. Then shuffle your library. mana={2}{U}{S(artifact|mybattlefield)} type=Sorcery @@ -121203,7 +121360,9 @@ toughness=1 [/card] [card] name=Tithe -auto=if type(land|mybattlefield)~lessthan~type(land|opponentbattlefield) then moveTo(myhand) notatarget(plains|mylibrary) else moveTo(myhand) notatarget(plains|mylibrary) +aicode=activate transforms((,newability[if type(land|mybattlefield)~lessthan~type(land|opponentbattlefield) then moveTo(myhand) notatarget(plains|mylibrary) else moveTo(myhand) notatarget(plains|mylibrary)])) ueot +auto=if type(land|mybattlefield)~lessthan~type(land|opponentbattlefield) then name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(plains|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend +auto=ifnot type(land|mybattlefield)~lessthan~type(land|opponentbattlefield) then name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(plains|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Search your library for a Plains card. If you control fewer lands than an opponent, you may search your library for an additional Plains card. Reveal those cards and put them into your hand. Then shuffle your library. mana={W} type=Instant @@ -121274,7 +121433,8 @@ type=Sorcery name=Tolaria West auto=tap(noevent) auto={T}:Add{U} -autohand={1}{U}{U}{discard}:moveTo(myhand) target(*[manacost=0]|mylibrary) asSorcery +aicode=activate target(*[manacost=0]|mylibrary) moveto(myhand) +autohand={1}{U}{U}{discard}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>*[manacost=0]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Tolaria West enters the battlefield tapped. -- {T}: Add {U} to your mana pool. -- Transmute {1}{U}{U} ({1}{U}{U}, Discard this card: Search your library for a card with converted mana cost 0, reveal it, and put it into your hand. Then shuffle your library. Transmute only as a sorcery.) type=Land [/card] @@ -121867,7 +122027,8 @@ toughness=3 [/card] [card] name=Totem-Guide Hartebeest -auto=may moveTo(myhand) target(aura|myLibrary) +aicode=activate target(aura|mylibrary) moveto(myhand) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(aura|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=When Totem-Guide Hartebeest enters the battlefield, you may search you library for an aura card, reveal it, put it into your hand and shuffle your library. mana={4}{W} type=Creature @@ -122567,7 +122728,8 @@ toughness=3 [/card] [card] name=Trapmaker's Snare -auto=moveTo(myhand) notatarget(*[trap]|mylibrary) +aicode=activate target(*[trap]|mylibrary) moveto(myhand) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>*[trap]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Search your library for a Trap card, reveal it, and put it into your hand. Then shuffle your library. mana={1}{U} type=Instant @@ -122594,7 +122756,8 @@ type=Sorcery name=Traumatic Visions target=*|stack auto=fizzle -autohand=__BASIC_LANDCYCLING__({1}{U}) +aicode=activate target(land[basic]|mylibrary) moveto(myhand) +autohand={1}{U}{cycle}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>land[basic]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Counter target spell. -- Basic landcycling {1}{U} ({1}{U}, Discard this card: Search your library for a basic land card, reveal it, and put it into your hand. Then shuffle your library.) mana={3}{U}{U} type=Instant @@ -122618,7 +122781,8 @@ type=Sorcery [/card] [card] name=Traveler's Amulet -auto={1}{S}:moveTo(myhand) target(land[basic]|mylibrary) +aicode=activate target(land[basic]|mylibrary) moveto(myhand) +auto={1}{S}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>land[basic]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text={1}, Sacrifice Traveler's Amulet: Search your library for a basic land card, reveal it, and put it into your hand. Then shuffle your library. mana={1} type=Artifact @@ -122653,8 +122817,9 @@ toughness=2 [/card] [card] name=Traverse the Ulvenwald -auto=ifnot delirium then moveto(myhand) target(land[basic]|mylibrary) -auto=if delirium then moveto(myhand) target(land,creature|mylibrary) +aicode=activate transforms((,newability[if delirium then moveto(myhand) target(*[land;creature]|mylibrary)],newability[ifnot delirium then moveto(myhand) target(land[basic]|mylibrary)])) ueot +auto=if delirium then name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>*[creature;land]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend +auto=ifnot delirium then name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>land|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Search your library for a basic land card, reveal it, put it into your hand, then shuffle your library. -- Delirium If there are four or more card types among cards in your graveyard, instead search your library for a creature or land card, reveal it, put it into your hand, then shuffle your library. mana={G} type=Sorcery @@ -122672,8 +122837,10 @@ toughness=3 [/card] [card] name=Treacherous Terrain -auto=damage:type:land:opponentbattlefield opponent -autohand=__BASIC_LANDCYCLING__({2}) +target=player +auto=damage:type:land:targetedpersonsbattlefield +aicode=activate target(land[basic]|mylibrary) moveto(myhand) +autohand={2}{cycle}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>land[basic]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Treacherous Terrain deals damage to each opponent equal to the number of lands that player controls. -- Basic landcycling {2} ({2}, Discard this card: Search your library for a basic land card, reveal it, and put it into your hand. Then shuffle your library.) mana={6}{R}{G} type=Sorcery @@ -122778,7 +122945,8 @@ toughness=3 [/card] [card] name=Treasure Mage -auto=may moveTo(myhand) target(artifact[manacost>=6]|mylibrary) +aicode=activate target(artifact[manacost>=6]|mylibrary) moveto(myhand) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>artifact[manacost>=6]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=When Treasure Mage enters the battlefield, you may search your library for an artifact card with converted mana cost 6 or greater, reveal that card, and put it into your hand. If you do, shuffle your library. mana={2}{U} type=Creature @@ -122853,7 +123021,7 @@ type=Artifact Land [card] name=Treefolk Harbinger aicode=activate target(*[treefolk;forest]|mylibrary) moveto(mylibrary) and!(moveto(mylibrary))! -auto=Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(*[treefolk;forest]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(mylibrary)])) optiononeend optiontwo bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(*[treefolk;forest]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(mylibrary)])) optiononeend optiontwo bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend text=When Treefolk Harbinger enters the battlefield, you may search your library for a Treefolk or Forest card, reveal it, then shuffle your library and put that card on top of it. mana={G} type=Creature @@ -122975,14 +123143,15 @@ type=Sorcery [/card] [card] name=Trench Gorger -auto=choice target(land|mylibrary) moveto(exile) && lord(this) 1/1 -auto=choice lord(this) 6/6 +abilities=trample +aicode=activate target(land|mylibrary) moveto(myexile) and!(all(this) becomes(,0/0) forever && lord(this) 1/1)! +auto=name(exile cards) Reveal:type:*:mylibrary revealtype(land|mylibrary) revealzone(mylibrary) optionone name(choose cards) target(land|reveal) moveto(exile) and!( becomes(trenchgorged) ueot )! optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend afterrevealed all(trenchgorged|myexile) moveto(myexile) and!(all(this) becomes(,0/0) forever && lord(this) 1/1)! afterrevealedend revealend text=Trample -- When Trench Gorger enters the battlefield, you may search your library for any number of land cards, exile them, then shuffle your library. If you do, Trench Gorger's power and toughness each become equal to the number of cards exiled this way. mana={6}{U}{U} type=Creature subtype=Leviathan -power=0 -toughness=0 +power=6 +toughness=6 [/card] [card] name=Trench Wurm @@ -123280,7 +123449,8 @@ type=Artifact [/card] [card] name=Trinket Mage -auto=may moveTo(myhand) target(artifact[manacost<=1]|mylibrary) +aicode=activate target(artifact[manacost<=1]|mylibrary) moveto(myhand) +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>artifact[manacost<=1]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=When Trinket Mage enters the battlefield, you may search your library for an artifact card with converted mana cost 1 or less, reveal that card, and put it into your hand. If you do, shuffle your library. mana={2}{U} type=Creature @@ -123499,7 +123669,7 @@ toughness=3 [card] name=Trophy Mage aicode=activate target(artifact[manacost=3]|mylibrary) moveto(myhand) -auto=Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>artifact[manacost=3]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend +auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>artifact[manacost=3]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=When Trophy Mage enters the battlefield, you may search your library for an artifact card with converted mana cost 3, reveal it, put it into your hand, then shuffle your library. mana={2}{U} type=Creature @@ -124080,7 +124250,8 @@ type=Sorcery [card] name=Twisted Abomination auto={B}:regenerate -autohand={2}{cycle}:name(swampcycling) moveTo(myhand) target(swamp|mylibrary) +aicode=activate moveTo(myhand) target(swamp|myLibrary) +autohand={2}{cycle}:name(search card) reveal:plibrarycount optionone name(choose card) target(<1>swamp|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveto(myhand))! afterrevealedend revealend text={B}: Regenerate Twisted Abomination. -- Swampcycling {2} ({2}, Discard this card: Search your library for a Swamp card, reveal it, and put it into your hand. Then shuffle your library.) mana={5}{B} type=Creature @@ -124474,7 +124645,8 @@ toughness=2 name=Ulvenwald Hydra abilities=reach anyzone=type:land:mybattlefield/type:land:mybattlefield cdaactive -auto=may target(land|mylibrary) moveto(mybattlefield) and!(tap(noevent))! +aicode=activate moveTo(myBattlefield) and!(tap(noevent))! target(land|myLibrary) +auto=name(search card) reveal:plibrarycount optionone name(choose card) target(land|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend text=Reach -- Ulvenwald Hydra's power and toughness are each equal to the number of lands you control. -- When Ulvenwald Hydra enters the battlefield, you may search your library for a land card, put it onto the battlefield tapped, then shuffle your library. mana={4}{G}{G} type=Creature @@ -125421,7 +125593,8 @@ type=Instant [/card] [card] name=Untamed Wilds -auto=moveTo(myBattlefield) notatarget(land[basic]|mylibrary) +aicode=activate moveTo(myBattlefield) target(land[basic]|myLibrary) +auto=name(search card) reveal:plibrarycount optionone name(choose card) target(land[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield))! afterrevealedend revealend text=Search your library for a basic land card and put that card onto the battlefield. Then shuffle your library. mana={2}{G} type=Sorcery @@ -126079,7 +126252,8 @@ toughness=2 [/card] [card] name=Valley Rannet -autohand={2}{cycle}:name(mountaincycling or forestcycling) moveTo(myhand) target(mountain,forest|mylibrary) +aicode=activate moveTo(myhand) target(*[forest;mountain]|myLibrary) +autohand={2}{cycle}:name(search card) reveal:plibrarycount optionone name(choose card) target(<1>*[forest;mountain]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveto(myhand))! afterrevealedend revealend text=Mountaincycling {2}, forestcycling {2} ({2}, Discard this card: Search your library for a Mountain or Forest card, reveal it, and put it into your hand. Then shuffle your library.) mana={4}{R}{G} type=Creature @@ -126351,8 +126525,9 @@ type=Sorcery [/card] [card] name=Vampiric Tutor -auto=name(search a card) moveTo(exile) and!(transforms((,newability[moveto(ownerlibrary)])) oneshot)! notatarget(*|mylibrary) -auto=life:-2 controller +abilities=hiddenface +aicode=activate moveto(mylibrary) and!(moveto(mylibrary) and!(life:-2 controller)!)! target(*|mylibrary) +auto=name(search card) reveal:plibrarycount optionone name(choose card) target(*|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(mylibrary) and!(moveto(mylibrary) and!(life:-2 controller)!)! afterrevealedend revealend text=Search your library for a card, then shuffle your library and put that card on top of it. You lose 2 life. mana={B} type=Instant @@ -126646,7 +126821,8 @@ toughness=1 name=Vedalken AEthermage abilities=flash auto=moveto(ownerhand) target(sliver) -autohand={3}{cycle}:name(wizardcycling) moveTo(myhand) target(wizard|mylibrary) +aicode=activate moveTo(myHand) target(wizard|myLibrary) +autohand={3}{cycle}:name(search card) reveal:plibrarycount optionone name(choose card) target(<1>wizard|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myhand))! afterrevealedend revealend text=Flash (You may cast this spell any time you could cast an instant.) -- When Vedalken AEthermage enters the battlefield, return target Sliver to its owner's hand. -- Wizardcycling {3} ({3}, Discard this card: Search your library for a Wizard card, reveal it, and put it into your hand. Then shuffle your library.) mana={1}{U} type=Creature @@ -127147,7 +127323,8 @@ toughness=2 [/card] [card] name=Verdant Catacombs -auto={L}{T}{S}:moveTo(myBattlefield) target(swamp,forest|mylibrary) +aicode=activate moveTo(myBattlefield) target(*[forest;swamp]|myLibrary) +auto={L}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[forest;swamp]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveto(ownerbattlefield))! afterrevealedend revealend text={T}, Pay 1 life, Sacrifice Verdant Catacombs: Search your library for a Swamp or Forest card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -128393,7 +128570,8 @@ toughness=2 [/card] [card] name=Viridian Emissary -auto=@movedTo(this|graveyard) from(battlefield):may moveTo(mybattlefield) and!(tap(noevent))! target(land[basic]|mylibrary) +aicode=activate moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|myLibrary) +auto=@movedTo(this|graveyard) from(battlefield):name(search card) reveal:plibrarycount optionone name(choose card) target(land[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend text=When Viridian Emissary dies, you may search your library for a basic land card and put that card onto the battlefield tapped. If you do, shuffle your library. mana={1}{G} type=Creature @@ -130598,7 +130776,8 @@ toughness=3 [/card] [card] name=Wanderer's Twig -auto={1}{S}:moveTo(myhand) target(land[basic]|mylibrary) +aicode=activate moveTo(myHand) target(land[basic]|myLibrary) +auto={1}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(<1>land[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myhand))! afterrevealedend revealend text={1}, Sacrifice Wanderer's Twig: Search your library for a basic land card, reveal it, and put it into your hand. Then shuffle your library. mana={1} type=Artifact @@ -130976,7 +131155,8 @@ toughness=4 [/card] [card] name=Wargate -auto=moveto(mybattlefield) target(*[-instant;-sorcery;manacost <=X]|mylibrary) +aicode=activate moveTo(myBattlefield) target(*[-instant;-sorcery;manacost <=X]|myLibrary) +auto=name(search card) reveal:plibrarycount optionone name(choose card) target(*[-instant;-sorcery;manacost <=X]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveto(ownerbattlefield))! afterrevealedend revealend text=Search your library for a permanent card with converted mana cost X or less, put it onto the battlefield, then shuffle your library. mana={X}{G}{W}{U} type=Sorcery @@ -131085,7 +131265,8 @@ type=Enchantment [card] name=Warped Landscape auto={T}:Add{C} -auto={2}{T}{S}:moveto(mybattlefield) target(basic|mylibrary) and!(tap(noevent))! +aicode=activate moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|myLibrary) +auto={2}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(land[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend text={T}: Add {C} to your mana pool. -- {2}, {T}, Sacrifice Warped Landscape: Search your library for a basic land card and put it onto the battlefield tapped. Then shuffle your library. type=Land [/card] @@ -131585,7 +131766,8 @@ subtype=Aura [/card] [card] name=Wayfarer's Bauble -auto={2}{T}{S}:moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|mylibrary) +aicode=activate moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|myLibrary) +auto={2}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(land[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend text={2}, {T}, Sacrifice Wayfarer's Bauble: Search your library for a basic land card and put that card onto the battlefield tapped. Then shuffle your library. mana={1} type=Artifact @@ -131717,7 +131899,8 @@ toughness=2 [/card] [card] name=Weathered Wayfarer -auto={W}{T}:moveTo(myhand) target(land|mylibrary) restriction{type(land|opponentbattlefield)~morethan~type(land|mybattlefield)} +aicode=activate moveTo(myhand) target(land|mylibrary) +auto={W}{T}:name(search card) reveal:plibrarycount optionone name(choose card) target(<1>land|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myhand))! afterrevealedend revealend restriction{control less lands} text={W}, {T}: Search your library for a land card, reveal it, and put it into your hand. Then shuffle your library. Activate this ability only if an opponent controls more lands than you. mana={W} type=Creature @@ -132019,7 +132202,8 @@ toughness=2 [card] name=Welkin Hawk abilities=flying -auto=@movedTo(this|graveyard) from(battlefield):may moveTo(myHand) target(welkin hawk|mylibrary) +aicode=activate moveTo(myHand) target(Welkin Hawk|myLibrary) +auto=@movedto(this|graveyard) from(battlefield):name(search card) reveal:plibrarycount optionone name(choose card) target(Welkin Hawk|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myhand))! afterrevealedend revealend text=Flying -- When Welkin Hawk dies, you may search your library for a card named Welkin Hawk, reveal that card, put it into your hand, then shuffle your library. mana={1}{W} type=Creature @@ -132925,7 +133109,8 @@ type=Enchantment [/card] [card] name=Wild Wanderer -auto=may moveto(ownerbattlefield) and!(tap(noevent))! notatarget(land[basic]|mylibrary) +aicode=activate moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|myLibrary) +auto=name(search card) reveal:plibrarycount optionone name(choose card) target(land[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend text=When Wild Wanderer enters the battlefield, you may search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library. mana={3}{G} type=Creature @@ -132997,7 +133182,8 @@ type=Artifact [card] name=Wild-Field Scarecrow abilities=defender -auto={2}{s}:moveto(myhand) target(basic|mylibrary) +aicode=activate moveTo(myHand) target(land[basic]|myLibrary) +auto={2}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(land[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myhand))! afterrevealedend revealend text=Defender -- {2}, Sacrifice Wild-Field Scarecrow: Search your library for up to two basic land cards, reveal them, and put them into your hand. Then shuffle your library. mana={3} type=Artifact Creature @@ -133427,7 +133613,8 @@ type=Instant [/card] [card] name=Windswept Heath -auto={L}{T}{S}:moveTo(myBattlefield) target(forest,plains|mylibrary) +aicode=activate moveTo(myBattlefield) target(*[forest;plains]|myLibrary) +auto={L}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[forest;plains]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveto(ownerbattlefield))! afterrevealedend revealend text={T}, Pay 1 life, Sacrifice Windswept Heath: Search your library for a Forest or Plains card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -133714,7 +133901,8 @@ toughness=2 [/card] [card] name=Wirewood Guardian -autohand={2}{cycle}:name(forestcycling) moveTo(myhand) target(forest|mylibrary) +aicode=activate moveTo(myHand) target(forest|myLibrary) +autohand={2}{cycle}:name(search card) reveal:plibrarycount optionone name(choose card) target(forest|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myhand))! afterrevealedend revealend text=Forestcycling {2} ({2}, Discard this card: Search your library for a Forest card, reveal it, and put it into your hand. Then shuffle your library.) mana={5}{G}{G} type=Creature @@ -133724,7 +133912,8 @@ toughness=6 [/card] [card] name=Wirewood Herald -auto=@movedto(this|graveyard) from(battlefield):may moveto(myhand) target(elf|mylibrary) +aicode=activate moveTo(myHand) target(elf|myLibrary) +auto=@movedto(this|graveyard) from(battlefield):name(search card) reveal:plibrarycount optionone name(choose card) target(elf|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myhand))! afterrevealedend revealend text=When Wirewood Herald dies, you may search your library for an Elf card, reveal that card, put it into your hand, then shuffle your library. mana={1}{G} type=Creature @@ -134245,7 +134434,8 @@ toughness=0 [/card] [card] name=Wood Elves -auto=may moveTo(mybattlefield) target(forest|myLibrary) +aicode=activate moveTo(myBattlefield) target(forest|myLibrary) +auto=name(search card) reveal:plibrarycount optionone name(choose card) target(forest|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveto(ownerbattlefield))! afterrevealedend revealend text=When Wood Elves enters the battlefield, search your library for a Forest card and put that card onto the battlefield. Then shuffle your library. mana={2}{G} type=Creature @@ -134296,7 +134486,8 @@ type=Land [/card] [card] name=Wooded Foothills -auto={L}{T}{S}:moveTo(myBattlefield) target(mountain,forest|mylibrary) +aicode=activate moveTo(myBattlefield) target(*[mountain;forest]|myLibrary) +auto={L}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[mountain;forest]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveto(ownerbattlefield))! afterrevealedend revealend text={T}, Pay 1 life, Sacrifice Wooded Foothills: Search your library for a Mountain or Forest card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -134330,7 +134521,8 @@ toughness=6 [/card] [card] name=Woodland Bellower -auto=may moveto(mybattlefield) notatarget(creature[green;manacost<=3;-legendary]|mylibrary) +aicode=activate moveTo(myBattlefield) target(creature[green;manacost<=3;-legendary]|myLibrary) +auto=name(search card) reveal:plibrarycount optionone name(choose card) target(creature[green;manacost<=3;-legendary]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield))! afterrevealedend revealend text=When Woodland Bellower enters the battlefield, you may search your library for a nonlegendary green creature card with converted mana cost 3 or less, put it onto the battlefield, then shuffle your library. mana={4}{G}{G} type=Creature @@ -135205,6 +135397,7 @@ toughness=5 [/card] [card] name=Xenagos, the Reveler +aicode=activate transforms((,newability[all(*[zpos<=7]|mylibrary) moveto(exile) and!( if cantargetcard(*[creature;land]|*) then moveto(ownerbattlefield)])) ueot auto=counter(0/0,3,loyalty) auto={C(0/0,1,Loyalty)}:name(+1: Red/Green Mana) foreach(creature|mybattlefield) ability$! choice add{R} _ choice add{G} !$ controller auto={C(0/0,0,Loyalty)}:name(0: Satyr token) token(Satyr,Creature Satyr,2/2,haste,green,red) @@ -135332,8 +135525,8 @@ type=Land [card] name=Yavimaya Dryad abilities=forestwalk -auto=may name(my battlefield) moveTo(myBattlefield) and!(tap(noevent))! target(forest|mylibrary) -auto=may name(opponent's battlefield) moveTo(opponentBattlefield) and!(tap(noevent))! target(forest|mylibrary) +aicode=activate moveto(targetedpersonsbattlefield) and!(tap(noevent))! target(forest|mylibrary) +auto=name(target player) target(player) reveal:plibrarycount revealzone(mylibrary) optionone name(choose card) target(forest|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveto(targetedpersonsbattlefield) and!(tap(noevent))!)! afterrevealedend revealend text=Forestwalk -- When Yavimaya Dryad enters the battlefield, you may search your library for a Forest card and put it onto the battlefield tapped under target player's control. If you do, shuffle your library. mana={1}{G}{G} type=Creature @@ -135344,7 +135537,8 @@ toughness=1 [card] name=Yavimaya Elder auto={2}{S}:draw:1 -auto=@movedto(this|graveyard) from(battlefield):may moveTo(myHand) target(land[basic]|myLibrary) +aicode=activate moveTo(myHand) target(land[basic]|myLibrary) +auto=@movedto(this|graveyard) from(battlefield):name(search card) reveal:plibrarycount optionone name(choose card) target(land[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myhand))! afterrevealedend revealend text=When Yavimaya Elder dies, you may search your library for up to two basic land cards, reveal them, and put them into your hand. If you do, shuffle your library. -- {2}, Sacrifice Yavimaya Elder: Draw a card. mana={1}{G}{G} type=Creature @@ -135375,7 +135569,8 @@ toughness=1 [/card] [card] name=Yavimaya Granger -auto=may moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|myLibrary) +aicode=activate moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|myLibrary) +auto=name(search card) reveal:plibrarycount optionone name(choose card) target(land[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend auto=upcost[{2}{G};next upkeep] sacrifice text=Echo {2}{G} (At the beginning of your upkeep, if this came under your control since the beginning of your last upkeep, sacrifice it unless you pay its echo cost.) -- When Yavimaya Granger enters the battlefield, you may search your library for a basic land card, put that card onto the battlefield tapped, then shuffle your library. mana={2}{G} @@ -135537,7 +135732,7 @@ toughness=2 [/card] [card] name=Yew Spirit -auto={2}{G}{G}:name(power pump both) dynamicability && dynamicability +auto={2}{G}{G}:power/power ueot text={2}{G}{G}: Yew Spirit gets +X/+X until end of turn, where X is its power. mana={4}{G} type=Creature @@ -135558,7 +135753,8 @@ toughness=4 [/card] [card] name=Yisan, the Wanderer Bard -auto={2}{G}{T}{C(0/0,1,Verse)}:name(search creature) Reveal:type:*:mylibrary revealzone(mylibrary) revealtype(*[creature]|mylibrary) optionone target(creature[manacost=counter{0%0.1.Verse}]|reveal) moveto(mybattlefield) and!( all(*|reveal) moveto(mylibrary) )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(mylibrary) and!( all(*|reveal) moveto(mylibrary) )! optiontwoend afterrevealed shuffle afterrevealedend revealend +aicode=activate transforms((,newability[moveTo(myBattlefield) target(creature[manacost=counter{0%0.1.Verse}]|myLibrary)])) ueot +auto={2}{G}{T}{C(0/0,4,Verse)}:name(search card) reveal:plibrarycount optionone name(choose card) target(<1>creature[manacost=counter{0%0.1.Verse}]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield))! afterrevealedend revealend text={2}{G}, {T}, Put a verse counter on Yisan, the Wanderer Bard: Search your library for a creature card with converted mana cost equal to the number of verse counters on Yisan, put it onto the battlefield, then shuffle your library. mana={2}{G} type=Legendary Creature @@ -136096,7 +136292,8 @@ toughness=4 [/card] [card] name=Zirilan of the Claw -auto={1}{r}{r}{t}:target(dragon|mylibrary) moveto(mybattlefield) && transforms((,unearth,haste)) forever +aicode=activate moveTo(myBattlefield) and!(transforms((,haste,unearth)) forever)! target(dragon|myLibrary) +auto={1}{r}{r}{t}:name(search card) reveal:plibrarycount optionone name(choose card) target(dragon|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(transforms((,haste,unearth)) forever)!)! afterrevealedend revealend text={1}{R}{R}, {T}: Search your library for a Dragon permanent card and put that card onto the battlefield. Then shuffle your library. That Dragon gains haste until end of turn. Exile it at the beginning of the next end step. mana={3}{R}{R} type=Legendary Creature @@ -136390,6 +136587,7 @@ type=Sorcery [/card] [card] name=Zoologist +aicode=activate transforms((,newability[if type(creature[zpos=1]|mylibrary)~morethan~0 then target(creature[zpos=1]|mylibrary) moveto(ownerbattlefield) else target(*[zpos=1]|mylibrary) moveto(ownergraveyard)])) ueot auto={3}{g}{t}:reveal:1 optionone target(creature|reveal) moveto(mybattlefield) optiononeend optiontwo name(Put in grave) target(<1>*|reveal) moveto(mygraveyard) optiontwoend revealend text={3}{G}, {T}: Reveal the top card of your library. If it's a creature card, put it onto the battlefield. Otherwise, put it into your graveyard. mana={3}{G} @@ -136468,7 +136666,8 @@ toughness=2 [card] name=Zur the Enchanter abilities=flying -auto=@combat(attacking) source(this):may moveTo(myBattlefield) target(enchantment[manacost<=3]|myLibrary) +aicode=activate moveTo(myBattlefield) target(enchantment[manacost<=3]|myLibrary) +auto=@combat(attacking) source(this):name(search card) reveal:plibrarycount optionone name(choose card) target(enchantment[manacost<=3]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveto(ownerbattlefield))! afterrevealedend revealend text=Flying -- Whenever Zur the Enchanter attacks, you may search your library for an enchantment card with converted mana cost 3 or less and put it onto the battlefield. If you do, shuffle your library. mana={1}{W}{U}{B} type=Legendary Creature diff --git a/projects/mtg/bin/Res/sets/primitives/unsupported.txt b/projects/mtg/bin/Res/sets/primitives/unsupported.txt index 883dc9f5a..0e5d71923 100644 --- a/projects/mtg/bin/Res/sets/primitives/unsupported.txt +++ b/projects/mtg/bin/Res/sets/primitives/unsupported.txt @@ -593,15 +593,6 @@ power=4 toughness=1 [/card] [card] -name=Ashen Ghoul -text=Haste -- {B}: Return Ashen Ghoul from your graveyard to the battlefield. Activate this ability only during your upkeep and only if three or more creature cards are above Ashen Ghoul. -mana={3}{B} -type=Creature -subtype=Zombie -power=3 -toughness=1 -[/card] -[card] name=Ashiok, Nightmare Weaver text=+2: Exile the top three cards of target opponent's library. -- -X: Put a creature card with converted mana cost X exiled with Ashiok, Nightmare Weaver onto the battlefield under your control. That creature is a Nightmare in addition to its other types. -- -10: Exile all cards from all opponents' hands and graveyards. mana={1}{U}{B} @@ -3485,12 +3476,6 @@ mana={4}{W} type=Sorcery [/card] [card] -name=Death Spark -text=Death Spark deals 1 damage to target creature or player. -- At the beginning of your upkeep, if Death Spark is in your graveyard with a creature card directly above it, you may pay {1}. If you do, return Death Spark to your hand. -mana={R} -type=Instant -[/card] -[card] name=Death Wish text=You may choose a card you own from outside the game and put it into your hand. You lose half your life, rounded up. Exile Death Wish. mana={1}{B}{B} @@ -8482,15 +8467,6 @@ power=3 toughness=2 [/card] [card] -name=Krovikan Horror -text=At the beginning of the end step, if Krovikan Horror is in your graveyard with a creature card directly above it, you may return Krovikan Horror to your hand. -- {1}, Sacrifice a creature: Krovikan Horror deals 1 damage to target creature or player. -mana={3}{B} -type=Creature -subtype=Horror Spirit -power=2 -toughness=2 -[/card] -[card] name=Krovikan Vampire text=At the beginning of each end step, if a creature dealt damage by Krovikan Vampire this turn died, put that card onto the battlefield under your control. Sacrifice it when you lose control of Krovikan Vampire. mana={3}{B}{B} @@ -10495,15 +10471,6 @@ power=6 toughness=6 [/card] [card] -name=Nether Shadow -text=Haste -- At the beginning of your upkeep, if Nether Shadow is in your graveyard with three or more creature cards above it, you may put Nether Shadow onto the battlefield. -mana={B}{B} -type=Creature -subtype=Spirit -power=1 -toughness=1 -[/card] -[card] name=Nettlevine Blight text=Enchant creature or land -- Enchanted permanent has "At the beginning of your end step, sacrifice this permanent and attach Nettlevine Blight to a creature or land you control." mana={4}{B}{B} diff --git a/projects/mtg/bin/Res/test/welkin_hawk.txt b/projects/mtg/bin/Res/test/welkin_hawk.txt index b4421a0f4..dc41e68db 100644 --- a/projects/mtg/bin/Res/test/welkin_hawk.txt +++ b/projects/mtg/bin/Res/test/welkin_hawk.txt @@ -9,7 +9,7 @@ hand:shock [DO] shock welkin hawk -choice 1 +choice 0 [ASSERT] FIRSTMAIN [PLAYER1] diff --git a/projects/mtg/bin/Res/test/windswept_heath.txt b/projects/mtg/bin/Res/test/windswept_heath.txt index fa7684f98..16e5c984a 100644 --- a/projects/mtg/bin/Res/test/windswept_heath.txt +++ b/projects/mtg/bin/Res/test/windswept_heath.txt @@ -11,7 +11,7 @@ library:Forest,Plains,Mountain,Swamp,Island [PLAYER2] [DO] Windswept Heath -choice 1 +choice 0 Plains [ASSERT] firstmain