From ff4911116c3f79df00654046cb1e03bd205fc761 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Wed, 22 Feb 2017 18:25:39 +0800 Subject: [PATCH] update some cards removed phasedout trigger add phasedoutbonus - ability --- projects/mtg/bin/Res/sets/primitives/mtg.txt | 810 +++++++++++------- .../bin/Res/sets/primitives/unsupported.txt | 24 - projects/mtg/include/AllAbilities.h | 22 - projects/mtg/include/CardPrimitive.h | 3 + projects/mtg/include/WEvent.h | 2 +- projects/mtg/src/AllAbilities.cpp | 2 +- projects/mtg/src/CardPrimitive.cpp | 12 + projects/mtg/src/GameObserver.cpp | 2 +- projects/mtg/src/MTGAbility.cpp | 4 - projects/mtg/src/MTGCardInstance.cpp | 1 + projects/mtg/src/MTGDeck.cpp | 10 +- projects/mtg/src/WEvent.cpp | 16 +- 12 files changed, 534 insertions(+), 374 deletions(-) diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index b8a239dbb..0f203ee0d 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -945,7 +945,8 @@ type=Instant [/card] [card] name=Advice from the Fae -auto=reveal:5 optionone if type(creature|mybattlefield)~morethan~type(creature|opponentbattlefield) then name(Pick 2) target(<2>*|reveal) moveto(myhand) else name(pick 1) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(Put On Bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate transforms((,newability[if type(creature|mybattlefield)~morethan~type(creature|opponentbattlefield) then name(Pick 2) target(<2>*[zpos<=5]|mylibrary) moveto(myhand) else name(pick 1) target(<1>*[zpos<=5]|mylibrary) moveto(myhand)])) ueot +auto=name(look) reveal:5 optionone if type(creature|mybattlefield)~morethan~type(creature|opponentbattlefield) then name(Pick 2) target(<2>*|reveal) moveto(myhand) else name(pick 1) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(Put On Bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend text=({(2/u)} can be paid with any two mana or with {U}. This card's converted mana cost is 6.) -- Look at the top five cards of your library. If you control more creatures than each other player, put two of those cards into your hand. Otherwise, put one of them into your hand. Then put the rest on the bottom of your library in any order. mana={2U}{2U}{2U} type=Sorcery @@ -1550,7 +1551,8 @@ toughness=7 [card] name=Aetherworks Marvel auto=@movedto(graveyard) from(*|myBattlefield):alterenergy:1 controller -autohand={t}{e:6}:reveal:6 optionone name(Cast Card) target(<1>*[-land]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(bottom of library) target(<1>*|reveal) transforms((,newability[all(*|reveal) bottomoflibrary])) oneshot optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!( activate castcard(normal) )! afterrevealedend revealend +aicode=activate castcard(normal) target(*[-land;zpos<=6]|mylibrary) +autohand={t}{e:6}:name(look) reveal:6 optionone name(Cast Card) target(<1>*[-land]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(bottom of library) target(<1>*|reveal) transforms((,newability[all(*|reveal) bottomoflibrary])) oneshot optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!( activate castcard(normal) )! afterrevealedend revealend text=Whenever a permanent you control is put into a graveyard, you get {E} (an energy counter). -- {T}, Pay {E}{E}{E}{E}{E}{E}: Look at the top six cards of your library. You may cast a card from among them without paying its mana cost. Put the rest on the bottom of your library in a random order. mana={4} type=Legendary Artifact @@ -1657,7 +1659,7 @@ toughness=4 name=Agent of Erebos auto=choice target(player) moveTo(exile) all(*|targetedpersonsgraveyard) auto=@movedto(enchantment|mybattlefield):choice target(player) moveTo(exile) all(*|targetedpersonsgraveyard) -text=Constellation — Whenever Agent of Erebos or another enchantment enters the battlefield under your control, exile all cards from target player's graveyard. +text=Constellation -- Whenever Agent of Erebos or another enchantment enters the battlefield under your control, exile all cards from target player's graveyard. mana={3}{B} type=Enchantment Creature subtype=Zombie @@ -1772,7 +1774,8 @@ type=Instant [card] name=Agonizing Memories target=player -auto=target(<2>*|targetedpersonshand) moveTo(targetedpersonslibrary) +aicode=activate target(<2>*|targetedpersonshand) moveTo(targetedpersonslibrary) +auto=name(look) reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(choose cards) target(<2>*|reveal) moveto(ownerlibrary) optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend text=Look at target player's hand and choose two cards from it. Put them on top of that player's library in any order. mana={2}{B}{B} type=Sorcery @@ -1916,7 +1919,7 @@ type=Sorcery name=Airdrop Aeronauts abilities=flying auto=if revolt then life:5 controller -text=Flying -- Revolt — When Airdrop Aeronauts enters the battlefield, if a permanent you controlled left the battlefield this turn, you gain 5 life. +text=Flying -- Revolt -- When Airdrop Aeronauts enters the battlefield, if a permanent you controlled left the battlefield this turn, you gain 5 life. mana={3}{W}{W} type=Creature subtype=Dwarf Scout @@ -2161,7 +2164,7 @@ toughness=5 [card] name=Akoum Firebird abilities=flying,haste,mustattack -text=Flying, haste -- Akoum Firebird attacks each turn if able. -- Landfall — Whenever a land enters the battlefield under your control, you may pay {4}{R}{R}. If you do, return Akoum Firebird from your graveyard to the battlefield. +text=Flying, haste -- Akoum Firebird attacks each turn if able. -- Landfall -- Whenever a land enters the battlefield under your control, you may pay {4}{R}{R}. If you do, return Akoum Firebird from your graveyard to the battlefield. autograveyard=@movedto(land|mybattlefield):Pay({4}{R}{R}) name(recover Firebird) moveto(mybattlefield) mana={2}{R}{R} type=Creature @@ -2172,7 +2175,7 @@ toughness=3 [card] name=Akoum Flameseeker auto={T(ally|myBattlefield)}{t}:may name(discard and draw) reject notatarget(*|myhand) and!(draw:1)! -text=Cohort — {T}, Tap an untapped Ally you control: Discard a card. If you do, draw a card. +text=Cohort -- {T}, Tap an untapped Ally you control: Discard a card. If you do, draw a card. mana={2}{R} type=Creature subtype=Human Shaman Ally @@ -2184,7 +2187,7 @@ name=Akoum Hellkite abilities=flying auto=@movedTo(land[-mountain]|myBattlefield):damage:1 target(creature,player) auto=@movedTo(land[mountain]|myBattlefield):damage:2 target(creature,player) -text=Flying -- Landfall — Whenever a land enters the battlefield under your control, Akoum Hellkite deals 1 damage to target creature or player. If that land is a Mountain, Akoum Hellkite deals 2 damage to that creature or player instead. +text=Flying -- Landfall -- Whenever a land enters the battlefield under your control, Akoum Hellkite deals 1 damage to target creature or player. If that land is a Mountain, Akoum Hellkite deals 2 damage to that creature or player instead. mana={4}{R}{R} type=Creature subtype=Dragon @@ -2203,7 +2206,7 @@ type=Land [card] name=Akoum Stonewaker auto=@movedTo(land|myBattlefield):pay({2}{R}) token(Elemental,Creature Elemental,3/1,trample,haste,unearth,red) controller -text=Landfall — Whenever a land enters the battlefield under your control, you may pay {2}{R}. If you do, put a 3/1 red Elemental creature token with trample and haste onto the battlefield. Exile that token at the beginning of the next end step. +text=Landfall -- Whenever a land enters the battlefield under your control, you may pay {2}{R}. If you do, put a 3/1 red Elemental creature token with trample and haste onto the battlefield. Exile that token at the beginning of the next end step. mana={1}{R} type=Creature subtype=Human Shaman @@ -2223,7 +2226,7 @@ toughness=1 [card] name=Akroan Conscriptor auto=@targeted(this) from(*[instant;sorcery;enchantment]|mycastingzone):name(gain control of target creature until end of turn) target(other creature|battlefield) moveTo(mybattlefield) and!( transforms((,newability[phaseaction[endofturn sourceinplay] moveTo(ownerbattlefield)],newability[untap],haste)) ueot )! -text=Heroic — Whenever you cast a spell that targets Akroan Conscriptor, gain control of another target creature until end of turn. Untap that creature. It gains haste until end of turn. +text=Heroic -- Whenever you cast a spell that targets Akroan Conscriptor, gain control of another target creature until end of turn. Untap that creature. It gains haste until end of turn. mana={4}{R} type=Creature subtype=Human Shaman @@ -2233,7 +2236,7 @@ toughness=2 [card] name=Akroan Crusader auto=@targeted(this) from(*[instant;sorcery;enchantment]|mycastingzone):token(Soldier,Creature Soldier,1/1,red,haste) controller -text=Heroic — Whenever you cast a spell that targets Akroan Crusader, put a 1/1 red Soldier creature token with haste onto the battlefield. +text=Heroic -- Whenever you cast a spell that targets Akroan Crusader, put a 1/1 red Soldier creature token with haste onto the battlefield. mana={R} type=Creature subtype=Human Soldier @@ -2276,7 +2279,7 @@ toughness=1 name=Akroan Line Breaker auto=@targeted(this) from(*[instant;sorcery;enchantment]|mycastingzone):2/0 ueot auto=@targeted(this) from(*[instant;sorcery;enchantment]|mycastingzone):intimidate ueot -text=Heroic — Whenever you cast a spell that targets Akroan Line Breaker, Akroan Line Breaker gets +2/+0 and gains intimidate until end of turn. +text=Heroic -- Whenever you cast a spell that targets Akroan Line Breaker, Akroan Line Breaker gets +2/+0 and gains intimidate until end of turn. mana={2}{R} type=Creature subtype=Human Warrior @@ -2782,7 +2785,7 @@ name=Alley Evasion target=creature|mybattlefield auto=choice 1/2 ueot auto=choice moveto(ownerhand) -text=Choose one — --Target creature you control gets +1/+2 until end of turn. --Return target creature you control to its owner's hand. +text=Choose one -- --Target creature you control gets +1/+2 until end of turn. --Return target creature you control to its owner's hand. mana={W} type=Instant [/card] @@ -3443,7 +3446,8 @@ toughness=5 name=Ancestral Knowledge auto=cumulativeupcost[{U}] sacrifice auto=@movedto(this|nonbattlezone):shuffle controller -auto=reveal:10 optionone name(Choose cards to exile) target(*|reveal) moveto(myexile) optiononeend optiontwo name(put on top) target(<10>*|reveal) moveto(mylibrary) optiontwoend revealend +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=10]|mylibrary) moverandom(*[zpos<=10]) from(mylibrary) to(mylibrary)])) ueot +auto=name(look) reveal:10 optionone name(Choose cards to exile) target(*|reveal) moveto(myexile) optiononeend optiontwo name(put on top) target(<10>*|reveal) moveto(mylibrary) optiontwoend revealend text=Cumulative upkeep {1} (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.) -- When Ancestral Knowledge enters the battlefield, look at the top ten cards of your library, then exile any number of them and put the rest back on top of your library in any order. -- When Ancestral Knowledge leaves the battlefield, shuffle your library. mana={1}{U} type=Enchantment @@ -3459,6 +3463,7 @@ subtype=Aura [/card] [card] name=Ancestral Memories +aicode=name(look) activate name(look) transforms((,newability[target(<2>*[zpos<=7]|mylibrary) moveto(myhand)],newability[deplete:5])) ueot auto=name(Look) reveal:7 optionone name(Get 2 cards) target(<2>*|reveal) moveto(myhand) optiononeend optiontwo name(put in graveyard) target(<7>*|reveal) moveto(mygraveyard) optiontwoend revealend text=Look at the top seven cards of your library. Put two of them into your hand and the rest into your graveyard. mana={2}{U}{U}{U} @@ -3658,7 +3663,8 @@ type=Land name=Ancient Stirrings mana={G} type=Sorcery -auto=reveal:5 optionone name(Get Colorless Card) target(<1>*[colorless]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate target(*[colorless;zpos<=5]|mylibrary) moveto(myhand) +auto=name(look) reveal:5 optionone name(Get Colorless Card) target(<1>*[colorless]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend text=Look at the top five cards of your library. You may reveal a colorless card from among them and put it into your hand. Then put the rest on the bottom of your library in any order. (Cards with no colored mana in their mana costs are colorless. Lands are also colorless.) [/card] [card] @@ -4233,7 +4239,7 @@ subtype=Aura name=Animist's Awakening auto=if type(*[instant;sorcery]|mygraveyard)~lessthan~2 then reveal:x optionone all(land|reveal) moveto(mybattlefield) and!(tap(noevent))! optiononeend optiontwo name(bottom of library) target(<1>*|reveal) transforms((,newability[all(*|reveal) bottomoflibrary])) oneshot optiontwoend revealend auto=if type(*[instant;sorcery]|mygraveyard)~morethan~1 then reveal:x optionone all(land|reveal) moveto(mybattlefield) optiononeend optiontwo name(bottom of library) target(<1>*|reveal) transforms((,newability[all(*|reveal) bottomoflibrary])) oneshot optiontwoend revealend -text=Reveal the top X cards of your library. Put all land cards from among them onto the battlefield tapped and the rest on the bottom of your library in a random order. -- Spell mastery — If there are two or more instant and/or sorcery cards in your graveyard, untap those lands. +text=Reveal the top X cards of your library. Put all land cards from among them onto the battlefield tapped and the rest on the bottom of your library in a random order. -- Spell mastery -- If there are two or more instant and/or sorcery cards in your graveyard, untap those lands. mana={X}{G} type=Sorcery [/card] @@ -4371,7 +4377,8 @@ toughness=0 [/card] [card] name=Anticipate -auto=reveal:3 optionone name(Get a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<3>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate target(*[zpos<=3]|mylibrary) moveto(myhand) +auto=name(look) reveal:3 optionone name(Get a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<3>*|reveal) bottomoflibrary optiontwoend revealend text=Look at the top three cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order. mana={1}{U} type=Instant @@ -4699,6 +4706,7 @@ toughness=0 [card] name=Aqueous Form target=creature +aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary) auto=@combat(attacking) source(mytgt):name(Scry) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend auto=teach(creature) unblockable text=Enchant creature -- Enchanted creature can't be blocked. -- Whenever enchanted creature attacks, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) @@ -4840,7 +4848,7 @@ name=Arbiter of the Ideal abilities=flying auto=lord(*[counter{0%0.1.manifestation}]|mybattlefield) transforms((enchantment)) forever auto=@untapped(this):reveal:1 optionone target(artifact,creature,land|reveal) moveto(mybattlefield) and!(counter(0/0,1,manifestation))! optiononeend optiontwo name(Put on Top) target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend -text=Flying -- Inspired — Whenever Arbiter of the Ideal becomes untapped, reveal the top card of your library. If it's an artifact, creature, or land card, you may put it onto the battlefield with a manifestation counter on it. That permanent is an enchantment in addition to its other types. +text=Flying -- Inspired -- Whenever Arbiter of the Ideal becomes untapped, reveal the top card of your library. If it's an artifact, creature, or land card, you may put it onto the battlefield with a manifestation counter on it. That permanent is an enchantment in addition to its other types. mana={4}{U}{U} type=Creature subtype=Sphinx @@ -5355,6 +5363,7 @@ toughness=3 [card] name=Architects of Will autohand=__CYCLING__({ub}) +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=3]|targetedpersonslibrary) moverandom(*[zpos<=3]) from(targetedpersonslibrary) to(targetedpersonslibrary)])) ueot auto=target(player) reveal:3 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<3>*|reveal) moveto(ownerlibrary) optiontwoend revealend text=When Architects of Will enters the battlefield, look at the top three cards of target player's library, then put them back in any order. -- Cycling {(u/b)} ({(u/b)}, Discard this card: Draw a card.) mana={2}{U}{B} @@ -6758,7 +6767,7 @@ toughness=3 [card] name=Atarka Beastbreaker auto={4}{G}:4/4 restriction{compare(powertotalinplay)~morethan~7} -text=Formidable — {4}{G}: Atarka Beastbreaker gets +4/+4 until end of turn. Activate this ability only if creatures you control have total power 8 or greater. +text=Formidable -- {4}{G}: Atarka Beastbreaker gets +4/+4 until end of turn. Activate this ability only if creatures you control have total power 8 or greater. mana={1}{G} type=Creature subtype=Human Warrior @@ -6790,7 +6799,7 @@ type=Artifact [card] name=Atarka Pummeler auto={3}{r}{r}:lord(creature|mybattlefield) menace ueot restriction{compare(powertotalinplay)~morethan~7} -text=Formidable — {3}{R}{R}: Creatures you control gain menace until end of turn. Activate this ability only if creatures you control have total power 8 or greater. (They can't be blocked except by two or more creatures.) +text=Formidable -- {3}{R}{R}: Creatures you control gain menace until end of turn. Activate this ability only if creatures you control have total power 8 or greater. (They can't be blocked except by two or more creatures.) mana={4}{R} type=Creature subtype=Ogre Warrior @@ -6913,7 +6922,8 @@ toughness=3 [/card] [card] name=Augur of Bolas -auto=reveal:3 optionone name(Get instant or sorcery) target(instant,sorcery|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate target(instant,sorcery[zpos<=3]|mylibrary) moveto(myhand) +auto=name(look) reveal:3 optionone name(Get instant or sorcery) target(instant,sorcery|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend text=When Augur of Bolas enters the battlefield, look at the top three cards of your library. You may reveal an instant or sorcery card from among them and put it into your hand. Put the rest on the bottom of your library in any order. mana={1}{U} type=Creature @@ -7626,8 +7636,9 @@ toughness=2 [card] name=Aven Fateshaper abilities=flying -auto=name(Look at My top cards) reveal:4 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<4>*|reveal) moveto(mylibrary) optiontwoend revealend -auto={4}{u}:name(Look at My top cards) reveal:4 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<4>*|reveal) moveto(mylibrary) optiontwoend revealend +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=4]|mylibrary) moverandom(*[zpos<=4]) from(mylibrary) to(mylibrary)])) ueot +auto=name(Look) reveal:4 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<4>*|reveal) moveto(mylibrary) optiontwoend revealend +auto={4}{u}:name(Look) reveal:4 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<4>*|reveal) moveto(mylibrary) optiontwoend revealend text=Flying -- When Aven Fateshaper enters the battlefield, look at the top four cards of your library, then put them back in any order. -- {4}{U}: Look at the top four cards of your library, then put them back in any order. mana={6}{U} type=Creature @@ -8152,7 +8163,7 @@ name=Azorius Charm auto=choice lord(creature|myBattlefield) lifelink ueot auto=choice draw:1 controller auto=aslongas(creature[attacking;blocking]|battlefield) choice moveTo(ownerlibrary) target(creature[attacking;blocking]|battlefield) -text=Choose one — Creatures you control gain lifelink until end of turn; or draw a card; or put target attacking or blocking creature on top of its owner's library. +text=Choose one -- Creatures you control gain lifelink until end of turn; or draw a card; or put target attacking or blocking creature on top of its owner's library. mana={W}{U} type=Instant [/card] @@ -8310,7 +8321,7 @@ name=Backwoods Survivalists abilities=trample auto=while(restriction{delirium}) 1/1 auto=while(restriction{delirium}) trample -text=Delirium — Backwoods Survivalists gets +1/+1 and has trample as long as there are four or more card types among cards in your graveyard. +text=Delirium -- Backwoods Survivalists gets +1/+1 and has trample as long as there are four or more card types among cards in your graveyard. mana={3}{G} type=Creature subtype=Human Warrior @@ -9896,8 +9907,9 @@ toughness=2 [/card] [card] name=Battlewise Hoplite +aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary) auto=@targeted(this) from(*[instant;sorcery;enchantment]|mycastingzone):counter(1/1,1) && name(Scry) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend -text=Heroic — Whenever you cast a spell that targets Battlewise Hoplite, put a +1/+1 counter on Battlewise Hoplite, then scry 1. (To scry 1, look at the top card of your library, then you may put that card on the bottom of your library.) +text=Heroic -- Whenever you cast a spell that targets Battlewise Hoplite, put a +1/+1 counter on Battlewise Hoplite, then scry 1. (To scry 1, look at the top card of your library, then you may put that card on the bottom of your library.) mana={W}{U} type=Creature subtype=Human Soldier @@ -10332,7 +10344,7 @@ toughness=2 [card] name=Belligerent Whiptail auto=@movedTo(land|myBattlefield):first strike ueot -text=Landfall — Whenever a land enters the battlefield under your control, Belligerent Whiptail gains first strike until end of turn. +text=Landfall -- Whenever a land enters the battlefield under your control, Belligerent Whiptail gains first strike until end of turn. mana={3}{R} type=Creature subtype=Wurm @@ -10354,7 +10366,7 @@ toughness=3 [card] name=Bellowing Saddlebrute auto=ifnot raid then life:-4 controller -text=Raid — When Bellowing Saddlebrute enters the battlefield, you lose 4 life unless you attacked with a creature this turn. +text=Raid -- When Bellowing Saddlebrute enters the battlefield, you lose 4 life unless you attacked with a creature this turn. mana={3}{B} type=Creature subtype=Orc Warrior @@ -10928,7 +10940,8 @@ subtype=Aura [/card] [card] name=Bitter Revelation -auto=reveal:4 optionone name(Get 2 card) target(<2>*|reveal) moveto(myhand) optiononeend optiontwo name(put in graveyard) target(<4>*|reveal) moveto(graveyard) optiontwoend afterrevealed choice life:-2 afterrevealedend revealend +aicode=activate transforms((,newability[moveto(myhand) all(*[zpos<=2]|mylibrary) && deplete:2 && life:-2)])) ueot +auto=name(look) reveal:4 optionone name(Get 2 card) target(<2>*|reveal) moveto(myhand) optiononeend optiontwo name(put in graveyard) target(<4>*|reveal) moveto(graveyard) optiontwoend afterrevealed choice life:-2 afterrevealedend revealend text=Look at the top four cards of your library. Put two of them into your hand and the rest into your graveyard. You lose 2 life. mana={3}{B} type=Sorcery @@ -12332,7 +12345,7 @@ toughness=2 name=Bloodcrazed Hoplite auto=@targeted(this) from(*[instant;sorcery;enchantment]|mycastingzone):counter(1/1,1) auto=@counteradded(1/1) from(this):counter(1/1,-1) target(creature|opponentbattlefield) -text=Heroic — Whenever you cast a spell that targets Bloodcrazed Hoplite, put a +1/+1 counter on it. -- Whenever a +1/+1 counter is placed on Bloodcrazed Hoplite, remove a +1/+1 counter from target creature an opponent controls. +text=Heroic -- Whenever you cast a spell that targets Bloodcrazed Hoplite, put a +1/+1 counter on it. -- Whenever a +1/+1 counter is placed on Bloodcrazed Hoplite, remove a +1/+1 counter from target creature an opponent controls. mana={1}{B} type=Creature subtype=Human Soldier @@ -12719,7 +12732,7 @@ toughness=3 name=Bloodsoaked Champion abilities=cantblock autograveyard={1}{B}:moveTo(mybattlefield) restriction{raid} -text=Bloodsoaked Champion can't block. -- Raid — {1}{B}: Return Bloodsoaked Champion from your graveyard to the battlefield. Activate this ability only if you attacked with a creature this turn. +text=Bloodsoaked Champion can't block. -- Raid -- {1}{B}: Return Bloodsoaked Champion from your graveyard to the battlefield. Activate this ability only if you attacked with a creature this turn. mana={B} type=Creature subtype=Human Warrior @@ -13473,7 +13486,7 @@ toughness=1 [card] name=Bomber Corps auto=@combat(attacking) source(this) restriction{type(other creature[attacking]|myBattlefield)~morethan~1}:damage:1 target(creature,player) -text=Battalion — Whenever Bomber Corps and at least two other creatures attack, Bomber Corps deals 1 damage to target creature or player. +text=Battalion -- Whenever Bomber Corps and at least two other creatures attack, Bomber Corps deals 1 damage to target creature or player. mana={1}{R} type=Creature subtype=Human Soldier @@ -13872,7 +13885,7 @@ name=Boros Charm auto=choice damage:4 target(player) auto=choice all(*|mybattlefield) indestructible ueot auto=aslongas(creature|battlefield) choice target(creature) double strike ueot -text=Choose one — Boros Charm deals 4 damage to target player; or permanents you control are indestructible this turn; or target creature gains double strike until end of turn. +text=Choose one -- Boros Charm deals 4 damage to target player; or permanents you control are indestructible this turn; or target creature gains double strike until end of turn. mana={R}{W} type=Instant [/card] @@ -13888,7 +13901,7 @@ type=Artifact [card] name=Boros Elite auto=@combat(attacking) source(this) restriction{type(other creature[attacking]|myBattlefield)~morethan~1}:2/2 ueot -text=Battalion — Whenever Boros Elite and at least two other creatures attack, Boros Elite gets +2/+2 until end of turn. +text=Battalion -- Whenever Boros Elite and at least two other creatures attack, Boros Elite gets +2/+2 until end of turn. mana={W} type=Creature subtype=Human Soldier @@ -13944,7 +13957,7 @@ type=Artifact [card] name=Boros Mastiff auto=@combat(attacking) source(this) restriction{type(other creature[attacking]|myBattlefield)~morethan~1}:lifelink ueot -text=Battalion — Whenever Boros Mastiff and at least two other cretaures attack, Boros Mastiff gets lifelink until end of turn. +text=Battalion -- Whenever Boros Mastiff and at least two other cretaures attack, Boros Mastiff gets lifelink until end of turn. mana={1}{W} type=Creature subtype=Hound @@ -14197,7 +14210,7 @@ auto={1}{G}{T}:name(+1/+1 counter) counter(1/1,1) target(creature) auto={1}{G}{T}:name(2 damage to flyer) damage:2 target(creature[flying]) auto={1}{G}{T}:name(gain 3 life) life:3 controller auto={1}{G}{T}:name(put up to 4 on bottom) bottomoflibrary target(*|mygraveyard) -text=Attacking creatures you control have deathtouch. -- {1}{G},{T}: Choose one — Put a +1/+1 counter on target creature; or Bow of Nylea deals 2 damage to target creature with flying; or you gain 3 life; or put up to four target cards from your graveyard on the bottom of your library in any order. +text=Attacking creatures you control have deathtouch. -- {1}{G},{T}: Choose one -- Put a +1/+1 counter on target creature; or Bow of Nylea deals 2 damage to target creature with flying; or you gain 3 life; or put up to four target cards from your graveyard on the bottom of your library in any order. mana={1}{G}{G} type=Legendary Enchantment Artifact [/card] @@ -14794,7 +14807,7 @@ auto=create(Thopter:Artifact Creature Thopter:1/1:blue:flying)*2 auto={2}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}:damage:3 target(player) auto={2}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}:-4/-4 target(creature) auto={2}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}:life:5 controller -text=When Breya, Etherium Shaper enters the battlefield, create two 1/1 blue Thopter artifact creature tokens with flying. -- {2}, Sacrifice two artifacts: Choose one — --Breya deals 3 damage to target player. --Target creature gets -4/-4 until end of turn. --You gain 5 life. +text=When Breya, Etherium Shaper enters the battlefield, create two 1/1 blue Thopter artifact creature tokens with flying. -- {2}, Sacrifice two artifacts: Choose one -- --Breya deals 3 damage to target player. --Target creature gets -4/-4 until end of turn. --You gain 5 life. mana={W}{U}{B}{R} type=Legendary Artifact Creature subtype=Human @@ -14937,7 +14950,7 @@ type=Sorcery name=Brilliant Spectrum auto=draw:converge auto=reject notatarget(<2>*|myhand) -text=Converge — Draw X cards, where X is the number of colors of mana spent to cast Brilliant Spectrum. Then discard two cards. +text=Converge -- Draw X cards, where X is the number of colors of mana spent to cast Brilliant Spectrum. Then discard two cards. mana={3}{U} type=Sorcery [/card] @@ -15030,7 +15043,7 @@ type=Instant [card] name=Bring to Light auto=notatarget(*[creature;instant;sorcery;manacost<=converge]|mylibrary) moveto(exile) and!( transforms((,newability[may name(cast for free) activate name(cast for free) castcard(normal)])) oneshot)! -text=Converge — Search your library for a creature, instant, or sorcery card with converted mana cost less than or equal to the number of colors of mana spent to cast Bring to Light, exile that card, then shuffle your library. You may cast that card without paying its mana cost. +text=Converge -- Search your library for a creature, instant, or sorcery card with converted mana cost less than or equal to the number of colors of mana spent to cast Bring to Light, exile that card, then shuffle your library. You may cast that card without paying its mana cost. mana={3}{G}{U} type=Sorcery [/card] @@ -15355,7 +15368,8 @@ toughness=1 [/card] [card] name=Browse -auto={2}{u}{u}:reveal:5 optionone name(pick a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(Put in exile) target(<5>*|reveal) moveto(myexile) optiontwoend revealend +aicode=activate transforms((,newability[moveto(myhand) all(*[zpos=1]|mylibrary) && ingest:4])) ueot +auto={2}{u}{u}:name(look) reveal:5 optionone name(pick a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(Put in exile) target(<5>*|reveal) moveto(myexile) optiontwoend revealend text={2}{U}{U}: Look at the top five cards of your library, put one of them into your hand, and exile the rest. mana={2}{U}{U} type=Enchantment @@ -15444,7 +15458,7 @@ toughness=2 name=Brutalizer Exarch auto=choice name(put on top) moveTo(exile) and!(transforms((,newability[moveto(ownerlibrary)])) oneshot)! notatarget(creature|mylibrary) auto=choice name(put on bottom) bottomoflibrary target(*[-creature]) -text=When Brutalizer Exarch enters the battlefield, choose one — Search your library for a creature card, reveal it, then shuffle your library and put that card on top of it; or put target noncreature permanent on the bottom of its owner's library. +text=When Brutalizer Exarch enters the battlefield, choose one -- Search your library for a creature card, reveal it, then shuffle your library and put that card on top of it; or put target noncreature permanent on the bottom of its owner's library. mana={5}{G} type=Creature subtype=Cleric @@ -16340,7 +16354,7 @@ subtype=Arcane name=Call for Unity auto=@each my end restriction{revolt}:counter(0/0,1,Unity) auto=thisforeach(counter{0/0.1.Unity}>0) lord(creature|mybattlefield) 1/1 -text=Revolt — At the beginning of your end step, if a permanent you controlled left the battlefield this turn, put a unity counter on Call for Unity. -- Creatures you control get +1/+1 for each unity counter on Call for Unity. +text=Revolt -- At the beginning of your end step, if a permanent you controlled left the battlefield this turn, put a unity counter on Call for Unity. -- Creatures you control get +1/+1 for each unity counter on Call for Unity. mana={3}{W}{W} type=Enchantment [/card] @@ -17354,6 +17368,7 @@ toughness=4 name=Catacomb Sifter abilities=devoid auto=choice token(Eldrazi Scion,Creature Eldrazi Scion,1/1) and!( transforms((,newability[{S}:Add{C}])) forever )! controller +aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary) auto=@movedTo(other creature|graveyard) from(myBattlefield):name(Scry) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend text=Devoid (This card has no color.) -- When Catacomb Sifter enters the battlefield, put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {C} to your mana pool." -- Whenever another creature you control dies, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={1}{B}{G} @@ -19118,7 +19133,7 @@ toughness=3 name=Chasm Guide auto=choice lord(creature|mybattlefield) haste ueot auto=@movedTo(other ally|myBattlefield):lord(creature|mybattlefield) haste ueot -text=Rally — Whenever Chasm Guide or another Ally enters the battlefield under your control, creatures you control gain haste until end of turn. +text=Rally -- Whenever Chasm Guide or another Ally enters the battlefield under your control, creatures you control gain haste until end of turn. mana={3}{R} type=Creature subtype=Goblin Scout Ally @@ -19543,8 +19558,9 @@ type=Instant [card] name=Chorus of the Tides abilities=flying +aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary) auto=@targeted(this) from(*[instant;sorcery;enchantment]|mycastingzone):counter(1/1,1) && name(Scry) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend -text=Flying -- Heroic — Whenever you cast a spell that targets Chorus of the Tides, scry 1. (To scry 1, look at the top card of your library, then you may put that card on the bottom of your library.) +text=Flying -- Heroic -- Whenever you cast a spell that targets Chorus of the Tides, scry 1. (To scry 1, look at the top card of your library, then you may put that card on the bottom of your library.) mana={3}{U} type=Creature subtype=Siren @@ -19907,7 +19923,7 @@ toughness=2 name=Circle of Elders abilities=vigilance auto={T}:Add{3} restriction{compare(powertotalinplay)~morethan~7} -text=Vigilance -- Formidable — {T}: Add {3} to your mana pool. Activate this ability only if creatures you control have total power 8 or greater. +text=Vigilance -- Formidable -- {T}: Add {3} to your mana pool. Activate this ability only if creatures you control have total power 8 or greater. mana={2}{G}{G} type=Creature subtype=Human Shaman @@ -20003,7 +20019,7 @@ type=Enchantment name=Citadel Siege auto=choice name(Khans) transforms((,newability[counter(0/0.1.Khans)],newability[@each my combatbegins:counter(1/1.2) target(creature|mybattlefield)])) forever auto=choice name(Dragons) transforms((,newability[counter(0/0.1.Dragons)],newability[@each opponent combatbegins:tap target(creature|opponentbattlefield)])) forever -text=As Citadel Siege enters the battlefield, choose Khans or Dragons. -- — Khans — At the beginning of combat on your turn, put two +1/+1 counters on target creature you control. -- — Dragons — At the beginning of combat on each opponent's turn, tap target creature that player controls. +text=As Citadel Siege enters the battlefield, choose Khans or Dragons. -- -- Khans -- At the beginning of combat on your turn, put two +1/+1 counters on target creature you control. -- -- Dragons -- At the beginning of combat on each opponent's turn, tap target creature that player controls. mana={2}{W}{W} type=Enchantment [/card] @@ -20155,7 +20171,8 @@ subtype=Aura [card] name=Clairvoyance target=player -auto=target(*|targetedpersonshand) donothing ueot +aicode=name(look) activate name(look) target(*|targetedpersonshand) donothing +auto=name(look) reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(look) target(<1>*|reveal) moveto(ownerhand) and!(all(*|reveal) moveto(ownerhand))! optiononeend revealend auto=@next upkeep:draw:1 controller text=Look at target player's hand. -- Draw a card at the beginning of the next turn's upkeep. mana={U} @@ -21340,7 +21357,8 @@ type=Instant [/card] [card] name=Collected Company -auto=name(Look) reveal:6 optionone name(Get 2 cards) target(<2>creature[manacost<=3]|reveal) moveto(mybattlefield) optiononeend optiontwo name(put on bottom) target(<7>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate target(creature[manacost<=3;zpos<=6]|mylibrary) moveto(mybattlefield) +auto=name(Look) reveal:6 optionone name(Get 2 cards) target(creature[manacost<=3]|reveal) moveto(mybattlefield) optiononeend optiontwo name(put on bottom) target(<6>*|reveal) bottomoflibrary optiontwoend revealend text=Look at the top six cards of your library. Put up to two creature cards with converted mana cost 3 or less from among them onto the battlefield. Put the rest on the bottom of your library in any order. mana={3}{G} type=Instant @@ -21359,7 +21377,7 @@ auto=aslongas(island|mybattlefield) lord(creature|opponentbattlefield) transform auto=aslongas(mountain|mybattlefield) lord(creature|opponentbattlefield) transforms((,newability[attackcost:1])) auto=aslongas(swamp|mybattlefield) lord(creature|opponentbattlefield) transforms((,newability[attackcost:1])) auto=aslongas(plains|mybattlefield) lord(creature|opponentbattlefield) transforms((,newability[attackcost:1])) -text=Domain — Creatures can't attack you unless their controller pays {X} for each creature he or she controls that's attacking you, where X is the number of basic land types among lands you control. +text=Domain -- Creatures can't attack you unless their controller pays {X} for each creature he or she controls that's attacking you, where X is the number of basic land types among lands you control. mana={3}{U} type=Enchantment [/card] @@ -21534,7 +21552,8 @@ type=Instant [/card] [card] name=Commune with Nature -auto=reveal:5 optionone name(Get Creature) target(creature|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate target(creature[zpos<=5]|mylibrary) moveto(myhand) +auto=name(look) reveal:5 optionone name(Get Creature) target(creature|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend text=Look at the top five cards of your library. You may reveal a creature card from among them and put it into your hand. Put the rest on the bottom of your library in any order. mana={G} type=Sorcery @@ -22085,7 +22104,7 @@ subtype=Aura name=Consuming Sinkhole auto=choice target(creature[land]) moveto(exile) auto=choice damage:4 target(player) -text=Devoid (This card has no color.) -- Choose one — -- — Exile target land creature. -- — Consuming Sinkhole deals 4 damage to target player. +text=Devoid (This card has no color.) -- Choose one -- -- -- Exile target land creature. -- -- Consuming Sinkhole deals 4 damage to target player. mana={3}{R} abilities=devoid type=Instant @@ -22210,7 +22229,8 @@ type=Land [/card] [card] name=Contingency Plan -auto=reveal:5 optionone name(Discard cards) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo name(put on top) target(<5>*|reveal) moveto(mylibrary) optiontwoend revealend +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=5]|mylibrary) moverandom(*[zpos<=5]) from(mylibrary) to(mylibrary)])) ueot +auto=name(look) reveal:5 optionone name(Discard cards) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo name(put on top) target(<5>*|reveal) moveto(mylibrary) optiontwoend revealend text=Look at the top five cards of your library. Put any number of them into your graveyard and the rest back on top of your library in any order. mana={1}{U} type=Sorcery @@ -22485,7 +22505,8 @@ toughness=1 [/card] [card] name=Coral Fighters -auto=@combat(notblocked) source(this):all(opponent) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(ownerlibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate may bottomoflibrary all(*[zpos=1]|opponentlibrary) +auto=@combat(notblocked) source(this):name(look) reveal:1 revealzone(opponentlibrary) optionone name(Put On Top) target(*|reveal) moveto(ownerlibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend text=Whenever Coral Fighters attacks and isn't blocked, look at the top card of defending player's library. You may put that card on the bottom of that player's library. mana={1}{U} type=Creature @@ -22918,7 +22939,7 @@ type=Instant [card] name=Countless Gears Renegade auto=if revolt then create(Servo:Artifact Creature Servo:1/1) -text=Revolt — When Countless Gears Renegade enters the battlefield, if a permanent you controlled left the battlefield this turn, create a 1/1 colorless Servo artifact creature token. +text=Revolt -- When Countless Gears Renegade enters the battlefield, if a permanent you controlled left the battlefield this turn, create a 1/1 colorless Servo artifact creature token. mana={1}{W} type=Creature subtype=Dwarf Artificer @@ -22938,7 +22959,8 @@ toughness=3 [/card] [card] name=Courageous Outrider -auto=reveal:4 optionone name(Get a Human card) target(<1>*[human]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate target(human[zpos<=4]|mylibrary) moveto(myhand) +auto=name(look) reveal:4 optionone name(Get a Human card) target(<1>*[human]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend text=When Courageous Outrider enters the battlefield, look at the top four cards of your library. You may reveal a Human card from among them and put it into your hand. Put the rest on the bottom of your library in any order. mana={3}{W} type=Creature @@ -23003,7 +23025,8 @@ toughness=1 [/card] [card] name=Court Hussar -auto=reveal:3 optionone name(Get a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<3>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate transforms((,newability[moveto(myhand) all(*[zpos=1]|mylibrary) && bottomoflibrary all(*[zpos<=2]|mylibrary)])) ueot +auto=name(look) reveal:3 optionone name(Get a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<3>*|reveal) bottomoflibrary optiontwoend revealend abilities=vigilance text=Vigilance -- When Court Hussar enters the battlefield, look at the top three cards of your library, then put one of them into your hand and the rest on the bottom of your library in any order. -- When Court Hussar enters the battlefield, sacrifice it unless {W} was spent to cast it. auto=ifnot spent({w}) then sacrifice all(this) @@ -23284,7 +23307,7 @@ toughness=4 name=Crater Elemental auto={R}{T}{S}:damage:4 target(creature) auto={2}{R}:name(formidable) transforms((,setpower=8)) restriction{compare(powertotalinplay)~morethan~7} ueot -text={R}, {T}, Sacrifice Crater Elemental: Crater Elemental deals 4 damage to target creature. -- Formidable — {2}{R}: Crater Elemental has base power 8 until end of turn. Activate this ability only if creatures you control have total power 8 or greater. +text={R}, {T}, Sacrifice Crater Elemental: Crater Elemental deals 4 damage to target creature. -- Formidable -- {2}{R}: Crater Elemental has base power 8 until end of turn. Activate this ability only if creatures you control have total power 8 or greater. mana={2}{R} type=Creature subtype=Elemental @@ -23328,7 +23351,7 @@ name=Crater's Claws target=creature,player auto=if type(creature[power=>4]|mybattlefield) then damage:2 auto=damage:X -text=Crater's Claws deals X damage to target creature or player. -- Ferocious — Crater's Claws deals X plus 2 damage to that creature or player instead if you control a creature with power 4 or greater. +text=Crater's Claws deals X damage to target creature or player. -- Ferocious -- Crater's Claws deals X plus 2 damage to that creature or player instead if you control a creature with power 4 or greater. mana={R}{X} type=Sorcery [/card] @@ -23731,7 +23754,7 @@ type=Instant name=Crop Sigil auto=@each my upkeep:may deplete:1 auto=while(restriction{delirium}) {2}{g}{s}:target(creature|mygraveyard) transforms((,newability[moveto(myhand)],newability[target(land|mygraveyard) moveto(myhand)])) forever -text=At the beginning of your upkeep, you may put the top card of your library into your graveyard. -- Delirium — {2}{G}, Sacrifice Crop Sigil: Return up to one target creature card and up to one target land card from your graveyard to your hand. Activate this ability only if there are four or more card types among cards in your graveyard. +text=At the beginning of your upkeep, you may put the top card of your library into your graveyard. -- Delirium -- {2}{G}, Sacrifice Crop Sigil: Return up to one target creature card and up to one target land card from your graveyard to your hand. Activate this ability only if there are four or more card types among cards in your graveyard. mana={G} type=Enchantment [/card] @@ -24036,7 +24059,8 @@ type=Sorcery [card] name=Cruel Fate target=opponent -auto=reveal:5 optionone name(Put in graveyard) target(<1>*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put on top) target(<5>*|reveal) moveto(ownerlibrary) optiontwoend revealend +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=4]|targetedpersonslibrary) moverandom(*[zpos<=4]) from(targetedpersonslibrary) to(targetedpersonslibrary)],newability[deplete:1 targetedplayer])) ueot +auto=name(look) reveal:5 revealzone(targetedpersonslibrary) optionone name(Put in graveyard) target(<1>*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put on top) target(<5>*|reveal) moveto(ownerlibrary) optiontwoend revealend text=Look at the top five cards of target opponent's library. Put one of those cards into that player's graveyard, and the rest on top of his or her library in any order. mana={4}{U} type=Sorcery @@ -24494,7 +24518,8 @@ type=Artifact [/card] [card] name=Crystal Seer -auto=name(Look at My top cards) reveal:4 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<4>*|reveal) moveto(mylibrary) optiontwoend revealend +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=4]|mylibrary) moverandom(*[zpos<=4]) from(mylibrary) to(mylibrary)])) ueot +auto=name(Look) reveal:4 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<4>*|reveal) moveto(mylibrary) optiontwoend revealend auto={4}{u}:name(return to hand) moveto(myhand) all(this) text=When Crystal Seer enters the battlefield, look at the top four cards of your library, then put them back in any order. -- {4}{U}: Return Crystal Seer to its owner's hand. mana={4}{U} @@ -24526,7 +24551,7 @@ auto={C(1/1,-1)}:Add{U} auto={C(1/1,-1)}:Add{B} auto={C(1/1,-1)}:Add{W} auto={T}:counter(1/1,1) -text=Converge — Crystalline Crawler enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it. -- Remove a +1/+1 counter from Crystalline Crawler: Add one mana of any color to your mana pool. -- {T}: Put a +1/+1 counter on Crystalline Crawler. +text=Converge -- Crystalline Crawler enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it. -- Remove a +1/+1 counter from Crystalline Crawler: Add one mana of any color to your mana pool. -- {T}: Put a +1/+1 counter on Crystalline Crawler. mana={4} type=Artifact Creature subtype=Construct @@ -25571,7 +25596,7 @@ type=Instant [card] name=Daring Skyjek auto=@combat(attacking) source(this) restriction{type(other creature[attacking]|myBattlefield)~morethan~1}:flying ueot -text=Battalion — Whenever Daring Skyjek and at least two other creatures attack, Daring Skyjek gains flying until end of turn. +text=Battalion -- Whenever Daring Skyjek and at least two other creatures attack, Daring Skyjek gains flying until end of turn. mana={1}{W} type=Creature subtype=Human Knight @@ -25621,7 +25646,7 @@ target=creature auto=regenerate auto=draw:1 controller auto=if type(*[instant;sorcery]|mygraveyard)~morethan~1 then regenerate all(other creature|mybattlefield) -text=Regenerate target creature. Draw a card. (The next time the creature would be destroyed this turn, it isn't. Instead tap it, remove all damage from it, and remove it from combat.) -- Spell mastery — If there are two or more instant and/or sorcery cards in your graveyard, also regenerate each other creature you control. +text=Regenerate target creature. Draw a card. (The next time the creature would be destroyed this turn, it isn't. Instead tap it, remove all damage from it, and remove it from combat.) -- Spell mastery -- If there are two or more instant and/or sorcery cards in your graveyard, also regenerate each other creature you control. mana={2}{B} type=Instant [/card] @@ -25699,7 +25724,7 @@ 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. +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} type=Sorcery [/card] @@ -25971,6 +25996,7 @@ toughness=1 [card] name=Darksteel Pendant abilities=indestructible +aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary) auto={1}{t}:name(Look) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend text=Darksteel Pendant is indestructible. ("Destroy" effects and lethal damage don't destroy it.) -- {1}, {T}: Look at the top card of your library. You may put that card on the bottom of your library. mana={2} @@ -26512,7 +26538,7 @@ toughness=2 name=Daxos's Torment auto=transforms((Demon Creature,setpower=5,settoughness=5,flying,haste)) ueot auto=@movedTo(enchantment|myBattlefield):transforms((Demon Creature,setpower=5,settoughness=5,flying,haste)) ueot -text=Constellation — Whenever Daxos's Torment or another enchantment enters the battlefield under your control, Daxos's Torment becomes a 5/5 Demon creature with flying and haste in addition to its other types until end of turn. +text=Constellation -- Whenever Daxos's Torment or another enchantment enters the battlefield under your control, Daxos's Torment becomes a 5/5 Demon creature with flying and haste in addition to its other types until end of turn. mana={3}{B} type=Enchantment [/card] @@ -26649,7 +26675,7 @@ toughness=1 [card] name=Deadeye Harpooner auto=if revolt then destroy target(creature[tapped]|opponentbattlefield) -text=Revolt — When Deadeye Harpooner enters the battlefield, if a permanent you controlled left the battlefield this turn, destroy target tapped creature an opponent controls. +text=Revolt -- When Deadeye Harpooner enters the battlefield, if a permanent you controlled left the battlefield this turn, destroy target tapped creature an opponent controls. mana={2}{W} type=Creature subtype=Dwarf Warrior @@ -27219,7 +27245,7 @@ toughness=5 [card] name=Deathreap Ritual auto=@each endofturn restriction{morbid}:may draw:1 controller -text=Morbid — At the beginning of each end step, if a creature died this turn, you may draw a card. +text=Morbid -- At the beginning of each end step, if a creature died this turn, you may draw a card. mana={2}{B}{G} type=Enchantment [/card] @@ -27412,7 +27438,7 @@ name=Decommission target=artifact,enchantment auto=destroy auto=if revolt then life:3 controller -text=Destroy target artifact or enchantment. -- Revolt — If a permanent you controlled left the battlefield this turn, you gain 3 life. +text=Destroy target artifact or enchantment. -- Revolt -- If a permanent you controlled left the battlefield this turn, you gain 3 life. mana={2}{W} type=Instant [/card] @@ -28083,7 +28109,8 @@ type=Enchantment [/card] [card] name=Delver of Secrets -auto=@each my upkeep:reveal:1 optionone name(transform) target(*[instant;sorcery]|reveal) moveto(mylibrary) and!( all(this) transforms((,newability[flip(Insectile Aberration)])) forever )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend +aicode=activate target(*[instant;sorcery;zpos=1]|mylibrary) moveto(mylibrary) and!(moveto(mylibrary) and!(if cantargetcard(*[instant;sorcery]|*) then all(this) flip(Insectile Aberration) oneshot ) !)! +auto=@each my upkeep:name(look) reveal:1 optionone name(transform) target(*[instant;sorcery]|reveal) moveto(mylibrary) and!( all(this) transforms((,newability[flip(Insectile Aberration)])) forever )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend text=At the beginning of your upkeep, look at the top card of your library. You may reveal that card. If an instant or sorcery card is revealed this way, transform Delver of Secrets. mana={U} type=Creature @@ -28417,7 +28444,8 @@ toughness=3 [/card] [card] name=Deploy the Gatewatch -auto=name(Look) reveal:7 optionone name(Get 2 cards) target(<2>*[planeswalker]|reveal) moveto(mybattlefield) optiononeend optiontwo name(put on bottom) target(<7>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate target(*[planeswalker;zpos<=7]|mylibrary) moveto(mybattlefield) +auto=name(Look) reveal:7 optionone name(Get 2 cards) target(*[planeswalker]|reveal) moveto(mybattlefield) optiononeend optiontwo name(put on bottom) target(<7>*|reveal) bottomoflibrary optiontwoend revealend text=Look at the top seven cards of your library. Put up to two planeswalker cards from among them onto the battlefield. Put the rest on the bottom of your library in a random order. mana={4}{W}{W} type=Sorcery @@ -28531,7 +28559,8 @@ toughness=1 [/card] [card] name=Descendant of Soramaro -auto={1}{u}:name(Look at My top cards) reveal:type:*:myhand optionone name(Look) target(*|reveal) donothing optiononeend optiontwo target(<60>*|reveal) moveto(mylibrary) optiontwoend revealend +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=phandcount]|mylibrary) moverandom(*[zpos<=phandcount]) from(mylibrary) to(mylibrary)])) ueot +auto={1}{u}:name(Look) reveal:type:*:myhand optionone name(Look) target(*|reveal) donothing optiononeend optiontwo target(<60>*|reveal) moveto(mylibrary) optiontwoend revealend text={1}{U}: Look at the top X cards of your library, where X is the number of cards in your hand, then put them back in any order. mana={3}{U} type=Creature @@ -28715,7 +28744,7 @@ type=Instant name=Desperate Sentry auto=while(restriction{delirium}) +3/0 auto=@movedTo(this|graveyard) from(battlefield):token(Eldrazi Horror) -text=When Desperate Sentry dies, put a 3/2 colorless Eldrazi Horror creature token onto the battlefield. -- Delirium — Desperate Sentry gets +3/+0 as long as there are four or more card types among cards in your graveyard. +text=When Desperate Sentry dies, put a 3/2 colorless Eldrazi Horror creature token onto the battlefield. -- Delirium -- Desperate Sentry gets +3/+0 as long as there are four or more card types among cards in your graveyard. mana={2}{W} type=Creature subtype=Human Soldier @@ -29095,7 +29124,8 @@ toughness=2 [/card] [card] name=Dewdrop Spy -auto=target(player) name(Look at top card) reveal:1 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo all(*|reveal) moveto(ownerlibrary) optiontwoend revealend +aicode=activate name(look) donothing +auto=target(player) name(target player) reveal:1 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo all(*|reveal) moveto(ownerlibrary) optiontwoend revealend text=Flash -- Flying -- When Dewdrop Spy enters the battlefield, look at the top card of target player's library. mana={1}{U}{U} type=Creature @@ -29161,7 +29191,8 @@ type=Sorcery [/card] [card] name=Diabolic Vision -auto=reveal:5 optionone name(Get Card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend +aicode=name(look) activate name(look) transforms((,newability[moverandom(*[zpos<=5]) from(mylibrary) to(myhand)])) ueot +auto=name(look) reveal:5 optionone name(Get Card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend text=Look at the top five cards of your library. Put one of them into your hand and the rest on top of your library in any order. mana={U}{B} type=Sorcery @@ -29247,7 +29278,8 @@ type=Artifact [/card] [card] name=Dig Through Time -auto=reveal:7 optionone name(Get Card) target(<2>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<7>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate target(<2>*[zpos<=7]|mylibrary) moveto(myhand) +auto=name(look) reveal:7 optionone name(Get Card) target(<2>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<7>*|reveal) bottomoflibrary optiontwoend revealend text=Delve (Each card you exile from your graveyard while casting this spell pays for {1}.) -- Look at the top seven cards of your library. Put two of them into your hand and the rest on the bottom of your library in any order. mana={6}{U}{U} other={delve} name(Delve) @@ -29396,9 +29428,10 @@ type=Artifact [/card] [card] name=Dimir Machinations -autohand={1}{B}{B}{discard}:moveto(myhand) target(*[manacost=3]|mylibrary) asSorcery target=player -auto=name(Reveal cards) reveal:3 optionone name(Exile Cards) target(*|reveal) moveto(exile) optiononeend optiontwo name(reorder on library) target(<3>*|reveal) moveto(ownerlibrary) optiontwoend revealend +aicode=activate choice all(<3>*[zpos<=3]|targetedpersonslibrary) moveto(exile) +auto=name(look) reveal:3 revealzone(targetedpersonslibrary) optionone name(Exile Cards) target(*|reveal) moveto(exile) optiononeend optiontwo name(put back) target(<3>*|reveal) moveto(ownerlibrary) optiontwoend revealend +autohand={1}{B}{B}{discard}:moveto(myhand) target(*[manacost=3]|mylibrary) asSorcery text=Look at the top three cards of target player's library. Exile any number of those cards, then put the rest back in any order. -- 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={2}{B} type=Sorcery @@ -29688,7 +29721,7 @@ auto={1}{E(*[instant;sorcery]|mygraveyard)}:name(counter noncreature unless pay auto={1}{E(*[instant;sorcery]|mygraveyard)}:1/1 ueot auto={1}{E(*[instant;sorcery]|mygraveyard)}:tap target(creature) auto={1}{E(*[instant;sorcery]|mygraveyard)}:untap target(creature) -text={1}, Exile an instant or sorcery card from your graveyard: Choose one — -- — Counter target noncreature spell unless its controller pays {2}. -- — Disciple of the Ring gets +1/+1 until end of turn. -- — Tap target creature. -- — Untap target creature. +text={1}, Exile an instant or sorcery card from your graveyard: Choose one -- -- -- Counter target noncreature spell unless its controller pays {2}. -- -- Disciple of the Ring gets +1/+1 until end of turn. -- -- Tap target creature. -- -- Untap target creature. mana={3}{U}{U} type=Creature subtype=Human Wizard @@ -29930,7 +29963,7 @@ name=Dispense Justice target=player auto=ability$!name(sacrifice) target(creature[attacking]|mybattlefield) sacrifice!$ targetedplayer auto=aslongas(artifact|mybattlefield) ability$!target(creature[attacking]|mybattlefield) sacrifice!$ targetedplayer >2 -text=Target player sacrifices an attacking creature. -- Metalcraft — That player sacrifices two attacking creatures instead if you control three or more artifacts. +text=Target player sacrifices an attacking creature. -- Metalcraft -- That player sacrifices two attacking creatures instead if you control three or more artifacts. mana={2}{W} type=Instant [/card] @@ -30433,6 +30466,7 @@ toughness=4 [card] name=Domri Rade auto=counter(0/0,3,loyalty) +aicode=activate moveto(myhand) target(creature[zpos=1]|mylibrary) auto={C(0/0,1,Loyalty)}:name(+1: Reveal) reveal:1 optionone target(creature|reveal)moveto(myhand) optiononeend optiontwo name(Put Back On Top) target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend auto={C(0/0,-2,Loyalty)}:name(-2: Fight) target(creature|mybattlefield) transforms((,newability[target(creature) dynamicability])) ueot auto={C(0/0,-7,Loyalty)}:name(-7: emblem) emblem transforms((,newability[lord(creature|mybattlefield)double strike],newability[lord(creature|mybattlefield)trample],newability[lord(creature|mybattlefield)hexproof],newability[lord(creature|mybattlefield)haste])) forever dontremove @@ -30508,8 +30542,8 @@ toughness=10 [card] name=Doomsday Specter abilities=flying -auto=@combatdamagefoeof(player) from(this):reject target(*|opponenthand) -auto=@combatdamageof(player) from(this):reject target(*|myhand) +aicode=activate reject notatarget(*|opponenthand) +auto=@combatdamagefoeof(player) from(this):name(look) reveal:type:*:opponenthand revealzone(opponenthand) optionone name(choose discards) target(<1>*|reveal) moveto(ownerhand) and!( reject )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend auto=moveTo(ownerhand) notatarget(creature[blue;black]|myBattlefield) text=Flying -- When Doomsday Specter enters the battlefield, return a blue or black creature you control to its owner's hand. -- Whenever Doomsday Specter deals combat damage to a player, look at that player's hand and choose a card from it. The player discards that card. mana={2}{U}{B} @@ -30522,7 +30556,7 @@ toughness=3 name=Doomwake Giant auto=lord(creature|opponentbattlefield) -1/-1 ueot auto=@movedTo(enchantment|myBattlefield):lord(creature|opponentbattlefield) -1/-1 ueot -text=Constellation — Whenever Doomwake Giant or another enchantment enters the battlefield under your control, creatures your opponents control get -1/-1 until end of turn. +text=Constellation -- Whenever Doomwake Giant or another enchantment enters the battlefield under your control, creatures your opponents control get -1/-1 until end of turn. mana={4}{B} type=Enchantment Creature subtype=Giant @@ -31009,7 +31043,7 @@ name=Dragon Whisperer auto={R}:flying auto={1}{R}:1/0 auto={4}{R}{R}:token(Dragon,creature dragon, 4/4,flying red) restriction{compare(powertotalinplay)~morethan~7} -text={R}: Dragon Whisperer gains flying until end of turn. -- {1}{R}: Dragon Whisperer gets +1/+0 until end of turn. -- Formidable — {4}{R}{R}: Put a 4/4 red Dragon creature token with flying onto the battlefield. Activate this ability only if creatures you control have total power 8 or greater. +text={R}: Dragon Whisperer gains flying until end of turn. -- {1}{R}: Dragon Whisperer gets +1/+0 until end of turn. -- Formidable -- {4}{R}{R}: Put a 4/4 red Dragon creature token with flying onto the battlefield. Activate this ability only if creatures you control have total power 8 or greater. mana={R}{R} type=Creature subtype=Human Shaman @@ -31089,6 +31123,7 @@ toughness=5 name=Dragonlord Ojutai abilities=flying auto=this(untapped) opponentshroud +aicode=activate transforms((,newability[moveto(myhand) all(*[zpos=1]|mylibrary) && bottomoflibrary all(*[zpos<=2]|mylibrary)])) ueot auto=@combatdamaged(player) from(this):name(look) reveal:3 optionone name(Get a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<3>*|reveal) bottomoflibrary optiontwoend revealend text=Flying -- Dragonlord Ojutai has hexproof as long as it's untapped. -- Whenever Dragonlord Ojutai deals combat damage to a player, look at the top three cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order. mana={3}{W}{U} @@ -31185,7 +31220,7 @@ toughness=3 [card] name=Dragon-Scarred Bear auto={1}{G}:regenerate restriction{compare(powertotalinplay)~morethan~7} -text=Formidable — {1}{G}: Regenerate Dragon-Scarred Bear. Activate this ability only if creatures you control have total power 8 or greater. +text=Formidable -- {1}{G}: Regenerate Dragon-Scarred Bear. Activate this ability only if creatures you control have total power 8 or greater. mana={2}{G} type=Creature subtype=Bear @@ -31411,7 +31446,7 @@ toughness=3 [card] name=Drana's Chosen auto={T(ally|myBattlefield)}{t}:token(Zombie,Creature Zombie,2/2,black) and!( tap(noevent) )! -text=Cohort — {T}, Tap an untapped Ally you control: Put a 2/2 black Zombie creature token onto the battlefield tapped. +text=Cohort -- {T}, Tap an untapped Ally you control: Put a 2/2 black Zombie creature token onto the battlefield tapped. mana={3}{B} type=Creature subtype=Vampire Shaman Ally @@ -31577,7 +31612,7 @@ type=Sorcery name=Dreadbringer Lampads auto=name(intimidate) target(creature) transforms((,newability[intimidate])) ueot auto=@movedTo(enchantment|myBattlefield):name(intimidate) target(creature) transforms((,newability[intimidate])) ueot -text=Constellation — Whenever Dreadbringer Lampads or another enchantment enters the battlefield under your control, target creature gains intimidate until end of turn. (It can't be blocked except by artifact creatures and/or creatures that share a color with it.) +text=Constellation -- Whenever Dreadbringer Lampads or another enchantment enters the battlefield under your control, target creature gains intimidate until end of turn. (It can't be blocked except by artifact creatures and/or creatures that share a color with it.) mana={4}{B} type=Enchantment Creature subtype=Nymph @@ -32799,7 +32834,7 @@ toughness=3 name=Dusk Feaster abilities=flying anyzone=while(restriction{delirium}) changecost(colorless:-2) forcedalive -text=Delirium — Dusk Feaster costs {2} less to cast if there are four or more card types among cards in your graveyard. -- Flying +text=Delirium -- Dusk Feaster costs {2} less to cast if there are four or more card types among cards in your graveyard. -- Flying mana={5}{B}{B} type=Creature subtype=Vampire @@ -32911,7 +32946,8 @@ toughness=1 [/card] [card] name=Duskwatch Recruiter -auto={2}{G}:reveal:3 optionone name(Get Creature) target(creature|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<3>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate target(creature[zpos<=3]|mylibrary) moveto(myhand) +auto={2}{G}:name(look) reveal:3 optionone name(Get Creature) target(creature|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<3>*|reveal) bottomoflibrary optiontwoend revealend auto=@each upkeep restriction{lastturn(*|stack)~lessthan~1}:flip(Krallenhorde Howler) text={2}{G}: Look at the top three cards of your library. You may reveal a creature card from among them and put it into your hand. Put the rest on the bottom of your library in any order. -- At the beginning of each upkeep, if no spells were cast last turn, transform Duskwatch Recruiter. mana={1}{G} @@ -33863,7 +33899,7 @@ subtype=Shapeshifter name=Eidolon of Blossoms auto=draw:1 auto=@movedTo(enchantment|myBattlefield):draw:1 -text=Constellation — Whenever Eidolon of Blossoms or another enchantment enters the battlefield under your control, draw a card. +text=Constellation -- Whenever Eidolon of Blossoms or another enchantment enters the battlefield under your control, draw a card. mana={2}{G}{G} type=Enchantment Creature subtype=Spirit @@ -34277,6 +34313,7 @@ type=Sorcery [/card] [card] name=Elemental Augury +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=3]|targetedpersonslibrary) moverandom(*[zpos<=3]) from(targetedpersonslibrary) to(targetedpersonslibrary)])) ueot auto={3}:target(player) reveal:3 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<3>*|reveal) moveto(ownerlibrary) optiontwoend revealend text={3}: Look at the top three cards of target player's library, then put them back in any order. mana={U}{B}{R} @@ -35209,7 +35246,7 @@ name=Embodiment of Fury abilities=trample auto=lord(creature[land]|mybattlefield) trample auto=@movedTo(land|mybattlefield):target(land|mybattlefield) transforms((Elemental Creature,setpower=3,settoughness=3,newability[haste])) ueot -text=Trample -- Land creatures you control have trample. -- Landfall — Whenever a land enters the battlefield under your control, you may have target land you control become a 3/3 Elemental creature with haste until end of turn. It's still a land. +text=Trample -- Land creatures you control have trample. -- Landfall -- Whenever a land enters the battlefield under your control, you may have target land you control become a 3/3 Elemental creature with haste until end of turn. It's still a land. mana={3}{R} type=Creature subtype=Elemental @@ -35221,7 +35258,7 @@ name=Embodiment of Insight abilities=vigilance auto=lord(creature[land]|mybattlefield) vigilance auto=@movedTo(land|mybattlefield):target(land|mybattlefield) transforms((Elemental Creature,setpower=3,settoughness=3,newability[haste])) ueot -text=Vigilance -- Land creatures you control have vigilance. -- Landfall — Whenever a land enters the battlefield under your control, you may have target land you control become a 3/3 Elemental creature with haste until end of turn. It's still a land. +text=Vigilance -- Land creatures you control have vigilance. -- Landfall -- Whenever a land enters the battlefield under your control, you may have target land you control become a 3/3 Elemental creature with haste until end of turn. It's still a land. mana={4}{G} type=Creature subtype=Elemental @@ -35325,7 +35362,7 @@ name=Emeria Shepherd abilities=flying auto=@movedTo(land[-plains]|myBattlefield):moveto(myhand) target(*[-land;-instant;-sorcery]|mygraveyard) auto=@movedTo(land[plains]|myBattlefield):moveto(mybattlefield) target(*[-land;-instant;-sorcery]|mygraveyard) -text=Flying -- Landfall — Whenever a land enters the battlefield under your control, you may return target nonland permanent card from your graveyard to your hand. If that land is a Plains, you may return that nonland permanent card to the battlefield instead. +text=Flying -- Landfall -- Whenever a land enters the battlefield under your control, you may return target nonland permanent card from your graveyard to your hand. If that land is a Plains, you may return that nonland permanent card to the battlefield instead. mana={5}{W}{W} type=Creature subtype=Angel @@ -35933,7 +35970,7 @@ type=Artifact name=Engineered Might auto=aslongas(creature|battlefield) choice name(5/5 & trample) target(creature) transforms((,newability[5/5],newability[trample])) ueot auto=choice name(2/2 & vigilance) lord(creature|mybattlefield) transforms((,newability[2/2],newability[vigilance])) ueot -text=Choose one — --Target creature gets +5/+5 and gains trample until end of turn. --Creatures you control get +2/+2 and gain vigilance until end of turn. +text=Choose one -- --Target creature gets +5/+5 and gains trample until end of turn. --Creatures you control get +2/+2 and gain vigilance until end of turn. mana={3}{G}{W} type=Sorcery [/card] @@ -36996,7 +37033,7 @@ subtype=Aura [/card] [card] name=Eternity Vessel -text=Eternity Vessel enters the battlefield with X charge counters on it, where X is your life total. Landfall — Whenever a land enters the battlefield under your control, you may have your life total become the number of charge counters on Eternity Vessel. +text=Eternity Vessel enters the battlefield with X charge counters on it, where X is your life total. Landfall -- Whenever a land enters the battlefield under your control, you may have your life total become the number of charge counters on Eternity Vessel. auto=counter(0/0,lifetotal,Charge) auto=@movedto(land|myBattlefield):may lifeset:counter{0%0.1.Charge} controller auto=Eternity Vessel enters the battlefield with X charge counters on it, where X is your life total. -- Landfall - Whenever a land enters the battlefield under your control, you may have your life total become the number of charge counters on Eternity Vessel. @@ -37154,6 +37191,7 @@ toughness=2 [/card] [card] name=Etherwrought Page +aicode=activate name(look) donothing auto=@each my upkeep:ability$!name(Reveal) reveal:1 optionone name(Choose to put in Graveyard) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend _ choice name(opponent life loss) life:-1 opponent _ choice name(Gain Life) life:2 controller!$ controller text=At the beginning of your upkeep, choose one - You gain 2 life; or look at the top card of your library, then you may put that card into your graveyard; or each opponent loses 1 life. mana={1}{W}{U}{B} @@ -37488,7 +37526,7 @@ type=Instant name=Exert Influence target=creature[power<=converge]|battlefield auto=moveto(mybattlefield) -text=Converge — Gain control of target creature if its power is less than or equal to the number of colors of mana spent to cast Exert Influence. +text=Converge -- Gain control of target creature if its power is less than or equal to the number of colors of mana spent to cast Exert Influence. mana={4}{U} type=Sorcery [/card] @@ -37688,6 +37726,7 @@ type=Sorcery [card] name=Explorer's Scope auto={1}:equip +aicode=activate transforms((,newability[moveto(mybattlefield) and!(tap(noevent))! all(land[zpos=1]|mylibrary)])) ueot auto=@combat(attacking) source(mytgt):reveal:1 optionone target(land|reveal) moveto(mybattlefield) and!(tap(noevent))! optiononeend optiontwo name(Put Back) target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend text=Whenever equipped creature attacks, look at the top card of your library. If it's a land card, you may put it onto the battlefield tapped. -- Equip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.) mana={1} @@ -37802,7 +37841,8 @@ type=Instant [card] name=Extortion target=player -auto=target(*|targetedpersonshand) reject +aicode=activate reject notatarget(*|targetedpersonshand) +auto=name(look) reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(choose discards) target(*|reveal) moveto(ownerhand) and!( reject )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend text=Look at target player's hand and choose up to two cards from it. That player discards those cards. mana={3}{B}{B} type=Sorcery @@ -37845,6 +37885,13 @@ power=5 toughness=5 [/card] [card] +name=Extraplanar Lens +auto=may moveto(exile) target(land|mybattlefield) and!( transforms((,newability[lord(*[share!name!]) producecolor:land],newability[lord(*[share!name!]) producecolor:green],newability[lord(*[share!name!]) producecolor:blue],newability[lord(*[share!name!]) producecolor:red],newability[lord(*[share!name!]) producecolor:black],newability[lord(*[share!name!]) producecolor:white])) forever )! +text=Imprint -- When Extraplanar Lens enters the battlefield, you may exile target land you control. -- Whenever a land with the same name as the exiled card is tapped for mana, its controller adds one mana to his or her mana pool of any type that land produced. +mana={3} +type=Artifact +[/card] +[card] name=Extravagant Spirit auto=foreach(*|myhand) upcost[{1}] sacrifice abilities=flying @@ -37869,7 +37916,7 @@ toughness=5 name=Extricator of Sin auto=may sacrifice target(*|mybattlefield) && token(Eldrazi Horror) controller auto==@each upkeep restriction{delirium}:flip(Extricator of Flesh) -text=When Extricator of Sin enters the battlefield, you may sacrifice another permanent. If you do, put a 3/2 colorless Eldrazi Horror creature token onto the battlefield. -- Delirium — At the beginning of your upkeep, if there are four or more card types among cards in your graveyard, transform Extricator of Sin. +text=When Extricator of Sin enters the battlefield, you may sacrifice another permanent. If you do, put a 3/2 colorless Eldrazi Horror creature token onto the battlefield. -- Delirium -- At the beginning of your upkeep, if there are four or more card types among cards in your graveyard, transform Extricator of Sin. mana={2}{W} type=Creature subtype=Human Cleric @@ -37976,7 +38023,8 @@ type=Artifact [card] name=Eye Spy target=player -auto=reveal:1 optionone name(Put On Top) target(*|reveal) moveto(ownerlibrary) optiononeend optiontwo name(put in graveyard) target(<1>*|reveal) moveto(ownergraveyard) optiontwoend revealend +aicode=activate choice moveto(ownergraveyard) all(*[zpos=1]|targetedpersonslibrary) +auto=name(look) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(ownerlibrary) optiononeend optiontwo name(put in graveyard) target(<1>*|reveal) moveto(ownergraveyard) optiontwoend revealend text=Look at the top card of target player's library. You may put that card into his or her graveyard. mana={U} type=Sorcery @@ -38224,7 +38272,8 @@ toughness=2 [card] name=Faerie Mechanist abilities=flying -auto=reveal:3 optionone name(Get artifact) target(artifact|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate target(artifact[zpos<=3]|mylibrary) moveto(myhand) +auto=name(look) reveal:3 optionone name(Get artifact) target(artifact|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend text=Flying -- When Faerie Mechanist enters the battlefield, look at the top three cards of your library. You may reveal an artifact card from among them and put it into your hand. Put the rest on the bottom of your library in any order. mana={3}{U} type=Artifact Creature @@ -38922,7 +38971,7 @@ type=Instant name=Fatal Push target=creature auto=if revolt then teach(creature[manacost<=4]) destroy else teach(creature[manacost<=2]) destroy -text=Destroy target creature if it has converted mana cost 2 or less. -- Revolt — Destroy that creature if it has converted mana cost 4 or less instead if a permanent you controlled left the battlefield this turn. +text=Destroy target creature if it has converted mana cost 2 or less. -- Revolt -- Destroy that creature if it has converted mana cost 4 or less instead if a permanent you controlled left the battlefield this turn. mana={B} type=Instant [/card] @@ -39373,7 +39422,7 @@ toughness=3 [card] name=Felhide Spiritbinder auto=@untapped(this) restriction{type(creature)~morethan~1}:pay({1}{R}) target(other creature) clone and!( transforms((Enchantment,newability[haste],newability[@each my endofturn:moveto(exile)])) oneshot )! -text=Inspired — Whenever Felhide Spiritbinder becomes untapped, you may pay {1}{R}. If you do, put a token onto the battlefield that's a copy of another target creature except it's an enchantment in addition to its other types. It gains haste. Exile it at the beginning of the next end step. +text=Inspired -- Whenever Felhide Spiritbinder becomes untapped, you may pay {1}{R}. If you do, put a token onto the battlefield that's a copy of another target creature except it's an enchantment in addition to its other types. It gains haste. Exile it at the beginning of the next end step. mana={3}{R} type=Creature subtype=Minotaur Shaman @@ -39709,6 +39758,7 @@ type=Sorcery [card] name=Fertile Thicket auto=tap(noevent) +aicode=activate target(land[basic;zpos<=5]|mylibrary) moveto(mylibrary) and!(moveto(mylibrary))! auto=may name(look) reveal:5 optionone choice name(put on top) target(land[basic]|reveal) moveto(ownerlibrary) optiononeend optiontwo choice name(put on bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend auto={T}:Add{G} text=Fertile Thicket enters the battlefield tapped. -- When Fertile Thicket enters the battlefield, you may look at the top five cards of your library. If you do, reveal up to one basic land card from among them, then put that card on top of your library and the rest on the bottom in any order. -- {T}: Add {G} to your mana pool. @@ -40081,7 +40131,7 @@ toughness=2 name=Fiery Impulse target=creature auto=if type(*[instant;sorcery]|mygraveyard)~morethan~1 then damage:3 else damage:2 -text=Fiery Impulse deals 2 damage to target creature. -- Spell mastery — If there are two or more instant and/or sorcery cards in your graveyard, Fiery Impulse deals 3 damage to that creature instead. +text=Fiery Impulse deals 2 damage to target creature. -- Spell mastery -- If there are two or more instant and/or sorcery cards in your graveyard, Fiery Impulse deals 3 damage to that creature instead. mana={R} type=Instant [/card] @@ -40506,7 +40556,7 @@ toughness=2 [card] name=Firefist Striker auto=@combat(attacking) source(this) restriction{type(other creature[attacking]|myBattlefield)~morethan~1}:cantblock target(creature) ueot -text=Battalion — Whenever Firefist Striker and at least two other creatures attack, target creature can't block this turn. +text=Battalion -- Whenever Firefist Striker and at least two other creatures attack, target creature can't block this turn. mana={1}{R} type=Creature subtype=Human Soldier @@ -40588,7 +40638,7 @@ toughness=3 name=Firemane Avenger abilities=flying auto=@combat(attacking) source(this) restriction{type(other creature[attacking]|myBattlefield)~morethan~1}:choice damage:3 target(creature,player) && life:3 controller -text=Flying -- Battalion — Whenever Firemane Avenger and at least two other creatures attack, Firemane Avenger deals 3 damage to target creature or player and you gain 3 life. +text=Flying -- Battalion -- Whenever Firemane Avenger and at least two other creatures attack, Firemane Avenger deals 3 damage to target creature or player and you gain 3 life. mana={2}{R}{W} type=Creature subtype=Angel @@ -40599,7 +40649,7 @@ toughness=3 name=Firemantle Mage auto=all(ally|mybattlefield) menace ueot auto=@movedTo(other ally|myBattlefield):may lord(ally|myBattlefield) all(ally|mybattlefield) menace ueot -text=Rally — Whenever Firemantle Mage or another Ally enters the battlefield under your control, creatures you control gain menace until end of turn. (A creature with menace can't be blocked except by two or more creatures.) +text=Rally -- Whenever Firemantle Mage or another Ally enters the battlefield under your control, creatures you control gain menace until end of turn. (A creature with menace can't be blocked except by two or more creatures.) mana={2}{R} type=Creature subtype=Human Shaman Ally @@ -42355,7 +42405,8 @@ toughness=2 [card] name=Forbidden Alchemy flashback={6}{B} -auto=reveal:4 optionone name(Get a Card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put in grave) all(*|reveal) moveto(mygraveyard) optiontwoend revealend +aicode=activate transforms((,newability[choice all(*[zpos=1]|mylibrary) moveto(myhand) and!(deplete:3)!])) ueot +auto=name(look) reveal:4 optionone name(Get a Card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put in grave) all(*|reveal) moveto(mygraveyard) optiontwoend revealend text=Look at the top four cards of your library. Put one of them into your hand and the rest into your graveyard. -- Flashback {6}{B} (You may cast this card from your graveyard for its flashback cost. Then exile it.) mana={2}{U} type=Instant @@ -42590,7 +42641,7 @@ toughness=1 name=Forgeborn Oreads auto=damage:1 target(creature,player) auto=@movedTo(enchantment|myBattlefield):damage:1 target(creature,player) -text=Constellation — Whenever Forgeborn Oreads or another enchantment enters the battlefield under your control, Forgeborn Oreads deals 1 damage to target creature or player. +text=Constellation -- Whenever Forgeborn Oreads or another enchantment enters the battlefield under your control, Forgeborn Oreads deals 1 damage to target creature or player. mana={2}{R}{R} type=Enchantment Creature subtype=Nymph @@ -44255,6 +44306,7 @@ type=Artifact [/card] [card] name=Galvanoth +aicode=activate transforms((,newability[castcard(normal) all(*[instant;sorcery;zpos=1]|mylibrary)])) ueot auto=@each my upkeep:name(Reveal) reveal:1 optionone target(*[instant;sorcery]|reveal) transforms((,newability[may name(cast for free) activate name(cast for free) castcard(normal)])) oneshot optiononeend optiontwo target(*|reveal) moveto(mylibrary) optiontwoend revealend text=At the beginning of your upkeep, you may look at the top card of your library. If it's an instant or sorcery card, you may cast it without paying its mana cost. mana={3}{R}{R} @@ -44571,7 +44623,7 @@ type=Instant name=Gather the Pack auto=if type(*[instant;sorcery]|mygraveyard)~lessthan~2 then reveal:5 optionone target(creature|reveal) moveto(myhand) optiononeend optiontwo name(put in grave) target(<1>*|reveal) moveto(mygraveyard) and!( all(*|reveal) moveto(mygraveyard) )! optiontwoend revealend auto=if type(*[instant;sorcery]|mygraveyard)~morethan~1 then reveal:5 optionone target(creature|reveal) moveto(myhand) optiononeend optiontwo name(put in grave) target(<1>*|reveal) moveto(mygraveyard) and!( all(*|reveal) moveto(mygraveyard) )! optiontwoend revealend -text=Reveal the top five cards of your library. You may put a creature card from among them into your hand. Put the rest into your graveyard. -- Spell mastery — If there are two or more instant and/or sorcery cards in your graveyard, put up to two creature cards from among the revealed cards into your hand instead of one. +text=Reveal the top five cards of your library. You may put a creature card from among them into your hand. Put the rest into your graveyard. -- Spell mastery -- If there are two or more instant and/or sorcery cards in your graveyard, put up to two creature cards from among the revealed cards into your hand instead of one. mana={1}{G} type=Sorcery [/card] @@ -44773,7 +44825,7 @@ toughness=4 name=Geist of the Lonely Vigil abilities=defender, flying auto=while(restriction{delirium}) canattack -text=Defender, flying -- Delirium — Geist of the Lonely Vigil can attack as though it didn't have defender as long as there are four or more card types among cards in your graveyard. +text=Defender, flying -- Delirium -- Geist of the Lonely Vigil can attack as though it didn't have defender as long as there are four or more card types among cards in your graveyard. mana={1}{W} type=Creature subtype=Spirit Cleric @@ -45247,7 +45299,7 @@ toughness=4 name=Geyserfield Stalker abilities=menace auto=@movedto(land|myBattlefield):2/2 ueot -text=Menace (This creature can't be blocked except by two or more creatures.) -- Landfall — Whenever a land enters the battlefield under your control, Geyserfield Stalker gets +2/+2 until end of turn. +text=Menace (This creature can't be blocked except by two or more creatures.) -- Landfall -- Whenever a land enters the battlefield under your control, Geyserfield Stalker gets +2/+2 until end of turn. mana={4}{B} type=Creature subtype=Elemental @@ -45435,7 +45487,7 @@ toughness=1 name=Ghor-Clan Rampager abilities=trample autohand={R}{G}{discard}:name(bloodrush) target(creature[attacking]) trample && 4/4 ueot -text=Trample -- Bloodrush — {R}{G}, Discard Ghor-Clan Rampager: Target attacking creature gets +4/+4 and gains trample until end of turn. +text=Trample -- Bloodrush -- {R}{G}, Discard Ghor-Clan Rampager: Target attacking creature gets +4/+4 and gains trample until end of turn. mana={2}{R}{G} type=Creature subtype=Beast @@ -46015,7 +46067,7 @@ autoexile=restriction{discarded} pay({2}{B}{B}) name(pay {2}{B}{B} to cast) acti auto=@each opponent upkeep:life:-1 opponent && ability$!reject notatarget(*|myhand)!$ opponent auto=@each my upkeep:life:-1 controller && ability$!reject notatarget(*|myhand)!$ controller auto=this(variable{phandcount}<1) phasealter(remove,upkeep,controller) -text=At the beginning of each player's upkeep, that player loses 1 life and discards a card. -- Hellbent — Skip your upkeep step if you have no cards in hand. -- Madness {2}{B}{B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.) +text=At the beginning of each player's upkeep, that player loses 1 life and discards a card. -- Hellbent -- Skip your upkeep step if you have no cards in hand. -- Madness {2}{B}{B} (If you discard this card, you may cast it for its madness cost instead of putting it into your graveyard.) mana={4}{B}{B} type=Enchantment [/card] @@ -46096,7 +46148,7 @@ toughness=1 [card] name=Gideon's Phalanx auto=if type(*[instant;sorcery]|mygraveyard)~lessthan~1 then token(Knight,Creature Knight,2/2,white,vigilance)*4 controller else token(Knight,Creature Knight,2/2,white,vigilance)*4 && all(creature|mybattlefield) indestructible ueot -text=Put four 2/2 white Knight creature tokens with vigilance onto the battlefield. -- Spell mastery — If there are two or more instant and/or sorcery cards in your graveyard, creatures you control gain indestructible until end of turn. +text=Put four 2/2 white Knight creature tokens with vigilance onto the battlefield. -- Spell mastery -- If there are two or more instant and/or sorcery cards in your graveyard, creatures you control gain indestructible until end of turn. mana={5}{W}{W} type=Instant [/card] @@ -46160,7 +46212,8 @@ subtype=Aura [/card] [card] name=Gift of the Gargantuan -auto=reveal:4 optionone name(Get a card) target(creature,land|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate target(creature,land[zpos<=4]|mylibrary) moveto(myhand) +auto=name(look) reveal:4 optionone name(Get a card) target(creature,land|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend text=Look at the top four cards of your library. You may reveal a creature card and/or a land card from among them and put the revealed cards into your hand. Put the rest on the bottom of your library in any order. mana={2}{G} type=Sorcery @@ -46278,7 +46331,8 @@ type=Land [/card] [card] name=Gilt-Leaf Seer -auto={g}{t}:name(Look at My top cards) reveal:2 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<2>*|reveal) moveto(mylibrary) optiontwoend revealend +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=2]|mylibrary) moverandom(*[zpos<=2]) from(mylibrary) to(mylibrary)])) ueot +auto={g}{t}:name(Look) reveal:2 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<2>*|reveal) moveto(mylibrary) optiontwoend revealend text={G}, {T}: Look at the top two cards of your library, then put them back in any order. mana={2}{G} type=Creature @@ -46331,7 +46385,8 @@ toughness=3 [card] name=Gitaxian Probe target=player -auto=name(look) target(*|targetedpersonshand) donothing +aicode=name(look) activate name(look) target(*|targetedpersonshand) donothing +auto=name(look) reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(look) target(<1>*|reveal) moveto(ownerhand) and!(all(*|reveal) moveto(ownerhand))! optiononeend revealend auto=draw:1 controller text=({p(U)} may be paid for with either {U} or 2 life.) -- Look at target player's hand. -- Draw a card. color=blue @@ -46418,7 +46473,7 @@ toughness=4 name=Glade Watcher abilities=defender auto={G}:canattack restriction{compare(powertotalinplay)~morethan~7} ueot -text=Defender -- Formidable — {G}: Glade Watcher can attack this turn as though it didn't have defender. Activate this ability only if creatures you control have total power 8 or greater. +text=Defender -- Formidable -- {G}: Glade Watcher can attack this turn as though it didn't have defender. Activate this ability only if creatures you control have total power 8 or greater. mana={1}{G} type=Creature subtype=Elemental @@ -46522,7 +46577,8 @@ toughness=4 [/card] [card] name=Glasses of Urza -auto={T}:name(look at opponents hand) target(*|opponenthand) donothing ueot +aicode=name(look) activate name(look) target(*|opponenthand) donothing +auto={t}:target(opponent) name(target opponent) reveal:ohandcount revealzone(opponenthand) optionone name(look) target(<1>*|reveal) moveto(ownerhand) and!(all(*|reveal) moveto(ownerhand))! optiononeend revealend text={T}:Look at target player's hand. mana={1} type=Artifact @@ -46676,7 +46732,8 @@ type=Sorcery [/card] [card] name=Glimpse the Future -auto=reveal:3 optionone name(Get a Card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put in grave) all(*|reveal) moveto(mygraveyard) optiontwoend revealend +aicode=activate transforms((,newability[choice all(*[zpos=1]|mylibrary) moveto(myhand) and!(deplete:2)!])) ueot +auto=name(look) reveal:3 optionone name(Get a Card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put in grave) all(*|reveal) moveto(mygraveyard) optiontwoend revealend text=Look at the top three cards of your library. Put one of them into your hand and the rest into your graveyard. mana={2}{U} type=Sorcery @@ -46741,7 +46798,8 @@ type=Instant [card] name=Glint-Nest Crane abilities=flying -auto=reveal:4 optionone name(Get an artifact card) target(<1>*artifact|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate target(artifact[zpos<=4]|mylibrary) moveto(myhand) +auto=name(look) reveal:4 optionone name(Get an artifact card) target(<1>*artifact|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend text=Flying -- When Glint-Nest Crane enters the battlefield, look at the top four cards of your library. You may reveal an artifact card from among them and put it into your hand. Put the rest on the bottom of your library in any order. mana={1}{U} type=Creature @@ -47050,7 +47108,7 @@ toughness=2 name=Gnarlwood Dryad abilities=deathtouch auto=while(restriction{delirium}) 2/2 -text=Deathtouch -- Delirium — Gnarlwood Dryad gets +2/+2 as long as there are four or more card types among cards in your graveyard. +text=Deathtouch -- Delirium -- Gnarlwood Dryad gets +2/+2 as long as there are four or more card types among cards in your graveyard. mana={G} type=Creature subtype=Dryad Horror @@ -49871,7 +49929,7 @@ toughness=1 [card] name=Greenwheel Liberator auto=if revolt then counter(1/1,2) -text=Revolt — Greenwheel Liberator enters the battlefield with two +1/+1 counters on it if a permanent you controlled left the battlefield this turn. +text=Revolt -- Greenwheel Liberator enters the battlefield with two +1/+1 counters on it if a permanent you controlled left the battlefield this turn. mana={1}{G} type=Creature subtype=Elf Warrior @@ -50035,9 +50093,10 @@ type=Enchantment [card] name=Grim Flayer abilities=trample -auto=@combatdamaged(player) from(this):reveal:3 optionone name(Put In Graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(<3>*|reveal) moveto(ownerlibrary) optiontwoend revealend +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=3]|mylibrary) moverandom(*[zpos<=3]) from(mylibrary) to(mylibrary)])) ueot +auto=@combatdamaged(player) from(this):name(look) reveal:3 optionone name(Put In Graveyard) target(*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(<3>*|reveal) moveto(ownerlibrary) optiontwoend revealend auto=while(restriction{delirium}) 2/2 -text=Trample -- Whenever Grim Flayer deals combat damage to a player, look at the top three cards of your library. Put any number of them into your graveyard and the rest back on top of your library in any order. -- Delirium — Grim Flayer gets +2/+2 as long as there are four or more card types among cards in your graveyard. +text=Trample -- Whenever Grim Flayer deals combat damage to a player, look at the top three cards of your library. Put any number of them into your graveyard and the rest back on top of your library in any order. -- Delirium -- Grim Flayer gets +2/+2 as long as there are four or more card types among cards in your graveyard. mana={B}{G} type=Creature subtype=Human Warrior @@ -50055,7 +50114,7 @@ type=Sorcery name=Grim Guardian auto=life:-1 opponent auto=@movedTo(enchantment|myBattlefield):life:-1 opponent -text=Constellation — Whenever Grim Guardian or another enchantment enters the battlefield under your control, each opponent loses 1 life. +text=Constellation -- Whenever Grim Guardian or another enchantment enters the battlefield under your control, each opponent loses 1 life. mana={2}{B} type=Enchantment Creature subtype=Zombie @@ -50613,7 +50672,7 @@ type=Land name=Grove Rumbler abilities=trample auto=@movedTo(land|myBattlefield):2/2 ueot -text=Trample -- Landfall — Whenever a land enters the battlefield under your control, Grove Rumbler gets +2/+2 until end of turn. +text=Trample -- Landfall -- Whenever a land enters the battlefield under your control, Grove Rumbler gets +2/+2 until end of turn. mana={2}{R}{G} type=Creature subtype=Elemental @@ -50624,7 +50683,7 @@ toughness=3 name=Grovetender Druids auto=pay({1}) token(Plant,Creature Plant,1/1,green) auto=@movedTo(other ally|myBattlefield):pay({1}) token(Plant,Creature Plant,1/1,green) -text=Rally — Whenever Grovetender Druids or another Ally enters the battlefield under your control, you may pay {1}. If you do, put a 1/1 green Plant creature token onto the battlefield. +text=Rally -- Whenever Grovetender Druids or another Ally enters the battlefield under your control, you may pay {1}. If you do, put a 1/1 green Plant creature token onto the battlefield. mana={2}{G}{W} type=Creature subtype=Elf Druid Ally @@ -50699,7 +50758,7 @@ name=Gruul Charm auto=choice lord(creature[-flying]|battlefield) cantblock ueot auto=choice moveto(ownerbattlefield) all(*|opponentbattlefield) auto=choice damage:3 all(creature[flying]) -text=Choose one — Creatures without flying can't block this turn; or gain control of all permanents you own; or Gruul Charm deals 3 damage to each creature with flying. +text=Choose one -- Creatures without flying can't block this turn; or gain control of all permanents you own; or Gruul Charm deals 3 damage to each creature with flying. mana={R}{G} type=Instant [/card] @@ -50928,7 +50987,7 @@ name=Guardian of Tazeem abilities=flying auto=@movedTo(land[-island]|myBattlefield):tap target(creature) auto=@movedTo(land[island]|myBattlefield):target(creature) tap && frozen -text=Flying -- Landfall — Whenever a land enters the battlefield under your control, tap target creature an opponent controls. If that land is an Island, that creature doesn't untap during its controller's next untap step. +text=Flying -- Landfall -- Whenever a land enters the battlefield under your control, tap target creature an opponent controls. If that land is an Island, that creature doesn't untap during its controller's next untap step. mana={3}{U}{U} type=Creature subtype=Sphinx @@ -51333,7 +51392,7 @@ name=Guul Draz Overseer abilities=flying auto=@movedTo(land[-swamp]|myBattlefield):lord(other creature|mybattlefield) 1/0 ueot auto=@movedTo(land[swamp]|myBattlefield):lord(other creature|mybattlefield) 2/0 ueot -text=Flying -- Landfall — Whenever a land enters the battlefield under your control, other creatures you control get +1/+0 until end of turn. If that land is a Swamp, those creatures get +2/+0 until end of turn instead. +text=Flying -- Landfall -- Whenever a land enters the battlefield under your control, other creatures you control get +1/+0 until end of turn. If that land is a Swamp, those creatures get +2/+0 until end of turn instead. mana={4}{B}{B} type=Creature subtype=Vampire @@ -51547,7 +51606,8 @@ type=Enchantment [card] name=Halimar Depths auto=tap(noevent) -auto=name(Look at My top cards) reveal:3 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<3>*|reveal) moveto(mylibrary) optiontwoend revealend +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=3]|mylibrary) moverandom(*[zpos<=3]) from(mylibrary) to(mylibrary)])) ueot +auto=name(Look) reveal:3 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<3>*|reveal) moveto(mylibrary) optiontwoend revealend auto={t}:add{u} text=Halimar Depths enters the battlefield tapped. -- When Halimar Depths enters the battlefield, look at the top three cards of your library, then put them back in any order. -- {T}: Add {U} to your mana pool. type=Land @@ -52296,7 +52356,7 @@ toughness=3 name=Harvestguard Alseids auto=name(prevent all damage) target(creature) transforms((,newability[preventalldamage to(this)])) ueot auto=@movedto(enchantment|mybattlefield):name(prevent all damage) target(creature) transforms((,newability[preventalldamage to(this)])) ueot -text=Constellation — Whenever Harvestguard Alseids or another enchantment enters the battlefield under your control, prevent all damage that would be dealt to target creature this turn. +text=Constellation -- Whenever Harvestguard Alseids or another enchantment enters the battlefield under your control, prevent all damage that would be dealt to target creature this turn. mana={2}{W} type=Enchantment Creature subtype=Nymph @@ -53847,7 +53907,7 @@ toughness=4 name=Hero of Goma Fada auto=choice lord(creature|mybattlefield) indestructible ueot auto=@movedTo(other ally|myBattlefield):lord(creature|mybattlefield) indestructible ueot -text=Rally — Whenever Hero of Goma Fada or another Ally enters the battlefield under your control, creatures you control gain indestructible until end of turn. +text=Rally -- Whenever Hero of Goma Fada or another Ally enters the battlefield under your control, creatures you control gain indestructible until end of turn. mana={4}{W} type=Creature subtype=Human Knight Ally @@ -54054,7 +54114,7 @@ type=Enchantment [card] name=Hidden Herbalists auto=if revolt then add{G}{G} -text=Revolt — When Hidden Herbalists enters the battlefield, if a permanent you controlled left the battlefield this turn, add {G}{G} to your mana pool. +text=Revolt -- When Hidden Herbalists enters the battlefield, if a permanent you controlled left the battlefield this turn, add {G}{G} to your mana pool. mana={1}{G} type=Creature subtype=Human Druid @@ -54111,7 +54171,7 @@ type=Enchantment name=Hidden Stockpile auto=@each my end restriction{revolt}:create(Servo:Artifact Creature Servo:1/1) auto={1}{S(creature|mybattlefield)}:scry:1 scrycore delayed dontshow donothing scrycoreend scryend -text=Revolt — At the beginning of your end step, if a permanent you controlled left the battlefield this turn, create a 1/1 colorless Servo artifact creature token. -- {1}, Sacrifice a creature: Scry 1. +text=Revolt -- At the beginning of your end step, if a permanent you controlled left the battlefield this turn, create a 1/1 colorless Servo artifact creature token. -- {1}, Sacrifice a creature: Scry 1. mana={W}{B} type=Enchantment [/card] @@ -55746,7 +55806,7 @@ type=Instant name=Humbler of Mortals auto=lord(creature|myBattlefield) trample ueot auto=@movedTo(enchantment|myBattlefield):lord(creature|myBattlefield) trample ueot -text=Constellation — Whenever Humbler of Mortals or another enchantment enters the battlefield under your control, creatures you control gain trample until end of turn. +text=Constellation -- Whenever Humbler of Mortals or another enchantment enters the battlefield under your control, creatures you control gain trample until end of turn. mana={4}{G}{G} type=Enchantment Creature subtype=Elemental @@ -56589,7 +56649,7 @@ name=Icy Blast target=creature|battlefield auto=tap auto=if type(creature[power>=4]|mybattlefield)~morethan~0 then frozen -text=Tap X target creatures. -- Ferocious — If you control a creature with power 4 or greater, those creatures don't untap during their controllers' next untap steps. +text=Tap X target creatures. -- Ferocious -- If you control a creature with power 4 or greater, those creatures don't untap during their controllers' next untap steps. mana={X}{U} type=Instant [/card] @@ -57169,7 +57229,8 @@ type=Instant [/card] [card] name=Impulse -auto=reveal:4 optionone name(Get a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate target(*[zpos<=4]|mylibrary) moveto(ownerhand) +auto=name(look) reveal:4 optionone name(Get a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend text=Look at the top four cards of your library. Put one of them into your hand and the rest on the bottom of your library. mana={1}{U} type=Instant @@ -57475,7 +57536,8 @@ type=Instant [/card] [card] name=Index -auto=name(Look at My top cards) reveal:5 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<5>*|reveal) moveto(mylibrary) optiontwoend revealend +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=5]|mylibrary) moverandom(*[zpos<=5]) from(mylibrary) to(mylibrary)])) ueot +auto=name(Look) reveal:5 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<5>*|reveal) moveto(mylibrary) optiontwoend revealend text=Look at the top five cards of your library, then put them back in any order. mana={U} type=Sorcery @@ -57784,7 +57846,8 @@ type=Instant [/card] [card] name=Information Dealer -auto={t}:name(Look at My top cards) reveal:type:wizard:mybattlefield optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<60>*|reveal) moveto(mylibrary) optiontwoend revealend +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=type:wizard:mybattlefield]|mylibrary) moverandom(*[zpos<=type:wizard:mybattlefield]) from(mylibrary) to(mylibrary)])) ueot +auto={t}:name(Look) reveal:type:wizard:mybattlefield optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<60>*|reveal) moveto(mylibrary) optiontwoend revealend text={T}: Look at the top X cards of your library, where X is the number of Wizards on the battlefield, then put them back in any order. mana={1}{U} type=Creature @@ -57797,7 +57860,7 @@ name=Infuse with the Elements target=creature|battlefield auto=trample ueot auto=counter(1/1,converge) -text=Converge — Put X +1/+1 counters on target creature, where X is the number of colors of mana spent to cast Infuse with the Elements. That creature gains trample until end of turn. +text=Converge -- Put X +1/+1 counters on target creature, where X is the number of colors of mana spent to cast Infuse with the Elements. That creature gains trample until end of turn. mana={3}{G} type=Instant [/card] @@ -57841,7 +57904,8 @@ toughness=3 [card] name=Ingenious Thief abilities=flying -auto=name(look at opponents hand) target(*|opponenthand) donothing ueot +aicode=name(look) activate name(look) target(*|opponenthand) donothing +auto=target(opponent) name(target opponent) reveal:ohandcount revealzone(opponenthand) optionone name(look) target(<1>*|reveal) moveto(ownerhand) and!(all(*|reveal) moveto(ownerhand))! optiononeend revealend text=Flying -- When Ingenious Thief enters the battlefield, look at target player's hand. mana={1}{U} type=Creature @@ -57880,6 +57944,7 @@ toughness=1 [/card] [card] name=Ink Dissolver +aicode=activate target(*[zpos=1]|mylibrary) moveto(mylibrary) and!(moveto(mylibrary) and!(if cantargetcard(creature[share!types!]|*) then deplete:3 opponent )!)! auto=@each my upkeep:name(Kinship) reveal:1 optionone if type(creature[share!types!]|reveal)~morethan~0 then deplete:3 opponent optiononeend optiontwo name(Put Back On Top) target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend text=Kinship - At the beginning of your upkeep, you may look at the top card of your library. If it shares a creature type with Ink Dissolver, you may reveal it. If you do, each opponent puts the top three cards of his or her library into his or her graveyard. mana={1}{U} @@ -57904,7 +57969,8 @@ toughness=4 [card] name=Inkfathom Divers abilities=islandwalk -auto=name(Look at My top cards) reveal:4 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<4>*|reveal) moveto(mylibrary) optiontwoend revealend +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=4]|mylibrary) moverandom(*[zpos<=4]) from(mylibrary) to(mylibrary)])) ueot +auto=name(Look) reveal:4 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<4>*|reveal) moveto(mylibrary) optiontwoend revealend text=Islandwalk -- When Inkfathom Divers enters the battlefield, look at the top four cards of your library, then put them back in any order. mana={3}{U}{U} type=Creature @@ -58440,7 +58506,7 @@ auto=fizzle auto=if delirium then all(*[share!name!]|targetcontrollerlibrary) moveto(exile) auto=if delirium then all(*[share!name!]|targetcontrollerhand) moveto(exile) auto=if delirium then all(*[share!name!]|targetcontrollergraveyard) moveto(exile) -text=Counter target sorcery spell. -- Delirium — If there are four or more card types among cards in your graveyard, search the graveyard, hand, and library of that spell's controller for any number of cards with the same name as that spell, exile those cards, then that player shuffles his or her library. +text=Counter target sorcery spell. -- Delirium -- If there are four or more card types among cards in your graveyard, search the graveyard, hand, and library of that spell's controller for any number of cards with the same name as that spell, exile those cards, then that player shuffles his or her library. mana={U} type=Instant [/card] @@ -58914,7 +58980,7 @@ name=Ishkanah, Grafwidow abilities=reach auto=if delirium then token(Spider,creature spider,1/2,green,reach)*3 auto={6}{b}:target(opponent) life:-type:spider:mybattlefield -text=Reach -- Delirium — When Ishkanah, Grafwidow enters the battlefield, if there are four or more card types among cards in your graveyard, put three 1/2 green Spider creature tokens with reach onto the battlefield. -- {6}{B}: Target opponent loses 1 life for each Spider you control. +text=Reach -- Delirium -- When Ishkanah, Grafwidow enters the battlefield, if there are four or more card types among cards in your graveyard, put three 1/2 green Spider creature tokens with reach onto the battlefield. -- {6}{B}: Target opponent loses 1 life for each Spider you control. mana={4}{G} type=Legendary Creature subtype=Spider @@ -58959,7 +59025,7 @@ toughness=8 name=Isochron Scepter auto=may imprint notatarget(instant[manacost<=2]|myhand) auto={2}{t}:activate castcard(copied noevent named!:imprintedcard:!) -text=Imprint — When Isochron Scepter enters the battlefield, you may exile an instant card with converted mana cost 2 or less from your hand. -- {2}, {T}: You may copy the exiled card. If you do, you may cast the copy without paying its mana cost. +text=Imprint -- When Isochron Scepter enters the battlefield, you may exile an instant card with converted mana cost 2 or less from your hand. -- {2}, {T}: You may copy the exiled card. If you do, you may cast the copy without paying its mana cost. mana={2} type=Artifact [/card] @@ -59279,12 +59345,13 @@ subtype=Jace [/card] [card] name=Jace, the Mind Sculptor -text=+2: Look at the top card of target player's library. You may put that card on the bottom of that player's library. -- 0: Draw three cards, then put two cards from your hand on top of your library in any order. -- -1: Return target creature to its owner's hand. -- -12: Exile all cards from target player's library, then that player shuffles his or her hand into his or her library. auto=counter(0/0,3,loyalty) +aicode=activate may bottomoflibrary all(*[zpos=1]|targetedpersonslibrary) auto={C(0/0,2,Loyalty)}:name(+2:Reveal) target(player) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(ownerlibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend auto={C(0/0,0,Loyalty)}:name(0:Draw Cards) draw:3 controller && transforms((,newability[target(<2>*|myhand) moveto(mylibrary)])) oneshot auto={C(0/0,-1,Loyalty)}:name(-1:Bounce) moveto(ownerhand) target(creature) auto={C(0/0,-12,Loyalty)}:name(-12:Exile Cards) target(player) ability$!all(*|mylibrary) moveto(exile) _ all(*|myhand) moveto(library) !$ targetedplayer +text=+2: Look at the top card of target player's library. You may put that card on the bottom of that player's library. -- 0: Draw three cards, then put two cards from your hand on top of your library in any order. -- -1: Return target creature to its owner's hand. -- -12: Exile all cards from target player's library, then that player shuffles his or her hand into his or her library. mana={2}{U}{U} type=Planeswalker subtype=Jace @@ -59407,7 +59474,7 @@ toughness=8 name=Jaddi Offshoot abilities=defender auto=@movedTo(land|myBattlefield):life:1 controller -text=Defender -- Landfall — Whenever a land enters the battlefield under your control, you gain 1 life. +text=Defender -- Landfall -- Whenever a land enters the battlefield under your control, you gain 1 life. mana={G} type=Creature subtype=Plant @@ -60854,7 +60921,7 @@ toughness=4 name=Kalastria Healer auto=choice life:-1 all(opponent) && life:1 controller auto=@movedTo(other ally|myBattlefield):life:-1 all(opponent) && life:1 controller -text=Rally — Whenever Kalastria Healer or another Ally enters the battlefield under your control, each opponent loses 1 life and you gain 1 life. +text=Rally -- Whenever Kalastria Healer or another Ally enters the battlefield under your control, each opponent loses 1 life and you gain 1 life. mana={1}{B} type=Creature subtype=Vampire Cleric Ally @@ -62513,7 +62580,7 @@ toughness=5 [card] name=King Macar, the Gold-Cursed auto=@untapped(this):may moveto(exile) target(creature) && token(-378445) controller -text=Inspired — Whenever King Macar, the Gold-Cursed becomes untapped, you may exile target creature. If you do, put a colorless artifact token named Gold onto the battlefield. It has "Sacrifice this artifact: Add one mana of any color to your mana pool." +text=Inspired -- Whenever King Macar, the Gold-Cursed becomes untapped, you may exile target creature. If you do, put a colorless artifact token named Gold onto the battlefield. It has "Sacrifice this artifact: Add one mana of any color to your mana pool." mana={2}{B}{B} type=Legendary Creature subtype=Human @@ -63613,7 +63680,7 @@ toughness=1 name=Kor Bladewhirl auto=choice lord(creature|mybattlefield) first strike ueot auto=@movedTo(other ally|myBattlefield):lord(creature|mybattlefield) first strike ueot -text=Rally — Whenever Kor Bladewhirl or another Ally enters the battlefield under your control, creatures you control gain first strike until end of turn. +text=Rally -- Whenever Kor Bladewhirl or another Ally enters the battlefield under your control, creatures you control gain first strike until end of turn. mana={1}{W} type=Creature subtype=Kor Soldier Ally @@ -63654,7 +63721,7 @@ toughness=1 name=Kor Entanglers auto=tap target(creature|opponentbattlefield) auto=@movedTo(other ally|myBattlefield):tap target(creature|opponentbattlefield) -text=Rally — Whenever Kor Entanglers or another Ally enters the battlefield under your control, tap target creature an opponent controls. +text=Rally -- Whenever Kor Entanglers or another Ally enters the battlefield under your control, tap target creature an opponent controls. mana={4}{W} type=Creature subtype=Kor Soldier Ally @@ -64758,7 +64825,7 @@ toughness=3 name=Kytheon's Tactics auto=lord(creature|mybattlefield) 2/1 ueot auto=if type(*[instant;sorcery]|mygraveyard)~morethan~1 then lord(creature|mybattlefield) vigilance ueot -text=Creatures you control get +2/+1 until end of turn. -- Spell mastery — If there are two or more instant and/or sorcery cards in your graveyard, those creatures also gain vigilance until end of turn. (Attacking doesn't cause them to tap.) +text=Creatures you control get +2/+1 until end of turn. -- Spell mastery -- If there are two or more instant and/or sorcery cards in your graveyard, those creatures also gain vigilance until end of turn. (Attacking doesn't cause them to tap.) mana={1}{W}{W} type=Sorcery [/card] @@ -65089,7 +65156,7 @@ toughness=1 name=Lantern Scout auto=choice lord(creature|mybattlefield) lifelink ueot auto=@movedTo(other ally|myBattlefield):lord(creature|mybattlefield) lifelink ueot -text=Rally — Whenever Lantern Scout or another Ally enters the battlefield under your control, creatures you control gain lifelink until end of turn. +text=Rally -- Whenever Lantern Scout or another Ally enters the battlefield under your control, creatures you control gain lifelink until end of turn. mana={2}{W} type=Creature subtype=Human Scout Ally @@ -65712,6 +65779,7 @@ toughness=2 [/card] [card] name=Leaf-Crowned Elder +aicode=activate target(creature[share!types!zpos=1]|mylibrary) castcard(normal) auto=@each my upkeep:name(Kinship) reveal:1 optionone if type(creature[share!types!]|reveal)~morethan~0 then may castcard(restricted) target(*|reveal) optiononeend optiontwo name(Put Back On Top) target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend text=Kinship - At the beginning of your upkeep, you may look at the top card of your library. If it shares a creature type with Leaf-Crowned Elder, you may reveal it. If you do, you may play that card without paying its mana cost. mana={2}{G}{G} @@ -65894,7 +65962,7 @@ type=Enchantment name=Legion Loyalist abilities=haste auto=@combat(attacking) source(this) restriction{type(other creature[attacking]|myBattlefield)~morethan~1}:lord(creature|mybattlefield) transforms((,first strike,trample,newability[cantbeblockedby(creature[token])])) ueot -text=Haste -- Battalion — Whenever Legion Loyalist and at least two other creatures attack, creatures you control gain first strike and trample until end of turn and can't be blocked by creature tokens this turn. +text=Haste -- Battalion -- Whenever Legion Loyalist and at least two other creatures attack, creatures you control gain first strike and trample until end of turn and can't be blocked by creature tokens this turn. mana={R} type=Creature subtype=Goblin Soldier @@ -65992,7 +66060,7 @@ toughness=1 [card] name=Leonin Iconoclast auto=@targeted(this) from(*[instant;sorcery;enchantment]|mycastingzone):destroy target(Creature[enchantment]|opponentbattlefield) -text=Heroic — Whenever you cast a spell that targets Leonin Iconoclast, destroy target enchantment creature an opponent controls. +text=Heroic -- Whenever you cast a spell that targets Leonin Iconoclast, destroy target enchantment creature an opponent controls. mana={3}{W} type=Creature subtype=Cat Monk @@ -66066,7 +66134,8 @@ subtype=Aura [/card] [card] name=Leshrac's Sigil -auto=@movedto(*[green]|opponentstack):pay({B}{B}) notatarget(*|opponenthand) reject +aicode=activate notatarget(*|opponenthand) reject +auto=@movedto(*[green]|opponentstack):pay({B}{B}) reveal:type:*:opponenthand revealzone(opponenthand) optionone name(choose discards) notatarget(<1>*|reveal) moveto(ownerhand) and!( reject )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend auto={B}{B}:moveto(ownerhand) text=Whenever an opponent casts a green spell, you may pay {B}{B}. If you do, look at that player's hand and choose a card from it. The player discards that card. -- {B}{B}: Return Leshrac's Sigil to its owner's hand. mana={B}{B} @@ -66413,7 +66482,7 @@ type=Instant name=Lifecraft Cavalry abilities=trample auto=if revolt then counter(1/1,2) -text=Trample -- Revolt — Lifecraft Cavalry enters the battlefield with two +1/+1 counters on it if a permanent you controlled left the battlefield this turn. +text=Trample -- Revolt -- Lifecraft Cavalry enters the battlefield with two +1/+1 counters on it if a permanent you controlled left the battlefield this turn. mana={4}{G} type=Creature subtype=Elf Warrior @@ -67675,7 +67744,8 @@ toughness=1 [/card] [card] name=Lone Revenant -auto=@combatdamagefoeof(player) from(this) restriction{type(creature|myBattlefield)~lessthan~1}:reveal:4 optionone name(Get a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate target(*[zpos<=4]|mylibrary) moveto(myhand) +auto=@combatdamagefoeof(player) from(this) restriction{type(creature|myBattlefield)~lessthan~1}:name(look) reveal:4 optionone name(Get a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend text=Hexproof (This creature can't be the target of spells or abilities your opponents control.) -- Whenever Lone Revenant deals combat damage to a player, if you control no other creatures, look at the top four cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order. mana={3}{U}{U} abilities=opponentshroud @@ -68729,6 +68799,7 @@ toughness=2 [/card] [card] name=Lurking Informant +aicode=activate choice moveto(ownergraveyard) all(*[zpos=1]|targetedpersonslibrary) auto={ub}{t}:target(player) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(ownerlibrary) optiononeend optiontwo name(put in graveyard) target(<1>*|reveal) moveto(ownergraveyard) optiontwoend revealend text=({(u/b)} can be paid with either {U} or {B}.) -- {2}, {T}: Look at the top card of target player's library. You may put that card into that player's graveyard. mana={1}{UB} @@ -68912,7 +68983,8 @@ toughness=4 [/card] [card] name=Machinate -auto=name(Look at My top cards) reveal:type:artifact:mybattlefield optionone name(Look) target(*|reveal) moveto(myhand) optiononeend optiontwo target(<60>*|reveal) bottomoflibrary optiontwoend revealend +aicode=name(look) activate name(look) transforms((,newability[moverandom(*[zpos<=type:artifact:mybattlefield]) from(mylibrary) to(myhand)])) ueot +auto=name(Look) reveal:type:artifact:mybattlefield optionone name(Look) target(*|reveal) moveto(myhand) optiononeend optiontwo target(<60>*|reveal) bottomoflibrary optiontwoend revealend text=Look at the top X cards of your library, where X is the number of artifacts you control. Put one of those cards into your hand and the rest on the bottom of your library in any order. mana={1}{U}{U} type=Instant @@ -69673,7 +69745,7 @@ toughness=4 name=Makindi Patrol auto=choice lord(creature|mybattlefield) vigilance ueot auto=@movedTo(other ally|myBattlefield):lord(creature|mybattlefield) vigilance ueot -text=Rally — Whenever Makindi Patrol or another Ally enters the battlefield under your control, creatures you control gain vigilance until end of turn. +text=Rally -- Whenever Makindi Patrol or another Ally enters the battlefield under your control, creatures you control gain vigilance until end of turn. mana={2}{W} type=Creature subtype=Human Knight Ally @@ -69696,7 +69768,7 @@ toughness=3 name=Makindi Sliderunner abilities=trample auto=@movedTo(land|myBattlefield):1/1 ueot -text=Trample -- Landfall — Whenever a land enters the battlefield under your control, Makindi Sliderunner gets +1/+1 until end of turn. +text=Trample -- Landfall -- Whenever a land enters the battlefield under your control, Makindi Sliderunner gets +1/+1 until end of turn. mana={1}{R} type=Creature subtype=Beast @@ -69766,7 +69838,7 @@ toughness=1 [card] name=Malakir Soothsayer auto={T(ally|myBattlefield)}{t}:draw:1 && life:-1 -text=Cohort — {T}, Tap an untapped Ally you control: You draw a card and you lose 1 life. +text=Cohort -- {T}, Tap an untapped Ally you control: You draw a card and you lose 1 life. mana={4}{B} type=Creature subtype=Vampire Shaman Ally @@ -71668,7 +71740,8 @@ toughness=3 [/card] [card] name=Mayael the Anima -auto={3}{R}{G}{W}{T}:reveal:5 optionone name(Get Creature) target(creature[power >4]|reveal) moveto(mybattlefield) optiononeend optiontwo name(put on bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate target(creature[power>=5;zpos<=5]|mylibrary) moveto(mybattlefield) +auto={3}{R}{G}{W}{T}:name(look) reveal:5 optionone name(Get Creature) target(creature[power >4]|reveal) moveto(mybattlefield) optiononeend optiontwo name(put on bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend text={3}{R}{G}{W}, {T}: Look at the top five cards of your library. You may put a creature card with power 5 or greater from among them onto the battlefield. Put the rest on the bottom of your library in any order. mana={R}{G}{W} type=Legendary Creature @@ -71952,8 +72025,9 @@ toughness=3 [/card] [card] name=Meletis Astronomer -auto=@targeted(this) from(*[instant;sorcery;enchantment]|mycastingzone):reveal:3 optionone name(put in hand) notatarget(<1>*[enchantment]|reveal) moveto(ownerhand) optiononeend optiontwo notatarget(<3>*|reveal) bottomoflibrary optiontwoend revealend -text=Heroic — Whenever you cast a spell that targets Meletis Astronomer, look at the top three cards of your library. You may reveal an enchantment card from among them and put it into your hand. Put the rest on the bottom of your library in any order. +aicode=activate target(enchantment[zpos<=3]|mylibrary) moveto(myhand) +auto=@targeted(this) from(*[instant;sorcery;enchantment]|mycastingzone):name(look) reveal:3 optionone name(put in hand) notatarget(<1>*[enchantment]|reveal) moveto(ownerhand) optiononeend optiontwo notatarget(<3>*|reveal) bottomoflibrary optiontwoend revealend +text=Heroic -- Whenever you cast a spell that targets Meletis Astronomer, look at the top three cards of your library. You may reveal an enchantment card from among them and put it into your hand. Put the rest on the bottom of your library in any order. mana={1}{U} type=Creature subtype=Human Wizard @@ -72284,7 +72358,7 @@ auto=choice name(exile all artifacts) moveTo(exile) all(artifact) auto=choice name(exile all creatures) moveTo(exile) all(creature) auto=choice name(exile all enchantments) moveTo(exile) all(enchantment) auto=choice name(exile all planeswalkers) moveTo(exile) all(planeswalker) -text=Choose one — Exile all artifacts; or exile all creatures; or exile all enchantments; or exile all planeswalkers. +text=Choose one -- Exile all artifacts; or exile all creatures; or exile all enchantments; or exile all planeswalkers. mana={4}{W}{B} type=Sorcery [/card] @@ -72415,6 +72489,7 @@ type=Creature subtype=Merfolk Rogue power=2 toughness=1 +aicode=activate name(look) donothing auto=target(player) name(Look) reveal:1 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo all(*|reveal) moveto(ownerlibrary) optiontwoend revealend text=When Merfolk Observer enters the battlefield, look at the top card of target player's library. [/card] @@ -73488,7 +73563,8 @@ type=Enchantment [card] name=Mind Warp target=player -auto=target(*|targetedpersonshand) reject +aicode=activate reject notatarget(*|targetedpersonshand) +auto=name(look) reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(choose discards) target(*|reveal) moveto(ownerhand) and!( reject )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend text=Look at target player's hand and choose X cards from it. That player discards them. mana={X}{3}{B} type=Sorcery @@ -74102,6 +74178,7 @@ toughness=3 [/card] [card] name=Mirri's Guile +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=3]|mylibrary) moverandom(*[zpos<=3]) from(mylibrary) to(mylibrary)])) ueot auto=@each my upkeep:name(Look at top cards) reveal:3 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo name(put back) target(<3>*|reveal) moveto(mylibrary) optiontwoend revealend text=At the beginning of your upkeep, you may look at the top three cards of your library, then put them back in any order. mana={G} @@ -74293,6 +74370,7 @@ toughness=4 [/card] [card] name=Mishra's Bauble +aicode=name(look) activate name(look) phaseaction[upkeep once] draw:1 controller auto={T}{S}:target(player) reveal:1 optionone name(Put On Top) target(<1>*|reveal) moveto(ownerlibrary) optiononeend afterrevealed transforms((,newability[phaseaction[upkeep once] draw:1 controller])) oneshot afterrevealedend revealend text={T}, Sacrifice Mishra's Bauble: Look at the top card of target player's library. Draw a card at the beginning of the next turn's upkeep. mana={0} @@ -74687,6 +74765,7 @@ type=Land [/card] [card] name=Mitotic Manipulation +aicode=activate choice bottomoflibrary all(*[zpos<=7]|mylibrary) auto=reveal:7 optionone name(Get a card with same name) target(*|reveal) aslongas(*[share!name!]|battlefield) moveTo(mybattlefield) optiononeend optiontwo name(put on bottom) target(<7>*|reveal) bottomoflibrary optiontwoend revealend text=Look at the top seven cards of your library. You may put one of those cards onto the battlefield if it has the same name as a permanent. Put the rest on the bottom of your library in any order. mana={1}{U}{U} @@ -75593,7 +75672,8 @@ type=Instant [/card] [card] name=Moonlight Bargain -auto=reveal:5 optionone name(Select Cards) target(*|reveal) transforms((,newability[pay({L:2}) name(Pay Life) moveto(myhand) ])) forever optiononeend optiontwo name(put in graveyard) target(<5>*|reveal) moveto(mygraveyard) optiontwoend revealend +aicode=activate choice all(*[zpos<=5]|mylibrary) transforms((,newability[pay({L:2}) name(Pay Life) moveto(myhand)?moveto(mygraveyard)])) ueot +auto=name(look) reveal:5 optionone name(Select Cards) target(*|reveal) transforms((,newability[pay({L:2}) name(Pay Life) moveto(myhand) ])) forever optiononeend optiontwo name(put in graveyard) target(<5>*|reveal) moveto(mygraveyard) optiontwoend revealend text=Look at the top five cards of your library. For each card, put that card into your graveyard unless you pay 2 life. Then put the rest into your hand. mana={3}{B}{B} type=Instant @@ -75635,6 +75715,7 @@ type=Enchantment name=Moonring Island auto={t}:add{u} auto=tap(noevent) +aicode=activate name(look) donothing auto={u}{t}:target(player) name(Look) reveal:1 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo all(*|reveal) moveto(ownerlibrary) optiontwoend revealend restriction{type(*[blue]|mybattlefield)~morethan~1} text=({T}: Add {U} to your mana pool.) -- Moonring Island enters the battlefield tapped. -- {U}, {T}: Look at the top card of target player's library. Activate this ability only if you control two or more blue permanents. type=Land @@ -76324,7 +76405,7 @@ toughness=3 name=Mournwillow abilities=haste auto=while(restriction{delirium}) lord(creature[power<=2]) cantblock ueot -text=Haste -- Delirium — When Mournwillow enters the battlefield, if there are four or more card types among cards in your graveyard, creatures with power 2 or less can't block this turn. +text=Haste -- Delirium -- When Mournwillow enters the battlefield, if there are four or more card types among cards in your graveyard, creatures with power 2 or less can't block this turn. mana={1}{B}{G} type=Creature subtype=Plant Skeleton @@ -76459,6 +76540,7 @@ toughness=3 [/card] [card] name=Mudbutton Clanger +aicode=activate target(*[zpos=1]|mylibrary) moveto(mylibrary) and!(moveto(mylibrary) and!(if cantargetcard(creature[share!types!]|*) then all(this) 1/1 ueot )!)! auto=@each my upkeep:name(Kinship) reveal:1 optionone if type(creature[share!types!]|reveal)~morethan~0 then all(this) +1/+1 ueot optiononeend optiontwo name(Put Back On Top) target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend text=Kinship - At the beginning of your upkeep, you may look at the top card of your library. If it shares a creature type with Mudbutton Clanger, you may reveal it. If you do, Mudbutton Clanger gets +1/+1 until end of turn. mana={R} @@ -76592,9 +76674,10 @@ toughness=3 [card] name=Munda, Ambush Leader abilities=haste +aicode=activate target(<4>ally[zpos<=4]|mylibrary) moveto(mylibrary) and!(moveto(mylibrary))! auto=may name(look) reveal:4 optionone choice name(put on top) target(ally|reveal) moveto(ownerlibrary) optiononeend optiontwo choice name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend auto=@movedTo(other ally|myBattlefield):may name(look) reveal:4 optionone choice name(put on top) target(ally|reveal) moveto(ownerlibrary) optiononeend optiontwo choice name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend -text=Haste -- Rally — Whenever Munda, Ambush Leader or another Ally enters the battlefield under your control, you may look at the top four cards of your library. If you do, reveal any number of Ally cards from among them, then put those cards on top of your library in any order and the rest on the bottom in any order. +text=Haste -- Rally -- Whenever Munda, Ambush Leader or another Ally enters the battlefield under your control, you may look at the top four cards of your library. If you do, reveal any number of Ally cards from among them, then put those cards on top of your library in any order and the rest on the bottom in any order. mana={2}{R}{W} type=Legendary Creature subtype=Kor Ally @@ -76604,7 +76687,7 @@ toughness=4 [card] name=Munda's Vanguard auto={T(ally|myBattlefield)}{t}:all(creature|mybattlefield) counter(1/1,1) -text=Cohort — {T}, Tap an untapped Ally you control: Put a +1/+1 counter on each creature you control. +text=Cohort -- {T}, Tap an untapped Ally you control: Put a +1/+1 counter on each creature you control. mana={4}{W} type=Creature subtype=Kor Knight Ally @@ -76635,7 +76718,7 @@ toughness=2 [card] name=Murasa Ranger auto=@movedTo(land|myBattlefield):pay({3}{G}) counter(1/1,2) -text=Landfall — Whenever a land enters the battlefield under your control, you may pay {3}{G}. If you do, put two +1/+1 counters on Murasa Ranger. +text=Landfall -- Whenever a land enters the battlefield under your control, you may pay {3}{G}. If you do, put two +1/+1 counters on Murasa Ranger. mana={3}{G} type=Creature subtype=Human Warrior @@ -76666,7 +76749,7 @@ toughness=4 name=Murderer's Axe auto={D(*|myhand)}:equip auto=teach(creature) 2/2 -text=Equipped creature gets +2/+2. -- Equip—Discard a card. +text=Equipped creature gets +2/+2. -- Equip--Discard a card. mana={4} type=Artifact subtype=Equipment @@ -76814,7 +76897,8 @@ type=Sorcery [/card] [card] name=Muzzio, Visionary Architect -auto={3}{U}{T}:name(Look at My top cards) reveal:convertedcost:highest:artifact:mybattlefield optionone name(Get Artifact) target(artifact|reveal) moveto(ownerbattlefield) optiononeend optiontwo all(*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate target(artifact[zpos<=convertedcost:highest:artifact:mybattlefield]|mylibrary) moveto(mybattlefield) +auto={3}{U}{T}:name(Look) reveal:convertedcost:highest:artifact:mybattlefield optionone name(Get Artifact) target(artifact|reveal) moveto(ownerbattlefield) optiononeend optiontwo all(*|reveal) bottomoflibrary optiontwoend revealend text={3}{U}, {T}: Look at the top X cards of your library, where X is the highest converted mana cost among artifacts you control. You may reveal an artifact card from among them and put it onto the battlefield. Put the rest on the bottom of your library in any order. mana={1}{U}{U} type=Legendary Creature @@ -77373,7 +77457,8 @@ toughness=2 [card] name=Mystic Speculation buyback={u}{2} -auto=reveal:3 optionone name(Scry) target(*|reveal) doNothing optiononeend optiontwo target(<3>*|reveal) moveto(ownerlibrary) optiontwoend revealend +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=3]|mylibrary) moverandom(*[zpos<=3]) from(mylibrary) to(mylibrary)])) ueot +auto=name(scry cards) reveal:3 optionone name(look) target(*|reveal) doNothing optiononeend optiontwo target(<3>*|reveal) moveto(ownerlibrary) optiontwoend revealend text=Buyback {2} (You may pay an additional {2} as you cast this spell. If you do, put this card into your hand as it resolves.) -- Scry 3. (To scry 3, look at the top three cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={U} type=Sorcery @@ -77493,8 +77578,9 @@ toughness=3 [/card] [card] name=Nagging Thoughts -auto=reveal:2 optionone name(Get a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put in graveyard) target(<2>*|reveal) moveto(mygraveyard) optiontwoend revealend abilities=madness +aicode=activate transforms((,newability[choice all(*[zpos=2]|mylibrary) moveto(myhand) and!(deplete:1)!],newability[choice all(*[zpos=1]|mylibrary) moveto(myhand) and!(deplete:1)!])) ueot +auto=name(look) reveal:2 optionone name(Get a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put in graveyard) target(<2>*|reveal) moveto(mygraveyard) optiontwoend revealend autoexile=restriction{discarded} pay({1}{U}) name(pay 1U to cast) activate name(pay 1U to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard) text=Look at the top two cards of your library. Put one of them into your hand and the other into your graveyard. -- Madness {1}{U} (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={1}{U} @@ -77719,7 +77805,7 @@ toughness=1 name=Narnam Renegade abilities=deathtouch auto=if revolt then counter(1/1,1) -text=Deathtouch -- Revolt — Narnam Renegade enters the battlefield with a +1/+1 counter on it if a permanent you controlled left the battlefield this turn. +text=Deathtouch -- Revolt -- Narnam Renegade enters the battlefield with a +1/+1 counter on it if a permanent you controlled left the battlefield this turn. mana={G} type=Creature subtype=Elf Warrior @@ -77846,7 +77932,8 @@ type=Sorcery [card] name=Natural Selection target=player -auto=name(Reveal cards) reveal:3 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<3>*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed may shuffle targetedplayer afterrevealedend revealend +aicode=name(look) activate name(look) target(<3>*[zpos<=3]]|targetedpersonslibrary) moveto(ownerlibrary) +auto=name(Look) reveal:3 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<3>*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed may shuffle targetedplayer afterrevealedend revealend text=Look at the top three cards of target player's library and put them back in any order. You may have that player shuffle his or her library. mana={G} type=Instant @@ -77970,7 +78057,7 @@ type=Sorcery [card] name=Nav Squad Commandos auto=@combat(attacking) source(this) restriction{type(other creature[attacking]|myBattlefield)~morethan~1}:1/1 ueot && untap -text=Battalion — Whenever Nav Squad Commandos and at least two other creatures attack, Nav Squad Commandos gets +1/+1 until end of turn. Untap it. +text=Battalion -- Whenever Nav Squad Commandos and at least two other creatures attack, Nav Squad Commandos gets +1/+1 until end of turn. Untap it. mana={4}{W} type=Creature subtype=Human Soldier @@ -78222,7 +78309,7 @@ type=Enchantment name=Necromantic Summons target=creature|graveyard auto=if type(*[instant;sorcery]|mygraveyard)~morethan~1 then transforms((,newability[moveto(mybattlefield)],newability[counter(1/1.2)])) forever else moveto(mybattlefield) -text=Put target creature card from a graveyard onto the battlefield under your control. -- Spell mastery — If there are two or more instant and/or sorcery cards in your graveyard, that creature enters the battlefield with two additional +1/+1 counters on it. +text=Put target creature card from a graveyard onto the battlefield under your control. -- Spell mastery -- If there are two or more instant and/or sorcery cards in your graveyard, that creature enters the battlefield with two additional +1/+1 counters on it. mana={4}{B} type=Sorcery [/card] @@ -78606,7 +78693,8 @@ toughness=3 [/card] [card] name=Nessian Game Warden -auto=name(Look at My top cards) reveal:type:forest:mybattlefield optionone name(Get a Card) target(creature|reveal) moveto(myhand) optiononeend optiontwo all(*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate target(creature[zpos<=type:forest:mybattlefield]|mylibrary) moveto(myhand) +auto=name(Look) reveal:type:forest:mybattlefield optionone name(Get a Card) target(creature|reveal) moveto(myhand) optiononeend optiontwo all(*|reveal) bottomoflibrary optiontwoend revealend text=When Nessian Game Warden enters the battlefield, look at the top X cards of your library, where X is the number of Forests you control. You may reveal a creature card from among them and put it into your hand. Put the rest on the bottom of your library in any order. mana={3}{G}{G} type=Creature @@ -78902,6 +78990,7 @@ type=Artifact name=New Benalia auto=tap(noevent) auto={t}:add{w} +aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary) auto=name(Scry) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend text=New Benalia enters the battlefield tapped. -- When New Benalia enters the battlefield, scry 1. (To scry 1, look at the top card of your library, then you may put that card on the bottom of your library.) -- {T}: Add {W} to your mana pool. type=Land @@ -79102,7 +79191,7 @@ type=Enchantment name=Night Market Aeronaut abilities=flying auto=if revolt then counter(1/1,1) -text=Flying -- Revolt — Night Market Aeronaut enters the battlefield with a +1/+1 counter on it if a permanent you controlled left the battlefield this turn. +text=Flying -- Revolt -- Night Market Aeronaut enters the battlefield with a +1/+1 counter on it if a permanent you controlled left the battlefield this turn. mana={3}{B} type=Creature subtype=Aetherborn Warrior @@ -79335,6 +79424,7 @@ toughness=1 [/card] [card] name=Nightshade Schemers +aicode=activate target(*[zpos=1]|mylibrary) moveto(mylibrary) and!(moveto(mylibrary) and!(if cantargetcard(creature[share!types!]|*) then life:-2 opponent )!)! auto=@each my upkeep:name(Kinship) reveal:1 optionone if type(creature[share!types!]|reveal)~morethan~0 then life:-2 opponent optiononeend optiontwo name(Put Back On Top) target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend text=Flying -- Kinship - At the beginning of your upkeep, you may look at the top card of your library. If it shares a creature type with Nightshade Schemers, you may reveal it. If you do, each opponent loses 2 life. mana={4}{B} @@ -79793,7 +79883,7 @@ type=Sorcery [card] name=Nissa's Pilgrimage auto=if type(*[instant;sorcery]|mygraveyard)~morethan~1 then name(fetch to play) notatarget(forest[basic]|mylibrary) transforms((,newability[name(move to hand) notatarget(forest[basic]|mylibrary) moveTo(myhand)],newability[moveTo(myBattlefield) and!(tap(noevent))!])) oneshot else name(fetch to play) notatarget(forest[basic]|mylibrary) transforms((,newability[name(move to hand) notatarget(forest[basic]|mylibrary) moveTo(myhand)],newability[moveTo(myBattlefield) and!(tap(noevent))!])) oneshot -text=Search your library for up to two basic Forest cards, reveal those cards, and put one onto the battlefield tapped and the rest into your hand. Then shuffle your library. -- Spell mastery — If there are two or more instant and/or sorcery cards in your graveyard, search your library for up to three basic Forest cards instead of two. +text=Search your library for up to two basic Forest cards, reveal those cards, and put one onto the battlefield tapped and the rest into your hand. Then shuffle your library. -- Spell mastery -- If there are two or more instant and/or sorcery cards in your graveyard, search your library for up to three basic Forest cards instead of two. mana={2}{G} type=Sorcery [/card] @@ -80762,7 +80852,7 @@ toughness=7 name=Oakheart Dryads auto=1/1 target(creature) ueot auto=@movedTo(enchantment|myBattlefield):1/1 target(creature) ueot -text=Constellation — Whenever Oakheart Dryads or another enchantment enters the battlefield under your control, target creature gets +1/+1 until end of turn. +text=Constellation -- Whenever Oakheart Dryads or another enchantment enters the battlefield under your control, target creature gets +1/+1 until end of turn. mana={2}{G} type=Enchantment Creature subtype=Nymph Dryad @@ -80841,7 +80931,8 @@ type=Enchantment [/card] [card] name=Oath of Nissa -auto=reveal:3 optionone name(Get a card) target(<1>*[creature;land;planeswalker]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<3>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate target(creature,land,planeswalker[zpos<=3]|mylibrary) moveto(myhand) +auto=name(look) reveal:3 optionone name(Get a card) target(<1>*[creature;land;planeswalker]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<3>*|reveal) bottomoflibrary optiontwoend revealend auto=lord(planeswalker|mycastingzone) anytypeofmana text=When Oath of Nissa enters the battlefield, look at the top three cards of your library. You may reveal a creature, land, or planeswalker card from among them and put it into your hand. Put the rest on the bottom of your library in any order. -- You may spend mana as though it were mana of any color to cast planeswalker spells. mana={G} @@ -81458,7 +81549,7 @@ name=Ojutai Exemplars auto=@movedto(*[-creature]|mystack):choice name(Tap target creature) tap target(creature|battlefield) auto=@movedto(*[-creature]|mystack):choice name(First Strike and Lifelink) transforms((,newability[first strike ueot],newability[lifelink ueot])) ueot auto=@movedto(*[-creature]|mystack):choice name(Exile and returned tapped) moveto(exile) and!( transforms((,newability[moveto(ownerbattlefield) and!(tap(noevent))!])) forever)! -text=Whenever you cast a noncreature spell, choose one — -- — Tap target creature. -- — Ojutai Exemplars gains first strike and lifelink until end of turn. -- — Exile Ojutai Exemplars, then return it to the battlefield tapped under its owner's control. +text=Whenever you cast a noncreature spell, choose one -- -- -- Tap target creature. -- -- Ojutai Exemplars gains first strike and lifelink until end of turn. -- -- Exile Ojutai Exemplars, then return it to the battlefield tapped under its owner's control. mana={2}{W}{W} type=Creature subtype=Human Monk @@ -81618,7 +81709,8 @@ toughness=2 [/card] [card] name=Omen -auto=name(Look at My top cards) reveal:3 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<3>*|reveal) moveto(mylibrary) optiontwoend afterrevealed transforms((,newability[choice shuffle && draw:1],newability[choice name(Cancel) draw:1])) afterrevealedend revealend +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=4]|mylibrary) moverandom(*[zpos<=4]) from(mylibrary) to(mylibrary)],newability[draw:1])) ueot +auto=name(Look) reveal:3 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<3>*|reveal) moveto(mylibrary) optiontwoend afterrevealed transforms((,newability[choice shuffle && draw:1],newability[choice name(Cancel) draw:1])) afterrevealedend revealend text=Look at the top three cards of your library, then put them back in any order. You may shuffle your library. -- Draw a card. mana={1}{U} type=Sorcery @@ -81637,7 +81729,7 @@ toughness=3 name=Omnath, Locus of Rage auto=@movedTo(land|myBattlefield):token(Elemental,Creature Elemental,5/5,red,green) controller auto=@movedto(Elemental|graveyard) from(mybattlefield):damage:3 target(creature,player) -text=Landfall — Whenever a land enters the battlefield under your control, put a 5/5 red and green Elemental creature token onto the battlefield. -- Whenever Omnath, Locus of Rage or another Elemental you control dies, Omnath deals 3 damage to target creature or player. +text=Landfall -- Whenever a land enters the battlefield under your control, put a 5/5 red and green Elemental creature token onto the battlefield. -- Whenever Omnath, Locus of Rage or another Elemental you control dies, Omnath deals 3 damage to target creature or player. mana={3}{R}{R}{G}{G} type=Legendary Creature subtype=Elemental @@ -81675,7 +81767,7 @@ subtype=Equipment name=Ondu Champion auto=choice lord(creature|mybattlefield) trample ueot auto=@movedTo(other ally|myBattlefield):lord(creature|mybattlefield) trample ueot -text=Rally — Whenever Ondu Champion or another Ally enters the battlefield under your control, creatures you control gain trample until end of turn. +text=Rally -- Whenever Ondu Champion or another Ally enters the battlefield under your control, creatures you control gain trample until end of turn. mana={2}{R}{R} type=Creature subtype=Minotaur Warrior Ally @@ -81707,7 +81799,7 @@ toughness=4 name=Ondu Greathorn abilities=first strike auto=@movedTo(land|myBattlefield):2/2 ueot -text=First strike -- Landfall — Whenever a land enters the battlefield under your control, Ondu Greathorn gets +2/+2 until end of turn. +text=First strike -- Landfall -- Whenever a land enters the battlefield under your control, Ondu Greathorn gets +2/+2 until end of turn. mana={3}{W} type=Creature subtype=Beast @@ -81726,7 +81818,7 @@ type=Sorcery [card] name=Ondu War Cleric auto={T(ally|myBattlefield)}{t}:life:2 controller -text=Cohort — {T}, Tap an untapped Ally you control: You gain 2 life. +text=Cohort -- {T}, Tap an untapped Ally you control: You gain 2 life. mana={1}{W} type=Creature subtype=Human Cleric Ally @@ -82124,6 +82216,7 @@ type=Enchantment [/card] [card] name=Opt +aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary) auto=name(Look) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend auto=draw:1 text=Look at the top card of your library. You may put that card on the bottom of your library. -- Draw a card. @@ -82174,7 +82267,7 @@ name=Oran-Rief Hydra abilities=trample auto=@movedTo(land[-forest]|myBattlefield):counter(1/1,1) auto=@movedTo(land[forest]|myBattlefield):counter(1/1,2) -text=Trample -- Landfall — Whenever a land enters the battlefield under your control, put a +1/+1 counter on Oran-Rief Hydra. If that land is a Forest, put two +1/+1 counters on Oran-Rief Hydra instead. +text=Trample -- Landfall -- Whenever a land enters the battlefield under your control, put a +1/+1 counter on Oran-Rief Hydra. If that land is a Forest, put two +1/+1 counters on Oran-Rief Hydra instead. mana={4}{G}{G} type=Creature subtype=Hydra @@ -82378,6 +82471,7 @@ toughness=1 [/card] [card] name=Orcish Librarian +aicode=activate transforms((,newability[moverandom(*[zpos<=8]) from(mylibrary) to(myexile)],newability[moverandom(*[zpos<=8]) from(mylibrary) to(myexile)],newability[moverandom(*[zpos<=8]) from(mylibrary) to(myexile)],newability[moverandom(*[zpos<=8]) from(mylibrary) to(myexile)])) ueot auto={r}{t}:reveal:8 optionone name(Exile 4 cards) moverandom(*) from(reveal) to(myexile) && moverandom(*) from(reveal) to(myexile) && moverandom(*) from(reveal) to(myexile) && moverandom(*) from(reveal) to(myexile) optiononeend optiontwo name(put on top) target(<8>*|reveal) moveto(mylibrary) optiontwoend revealend text={R}, {T}: Look at the top eight cards of your library. Exile four of them at random, then put the rest on top of your library in any order. mana={1}{R} @@ -82441,6 +82535,7 @@ toughness=1 [/card] [card] name=Orcish Spy +aicode=activate name(look) donothing auto={t}:target(player) reveal:3 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo all(*|reveal) moveto(ownerlibrary) optiontwoend revealend text={T}: Look at the top three cards of target player's library. mana={R} @@ -82595,7 +82690,7 @@ toughness=1 [card] name=Ordruun Veteran auto=@combat(attacking) source(this) restriction{type(other creature[attacking]|myBattlefield)~morethan~1}:double strike ueot -text=Battalion — Whenever Ordruun Veteran and at least two other creatures attack, Ordruun Veteran gains double strike until end of turn. (It deals both first-strike and regular combat damage.) +text=Battalion -- Whenever Ordruun Veteran and at least two other creatures attack, Ordruun Veteran gains double strike until end of turn. (It deals both first-strike and regular combat damage.) mana={2}{R}{W} type=Creature subtype=Minotaur Soldier @@ -82721,7 +82816,7 @@ type=Instant name=Oriss, Samite Guardian auto={T}:name(prevent all damage) target(creature) transforms((,newability[preventalldamage to(this)])) ueot auto={D(*[share!name!]|myhand)}:target(player) maxCast(*)0 ueot && lord(creature|targetedpersonsbattlefield) cantattack ueot -text={T}: Prevent all damage that would be dealt to target creature this turn. Grandeur — Discard another card named Oriss, Samite Guardian: Target player can't cast spells this turn, and creatures that player controls can't attack this turn. +text={T}: Prevent all damage that would be dealt to target creature this turn. Grandeur -- Discard another card named Oriss, Samite Guardian: Target player can't cast spells this turn, and creatures that player controls can't attack this turn. mana={1}{W}{W} type=Legendary Creature subtype=Human Cleric @@ -83431,7 +83526,7 @@ type=Enchantment 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. +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} type=Creature subtype=Human Wizard @@ -83456,7 +83551,8 @@ toughness=1 [card] name=Painful Memories target=player -auto=target(*|targetedpersonshand) moveTo(ownerlibrary) +aicode=activate target(*|targetedpersonshand) moveTo(ownerlibrary) +auto=reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(choose cards) target(<1>*|reveal) moveto(ownerlibrary) optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend text=Look at target opponent's hand and choose a card from it. Put that card on top of that player's library. mana={1}{B} type=Sorcery @@ -83472,7 +83568,7 @@ type=Enchantment name=Painful Truths auto=draw:converge controller auto=life:-converge controller -text=Converge — You draw X cards and you lose X life, where X is the number of colors of mana spent to cast Painful Truths. +text=Converge -- You draw X cards and you lose X life, where X is the number of colors of mana spent to cast Painful Truths. mana={2}{B} type=Sorcery [/card] @@ -83512,7 +83608,7 @@ toughness=1 name=Palace Siege auto=choice name(Khans) transforms((,newability[counter(0/0.1.Khans)],newability[@each my upkeep:moveto(myhand) target(creature|mygraveyard)])) forever auto=choice name(Dragons) transforms((,newability[counter(0/0.1.Dragons)],newability[@each my upkeep:life:-2 opponent && life:2 controller])) forever -text=As Palace Siege enters the battlefield, choose Khans or Dragons. -- — Khans — At the beginning of your upkeep, return target creature card from your graveyard to your hand. -- — Dragons — At the beginning of your upkeep, each opponent loses 2 life and you gain 2 life. +text=As Palace Siege enters the battlefield, choose Khans or Dragons. -- -- Khans -- At the beginning of your upkeep, return target creature card from your graveyard to your hand. -- -- Dragons -- At the beginning of your upkeep, each opponent loses 2 life and you gain 2 life. mana={3}{B}{B} type=Enchantment [/card] @@ -83919,9 +84015,7 @@ type=Enchantment [card] name=Paralyze target=creature -auto=tap -auto=doesnotuntap -auto=teach(creature) {4}:untap myUpkeepOnly +auto=teach(creature) transforms((,newability[tap],newability[{4}:untap myUpkeepOnly],doesnotuntap)) text=Enchant creature -- When Paralyze enters the battlefield, tap enchanted creature. -- Enchanted creature doesn't untap during its controller's untap step. -- At the beginning of the upkeep of enchanted creature's controller, that player may pay {4}. If he or she does, untap the creature. mana={B} type=Enchantment @@ -84504,7 +84598,8 @@ type=Enchantment [card] name=Peek target=player -auto=name(see target hand) target(*|targetedpersonshand) donothing +aicode=name(look) activate name(look) target(*|targetedpersonshand) donothing +auto=name(look) reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(look) target(<1>*|reveal) moveto(ownerhand) and!(all(*|reveal) moveto(ownerhand))! optiononeend revealend auto=draw:1 controller text=Look at target player's hand. -- Draw a card. mana={U} @@ -84551,7 +84646,8 @@ type=Sorcery [/card] [card] name=Peer Through Depths -auto=reveal:5 optionone name(Get instant or sorcery) target(instant,sorcery|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate target(instant,sorcery[zpos<=5]|mylibrary) moveto(myhand) +auto=name(look) reveal:5 optionone name(Get instant or sorcery) target(instant,sorcery|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend text=Look at the top five cards of your library. You may reveal an instant or sorcery card from among them and put it into your hand. Put the rest on the bottom of your library in any order. mana={1}{U} type=Instant @@ -85055,7 +85151,8 @@ toughness=3 [/card] [card] name=Petals of Insight -auto=reveal:3 optionone name(Put Back On Top) target(*|reveal) transforms((,newability[all(*|reveal) moveto(mylibrary)])) oneshot optiononeend optiontwo choice name(Put on Bottom and Draw) all(this) moveto(myhand) && all(*|reveal) bottomoflibrary && draw:3 optiontwoend +aicode=activate choice bottomoflibrary all(*[zpos<=3]|mylibrary) && all(this) moveto(ownerhand) and!( draw:3 )! +auto=name(look) reveal:3 optionone name(Put Back On Top) target(*|reveal) transforms((,newability[all(*|reveal) moveto(mylibrary)])) oneshot optiononeend optiontwo choice name(Put on Bottom and Draw) all(this) moveto(myhand) && all(*|reveal) bottomoflibrary && draw:3 optiontwoend revealend text=Look at the top three cards of your library. You may put those cards on the bottom of your library in any order. If you do, return Petals of Insight to its owner's hand. Otherwise, draw three cards. mana={4}{U} type=Sorcery @@ -86108,7 +86205,7 @@ toughness=2 name=Pick the Brain target=opponent auto=reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(choose card) target(*[-land]|reveal) moveto(exile) and!( if delirium then transforms((,newability[all(*[share!name!]|mygraveyard) moveto(exile)],newability[all(*[share!name!]|myhand) moveto(exile)],newability[all(*[share!name!]|mylibrary) moveto(exile) and!(shuffle)!]))) oneshot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend -text=Target opponent reveals his or her hand. You choose a nonland card from it and exile that card. -- Delirium — If there are four or more card types among cards in your graveyard, search that player's graveyard, hand, and library for any number of cards with the same name as the exiled card, exile those cards, then that player shuffles his or her library. +text=Target opponent reveals his or her hand. You choose a nonland card from it and exile that card. -- Delirium -- If there are four or more card types among cards in your graveyard, search that player's graveyard, hand, and library for any number of cards with the same name as the exiled card, exile those cards, then that player shuffles his or her library. mana={2}{B} type=Sorcery [/card] @@ -87132,7 +87229,8 @@ type=Sorcery [/card] [card] name=Ponder -auto=name(Look at My top cards) reveal:3 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<3>*|reveal) moveto(mylibrary) optiontwoend afterrevealed transforms((,newability[choice shuffle && draw:1],newability[choice name(Cancel) draw:1])) oneshot afterrevealedend revealend +aicode=activate choice bottomoflibrary all(*[zpos<=3]|mylibrary) && choice draw:1 +auto=name(Look) reveal:3 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<3>*|reveal) moveto(mylibrary) optiontwoend afterrevealed transforms((,newability[choice shuffle && draw:1],newability[choice name(Cancel) draw:1])) oneshot afterrevealedend revealend text=Look at the top three cards of your library, then put them back in any order. You may shuffle your library. -- Draw a card. mana={U} type=Sorcery @@ -87208,7 +87306,8 @@ type=Enchantment [/card] [card] name=Port Inspector -auto=@combat(blocked,turnlimited) source(this):name(look at opponents hand) target(*|opponenthand) donothing ueot +aicode=name(look) activate name(look) target(*|opponenthand) donothing +auto=@combat(blocked,turnlimited) source(this):name(look) reveal:ohandcount revealzone(opponenthand) optionone name(look) target(<1>*|reveal) moveto(ownerhand) and!(all(*|reveal) moveto(ownerhand))! optiononeend revealend text=Whenever Port Inspector becomes blocked, you may look at defending player's hand. mana={1}{U} type=Creature @@ -87243,7 +87342,8 @@ type=Sorcery [card] name=Portent target=player -auto=name(Reveal cards) reveal:3 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<3>*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed may shuffle targetedplayer afterrevealedend revealend +aicode=activate moveto(ownerlibrary) target(*[zpos<=3]|targetedpersonslibrary) +auto=name(look) reveal:3 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<3>*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed may shuffle targetedplayer afterrevealedend revealend auto=@next upkeep:draw:1 controller text=Look at the top three cards of target player's library, then put them back in any order. You may have that player shuffle his or her library. -- Draw a card at the beginning of the next turn's upkeep. mana={U} @@ -87512,6 +87612,7 @@ type=Instant [/card] [card] name=Precognition +aicode=activate choice bottomoflibrary all(*[zpos=1]|targetedpersonslibrary) auto=@each my upkeep:may target(opponent) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(ownerlibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend text=At the beginning of your upkeep, you may look at the top card of target opponent's library. If you do, you may put that card on the bottom of that player's library. mana={4}{U} @@ -87562,7 +87663,7 @@ subtype=Aura name=Predator's Howl auto=ifnot morbid then token(Wolf,Creature Wolf,2/2,green) auto=if morbid then token(Wolf,Creature Wolf,2/2,green)*3 -text=Put a 2/2 green Wolf creature token onto the battlefield. -- Morbid — Put three 2/2 green Wolf creature tokens onto the battlefield instead if a creature died this turn. +text=Put a 2/2 green Wolf creature token onto the battlefield. -- Morbid -- Put three 2/2 green Wolf creature tokens onto the battlefield instead if a creature died this turn. mana={3}{G} type=Instant [/card] @@ -88182,7 +88283,7 @@ name=Prism Array auto=counter(0/0,converge,crystal) auto={c(0/0,-1,crystal)}:tap target(creature) auto={W}{U}{B}{R}{G}:scry:3 scrycore delayed dontshow donothing scrycoreend scryend -text=Converge — Prism Array enters the battlefield with a crystal counter on it for each color of mana spent to cast it. -- Remove a crystal counter from Prism Array: Tap target creature. -- {W}{U}{B}{R}{G}: Scry 3. (Look at the top three cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) +text=Converge -- Prism Array enters the battlefield with a crystal counter on it for each color of mana spent to cast it. -- Remove a crystal counter from Prism Array: Tap target creature. -- {W}{U}{B}{R}{G}: Scry 3. (Look at the top three cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={4}{U} type=Enchantment [/card] @@ -88209,7 +88310,7 @@ type=Instant name=Prismatic Geoscope auto=tap(noevent) auto={T}:name(add mana) thisforeach(variable{pbasiclandtypes}>0) ability$! choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller -text=Prismatic Geoscope enters the battlefield tapped. -- Domain — {T}: Add X mana in any combination of colors to your mana pool, where X is the number of basic land types among lands you control. +text=Prismatic Geoscope enters the battlefield tapped. -- Domain -- {T}: Add X mana in any combination of colors to your mana pool, where X is the number of basic land types among lands you control. mana={5} type=Artifact [/card] @@ -88612,7 +88713,8 @@ toughness=3 name=Prophetic Bolt target=creature,player auto=damage:4 -auto=reveal:4 optionone name(Get a card) target(*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate transforms((,newability[moveto(myhand) all(*[zpos=1]|mylibrary) && bottomoflibrary all(*[zpos<=3]|mylibrary)])) ueot +auto=name(look) reveal:4 optionone name(Get a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend text=Prophetic Bolt deals 4 damage to target creature or player. Look at the top four cards of your library. Put one of those cards into your hand and the rest on the bottom of your library. mana={3}{U}{R} type=Instant @@ -89246,6 +89348,7 @@ type=Instant [/card] [card] name=Puresight Merrow +aicode=activate may moveto(exile) all(*[zpos=1]|mylibrary) auto={WU}{q}:name(Look) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put in exile) target(<1>*|reveal) moveto(myexile) optiontwoend revealend text={(w/u)}, {Q}: Look at the top card of your library. You may exile that card. ({Q} is the untap symbol.) mana={WU}{WU} @@ -89568,7 +89671,7 @@ type=Instant name=Pyrewild Shaman autohand={1}{R}{discard}:name(bloodrush) target(creature[attacking]) 3/1 ueot autograveyard=@each combatdamage restriction{opponentdamagedbycombat}:pay({3}) moveto(ownerhand) -text=Bloodrush — {1}{R}, Discard Pyrewild Shaman: Target attacking creature gets +3/+1 until end of turn. -- Whenever one or more creatures you control deal combat damage to a player, if Pyrewild Shaman is in your graveyard, you may pay {3}. If you do, return Pyrewild Shaman to your hand. +text=Bloodrush -- {1}{R}, Discard Pyrewild Shaman: Target attacking creature gets +3/+1 until end of turn. -- Whenever one or more creatures you control deal combat damage to a player, if Pyrewild Shaman is in your graveyard, you may pay {3}. If you do, return Pyrewild Shaman to your hand. mana={2}{R} type=Creature subtype=Goblin Shaman @@ -89609,6 +89712,7 @@ type=Sorcery [/card] [card] name=Pyroclast Consul +aicode=activate target(*[zpos=1]|mylibrary) moveto(mylibrary) and!(moveto(mylibrary) and!(if cantargetcard(creature[share!types!]|*) then damage:2 all(creature|battlefield) )!)! auto=@each my upkeep:name(Kinship) reveal:1 optionone if type(creature[share!types!]|reveal)~morethan~0 then all(creature|battlefield) damage:2 optiononeend optiontwo name(Put Back On Top) target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend text=Kinship - At the beginning of your upkeep, you may look at the top card of your library. If it shares a creature type with Pyroclast Consul, you may reveal it. If you do, Pyroclast Consul deals 2 damage to each creature. mana={3}{R}{R} @@ -89828,8 +89932,9 @@ type=Enchantment [/card] [card] name=Quest for Ula's Temple +aicode=activate moveto(mylibrary) and!(moveto(mylibrary))! target(creature[zpos=1]|mylibrary) auto=@each my upkeep:reveal:1 optionone if type(creature|reveal)~morethan~0 then all(this) counter(0/0,1,quest) optiononeend optiontwo name(Put Back On Top) target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend -auto=this(counter{0/0.1.Quest}>=3) transforms((,newability[@each my end:moveto(mybattlefield) target(Kraken, Leviathan, Octopus,Serpent|myhand)])) forever +auto=this(counter{0/0.1.Quest}>=3) transforms((,newability[@each my end:moveto(mybattlefield) target(Kraken, Leviathan, Octopus,Serpent|myhand)])) text=At the beginning of your upkeep, you may look at the top card of your library. If it's a creature card, you may reveal it and put a quest counter on Quest for Ula's Temple. -- At the beginning of each end step, if there are three or more quest counters on Quest for Ula's Temple, you may put a Kraken, Leviathan, Octopus, or Serpent creature card from your hand onto the battlefield. mana={U} type=Enchantment @@ -90296,7 +90401,7 @@ toughness=3 [card] name=Radiant Flames auto=damage:converge all(creature|battlefield) -text=Converge — Radiant Flames deals X damage to each creature, where X is the number of colors of mana spent to cast Radiant Flames. +text=Converge -- Radiant Flames deals X damage to each creature, where X is the number of colors of mana spent to cast Radiant Flames. mana={2}{R} type=Sorcery [/card] @@ -90768,7 +90873,7 @@ name=Rakdos Charm auto=choice target(player) moveTo(exile) all(*|targetedpersonsgraveyard) auto=aslongas(artifact|battlefield) choice destroy target(artifact) auto=choice name(damage) transforms((,newability[damage:1 controller])) all(creature|battlefield) -text=Choose one — Exile all cards from target player's graveyard; or destroy target artifact; or each creature deals 1 damage to its controller. +text=Choose one -- Exile all cards from target player's graveyard; or destroy target artifact; or each creature deals 1 damage to its controller. mana={B}{R} type=Instant [/card] @@ -91286,6 +91391,7 @@ toughness=3 [card] name=Ransack target=player +aicode=activate choice bottomoflibrary all(*[zpos<=5]|targetedpersonslibrary) auto=reveal:5 optionone name(Put On Top) target(*|reveal) moveto(ownerlibrary) optiononeend optiontwo name(put on bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend text=Look at the top five cards of target player's library. Put any number of them on the bottom of that library in any order and the rest on top of the library in any order. mana={3}{U} @@ -91588,7 +91694,7 @@ name=Ravaging Blaze target=creature auto=damage:X auto=if type(*[instant;sorcery]|mygraveyard)~morethan~1 then damage:x targetcontroller -text=Ravaging Blaze deals X damage to target creature. -- Spell mastery — If there are two or more instant and/or sorcery cards in your graveyard, Ravaging Blaze also deals X damage to that creature's controller. +text=Ravaging Blaze deals X damage to target creature. -- Spell mastery -- If there are two or more instant and/or sorcery cards in your graveyard, Ravaging Blaze also deals X damage to that creature's controller. mana={X}{R}{R} type=Instant [/card] @@ -91617,6 +91723,7 @@ toughness=6 [card] name=Raven Familiar auto=upcost[{2}{u};next upkeep] sacrifice +aicode=activate transforms((,newability[moveto(myhand) all(*[zpos=1]|mylibrary) && bottomoflibrary all(*[zpos<=2]|mylibrary)])) ueot auto=reveal:3 optionone name(Get a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<3>*|reveal) bottomoflibrary optiontwoend revealend text=Flying -- Echo {2}{U} (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 Raven Familiar enters the battlefield, look at the top three cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order. mana={2}{U} @@ -93306,7 +93413,7 @@ type=Artifact [card] name=Renegade Rallier auto=if revolt then moveto(mybattlefield) target(*[-instant;-sorcery;manacost<=2]|mygraveyard) -text=Revolt — When Renegade Rallier enters the battlefield, if a permanent you controlled left the battlefield this turn, return target permanent card with converted mana cost 2 or less from your graveyard to the battlefield. +text=Revolt -- When Renegade Rallier enters the battlefield, if a permanent you controlled left the battlefield this turn, return target permanent card with converted mana cost 2 or less from your graveyard to the battlefield. mana={1}{G}{W} type=Creature subtype=Human Warrior @@ -93658,7 +93765,7 @@ toughness=4 name=Resolute Blademaster auto=choice lord(creature|mybattlefield) double strike ueot auto=@movedTo(other ally|myBattlefield):lord(creature|mybattlefield) double strike ueot -text=Rally — Whenever Resolute Blademaster or another Ally enters the battlefield under your control, creatures you control gain double strike until end of turn. +text=Rally -- Whenever Resolute Blademaster or another Ally enters the battlefield under your control, creatures you control gain double strike until end of turn. mana={3}{R}{W} type=Creature subtype=Human Soldier Ally @@ -93947,29 +94054,29 @@ type=Instant [/card] [card] name=Retreat to Coralhelm -auto=@movedTo(land|myBattlefield):name(choose one) transforms((,newability[reveal:1 optionone name(Scry Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend],newability[choice name(Tap creature) target(creature) tap])) oneshot -text=Landfall — Whenever a land enters the battlefield under your control, choose one — --You may tap or untap target creature. --Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) +auto=@movedTo(land|myBattlefield):name(choose one) transforms((,newability[choice ability$!reveal:1 optionone name(Scry Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend!$ controller],newability[choice name(untap creature) target(creature) untap],newability[choice name(tap creature) target(creature) tap])) ueot +text=Landfall -- Whenever a land enters the battlefield under your control, choose one -- --You may tap or untap target creature. --Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={2}{U} type=Enchantment [/card] [card] name=Retreat to Emeria auto=@movedTo(land|myBattlefield):name(choose one) transforms((,newability[choice name(Kor Token) create(Kor Ally:Creature Kor Ally:1/1:white) controller],newability[choice name(1/1 ueot) lord(creature|mybattlefield) 1/1 ueot])) -text=Landfall — Whenever a land enters the battlefield under your control, choose one — -- — Put a 1/1 white Kor Ally creature token onto the battlefield. -- — Creatures you control get +1/+1 until end of turn. +text=Landfall -- Whenever a land enters the battlefield under your control, choose one -- -- -- Put a 1/1 white Kor Ally creature token onto the battlefield. -- -- Creatures you control get +1/+1 until end of turn. mana={3}{W} type=Enchantment [/card] [card] name=Retreat to Hagra auto=@movedTo(land|myBattlefield):name(choose one) transforms((,newability[choice 1/0 && deathtouch target(creature)],newability[choice life:-1 opponent && life:1 controller])) -text=Landfall — Whenever a land enters the battlefield under your control, choose one — --Target creature gets +1/+0 and gains deathtouch until end of turn. --Each opponent loses 1 life and you gain 1 life. +text=Landfall -- Whenever a land enters the battlefield under your control, choose one -- --Target creature gets +1/+0 and gains deathtouch until end of turn. --Each opponent loses 1 life and you gain 1 life. mana={2}{B} type=Enchantment [/card] [card] name=Retreat to Kazandu auto=@movedTo(land|myBattlefield):transforms((,newability[if type(creature|battlefield)~morethan~0 then choice target(creature) counter(1/1)],newability[choice name(gain 2 life) life:2 controller])) -text=Landfall — Whenever a land enters the battlefield under your control, choose one — -- — Put a +1/+1 counter on target creature. -- — You gain 2 life. +text=Landfall -- Whenever a land enters the battlefield under your control, choose one -- -- -- Put a +1/+1 counter on target creature. -- -- You gain 2 life. mana={2}{G} type=Enchantment [/card] @@ -95767,7 +95874,7 @@ toughness=5 name=Roil Elemental abilities=flying auto=@movedTo(land|myBattlefield):may steal target(creature) -text=Flying -- Landfall — Whenever a land enters the battlefield under your control, you may gain control of target creature for as long as you control Roil Elemental. +text=Flying -- Landfall -- Whenever a land enters the battlefield under your control, you may gain control of target creature for as long as you control Roil Elemental. mana={3}{U}{U}{U} type=Creature subtype=Elemental @@ -95788,7 +95895,7 @@ type=Sorcery name=Roiling Horror anyzone=mathlifetotalminusopponentlifetotalminusendmathend/mathlifetotalminusopponentlifetotalminusendmathend cdaactive autoexile=@counterremoved(0/0,1,Time) from(sourcecard) suspended:ability$!choice life:-1 target(opponent) && life:1 controller!$ controller -text=Roiling Horror's power and toughness are each equal to your life total minus the life total of an opponent with the most life. -- Suspend X—{X}{B}{B}{B}. X can't be 0. (Rather than cast this card from your hand, you may pay {X}{B}{B}{B} and exile it with X time counters on it. At the beginning of your upkeep, remove a time counter. When the last is removed, cast it without paying its mana cost. It has haste.) -- Whenever a time counter is removed from Roiling Horror while it's exiled, target player loses 1 life and you gain 1 life. +text=Roiling Horror's power and toughness are each equal to your life total minus the life total of an opponent with the most life. -- Suspend X--{X}{B}{B}{B}. X can't be 0. (Rather than cast this card from your hand, you may pay {X}{B}{B}{B} and exile it with X time counters on it. At the beginning of your upkeep, remove a time counter. When the last is removed, cast it without paying its mana cost. It has haste.) -- Whenever a time counter is removed from Roiling Horror while it's exiled, target player loses 1 life and you gain 1 life. mana={3}{B}{B} suspend(0)={X}{b}{b}{b} type=Creature @@ -95809,7 +95916,7 @@ type=Sorcery name=Roilmage's Trick auto=lord(creature|opponentbattlefield) -converge/0 ueot auto=draw:1 controller -text=Converge — Creatures your opponents control get -X/-0 until end of turn, where X is the number of colors of mana spent to cast Roilmage's Trick. +text=Converge -- Creatures your opponents control get -X/-0 until end of turn, where X is the number of colors of mana spent to cast Roilmage's Trick. mana={3}{U} type=Sorcery [/card] @@ -96173,8 +96280,9 @@ toughness=1 [/card] [card] name=Rootwater Mystic +aicode=activate name(look) donothing text={1}{U}: Look at the top card of target player's library. -auto={1}{U}:target(player) name(Look at top card) reveal:1 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo all(*|reveal) moveto(ownerlibrary) optiontwoend revealend +auto={1}{U}:target(player) name(target player) reveal:1 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo all(*|reveal) moveto(ownerlibrary) optiontwoend revealend mana={U} type=Creature subtype=Merfolk Wizard @@ -96442,7 +96550,7 @@ toughness=4 [card] name=Rubblebelt Maaka autohand={R}{discard}:name(bloodrush) target(creature[attacking]) 3/3 ueot -text=Bloodrush — {R}, Discard Rubblebelt Maaka: Target attacking creature gets +3/+3 until end of turn. +text=Bloodrush -- {R}, Discard Rubblebelt Maaka: Target attacking creature gets +3/+3 until end of turn. mana={3}{R} type=Creature subtype=Cat @@ -96463,7 +96571,7 @@ toughness=3 name=Rubblehulk anyzone=type:land:mybattlefield/type:land:mybattlefield cdaactive autohand={1}{R}{G}{discard}:name(bloodrush) target(creature[attacking]) type:land:mybattlefield/type:land:mybattlefield ueot -text=Rubblehulk's power and toughness are each equal to the number of lands you control. -- Bloodrush — {1}{R}{G}, Discard Rubblehulk: Target attacking creature gets +X/+X until end of turn, where X is the number of lands you control. +text=Rubblehulk's power and toughness are each equal to the number of lands you control. -- Bloodrush -- {1}{R}{G}, Discard Rubblehulk: Target attacking creature gets +X/+X until end of turn, where X is the number of lands you control. mana={4}{R}{G} type=Creature subtype=Elemental @@ -96709,6 +96817,7 @@ toughness=1 [/card] [card] name=Rummaging Wizard +aicode=activate may moveto(mygraveyard) all(*[zpos=1]|mylibrary) auto={2}{U}:name(Look) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put in graveyard) target(<1>*|reveal) moveto(mygraveyard) optiontwoend revealend text={2}{U}: Look at the top card of your library. You may put that card into your graveyard. mana={3}{U} @@ -97292,7 +97401,7 @@ toughness=5 name=Sabertooth Outrider abilities=trample auto=@combat(attacking) source(this) restriction{compare(powertotalinplay)~morethan~7}:first strike ueot -text=Trample -- Formidable — Whenever Sabertooth Outrider attacks, if creatures you control have total power 8 or greater, Sabertooth Outrider gains first strike until end of turn. +text=Trample -- Formidable -- Whenever Sabertooth Outrider attacks, if creatures you control have total power 8 or greater, Sabertooth Outrider gains first strike until end of turn. mana={3}{R} type=Creature subtype=Human Warrior @@ -97548,8 +97657,9 @@ toughness=2 [/card] [card] name=Sage Aven +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=4]|mylibrary) moverandom(*[zpos<=4]) from(mylibrary) to(mylibrary)])) ueot +auto=name(Look) reveal:4 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<4>*|reveal) moveto(mylibrary) optiontwoend revealend text=Flying (This creature can't be blocked except by creatures with flying or reach.) -- When Sage Aven enters the battlefield, look at the top four cards of your library, then put them back in any order. -auto=name(Look at My top cards) reveal:4 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<4>*|reveal) moveto(mylibrary) optiontwoend revealend mana={3}{U} abilities=flying type=Creature @@ -97571,8 +97681,8 @@ toughness=* [/card] [card] name=Sage of Epityr -auto=name(Look at My top cards) reveal:4 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<4>*|reveal) moveto(mylibrary) optiontwoend revealend -text=Flying -- When Sage Owl enters the battlefield, look at the top four cards of your library, then put them back in any order. +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=4]|mylibrary) moverandom(*[zpos<=4]) from(mylibrary) to(mylibrary)])) ueot +auto=name(Look) reveal:4 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<4>*|reveal) moveto(mylibrary) optiontwoend revealend text=When Sage of Epityr enters the battlefield, look at the top four cards of your library, then put them back in any order. mana={U} type=Creature @@ -97625,7 +97735,8 @@ toughness=4 [card] name=Sage Owl abilities=flying -auto=name(Look at My top cards) reveal:4 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<4>*|reveal) moveto(mylibrary) optiontwoend revealend +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=4]|mylibrary) moverandom(*[zpos<=4]) from(mylibrary) to(mylibrary)])) ueot +auto=name(Look) reveal:4 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<4>*|reveal) moveto(mylibrary) optiontwoend revealend text=Flying -- When Sage Owl enters the battlefield, look at the top four cards of your library, then put them back in any order. mana={1}{U} type=Creature @@ -97970,7 +98081,7 @@ toughness=1 [card] name=Samite Pilgrim auto={T}:prevent:pbasiclandtypes target(creature,player) -text=Domain — {T}: Prevent the next X damage that would be dealt to target creature this turn, where X is the number of basic land types among lands you control. +text=Domain -- {T}: Prevent the next X damage that would be dealt to target creature this turn, where X is the number of basic land types among lands you control. mana={1}{W} type=Creature subtype=Human Cleric @@ -98966,7 +99077,7 @@ toughness=2 [card] name=Scab-Clan Charger autohand={1}{G}{discard}:name(bloodrush) target(creature[attacking]) 2/4 ueot -text=Bloodrush — {1}{G}, Discard Scab-Clan Charger: Target attacking creature gets +2/+4 until end of turn. +text=Bloodrush -- {1}{G}, Discard Scab-Clan Charger: Target attacking creature gets +2/+4 until end of turn. mana={3}{G} type=Creature subtype=Centaur Warrior @@ -99560,7 +99671,7 @@ type=Instant [card] name=Scorchwalker autohand={1}{R}{R}{discard}:name(bloodrush) target(creature[attacking]) 5/1 ueot -text=Bloodrush — {1}{R}{R}, Discard Scorchwalker: Target attacking creature gets +5/+1 until end of turn. +text=Bloodrush -- {1}{R}{R}, Discard Scorchwalker: Target attacking creature gets +5/+1 until end of turn. mana={3}{R} type=Creature subtype=Elemental @@ -99639,7 +99750,7 @@ type=Instant name=Scour the Laboratory anyzone=while(restriction{delirium}) changecost(colorless:-2) forcedalive auto=draw:3 -text=Delirium — Scour the Laboratory costs {2} less to cast if there are four or more card types among cards in your graveyard. -- Draw three cards. +text=Delirium -- Scour the Laboratory costs {2} less to cast if there are four or more card types among cards in your graveyard. -- Draw three cards. mana={4}{U}{U} type=Instant [/card] @@ -100102,7 +100213,7 @@ toughness=1 name=Scrib Nibblers 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. +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} type=Creature subtype=Rat @@ -100215,7 +100326,8 @@ toughness=1 [card] name=Scrying Sheets auto={t}:add{1} -auto={1}{i}:name(Snow) reveal:1 optionone if type(*[snow]|reveal)~morethan~0 then target(*|reveal) moveto(myhand) optiononeend optiontwo name(Put Back On Top) target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend +aicode=activate target(*[snow;zpos=1]|mylibrary) moveto(myhand) +auto={1}{i}:name(look) reveal:1 optionone if type(*[snow]|reveal)~morethan~0 then target(*|reveal) moveto(myhand) optiononeend optiontwo name(Put Back On Top) target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend text={T}: Add {1} to your mana pool. -- {1}{S}i}, {T}: Look at the top card of your library. If that card is snow, you may reveal it and put it into your hand. ({S}i} can be paid with one mana from a snow permanent.) type=Snow Land [/card] @@ -100325,7 +100437,7 @@ toughness=1 [card] name=Scythe Leopard auto=@movedTo(land|myBattlefield):1/1 ueot -text=Landfall — Whenever a land enters the battlefield under your control, Scythe Leopard gets +1/+1 until end of turn. +text=Landfall -- Whenever a land enters the battlefield under your control, Scythe Leopard gets +1/+1 until end of turn. mana={G} type=Creature subtype=Cat @@ -100413,7 +100525,8 @@ type=Creature subtype=Human Wizard power=1 toughness=3 -auto=reveal:2 optionone name(Get a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<2>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate transforms((,newability[moveto(myhand) all(*[zpos=1]|mylibrary) && bottomoflibrary all(*[zpos=2]|mylibrary)])) ueot +auto=name(look) reveal:2 optionone name(Get a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<2>*|reveal) bottomoflibrary optiontwoend revealend text=When Sea Gate Oracle enters the battlefield, look at the top two cards of your library. Put one of them into your hand and the other on the bottom of your library. [/card] [card] @@ -100609,7 +100722,7 @@ type=Enchantment [card] name=Sealed Fate target=opponent -auto=name(Look at top cards) reveal:x optionone name(exile a card) target(*|reveal) moveto(ownerexile) optiononeend optiontwo target(<60>*|reveal) moveto(ownerlibrary) optiontwoend revealend +auto=name(Look) reveal:x revealzone(targetedpersonslibrary) optionone name(exile a card) target(*|reveal) moveto(ownerexile) optiononeend optiontwo target(<60>*|reveal) moveto(ownerlibrary) optiontwoend revealend text=Look at the top X cards of target opponent's library. Exile one of those cards and put the rest back on top of that player's library in any order. mana={X}{U}{B} type=Sorcery @@ -101009,7 +101122,7 @@ type=Sorcery name=See the Unwritten auto=if type(creature[power>3]|mybattlefield)~morethan~0 then reveal:8 revealzone(mylibrary) optionone target(<2>creature|reveal) moveto(mybattlefield) and!( all(*|reveal) moveto(ownergraveyard) )! optiononeend optiontwo all(*|reveal) moveto(ownergraveyard) optiontwoend revealend auto=if type(creature[power>3]|mybattlefield)~lessthan~1 then reveal:8 revealzone(mylibrary) optionone target(<1>creature|reveal) moveto(mybattlefield) and!( all(*|reveal) moveto(ownergraveyard) )! optiononeend optiontwo all(*|reveal) moveto(ownergraveyard) optiontwoend revealend -text=Reveal the top eight cards of your library. You may put a creature card from among them onto the battlefield. Put the rest into your graveyard. -- Ferocious — If you control a creature with power 4 or greater, you may put two creature cards onto the battlefield instead of one. +text=Reveal the top eight cards of your library. You may put a creature card from among them onto the battlefield. Put the rest into your graveyard. -- Ferocious -- If you control a creature with power 4 or greater, you may put two creature cards onto the battlefield instead of one. mana={4}{G}{G} type=Sorcery [/card] @@ -101116,7 +101229,8 @@ type=Sorcery [/card] [card] name=Seek the Wilds -auto=reveal:4 optionone name(Get a card) target(<1>*[creature;land]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate moveto(myhand) target(*[creature;land;zpos<=4]|mylibrary) +auto=name(look) reveal:4 optionone name(Get a card) target(<1>*[creature;land]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend text=Look at the top four cards of your library. You may reveal a creature or land card from among them and put it into your hand. Put the rest on the bottom of your library in any order. mana={1}{G} type=Sorcery @@ -101154,6 +101268,7 @@ subtype=Aura [card] name=Seer's Lantern auto={t}:add{c} +aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary) auto={2}{t}:name(Scry) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend text={T}: Add {C} to your mana pool. ({C} represents colorless mana.) -- {2}, {T}: Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={3} @@ -101394,7 +101509,7 @@ name=Selesnya Charm auto=choice name(2/2 & trample) target(creature) transforms((,newability[2/2],newability[trample])) ueot auto=choice moveTo(exile) target(creature[power>=5]) auto=choice token(Knight,Creature Knight,2/2,white,vigilance) -text=Choose one — Target creature gets +2/+2 and gains trample until end of turn; or exile target creature with power 5 or greater; or put a 2/2 white Knight creature token with vigilance onto the battlefield. +text=Choose one -- Target creature gets +2/+2 and gains trample until end of turn; or exile target creature with power 5 or greater; or put a 2/2 white Knight creature token with vigilance onto the battlefield. mana={G}{W} type=Instant [/card] @@ -101587,7 +101702,7 @@ name=Send to Sleep target=creature|battlefield auto=tap auto=if type(*[instant;sorcery]|mygraveyard)~morethan~1 then frozen -text=Tap up to two target creatures. -- Spell mastery — If there are two or more instant and/or sorcery cards in your graveyard, those creatures don't untap during their controllers' next untap steps. +text=Tap up to two target creatures. -- Spell mastery -- If there are two or more instant and/or sorcery cards in your graveyard, those creatures don't untap during their controllers' next untap steps. mana={1}{U} type=Instant [/card] @@ -101637,6 +101752,7 @@ toughness=4 [/card] [card] name=Sensation Gorger +aicode=activate target(*[zpos=1]|mylibrary) moveto(mylibrary) and!(moveto(mylibrary) and!(if cantargetcard(creature[share!types!]|*) then reject all(*|hand) && draw:4 all(player) )!)! auto=@each my upkeep:name(Kinship) reveal:1 optionone if type(creature[share!types!]|reveal)~morethan~0 then all(player) discard:20 && draw:4 optiononeend optiontwo name(Put Back On Top) target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend text=Kinship - At the beginning of your upkeep, you may look at the top card of your library. If it shares a creature type with Sensation Gorger, you may reveal it. If you do, each player discards his or her hand and draws four cards. mana={1}{R}{R} @@ -101658,7 +101774,8 @@ toughness=1 [/card] [card] name=Sensei's Divining Top -auto={1}:name(Look at My top cards) reveal:3 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<3>*|reveal) moveto(mylibrary) optiontwoend revealend +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=3]|mylibrary) moverandom(*[zpos<=3]) from(mylibrary) to(mylibrary)])) ueot +auto={1}:name(Look) reveal:3 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<3>*|reveal) moveto(mylibrary) optiontwoend revealend auto={t}:draw:1 && all(this) moveto(mylibrary) text={1}: Look at the top three cards of your library, then put them back in any order. -- {T}: Draw a card, then put Sensei's Divining Top on top of its owner's library. mana={1} @@ -102198,6 +102315,7 @@ type=Artifact [card] name=Serum Visions auto=draw:1 +aicode=activate may bottomoflibrary all(*[zpos<=2]|mylibrary) auto=name(Look) reveal:2 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<2>*|reveal) bottomoflibrary optiontwoend revealend text=Draw a card. -- Scry 2. (To scry 2, look at the top two cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.) mana={U} @@ -102635,6 +102753,7 @@ toughness=3 [/card] [card] name=Shadows of the Past +aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary) auto=@movedTo(creature|graveyard) from(battlefield):name(Scry) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend auto={4}{B}:life:-2 opponent && life:2 controller restriction{type(creature|mygraveyard)~morethan~3} text=Whenever a creature dies, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {4}{B}: Each opponent loses 2 life and you gain 2 life. Activate this ability only if there are four or more creature cards in your graveyard. @@ -102686,7 +102805,7 @@ name=Shaman of the Great Hunt abilities=haste auto=lord(creature|mybattlefield) transforms((,newability[@combatdamaged(player) from(this):counter(1/1.1) all(this)])) auto={2}{GU}{GU}:foreach(creature[power>=4]|mybattlefield) draw:1 -text=Haste -- Whenever a creature you control deals combat damage to a player, put a +1/+1 counter on it. -- Ferocious — {2}{G/U}{G/U}: Draw a card for each creature you control with power 4 or greater. +text=Haste -- Whenever a creature you control deals combat damage to a player, put a +1/+1 counter on it. -- Ferocious -- {2}{G/U}{G/U}: Draw a card for each creature you control with power 4 or greater. mana={3}{R} type=Creature subtype=Orc Shaman @@ -102707,7 +102826,7 @@ toughness=2 name=Shamanic Revelation auto=draw:type:creature:mybattlefield auto=foreach(creature[power>=4]|mybattlefield) life:4 -text=Draw a card for each creature you control. -- Ferocious — You gain 4 life for each creature you control with power 4 or greater. +text=Draw a card for each creature you control. -- Ferocious -- You gain 4 life for each creature you control with power 4 or greater. mana={3}{G}{G} type=Sorcery [/card] @@ -104098,7 +104217,8 @@ mana={2} type=Artifact auto=@each my upkeep:counter(0/0,1,charge) auto=@movedTo(*[blue]|mystack):counter(0/0,1,charge) -auto={t}{s}:name(Look at My top cards) reveal:counter{0%0.1.charge} optionone name(Get a Card) target(*|reveal) moveto(myhand) optiononeend optiontwo target(<60>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate target(*[zpos<=counter{0%0.1.charge}]|mylibrary) moveto(myhand) +auto={t}{s}:name(Look) reveal:counter{0%0.1.charge} optionone name(Get a Card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo all(*|reveal) bottomoflibrary optiontwoend revealend text=At the beginning of your upkeep or whenever you cast a blue spell, put a charge counter on Shrine of Piercing Vision. {T}, Sacrifice Shrine of Piercing Vision: Look at the top X cards of your library, where X is the number of charge counters on Shrine of Piercing Vision. Put one of those cards into your hand and the rest on the bottom of your library in any order. [/card] [card] @@ -104516,7 +104636,8 @@ toughness=2 [/card] [card] name=Sight Beyond Sight -auto=reveal:2 optionone name(Get a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<2>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate transforms((,newability[moveto(myhand) all(*[zpos=1]|mylibrary) && bottomoflibrary all(*[zpos=2]|mylibrary)])) ueot +auto=name(look) reveal:2 optionone name(Get a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<2>*|reveal) bottomoflibrary optiontwoend revealend auto=if rebound then moveto(exile) and!( transforms((,newability[@rebounded:may activate castcard(normal)])) forever )! text=Look at the top two cards of your library. Put one of them into your hand and the other on the bottom of your library. -- Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.) mana={3}{U} @@ -104897,7 +105018,7 @@ toughness=7 name=Silkweaver Elite abilities=reach auto=if revolt then draw:1 controller -text=Reach (This creature can block creatures with flying.) -- Revolt — When Silkweaver Elite enters the battlefield, if a permanent you controlled left the battlefield this turn, draw a card. +text=Reach (This creature can block creatures with flying.) -- Revolt -- When Silkweaver Elite enters the battlefield, if a permanent you controlled left the battlefield this turn, draw a card. mana={2}{G} type=Creature subtype=Elf Archer @@ -105635,7 +105756,7 @@ toughness=6 name=Skarrg Goliath abilities=trample autohand={5}{G}{G}{discard}:name(bloodrush) target(creature[attacking]) trample && 9/9 ueot -text=Trample -- Bloodrush — {5}{G}{G}, Discard Skarrg Goliath: Target attacking creature gets +9/+9 and gains trample until end of turn. +text=Trample -- Bloodrush -- {5}{G}{G}, Discard Skarrg Goliath: Target attacking creature gets +9/+9 and gains trample until end of turn. mana={6}{G}{G} type=Creature subtype=Beast @@ -105851,7 +105972,7 @@ toughness=4 [card] name=Skinbrand Goblin autohand={R}{discard}:name(bloodrush) target(creature[attacking]) 2/1 ueot -text=Bloodrush — {R}, Discard Skinbrand Goblin: Target attacking creature gets +2/+1 until end of turn. +text=Bloodrush -- {R}, Discard Skinbrand Goblin: Target attacking creature gets +2/+1 until end of turn. mana={1}{R} type=Creature subtype=Goblin Warrior @@ -106390,7 +106511,7 @@ toughness=1 name=Skybind auto=(blink) target(*[-enchantment]) ueot auto=@movedTo(enchantment|myBattlefield):(blink) target(*[-enchantment]) ueot -text=Constellation — Whenever Skybind or another enchantment enters the battlefield under your control, exile target nonenchantment permanent. Return that card to the battlefield under its owner's control at the beginning of the next end step. +text=Constellation -- Whenever Skybind or another enchantment enters the battlefield under your control, exile target nonenchantment permanent. Return that card to the battlefield under its owner's control at the beginning of the next end step. mana={3}{W}{W} type=Enchantment [/card] @@ -106592,7 +106713,7 @@ type=Sorcery name=Skyrider Elf abilities=flying auto=counter(1/1,converge) -text=Flying -- Converge — Skyrider Elf enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it. +text=Flying -- Converge -- Skyrider Elf enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it. mana={X}{G}{U} type=Creature subtype=Elf Warrior Ally @@ -107078,7 +107199,7 @@ type=Instant [card] name=Slaughterhorn autohand={G}{discard}:name(bloodrush) target(creature[attacking]) 3/2 ueot -text=Bloodrush — {G}, Discard Slaughterhorn: Target attacking creature gets +3/+2 until end of turn. +text=Bloodrush -- {G}, Discard Slaughterhorn: Target attacking creature gets +3/+2 until end of turn. mana={2}{G} type=Creature subtype=Beast @@ -107215,6 +107336,7 @@ subtype=Aura [/card] [card] name=Sleight of Hand +aicode=activate transforms((,newability[moveto(myhand) all(*[zpos=1]|mylibrary) && bottomoflibrary all(*[zpos=2]|mylibrary)])) ueot auto=name(Look) reveal:2 optionone name(Get a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<2>*|reveal) bottomoflibrary optiontwoend revealend text=Look at the top two cards of your library. Put one of them into your hand and the other on the bottom of your library. mana={U} @@ -107936,7 +108058,7 @@ toughness=2 [card] name=Snapping Gnarlid auto=@movedTo(land|myBattlefield):1/1 ueot -text=Landfall — Whenever a land enters the battlefield under your control, Snapping Gnarlid gets +1/+1 until end of turn. +text=Landfall -- Whenever a land enters the battlefield under your control, Snapping Gnarlid gets +1/+1 until end of turn. mana={1}{G} type=Creature subtype=Beast @@ -108229,6 +108351,7 @@ toughness=0 name=Soldevi Excavations auto=if type(island[-tapped]|mybattlefield)~morethan~0 then sacrifice notatarget(island[-tapped]|mybattlefield) oneshot else sacrifice auto={t}:add{1}{u} +aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary) auto={1}{t}:name(Look) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend text=If Soldevi Excavations would enter the battlefield, sacrifice an untapped Island instead. If you do, put Soldevi Excavations onto the battlefield. If you don't, put it into its owner's graveyard. -- {T}: Add {1}{U} to your mana pool. -- {1}, {T}: Look at the top card of your library. You may put that card on the bottom of your library. type=Land @@ -108330,7 +108453,7 @@ type=Sorcery name=Solemn Recruit abilities=double strike auto=if revolt then counter(1/1,1) -text=Double strike -- Revolt — At the beginning of your end step, if a permanent you controlled left the battlefield this turn, put a +1/+1 counter on Solemn Recruit. +text=Double strike -- Revolt -- At the beginning of your end step, if a permanent you controlled left the battlefield this turn, put a +1/+1 counter on Solemn Recruit. mana={1}{W}{W} type=Creature subtype=Dwarf Warrior @@ -108815,7 +108938,8 @@ toughness=1 [card] name=Sorcerous Sight target=opponent -auto=name(see target hand) target(*|targetedpersonshand) donothing +aicode=name(look) activate name(look) target(*|targetedpersonshand) donothing +auto=name(look) reveal:ohandcount revealzone(opponenthand) optionone name(look) target(<1>*|reveal) moveto(ownerhand) and!(all(*|reveal) moveto(ownerhand))! optiononeend revealend auto=draw:1 controller text=Look at target opponent's hand. -- Draw a card. mana={U} @@ -109614,7 +109738,7 @@ toughness=5 [card] name=Spawnbinder Mage auto={T(ally|myBattlefield)}{t}:target(creature) tap -text=Cohort — {T}, Tap an untapped Ally you control: Tap target creature. +text=Cohort -- {T}, Tap an untapped Ally you control: Tap target creature. mana={3}{W} type=Creature subtype=Human Wizard Ally @@ -110000,7 +110124,7 @@ name=Spellbinder auto={4}:equip auto=may imprint notatarget(instant|myhand) auto=@combatdamaged(player) from(mytgt):activate castcard(copied noevent named!:imprintedcard:!) -text=Imprint — When Spellbinder enters the battlefield, you may exile an instant card from your hand. -- Whenever equipped creature deals combat damage to a player, you may copy the exiled card. If you do, you may cast the copy without paying its mana cost. -- Equip {4} +text=Imprint -- When Spellbinder enters the battlefield, you may exile an instant card from your hand. -- Whenever equipped creature deals combat damage to a player, you may copy the exiled card. If you do, you may cast the copy without paying its mana cost. -- Equip {4} mana={3} type=Artifact subtype=Equipment @@ -110097,7 +110221,9 @@ type=Artifact [/card] [card] name=Sphinx of Jwar Isle -auto={0}:name(Look) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put it back) all(*|reveal) moveto(mylibrary) optiontwoend revealend +alias=185709 +aicode=activate name(look) donothing +auto={0}:name(Look) reveal:1 optionone name(look) target(<1>*|reveal) moveto(mylibrary) optiononeend optiontwo name(put it back) all(*|reveal) moveto(mylibrary) optiontwoend revealend text=Flying, shroud -- You may look at the top card of your library. (You may do this at any time.) mana={4}{U}{U} type=Creature @@ -110475,6 +110601,7 @@ toughness=1 name=Spin into Myth target=creature auto=moveto(ownerlibrary) +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=2]|targetedpersonslibrary) moverandom(*[zpos<=2]) from(targetedpersonslibrary) to(targetedpersonslibrary)])) ueot auto=transforms((,newability[target(opponent) reveal:2 optionone name(Put on Bottom) target(*|reveal) bottomoflibrary optiononeend optiontwo name(put on top) target(<2>*|reveal) moveto(ownerlibrary) optiontwoend revealend])) forever text=Put target creature on top of its owner's library, then fateseal 2. (To fateseal 2, look at the top two cards of an opponent's library, then put any number of them on the bottom of that player's library and the rest on top in any order.) mana={4}{U} @@ -110683,7 +110810,8 @@ type=Land [card] name=Spire Owl abilities=flying -auto=name(Look at My top cards) reveal:4 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<4>*|reveal) moveto(mylibrary) optiontwoend revealend +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=4]|mylibrary) moverandom(*[zpos<=4]) from(mylibrary) to(mylibrary)])) ueot +auto=name(Look) reveal:4 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<4>*|reveal) moveto(mylibrary) optiontwoend revealend text=Flying -- When Spire Owl enters the battlefield, look at the top four cards of your library, then put them back in any order. mana={1}{U} type=Creature @@ -111601,6 +111729,7 @@ type=Sorcery [/card] [card] name=Squeaking Pie Grubfellows +aicode=activate target(*[zpos=1]|mylibrary) moveto(mylibrary) and!(moveto(mylibrary) and!(if cantargetcard(creature[share!types!]|*) then ability$!name(discard) reject notatarget(*|myhand)!$ opponent )!)! auto=@each my upkeep:name(Kinship) reveal:1 optionone if type(creature[share!types!]|reveal)~morethan~0 then discard:1 opponent optiononeend optiontwo name(Put Back On Top) target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend text=Kinship - At the beginning of your upkeep, you may look at the top card of your library. If it shares a creature type with Squeaking Pie Grubfellows, you may reveal it. If you do, each opponent discards a card. mana={3}{B} @@ -111992,7 +112121,7 @@ type=Instant [card] name=Stampeding Elk Herd auto=@combat(attacking) source(this) restriction{compare(powertotalinplay)~morethan~7}:lord(creature|myBattlefield) trample ueot -text=Formidable — Whenever Stampeding Elk Herd attacks, if creatures you control have total power 8 or greater, creatures you control gain trample until end of turn. +text=Formidable -- Whenever Stampeding Elk Herd attacks, if creatures you control have total power 8 or greater, creatures you control gain trample until end of turn. mana={3}{G}{G} type=Creature subtype=Elk @@ -113115,8 +113244,9 @@ toughness=2 [/card] [card] name=Stoneforge Acolyte -auto={t}{T(ally|myBattlefield)}:reveal:5 optionone name(Get Equipment) target(equipment|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend -text=Cohort — {T}, Tap an untapped Ally you control: Look at the top four cards of your library. You may reveal an Equipment card from among them and put it into your hand. Put the rest on the bottom of your library in any order. +aicode=activate target(equipment[zpos<=4]|mylibrary) moveto(myhand) +auto={t}{T(ally|myBattlefield)}:name(look) reveal:4 optionone name(Get Equipment) target(equipment|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend +text=Cohort -- {T}, Tap an untapped Ally you control: Look at the top four cards of your library. You may reveal an Equipment card from among them and put it into your hand. Put the rest on the bottom of your library in any order. mana={W} type=Creature subtype=Kor Artificer Ally @@ -113692,7 +113822,7 @@ name=Strange Augmentation target=creature auto=teach(creature) +1/+1 auto=while(restriction{delirium}) teach(creature) +2/+2 -text=Enchant creature -- Enchanted creature gets +1/+1. -- Delirium — Enchanted creature gets an additional +2/+2 as long as there are four or more card types among cards in your graveyard. +text=Enchant creature -- Enchanted creature gets +1/+1. -- Delirium -- Enchanted creature gets an additional +2/+2 as long as there are four or more card types among cards in your graveyard. mana={B} type=Enchantment subtype=Aura @@ -113718,7 +113848,8 @@ type=Instant [/card] [card] name=Strategic Planning -auto=reveal:3 optionone name(Get a Card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put in grave) all(*|reveal) moveto(mygraveyard) optiontwoend revealend +aicode=activate transforms((,newability[choice all(*[zpos=1]|mylibrary) moveto(myhand) and!(deplete:2)!])) ueot +auto=name(look) reveal:3 optionone name(Get a Card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put in grave) all(*|reveal) moveto(mygraveyard) optiontwoend revealend text=Look at the top three cards of your library. Put one of them into your hand and the rest into your graveyard. mana={1}{U} type=Sorcery @@ -113876,7 +114007,7 @@ toughness=4 name=Strength from the Fallen auto=target(creature) type:creature:mygraveyard/type:creature:mygraveyard ueot auto=@movedTo(enchantment|myBattlefield):target(creature) type:creature:mygraveyard/type:creature:mygraveyard ueot -text=Constellation — Whenever Strength from the Fallen or another enchantment enters the battlefield under your control, target creature gets +X/+X until end of turn, where X is the number of creature cards in your graveyard. +text=Constellation -- Whenever Strength from the Fallen or another enchantment enters the battlefield under your control, target creature gets +X/+X until end of turn, where X is the number of creature cards in your graveyard. mana={1}{G} type=Enchantment [/card] @@ -114198,7 +114329,7 @@ type=Sorcery name=Stubborn Denial target=*[-creature]|stack auto=if type(creature[power>=4]|mybattlefield) then fizzle else transforms((,newability[pay[[{1}]] name(pay 1 mana) donothing?fizzle])) forever -text=Counter target noncreature spell unless its controller pays {1}. -- Ferocious — If you control a creature with power 4 or greater, counter that spell instead. +text=Counter target noncreature spell unless its controller pays {1}. -- Ferocious -- If you control a creature with power 4 or greater, counter that spell instead. mana={U} type=Instant [/card] @@ -114610,7 +114741,8 @@ type=Land [/card] [card] name=Sultai Ascendancy -auto=@each my upkeep:reveal:2 optionone name(Discard cards) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo name(put on top) target(<2>*|reveal) moveto(mylibrary) optiontwoend revealend +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=2]|mylibrary) moverandom(*[zpos<=2]) from(mylibrary) to(mylibrary)])) ueot +auto=@each my upkeep:name(look) reveal:2 optionone name(Discard cards) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo name(put on top) target(<2>*|reveal) moveto(mylibrary) optiontwoend revealend text=At the beginning of your upkeep, look at the top two cards of your library. Put any number of them into your graveyard and the rest back on top of your library in any order. mana={B}{G}{U} type=Enchantment @@ -114678,7 +114810,8 @@ toughness=1 [/card] [card] name=Sultai Soothsayer -auto=reveal:4 optionone name(Get a Card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put in grave) all(*|reveal) moveto(mygraveyard) optiontwoend revealend +aicode=activate transforms((,newability[choice all(*[zpos=1]|mylibrary) moveto(myhand) and!(deplete:3)!])) ueot +auto=name(look) reveal:4 optionone name(Get a Card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put in grave) all(*|reveal) moveto(mygraveyard) optiontwoend revealend text=When Sultai Soothsayer enters the battlefield, look at the top four cards of your library. Put one of them into your hand and the rest into your graveyard. mana={2}{B}{G}{U} type=Creature @@ -115407,7 +115540,7 @@ type=Instant [card] name=Surrak, the Hunt Caller auto=@each my combatbegins restriction{compare(powertotalinplay)~morethan~7}:haste target(creature|mybattlefield) ueot -text=Formidable — At the beginning of combat on your turn, if creatures you control have total power 8 or greater, target creature you control gains haste until end of turn. +text=Formidable -- At the beginning of combat on your turn, if creatures you control have total power 8 or greater, target creature you control gains haste until end of turn. mana={2}{G}{G} type=Legendary Creature subtype=Human Warrior @@ -115795,7 +115928,7 @@ other={1}{W} name(Spell Mastery) otherrestriction=type(*[instant;sorcery]|mygraveyard)~morethan~1 target=creature[tapped]|battlefield auto=destroy -text=Spell mastery — If there are two or more instant and/or sorcery cards in your graveyard, you may cast Swift Reckoning as though it had flash. (You may cast it any time you could cast an instant.) Destroy target tapped creature. +text=Spell mastery -- If there are two or more instant and/or sorcery cards in your graveyard, you may cast Swift Reckoning as though it had flash. (You may cast it any time you could cast an instant.) Destroy target tapped creature. mana={1}{W} type=Sorcery [/card] @@ -116494,7 +116627,7 @@ subtype=Mountain Forest [/card] [card] name=Taigam's Scheming -auto=reveal:5 optionone name(Discard cards) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo name(put on top) target(<5>*|reveal) moveto(mylibrary) optiontwoend revealend +auto=name(look) reveal:5 optionone name(Discard cards) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo name(put on top) target(<5>*|reveal) moveto(mylibrary) optiontwoend revealend text=Look at the top five cards of your library. Put any number of them into your graveyard and the rest back on top of your library in any order. mana={1}{U} type=Sorcery @@ -116600,7 +116733,7 @@ type=Land name=Tajic, Blade of the Legion abilities=indestructible auto=@combat(attacking) source(this) restriction{type(other creature[attacking]|myBattlefield)~morethan~1}:5/5 ueot -text=Battalion — Whenever Tajic atttacks with at least two other creatures attack, Tajic gets +5/+5 until end of turn. +text=Battalion -- Whenever Tajic atttacks with at least two other creatures attack, Tajic gets +5/+5 until end of turn. mana={2}{R}{W} type=Legendary Creature subtype=Human Soldier @@ -116621,7 +116754,7 @@ toughness=2 name=Tajuru Beastmaster auto=choice lord(creature|mybattlefield) 1/1 ueot auto=@movedTo(other ally|myBattlefield):lord(creature|mybattlefield) 1/1 ueot -text=Rally — Whenever Tajuru Beastmaster or another Ally enters the battlefield under your control, creatures you control get +1/+1 until end of turn. +text=Rally -- Whenever Tajuru Beastmaster or another Ally enters the battlefield under your control, creatures you control get +1/+1 until end of turn. mana={5}{G} type=Creature subtype=Elf Warrior Ally @@ -116641,7 +116774,7 @@ toughness=4 [card] name=Tajuru Stalwart auto=counter(1/1,converge) -text=Converge — Tajuru Stalwart enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it. +text=Converge -- Tajuru Stalwart enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it. mana={2}{G} type=Creature subtype=Elf Scout Ally @@ -116652,7 +116785,7 @@ toughness=1 name=Tajuru Warcaller auto=choice lord(creature|mybattlefield) 2/2 ueot auto=@movedTo(other ally|myBattlefield):lord(creature|mybattlefield) 2/2 ueot -text=Rally — Whenever Tajuru Warcaller or another Ally enters the battlefield under your control, creatures you control get +2/+2 until end of turn. +text=Rally -- Whenever Tajuru Warcaller or another Ally enters the battlefield under your control, creatures you control get +2/+2 until end of turn. mana={3}{G}{G} type=Creature subtype=Elf Warrior Ally @@ -116747,7 +116880,8 @@ toughness=2 [card] name=Talas Explorer abilities=flying -auto=name(look at opponents hand) target(*|opponenthand) donothing ueot +aicode=name(look) activate name(look) target(*|opponenthand) donothing +auto=target(opponent) name(target opponent) reveal:ohandcount revealzone(opponenthand) optionone name(look) target(<1>*|reveal) moveto(ownerhand) and!(all(*|reveal) moveto(ownerhand))! optiononeend revealend text=Flying -- When Talas Explorer enters the battlefield, look at target opponent's hand. mana={1}{U} type=Creature @@ -117579,6 +117713,18 @@ power=2 toughness=2 [/card] [card] +name=Teferi's Imp +abilities=flying,phasing +auto=@phasedin(this):draw:1 controller +phasedoutbonus=reject notatarget(*|myhand) +text=Flying -- Phasing (This phases in or out before you untap during each of your untap steps. While it's phased out, it's treated as though it doesn't exist.) -- Whenever Teferi's Imp phases out, discard a card. -- Whenever Teferi's Imp phases in, draw a card. +mana={2}{U} +type=Creature +subtype=Imp +power=1 +toughness=1 +[/card] +[card] name=Teferi's Isle abilities=phasing auto=tap(noevent) @@ -117668,7 +117814,8 @@ type=Sorcery [/card] [card] name=Telepathic Spies -auto=name(look at opponents hand) target(*|opponenthand) donothing ueot +aicode=name(look) activate name(look) target(*|opponenthand) donothing +auto=target(opponent) name(target opponent) reveal:ohandcount revealzone(opponenthand) optionone name(look) target(<1>*|reveal) moveto(ownerhand) and!(all(*|reveal) moveto(ownerhand))! optiononeend revealend text=When Telepathic Spies enters the battlefield, look at target opponent's hand. mana={2}{U} type=Creature @@ -117845,7 +117992,8 @@ toughness=3 [/card] [card] name=Telling Time -auto=choice reveal:3 optionone name(Put in my hand) target(*|reveal) moveto(myhand) optiononeend optiontwo choice name(Choose one for Bottom) target(*|reveal) bottomoflibrary && all(*|reveal) moveto(mylibrary) optiontwoend +aicode=activate transforms((,newability[moveto(myhand) all(*[zpos=1]|mylibrary) && bottomoflibrary all(*[zpos=2]|mylibrary)])) ueot +auto=choice name(look) reveal:3 optionone name(Put in my hand) target(*|reveal) moveto(myhand) optiononeend optiontwo choice name(Choose one for Bottom) target(*|reveal) bottomoflibrary && all(*|reveal) moveto(mylibrary) optiontwoend text=Look at the top three cards of your library. Put one of those cards into your hand, one on top of your library, and one on the bottom of your library. mana={1}{U} type=Instant @@ -117926,6 +118074,7 @@ name=Temple of Abandon auto=tap(noevent) auto={t}:add{r} auto={t}:add{g} +aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary) auto=name(Scry) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend text=Temple of Abandon enters the battlefield tapped. -- When Temple of Abandon enters the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {T}: Add {R} or {G} to your mana pool. type=Land @@ -117935,6 +118084,7 @@ name=Temple of Deceit auto=tap(noevent) auto={t}:add{u} auto={t}:add{b} +aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary) auto=name(Scry) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend text=Temple of Deceit enters the battlefield tapped. -- When Temple of Deceit enters the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {T}: Add {U} or {B} to your mana pool. type=Land @@ -117944,6 +118094,7 @@ name=Temple of Enlightenment auto=tap(noevent) auto={t}:add{w} auto={t}:add{u} +aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary) auto=name(Scry) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend text=Temple of Enlightenment enters the battlefield tapped. -- When Temple of Enlightenment enters the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {T}: Add {W} or {U} to your mana pool. type=Land @@ -117953,6 +118104,7 @@ name=Temple of Epiphany auto=tap(noevent) auto={t}:add{u} auto={t}:add{r} +aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary) auto=name(Scry) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend text=Temple of Epiphany enters the battlefield tapped. -- When Temple of Epiphany enters the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {T}: Add {U} or {R} to your mana pool. type=Land @@ -117962,6 +118114,7 @@ name=Temple of Malady auto=tap(noevent) auto={t}:add{b} auto={t}:add{g} +aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary) auto=name(Scry) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend text=Temple of Malady enters the battlefield tapped. -- When Temple of Malady enters the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {T}: Add {B} or {G} to your mana pool. type=Land @@ -117971,6 +118124,7 @@ name=Temple of Malice auto=tap(noevent) auto={t}:add{b} auto={t}:add{r} +aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary) auto=name(Scry) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend text=Temple of Malice enters the battlefield tapped. -- When Temple of Malice enters the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {T}: Add {B} or {R} to your mana pool. type=Land @@ -117980,6 +118134,7 @@ name=Temple of Mystery auto=tap(noevent) auto={t}:add{g} auto={t}:add{u} +aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary) auto=name(Scry) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend text=Temple of Mystery enters the battlefield tapped. -- When Temple of Mystery enters the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {T}: Add {G} or {U} to your mana pool. type=Land @@ -117989,6 +118144,7 @@ name=Temple of Plenty auto=tap(noevent) auto={t}:add{g} auto={t}:add{w} +aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary) auto=name(Scry) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend text=Temple of Plenty enters the battlefield tapped. -- When Temple of Plenty enters the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {T}: Add {G} or {W} to your mana pool. type=Land @@ -117998,6 +118154,7 @@ name=Temple of Silence auto=tap(noevent) auto={t}:add{w} auto={t}:add{b} +aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary) auto=name(Scry) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend text=Temple of Silence enters the battlefield tapped. -- When Temple of Silence enters the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {T}: Add {W} or {B} to your mana pool. type=Land @@ -118013,6 +118170,7 @@ name=Temple of Triumph auto=tap(noevent) auto={t}:add{r} auto={t}:add{w} +aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary) auto=name(Scry) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend text=Temple of Triumph enters the battlefield tapped. -- When Temple of Triumph enters the battlefield, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- {T}: Add {R} or {W} to your mana pool. type=Land @@ -118579,7 +118737,7 @@ toughness=2 [card] name=Tethmos High Priest auto=@targeted(this) from(*[instant;sorcery;enchantment]|mycastingzone):moveTo(mybattlefield) target(creature[manacost<=2]|mygraveyard) -text=Heroic — Whenever you cast a spell that targets Tethmos High Priest, return target creature card with converted mana cost 2 or less from your graveyard to the battlefield. +text=Heroic -- Whenever you cast a spell that targets Tethmos High Priest, return target creature card with converted mana cost 2 or less from your graveyard to the battlefield. mana={2}{W} type=Creature subtype=Cat Cleric @@ -118678,6 +118836,7 @@ subtype=Tezzeret [card] name=Tezzeret, Agent of Bolas auto=counter(0/0,3,loyalty) +aicode=activate target(artifact[zpos<=5]|mylibrary) moveto(myhand) auto={C(0/0,1,Loyalty)}:reveal:5 optionone name(Get artifact) target(artifact|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend auto={C(0/0,-1,Loyalty)}:name(Create Construct) target(artifact) transforms((Construct,Artifact Creature,setpower=5,settoughness=5)) ueot auto={C(0/0,-4,Loyalty)}:target(player) life:-twicetype:artifact:mybattlefield && life:twicetype:artifact:mybattlefield controller @@ -118951,7 +119110,7 @@ type=Sorcery name=Thassa's Devourer auto=deplete:2 target(player) auto=@movedTo(enchantment|myBattlefield):deplete:2 target(player) -text=Constellation — Whenever Thassa's Devourer or another enchantment enters the battlefield under your control, target player puts the top two cards of his or her library into his or her graveyard. +text=Constellation -- Whenever Thassa's Devourer or another enchantment enters the battlefield under your control, target player puts the top two cards of his or her library into his or her graveyard. mana={4}{U} type=Enchantment Creature subtype=Elemental @@ -119294,6 +119453,7 @@ toughness=2 name=Thieves' Fortune other={U} name(Prowl) otherrestriction=prowl +aicode=activate transforms((,newability[choice all(*[zpos=4]|mylibrary) moveto(myhand) && bottomoflibrary all(*[zpos<=3]|mylibrary)],newability[choice all(*[zpos=3]|mylibrary) moveto(myhand) && bottomoflibrary all(*[zpos<=3]|mylibrary)],newability[choice all(*[zpos=2]|mylibrary) moveto(myhand) && bottomoflibrary all(*[zpos<=3]|mylibrary)],newability[choice all(*[zpos=1]|mylibrary) moveto(myhand) && bottomoflibrary all(*[zpos<=3]|mylibrary)])) ueot auto=reveal:4 optionone name(Get a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend text=Prowl {U} (You may cast this for its prowl cost if you dealt combat damage to a player this turn with a Rogue.) -- Look at the top four cards of your library. Put one of them into your hand and the rest on the bottom of your library in any order. mana={2}{U} @@ -119828,7 +119988,7 @@ toughness=1 name=Thoughtrender Lamia auto=ability$!name(discard) target(*|myhand) reject!$ opponent auto=@movedTo(enchantment|myBattlefield):ability$!name(discard) target(*|myhand) reject!$ opponent -text=Constellation — Whenever Thoughtrender Lamia or another enchantment enters the battlefield under your control, each opponent discards a card. +text=Constellation -- Whenever Thoughtrender Lamia or another enchantment enters the battlefield under your control, each opponent discards a card. mana={4}{B}{B} type=Enchantment Creature subtype=Lamia @@ -119898,7 +120058,7 @@ toughness=2 name=Thraben Foulbloods auto=while(restriction{delirium}) 1/1 auto=while(restriction{delirium}) menace -text=Delirium — Thraben Foulbloods gets +1/+1 and has menace as long as there are four or more card types among cards in your graveyard. (A creature with menace can't be blocked except by two or more creatures.) +text=Delirium -- Thraben Foulbloods gets +1/+1 and has menace as long as there are four or more card types among cards in your graveyard. (A creature with menace can't be blocked except by two or more creatures.) mana={2}{B} type=Creature subtype=Zombie Hound @@ -121414,7 +121574,7 @@ target=player auto=ifnot delirium then ability$!name(sacrifice) notatarget(creature,planeswalker|myBattlefield) sacrifice!$ targetedplayer auto=if delirium then ability$!name(sacrifice) notatarget(creature|myBattlefield) sacrifice!$ targetedplayer auto=if delirium then ability$!name(sacrifice) notatarget(planeswalker|myBattlefield) sacrifice!$ targetedplayer -text=Target player sacrifices a creature or planeswalker. -- Delirium — If there are four or more card types among cards in your graveyard, instead that player sacrifices a creature and a planeswalker. +text=Target player sacrifices a creature or planeswalker. -- Delirium -- If there are four or more card types among cards in your graveyard, instead that player sacrifices a creature and a planeswalker. mana={2}{B} type=Instant [/card] @@ -121586,8 +121746,8 @@ type=Sorcery [/card] [card] name=Tomorrow, Azami's Familiar -aicode=activate transforms((,newability[choice all(*[zpos=3]|mylibrary) moveto(myhand) and!(bottomoflibrary all(*[zpos<=2]|mylibrary))!],newability[choice all(*[zpos=2]|mylibrary) moveto(myhand) and!(bottomoflibrary all(*[zpos<=2]|mylibrary))!],newability[choice all(*[zpos=1]|mylibrary) moveto(myhand) and!(bottomoflibrary all(*[zpos<=2]|mylibrary))!])) ueot -auto=replacedraw reveal:3 optionone name(Get a card) target(*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<3>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate transforms((,newability[choice all(*[zpos=3]|mylibrary) moveto(myhand) && bottomoflibrary all(*[zpos<=3]|mylibrary)],newability[choice all(*[zpos=2]|mylibrary) moveto(myhand) && bottomoflibrary all(*[zpos<=3]|mylibrary)],newability[choice all(*[zpos=1]|mylibrary) moveto(myhand) && bottomoflibrary all(*[zpos<=3]|mylibrary)])) ueot +auto=replacedraw reveal:3 optionone name(Get a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<3>*|reveal) bottomoflibrary optiontwoend revealend text=If you would draw a card, look at the top three cards of your library instead. Put one of those cards into your hand and the rest on the bottom of your library in any order. mana={5}{U} type=Legendary Creature @@ -123379,7 +123539,7 @@ type=Instant [/card] [card] name=Trickery Charm -aicode=name(look) activate name(look) donothing +aicode=name(look) activate name(look) transforms((,newability[foreach(*[zpos<=4]|mylibrary) moverandom(*[zpos<=4]) from(mylibrary) to(mylibrary)])) ueot auto=target(creature) flying ueot auto=choice name(choose a type)activatechooseatype target(creature) becomes(removecreaturesubtypes) ueot && becomes(chosentype) ueot activatechooseend auto=choice reveal:4 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<4>*|reveal) moveto(mylibrary) optiontwoend revealend @@ -123544,7 +123704,7 @@ toughness=1 [card] name=Triton Cavalry auto=@targeted(this) from(*[instant;sorcery;enchantment]|mycastingzone):may moveTo(ownerhand) target(enchantment|battlefield) -text=Heroic — Whenever you cast a spell that targets Triton Cavalry, you may return target enchantment to its owner's hand. +text=Heroic -- Whenever you cast a spell that targets Triton Cavalry, you may return target enchantment to its owner's hand. mana={3}{U} type=Creature subtype=Merfolk Soldier @@ -124031,7 +124191,7 @@ type=Instant [card] name=Tunneling Geopede auto=@movedTo(land|myBattlefield):damage:1 all(opponent) -text=Landfall — Whenever a land enters the battlefield under your control, Tunneling Geopede deals 1 damage to each opponent. +text=Landfall -- Whenever a land enters the battlefield under your control, Tunneling Geopede deals 1 damage to each opponent. mana={2}{R} type=Creature subtype=Insect @@ -125033,7 +125193,7 @@ subtype=Island Swamp name=Undergrowth Champion auto=this(counter{1/1.1}>0) phantom auto=@movedTo(land|myBattlefield):counter(1/1,1) -text=If damage would be dealt to Undergrowth Champion while it has a +1/+1 counter on it, prevent that damage and remove a +1/+1 counter from Undergrowth Champion. -- Landfall — Whenever a land enters the battlefield under your control, put a +1/+1 counter on Undergrowth Champion. +text=If damage would be dealt to Undergrowth Champion while it has a +1/+1 counter on it, prevent that damage and remove a +1/+1 counter from Undergrowth Champion. -- Landfall -- Whenever a land enters the battlefield under your control, put a +1/+1 counter on Undergrowth Champion. mana={1}{G}{G} type=Creature subtype=Elemental @@ -125098,7 +125258,7 @@ name=Underworld Coinsmith auto=life:1 auto=@movedTo(enchantment|myBattlefield):life:1 auto={W}{B}{L}:life:-1 opponent -text=Constellation — Whenever Underworld Coinsmith or another enchantment enters the battlefield under your control, you gain 1 life. -- {W}{B}, Pay 1 life: Each opponent loses 1 life. +text=Constellation -- Whenever Underworld Coinsmith or another enchantment enters the battlefield under your control, you gain 1 life. -- {W}{B}, Pay 1 life: Each opponent loses 1 life. mana={W}{B} type=Enchantment Creature subtype=Human Cleric @@ -125277,7 +125437,7 @@ name=Unholy Hunger target=creature auto=destroy auto=if type(*[instant;sorcery]|mygraveyard)~morethan~1 then life:2 srccontroller -text=Destroy target creature. -- Spell mastery — If there are two or more instant and/or sorcery cards in your graveyard, you gain 2 life. +text=Destroy target creature. -- Spell mastery -- If there are two or more instant and/or sorcery cards in your graveyard, you gain 2 life. mana={3}{B}{B} type=Instant [/card] @@ -125293,7 +125453,7 @@ subtype=Aura [card] name=Unified Front auto=token(Kor Ally,Creature Kor Ally,1/1,white)*converge -text=Converge — Put a 1/1 white Kor Ally creature token onto the battlefield for each color of mana spent to cast Unified Front. +text=Converge -- Put a 1/1 white Kor Ally creature token onto the battlefield for each color of mana spent to cast Unified Front. mana={3}{W} type=Sorcery [/card] @@ -126226,7 +126386,7 @@ toughness=3 [card] name=Valakut Predator auto=@movedTo(land|myBattlefield):2/2 ueot -text=Landfall — Whenever a land enters the battlefield under your control, Valakut Predator gets +2/+2 until end of turn. +text=Landfall -- Whenever a land enters the battlefield under your control, Valakut Predator gets +2/+2 until end of turn. mana={2}{R} type=Creature subtype=Elemental @@ -126321,7 +126481,7 @@ name=Valorous Stance target=creature auto=choice name(indestructible) indestructible ueot auto=if cantargetcard(creature[power>=4]|battlefield) then choice name(Destroy) destroy -text=Choose one — Target creature gains indestructible until end of turn. - Destroy target creature with toughness 4 or greater. +text=Choose one -- Target creature gains indestructible until end of turn. - Destroy target creature with toughness 4 or greater. mana={1}{W} type=Instant [/card] @@ -127198,7 +127358,7 @@ toughness=4 [card] name=Vengeful Rebel auto=if revolt then target(creature|opponentbattlefield) -3/-3 ueot -text=Revolt — When Vengeful Rebel enters the battlefield, if a permanent you controlled left the battlefield this turn, target creature an opponent controls gets -3/-3 until end of turn. +text=Revolt -- When Vengeful Rebel enters the battlefield, if a permanent you controlled left the battlefield this turn, target creature an opponent controls gets -3/-3 until end of turn. mana={2}{B} type=Creature subtype=Aetherborn Warrior @@ -127942,7 +128102,7 @@ toughness=2 name=Viashino Shanktail abilities=first strike autohand={2}{R}{discard}:name(bloodrush) target(creature[attacking]) first strike && 3/1 ueot -text=First strike -- Bloodrush — {2}{R}, Discard Viashino Shanktail: Target attacking creature gets +3/+1 and gains first strike until end of turn. +text=First strike -- Bloodrush -- {2}{R}, Discard Viashino Shanktail: Target attacking creature gets +3/+1 and gains first strike until end of turn. mana={3}{R} type=Creature subtype=Viashino Warrior @@ -131207,7 +131367,7 @@ subtype=Equipment [card] name=Warmind Infantry auto=@combat(attacking) source(this) restriction{type(other creature[attacking]|myBattlefield)~morethan~1}:2/0 ueot -text=Battalion — Whenever Warmind Infantry and at least two other creatures attack, Warmind Infantry gets +2/+0 until end of turn. +text=Battalion -- Whenever Warmind Infantry and at least two other creatures attack, Warmind Infantry gets +2/+0 until end of turn. mana={2}{R} type=Creature subtype=Elemental Soldier @@ -131314,6 +131474,18 @@ power=3 toughness=4 [/card] [card] +name=Warping Wurm +abilities=phasing +auto=@phasedin(this):counter(1/1) +auto=upcost[{2}{G}{U}] phaseout +text=Phasing (This phases in or out before you untap during each of your untap steps. While it's phased out, it's treated as though it doesn't exist.) -- At the beginning of your upkeep, Warping Wurm phases out unless you pay {2}{G}{U}. -- When Warping Wurm phases in, put a +1/+1 counter on it. +mana={2}{G}{U} +type=Creature +subtype=Wurm +power=1 +toughness=1 +[/card] +[card] name=Warren Instigator abilities=double strike auto=@damagefoeof(player) from(this):may moveto(myBattlefield) target(creature[goblin]|myHand) @@ -131519,7 +131691,7 @@ toughness=2 name=Wasteland Viper abilities=deathtouch autohand={G}{discard}:name(bloodrush) target(creature[attacking]) deathtouch && 1/2 ueot -text=Deathtouch -- Bloodrush — {G}, Discard Wasteland Viper: Target attacking creature gets +1/+2 and gains deathtouch until end of turn. +text=Deathtouch -- Bloodrush -- {G}, Discard Wasteland Viper: Target attacking creature gets +1/+2 and gains deathtouch until end of turn. mana={G} type=Creature subtype=Snake @@ -131725,7 +131897,7 @@ type=Sorcery [card] name=Wavecrash Triton auto=@targeted(this) from(*[instant;sorcery;enchantment]|mycastingzone):target(creature|opponentbattlefield) transforms((,newability[tap],newability[frozen])) oneshot -text=Heroic — Whenever you cast a spell that targets Wavecrash Triton, tap target creature an opponent controls. That creature doesn't untap during its controller's next untap step. +text=Heroic -- Whenever you cast a spell that targets Wavecrash Triton, tap target creature an opponent controls. That creature doesn't untap during its controller's next untap step. mana={2}{U} type=Creature subtype=Merfolk Wizard @@ -131755,7 +131927,7 @@ toughness=4 name=Wave-Wing Elemental abilities=flying auto=@movedTo(land|myBattlefield):2/2 ueot -text=Flying -- Landfall — Whenever a land enters the battlefield under your control, Wave-Wing Elemental gets +2/+2 until end of turn. +text=Flying -- Landfall -- Whenever a land enters the battlefield under your control, Wave-Wing Elemental gets +2/+2 until end of turn. mana={5}{U} type=Creature subtype=Elemental @@ -132730,7 +132902,7 @@ name=Whispers of Emrakul target=opponent auto=discard:1 auto=while(restriction{delirium}) discard:1 -text=Target opponent discards a card at random. -- Delirium — If there are four or more card types among cards in your graveyard, that player discards two cards at random instead. +text=Target opponent discards a card at random. -- Delirium -- If there are four or more card types among cards in your graveyard, that player discards two cards at random instead. mana={1}{B} type=Sorcery [/card] @@ -132850,7 +133022,7 @@ type=Instant name=Whitewater Naiads auto=unblockable target(creature) ueot auto=@movedTo(enchantment|myBattlefield):unblockable target(creature) ueot -text=Constellation — Whenever Whitewater Naiads or another enchantment enters the battlefield under your control, target creature can't be blocked this turn. +text=Constellation -- Whenever Whitewater Naiads or another enchantment enters the battlefield under your control, target creature can't be blocked this turn. mana={3}{U}{U} type=Enchantment Creature subtype=Nymph @@ -134303,7 +134475,7 @@ toughness=5 [card] name=Wojek Halberdiers auto=@combat(attacking) source(this) restriction{type(other creature[attacking]|myBattlefield)~morethan~1}:first strike ueot -text=Battalion — Whenever Wojek Halberdiers and at least two other creatures attack, Wojek Halberdiers gains first strike until end of turn. +text=Battalion -- Whenever Wojek Halberdiers and at least two other creatures attack, Wojek Halberdiers gains first strike until end of turn. mana={R}{W} type=Creature subtype=Human Soldier @@ -134597,7 +134769,7 @@ toughness=2 [card] name=Woodland Sleuth auto=if morbid then moverandom(creature) from(mygraveyard) to(myhand) -text=Morbid — When Woodland Sleuth enters the battlefield, if a creature died this turn, return a creature card at random from your graveyard to your hand. +text=Morbid -- When Woodland Sleuth enters the battlefield, if a creature died this turn, return a creature card at random from your graveyard to your hand. mana={3}{G} type=Creature subtype=Human Scout @@ -134616,7 +134788,7 @@ type=Land name=Woodland Wanderer abilities=vigilance,trample auto=counter(1/1,converge) -text=Vigilance, trample -- Converge — Woodland Wanderer enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it. +text=Vigilance, trample -- Converge -- Woodland Wanderer enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it. mana={3}{G} type=Creature subtype=Elemental @@ -134844,7 +135016,7 @@ toughness=2 [card] name=Worldly Counsel aicode=activate target(*[zpos<=pbasiclandtypes]|mylibrary) moveto(myhand) -auto=name(Look) reveal:pbasiclandtypes optionone name(Get a Card) target(*|reveal) moveto(myhand) optiononeend optiontwo target(<10>*|reveal) bottomoflibrary optiontwoend revealend +auto=name(Look) reveal:pbasiclandtypes optionone name(Get a Card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo target(<10>*|reveal) bottomoflibrary optiontwoend revealend text=Domain - Look at the top X cards of your library, where X is the number of basic land types among lands you control. Put one of those cards into your hand and the rest on the bottom of your library in any order. mana={1}{U} type=Instant @@ -135088,7 +135260,7 @@ type=Instant name=Wrecking Ogre abilities=double strike autohand={3}{R}{R}{discard}:name(bloodrush) target(creature[attacking]) double strike && 3/3 ueot -text=Double strike -- Bloodrush — {3}{R}{R}, Discard Wrecking Ogre: Target attacking creature gets +3/+3 and gains double strike until end of turn. +text=Double strike -- Bloodrush -- {3}{R}{R}, Discard Wrecking Ogre: Target attacking creature gets +3/+3 and gains double strike until end of turn. mana={4}{R} type=Creature subtype=Ogre Warrior @@ -135947,7 +136119,7 @@ toughness=5 name=Zada's Commando abilities=first strike auto={T(ally|myBattlefield)}{t}:damage:1 target(opponent) -text=First strike -- Cohort — {T}, Tap an untapped Ally you control: Zada's Commando deals 1 damage to target opponent. +text=First strike -- Cohort -- {T}, Tap an untapped Ally you control: Zada's Commando deals 1 damage to target opponent. mana={1}{R} type=Creature subtype=Goblin Archer Ally @@ -136314,7 +136486,7 @@ toughness=1 [card] name=Zhur-Taa Swine autohand={1}{R}{G}{discard}:name(bloodrush) target(creature[attacking]) 5/4 ueot -text=Bloodrush — {1}{R}{G}, Discard Zhur-Taa Swine: Target attacking creature gets +5/+4 until end of turn. +text=Bloodrush -- {1}{R}{G}, Discard Zhur-Taa Swine: Target attacking creature gets +5/+4 until end of turn. mana={3}{R}{G} type=Creature subtype=Boar @@ -136652,7 +136824,7 @@ toughness=3 [card] name=Zulaport Chainmage auto={T(ally|myBattlefield)}{t}:target(opponent) life:-2 -text=Cohort — {T}, Tap an untapped Ally you control: Target opponent loses 2 life. +text=Cohort -- {T}, Tap an untapped Ally you control: Target opponent loses 2 life. mana={3}{B} type=Creature subtype=Human Shaman Ally diff --git a/projects/mtg/bin/Res/sets/primitives/unsupported.txt b/projects/mtg/bin/Res/sets/primitives/unsupported.txt index 0e5d71923..e31930f56 100644 --- a/projects/mtg/bin/Res/sets/primitives/unsupported.txt +++ b/projects/mtg/bin/Res/sets/primitives/unsupported.txt @@ -4718,12 +4718,6 @@ mana={1}{R}{R} type=Sorcery [/card] [card] -name=Extraplanar Lens -text=Imprint — When Extraplanar Lens enters the battlefield, you may exile target land you control. -- Whenever a land with the same name as the exiled card is tapped for mana, its controller adds one mana to his or her mana pool of any type that land produced. -mana={3} -type=Artifact -[/card] -[card] name=Eye of the Storm text=Whenever a player casts an instant or sorcery card, exile it. Then that player copies each instant or sorcery card exiled with Eye of the Storm. For each copy, the player may cast the copy without paying its mana cost. mana={5}{U}{U} @@ -16065,15 +16059,6 @@ type=Planeswalker subtype=Teferi [/card] [card] -name=Teferi's Imp -text=Flying -- Phasing (This phases in or out before you untap during each of your untap steps. While it's phased out, it's treated as though it doesn't exist.) -- Whenever Teferi's Imp phases out, discard a card. -- Whenever Teferi's Imp phases in, draw a card. -mana={2}{U} -type=Creature -subtype=Imp -power=1 -toughness=1 -[/card] -[card] name=Teferi's Response text=Counter target spell or ability an opponent controls that targets a land you control. If a permanent's ability is countered this way, destroy that permanent. -- -- Draw two cards. mana={1}{U} @@ -17716,15 +17701,6 @@ mana={1}{C} type=Instant [/card] [card] -name=Warping Wurm -text=Phasing (This phases in or out before you untap during each of your untap steps. While it's phased out, it's treated as though it doesn't exist.) -- At the beginning of your upkeep, Warping Wurm phases out unless you pay {2}{G}{U}. -- When Warping Wurm phases in, put a +1/+1 counter on it. -mana={2}{G}{U} -type=Creature -subtype=Wurm -power=1 -toughness=1 -[/card] -[card] name=Warrior en-Kor text={0}: The next 1 damage that would be dealt to Warrior en-Kor this turn is dealt to target creature you control instead. mana={W}{W} diff --git a/projects/mtg/include/AllAbilities.h b/projects/mtg/include/AllAbilities.h index 089cd63b9..650444b44 100644 --- a/projects/mtg/include/AllAbilities.h +++ b/projects/mtg/include/AllAbilities.h @@ -1332,28 +1332,6 @@ public: } }; -class TrCardPhasesOut: public Trigger -{ -public: - TrCardPhasesOut(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, bool once = false) : - Trigger(observer, id, source, once, tc) - { - } - - int triggerOnEventImpl(WEvent * event) - { - WEventCardPhasesOut * e = dynamic_cast (event); - if (!e) return 0; - if (!tc->canTarget(e->card)) return 0; - return 1; - } - - TrCardPhasesOut * clone() const - { - return NEW TrCardPhasesOut(*this); - } -}; - class TrCardPhasesIn: public Trigger { public: diff --git a/projects/mtg/include/CardPrimitive.h b/projects/mtg/include/CardPrimitive.h index 3639496e2..86b164500 100644 --- a/projects/mtg/include/CardPrimitive.h +++ b/projects/mtg/include/CardPrimitive.h @@ -77,6 +77,9 @@ public: string CrewAbility; void setCrewAbility(const string& value); const string& getCrewAbility() const; + string PhasedOutAbility; + void setPhasedOutAbility(const string& value); + const string& getPhasedOutAbility() const; vectortypes; CardPrimitive(); diff --git a/projects/mtg/include/WEvent.h b/projects/mtg/include/WEvent.h index 8dad3de0b..de99e6a5d 100644 --- a/projects/mtg/include/WEvent.h +++ b/projects/mtg/include/WEvent.h @@ -307,7 +307,7 @@ struct WEventCardControllerChange : public WEventCardUpdate { //event when card phases out struct WEventCardPhasesOut : public WEventCardUpdate { - WEventCardPhasesOut(MTGCardInstance * card); + WEventCardPhasesOut(MTGCardInstance * card, int turn); virtual Targetable * getTarget(int target); }; diff --git a/projects/mtg/src/AllAbilities.cpp b/projects/mtg/src/AllAbilities.cpp index c2b6e2e72..270840733 100644 --- a/projects/mtg/src/AllAbilities.cpp +++ b/projects/mtg/src/AllAbilities.cpp @@ -1709,7 +1709,7 @@ int AAPhaseOut::resolve() _target->view->alpha = 50; _target->initAttackersDefensers(); //add event phases out here - WEvent * e = NEW WEventCardPhasesOut(_target); + WEvent * e = NEW WEventCardPhasesOut(_target,game->turn); game->receiveEvent(e); return 1; } diff --git a/projects/mtg/src/CardPrimitive.cpp b/projects/mtg/src/CardPrimitive.cpp index d48d48373..9a2c7c08c 100644 --- a/projects/mtg/src/CardPrimitive.cpp +++ b/projects/mtg/src/CardPrimitive.cpp @@ -59,6 +59,7 @@ CardPrimitive::CardPrimitive(CardPrimitive * source) setdoubleFaced(source->doubleFaced); setAICustomCode(source->AICustomCode); setCrewAbility(source->CrewAbility); + setPhasedOutAbility(source->PhasedOutAbility); power = source->power; toughness = source->toughness; restrictions = source->restrictions ? source->restrictions->clone() : NULL; @@ -365,6 +366,17 @@ const string& CardPrimitive::getCrewAbility() const return CrewAbility; } +void CardPrimitive::setPhasedOutAbility(const string& value) +{ + PhasedOutAbility = value; + std::transform(PhasedOutAbility.begin(), PhasedOutAbility.end(), PhasedOutAbility.begin(), ::tolower); +} + +const string& CardPrimitive::getPhasedOutAbility() const +{ + return PhasedOutAbility; +} + void CardPrimitive::setName(const string& value) { name = value; diff --git a/projects/mtg/src/GameObserver.cpp b/projects/mtg/src/GameObserver.cpp index 080906bfe..7ba565a51 100644 --- a/projects/mtg/src/GameObserver.cpp +++ b/projects/mtg/src/GameObserver.cpp @@ -856,7 +856,7 @@ void GameObserver::gameStateBasedEffects() card->view->alpha = 50; card->initAttackersDefensers(); //add event phases out here - WEvent * evphaseout = NEW WEventCardPhasesOut(card); + WEvent * evphaseout = NEW WEventCardPhasesOut(card, turn); receiveEvent(evphaseout); } else if((card->has(Constants::PHASING) || card->isPhased)&& mCurrentGamePhase == MTG_PHASE_UNTAP && currentPlayer == card->controller() && card->phasedTurn != turn) diff --git a/projects/mtg/src/MTGAbility.cpp b/projects/mtg/src/MTGAbility.cpp index b3453eb74..12f38ac78 100644 --- a/projects/mtg/src/MTGAbility.cpp +++ b/projects/mtg/src/MTGAbility.cpp @@ -1044,10 +1044,6 @@ TriggeredAbility * AbilityFactory::parseTrigger(string s, string, int id, Spell if (TargetChooser *tc = parseSimpleTC(s,"phasedin", card)) return NEW TrCardPhasesIn(observer, id, card, tc,once); - //Card Phases Out - if (TargetChooser *tc = parseSimpleTC(s,"phasedout", card)) - return NEW TrCardPhasesOut(observer, id, card, tc,once); - //CombatTrigger //Card card attacked and is blocked found = s.find("combat("); diff --git a/projects/mtg/src/MTGCardInstance.cpp b/projects/mtg/src/MTGCardInstance.cpp index 550177ff7..63bcc6707 100644 --- a/projects/mtg/src/MTGCardInstance.cpp +++ b/projects/mtg/src/MTGCardInstance.cpp @@ -152,6 +152,7 @@ void MTGCardInstance::copy(MTGCardInstance * card) doubleFaced = data->doubleFaced; AICustomCode = data->AICustomCode; CrewAbility = data->CrewAbility; + PhasedOutAbility = data->PhasedOutAbility; origpower = card->origpower;//for flip origtoughness = card->origtoughness;//for flip TokenAndAbility = card->TokenAndAbility;//token andAbility diff --git a/projects/mtg/src/MTGDeck.cpp b/projects/mtg/src/MTGDeck.cpp index a096209a9..d971423c4 100644 --- a/projects/mtg/src/MTGDeck.cpp +++ b/projects/mtg/src/MTGDeck.cpp @@ -264,7 +264,15 @@ int MTGAllCards::processConfLine(string &s, MTGCard *card, CardPrimitive * primi break; case 'p': - if (key[1] == 'r') + if (key == "phasedoutbonus") + { + if (!primitive) primitive = NEW CardPrimitive(); + { + primitive->setPhasedOutAbility(val); + break; + } + } + else if (key[1] == 'r') { // primitive if (!card) card = NEW MTGCard(); map::iterator it = primitives.find(val); diff --git a/projects/mtg/src/WEvent.cpp b/projects/mtg/src/WEvent.cpp index cbfe9ecd9..3a2af3a68 100644 --- a/projects/mtg/src/WEvent.cpp +++ b/projects/mtg/src/WEvent.cpp @@ -5,6 +5,7 @@ #include "MTGGameZones.h" #include "Damage.h" #include "PhaseRing.h" +#include "AllAbilities.h" WEvent::WEvent(int type) : type(type) @@ -236,9 +237,22 @@ WEventCardControllerChange::WEventCardControllerChange(MTGCardInstance * card) : { } -WEventCardPhasesOut::WEventCardPhasesOut(MTGCardInstance * card) : +WEventCardPhasesOut::WEventCardPhasesOut(MTGCardInstance * card, int turn) : WEventCardUpdate(card) { + if(card->getPhasedOutAbility().size()) + { + AbilityFactory af(card->getObserver()); + MTGAbility * a = af.parseMagicLine(card->getPhasedOutAbility(), card->getObserver()->mLayers->actionLayer()->getMaxId(), NULL, card->clone()); + MTGAbility * poA = a->clone(); + SAFE_DELETE(a); + poA->oneShot = true; + poA->canBeInterrupted = false; + MTGAbility *gatg = NEW GenericAddToGame(card->getObserver(), card->getObserver()->mLayers->actionLayer()->getMaxId(), card,NULL,poA->clone()); + SAFE_DELETE(poA); + gatg->fireAbility(); + //SAFE_DELETE(gatg); + } } WEventCardPhasesIn::WEventCardPhasesIn(MTGCardInstance * card) :