Fixed issue #1054 (opened by @ranger7271), fixed/added primitives with "scry" ability, improved scry ability for both Human and AI player, added a new ability to replace the scry ability with some actions (e.g. Eligeth, Crossroads Augur).

This commit is contained in:
Vittorio Alfieri
2021-02-08 17:08:20 +01:00
parent a858ed405f
commit eb8da4d4b2
13 changed files with 320 additions and 289 deletions

View File

@@ -2335,7 +2335,7 @@ subtype=Forest Plains
[card]
name=Arcum's Astrolabe
other={i}
restriction=type(*|myHand)~morethan~9999
restriction=never
auto=draw:1 controller
auto={1}{T}:Add{W}
auto={1}{T}:Add{U}
@@ -4376,8 +4376,8 @@ name=Behold the Multiverse
abilities=foretell
autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly
autoexile={1}{U} restriction{compare(canforetellcast)~morethan~0}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative)
aicode=activate draw:2 controller
auto=scry:2 scrycore choice name(Draw cards) draw:2 controller scrycoreend scryend
aicode=activate transforms((,newability[draw:2 controller])) oneshot
auto=scry:2 scrycore delayed draw:2 controller scrycoreend scryend
text=Scry 2, then draw two cards. -- Foretell {1}{U} (During your turn, you may pay {2} and exile this card from your hand face down. Cast it on a later turn for its foretell cost.)
mana={3}{U}
type=Instant
@@ -5977,10 +5977,10 @@ type=Sorcery
[/card]
[card]
name=Bontu the Glorified
abilities=menace, indestructible, cantattack, cantblock
auto=@movedto(creature|mygraveyard) from(mybattlefield): -cantattack ueot
auto=@movedto(creature|mygraveyard) from(mybattlefield): -cantblock ueot
auto={1}{B}{S(other creature|mybattlefield)}:life:-1 opponent && life:1 controller
abilities=menace,indestructible,cantattack,cantblock
auto=@movedto(creature|mygraveyard) from(mybattlefield):-cantattack ueot
auto=@movedto(creature|mygraveyard) from(mybattlefield):-cantblock ueot
auto={1}{B}{S(other creature|mybattlefield)}:scry:1 scrycore delayed dontshow donothing scrycoreend scryend && life:-1 opponent && life:1 controller
text=Menace, indestructible -- Bontu the Glorified can't attack or block unless a creature died under your control this turn. -- {1}{B}, Sacrifice another creature: Scry 1. Each opponent loses 1 life and you gain 1 life.
mana={2}{B}
type=Legendary Creature
@@ -6374,6 +6374,7 @@ toughness=1
[card]
name=Brazen Buccaneers
abilities=haste
aicode=activate if type(land[zpos=1]|mylibrary)~lessthan~1 then all(this) counter(1/1) else all(land[zpos=1]|mylibrary) moveto(myhand)
auto=explores && reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) forever optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) oneshot optiontwoend revealend limit:1
text=Haste -- When Brazen Buccaneers enters the battlefield, it explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.)
mana={3}{R}
@@ -7801,7 +7802,7 @@ toughness=5
name=Cavalier of Gales
abilities=flying
auto=draw:3 controller && transforms((,newability[target(<2>*|myhand) moveto(mylibrary)])) oneshot
autograveyard=moveTo(ownerlibrary) && shuffle then scry:2 scrycore delayed dontshow donothing scrycoreend scryend
auto=@movedTo(this|graveyard) from(myBattlefield):all(trigger[to]) moveTo(mylibrary) and!( transforms((,newability[scry:2 scrycore delayed dontshow donothing scrycoreend scryend],newability[shuffle])) oneshot )!
text=Flying -- When Cavalier of Gales enters the battlefield, draw three cards, then put two cards from your hand on top of your library in any order. -- When Cavalier of Gales dies, shuffle it into its owner's library, then scry 2.
mana={2}{U}{U}{U}
type=Creature
@@ -9795,7 +9796,7 @@ name=Commanding Presence
target=creature
auto=first strike
auto=2/2
auto=@combatdamaged(player) from(mytgt):token(Human,Com)
auto=@combatdamaged(player) from(mytgt):token(Soldier,Creature Human Soldier,1/1,white)
text=Enchant creature -- Enchanted creature gets +2/+2 and has first strike and “Whenever this creature deals combat damage to a player, create a 1/1 white Human Soldier creature token.”
mana={3}{W}
type=Enchantment
@@ -10685,7 +10686,7 @@ name=Crashing Footfalls
auto=token(Rhino,creature Rhino,4/4,green,trample)*2
text=Suspend {4} — G} (Rather than cast this card from your hand, pay {G} and exile it with four 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.) -- Create two 4/4 green Rhino creature tokens with trample.
color=green
restriction=turn:200
restriction=never
mana={0}
suspend(4)={G}
type=Sorcery
@@ -10983,8 +10984,8 @@ type=Land
[card]
name=Cryptic Annelid
auto=scry:1 scrycore delayed dontshow donothing scrycoreend scryend
auto=scry:2 scrycore delayed dontshow donothing scrycoreend scryend
auto=scry:3 scrycore delayed dontshow donothing scrycoreend scryend
auto=scry:2 scrycore delayed dontshow donothing scrycoreend scryend
text=When Cryptic Annelid enters the battlefield, scry 1, then scry 2, then scry 3. (To scry X, look at the top X 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={3}{U}
type=Creature
@@ -10995,7 +10996,7 @@ toughness=4
[card]
name=Cryptic Caves
auto={T}:add {1}
auto=aslongas(land|myBattlefield){1}{T}{S}:draw:1 >4
auto=aslongas(land|myBattlefield) {1}{T}{S}:draw:1 >4
text={T}: Add {1}. -- {1}, {T}, Sacrifice Cryptic Caves: Draw a card. Activate this ability only if you control five or more lands.
type=Land
[/card]
@@ -11929,6 +11930,7 @@ toughness=2
[/card]
[card]
name=Deadeye Tracker
aicode=activate if type(land[zpos=1]|mylibrary)~lessthan~1 then all(this) counter(1/1) else all(land[zpos=1]|mylibrary) moveto(myhand)
auto={1}{B}{T}{E(*|opponentgraveyard)} restriction{type(*|opponentgraveyard)~morethan~1}:moveto(exile) target(*|opponentgraveyard) && explores && reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) forever optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) oneshot optiontwoend revealend limit:1
text={1}{B}, {T}: Exile two target cards from an opponent's graveyard. Deadeye Tracker explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.)
mana={B}
@@ -12304,8 +12306,8 @@ type=Instant
[/card]
[card]
name=Deliberate
auto=scry:2 scrycore delayed dontshow donothing scrycoreend scryend
auto=draw:1 controller
auto=scry:2 scrycore delayed draw:1 controller scrycoreend scryend
aicode=activate transforms((,newability[draw:1 controller])) oneshot
text=Scry 2, then draw a card.
mana={1}{U}
type=Instant
@@ -13138,6 +13140,7 @@ toughness=1
[card]
name=Dire Fleet Interloper
abilities=menace
aicode=activate if type(land[zpos=1]|mylibrary)~lessthan~1 then all(this) counter(1/1) else all(land[zpos=1]|mylibrary) moveto(myhand)
auto=explores && reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) forever optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) oneshot optiontwoend revealend limit:1
text=Menace -- When Dire Fleet Interloper enters the battlefield, it explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.)
mana={3}{B}
@@ -14686,8 +14689,8 @@ toughness=2
[/card]
[card]
name=Eager Construct
auto=may scry:1 scrycore delayed dontshow donothing scrycoreend scryend
auto=may scry:1 scrycore delayed dontshow donothing scrycoreend scryend opponent
auto=may name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
auto=ability$!name(Scry 1) may name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend!$ opponent
text=When Eager Construct enters the battlefield, each player may scry 1.
mana={2}
type=Artifact Creature
@@ -15040,6 +15043,17 @@ power=0
toughness=2
[/card]
[card]
name=Eligeth, Crossroads Augur
abilities=flying,partner,replacescry
auto=@scryed(*|mybattlefield,mystack):name(Draw cards instead of scry) draw:scryedcards controller
text=Flying -- If you would scry a number of cards, draw that many cards instead. -- Partner (You can have two commanders if both have partner.)
mana={4}{U}{U}
type=Legendary Creature
subtype=Sphinx
power=5
toughness=6
[/card]
[card]
name=Eliminate
auto=choice name(Destroy creature) target(creature[manacost<=3]) destroy
auto=choice name(Destroy planeswalker) target(planeswalker[manacost<=3]) destroy
@@ -15457,6 +15471,7 @@ toughness=4
[card]
name=Emissary of Sunrise
abilities=first strike
aicode=activate if type(land[zpos=1]|mylibrary)~lessthan~1 then all(this) counter(1/1) else all(land[zpos=1]|mylibrary) moveto(myhand)
auto=explores && reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) forever optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) oneshot optiontwoend revealend limit:1
text=First strike -- When Emissary of Sunrise enters the battlefield, it explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.)
mana={2}{W}
@@ -15477,6 +15492,7 @@ toughness=2
[/card]
[card]
name=Emperor's Vanguard
aicode=activate if type(land[zpos=1]|mylibrary)~lessthan~1 then all(this) counter(1/1) else all(land[zpos=1]|mylibrary) moveto(myhand)
auto=@combatdamaged(player) from(this):explores && reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) forever optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) oneshot optiontwoend revealend limit:1
text=Whenever Emperor's Vanguard deals combat damage to a player, it explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.)
mana={3}{G}
@@ -15765,6 +15781,7 @@ type=Sorcery
[card]
name=Enter the Unknown
target=creature|mybattlefield
aicode=activate if type(land[zpos=1]|mylibrary)~lessthan~1 then counter(1/1) else all(land[zpos=1]|mylibrary) moveto(myhand)
auto=maxPlay(land)+1
auto=choice name(Target creature you control explores) name(Target creature you control explores) explores && reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) forever optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) oneshot optiontwoend revealend limit:1
text=Target creature you control explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on the creature, then put the card back or put it into your graveyard.) -- You may play an additional land this turn.
@@ -16617,8 +16634,8 @@ toughness=2
[/card]
[card]
name=Eyes Everywhere
auto={5}{U}:moveto(mybattlefield) target(*[-land]|opponentbattlefield) && moveto(opponentbattlefield) all(this)
auto=@each my upkeep:scrycore delayed dontshow donothing scrycoreend scryend
auto={5}{U}:moveto(mybattlefield) target(*[-land]|opponentbattlefield) and!( moveto(opponentbattlefield) all(this) )! asSorcery
auto=@each my upkeep:scry:1 scrycore delayed dontshow donothing scrycoreend scryend
text=At the beginning of your upkeep, scry 1. -- {5}{U}: Exchange control of Eyes Everywhere and target nonland permanent. Activate this ability only any time you could cast a sorcery.
mana={2}{U}
type=Enchantment
@@ -19471,7 +19488,7 @@ toughness=2
[card]
name=Gargos, Vicious Watcher
abilities=vigilance
auto=lord(*[hydra]|mycastingzone) altercost(colorless, -4)
auto=lord(hydra|mycastingzone) altercost(colorless, -4)
auto=@targeted(creature|mybattlefield):transforms((,newability[target(creature|opponentbattlefield) dynamicability<!powerstrike eachother!>]))
text=Vigilance -- Hydra spells you cast cost {4} less to cast. -- Whenever a creature you control becomes the target of a spell, Gargos, Vicious Watcher fights up to one target creature you don't control.
mana={3}{G}{G}{G}
@@ -22626,7 +22643,7 @@ toughness=0
[card]
name=Haakon, Stromgald Scourge
autograveyard={1}{B}{B}:activate castcard(normal)
restriction=type(land|mygraveyard)~morethan~9999
restriction=never
auto=lord(knight|mygraveyard) canPlayFromGraveyard
auto=@movedTo(this|graveyard) from(battlefield):life:-2 controller
text=You may cast Haakon, Stromgald Scourge from your graveyard, but not from anywhere else. -- As long as Haakon is on the battlefield, you may play Knight cards from your graveyard. -- When Haakon dies, you lose 2 life.
@@ -23861,7 +23878,7 @@ toughness=2
[/card]
[card]
name=Hero of the Nyxborn
auto=token(Human,Her)
auto=token(Soldier,Creature Human Soldier,1/1,white)
auto=@targeted(this) from(*[instant;sorcery;enchantment]|mycastingzone):1/0 all(creature|mybattlefield) ueot oneshot
text=When Hero of the Nyxborn enters the battlefield, create a 1/1 white Human Soldier creature token. -- Whenever you cast a spell that targets Hero of the Nyxborn, creatures you control get +1/+0 until end of turn.
mana={1}{R}{W}
@@ -24672,62 +24689,6 @@ toughness=1
color=white
[/card]
[card]
name=Human,Com
type=Creature
subtype=Human Soldier
power=1
toughness=1
color=white
[/card]
[card]
name=Human,Els
type=Creature
subtype=Human Soldier
power=1
toughness=1
color=white
[/card]
[card]
name=Human,Her
type=Creature
subtype=Human Soldier
power=1
toughness=1
color=white
[/card]
[card]
name=Human,Ome
type=Creature
subtype=Human Soldier
power=1
toughness=1
color=white
[/card]
[card]
name=Human,Rev
type=Creature
subtype=Human Soldier
power=1
toughness=1
color=white
[/card]
[card]
name=Human,Sio
type=Creature
subtype=Human Soldier
power=1
toughness=1
color=white
[/card]
[card]
name=Human,The
type=Creature
subtype=Human Soldier
power=1
toughness=1
color=white
[/card]
[card]
name=Humble Naturalist
auto=this(variable{type:creature:myrestrictedcastingzone}>0) {T}:add{G}
auto=this(variable{type:creature:myrestrictedcastingzone}>0) {T}:add{W}
@@ -24963,7 +24924,7 @@ toughness=4
[card]
name=Hypergenesis
color=green
restriction=turn:200
restriction=never
mana={0}
suspend(3)={1}{g}{g}
auto=ability$! moveto(ownerbattlefield) notatarget(<anyamount>artifact,creature,enchantment,land|myhand) !$ controller
@@ -25057,7 +25018,7 @@ toughness=8
[card]
name=Icehide Golem
other={i}
restriction=type(*|myHand)~morethan~9999
restriction=never
text=({S}i} can be paid with one mana from a snow permanent.)
mana={1}
type=Snow Artifact Creature
@@ -26228,9 +26189,9 @@ toughness=3
[card]
name=Inscription of Abundance
kicker={2}{G}
auto=if paid(kicker) then ability$!name(Put two +1/+1 counters) name(Put two +1/+1 counters) counter(1/1,2) target(creature)!$ controller
auto=if paid(kicker) then ability$!name(Gain life equal to power) name(Gain life equal to power) target(player) life:power:highest:*:targetedpersonsbattlefield!$ controller
auto=if paid(kicker) then name(Target creature fights) name(Target creature fights) target(creature|myBattlefield) transforms((,newability[target(creature|opponentBattlefield) dynamicability<!powerstrike eachother!>])) ueot
auto=if paid(kicker) then ability$!name(Target creature fights) may name(Target creature fights) target(creature|myBattlefield) transforms((,newability[target(creature|opponentBattlefield) dynamicability<!powerstrike eachother!>])) ueot!$ controller
auto=if paid(kicker) then ability$!name(Gain life equal to power) may name(Gain life equal to power) target(player) life:power:highest:*:targetedpersonsbattlefield!$ controller
auto=if paid(kicker) then ability$!name(Put two +1/+1 counters) may name(Put two +1/+1 counters) counter(1/1,2) target(creature)!$ controller
auto=ifnot paid(kicker) then choice name(Put two +1/+1 counters) name(Put two +1/+1 counters) counter(1/1,2) target(creature)
auto=ifnot paid(kicker) then choice name(Gain life equal to power) name(Gain life equal to power) target(player) life:power:highest:*:targetedpersonsbattlefield
auto=ifnot paid(kicker) then choice name(Target creature fights) name(Target creature fights) target(creature|myBattlefield) transforms((,newability[target(creature|opponentBattlefield) dynamicability<!powerstrike eachother!>])) ueot
@@ -26241,12 +26202,15 @@ type=Instant
[card]
name=Inscription of Insight
kicker={2}{U}{U}
auto=if paid(kicker) then ability$!name(Reveal) reveal:2 optionone name(Put On Top) target(<upto:2>*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<2>*|reveal) bottomoflibrary optiontwoend afterrevealed name(Return 2 creatures to owner hand) moveTo(ownerHand) target(<upto:2>creature) afterrevealedend revealend !$ controller
auto=if paid(kicker) then ability$!name(Choose one) choice name(You create an X/X Illusion) name(You create an X/X Illusion) token(Illusion,Creature Illusion,phandcount/phandcount,blue) && draw:2 controller _ choice name(Opponent creates an X/X Illusion) name(Opponent creates an X/X Illusion) token(Illusion,Creature Illusion,ohandcount/ohandcount,blue) opponent && draw:2 controller!$ controller
auto=ifnot paid(kicker) then choice name(Return 2 creatures to owner hand) name(Return 2 creatures to owner hand) moveTo(ownerHand) target(<upto:2>creature)
auto=ifnot paid(kicker) then choice name(Scry 2 and draw 2 cards) name(Scry 2 and draw 2 cards) reveal:2 optionone name(Put On Top) target(<upto:2>*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<2>*|reveal) bottomoflibrary optiontwoend afterrevealed transforms((,newability[draw:2 controller])) oneshot afterrevealedend revealend
auto=ifnot paid(kicker) then choice name(You create an X/X Illusion) name(You create an X/X Illusion) token(Illusion,Creature Illusion,phandcount/phandcount,blue)
auto=ifnot paid(kicker) then choice name(Opponent creates an X/X Illusion) name(Opponent creates an X/X Illusion) token(Illusion,Creature Illusion,ohandcount/ohandcount,blue) opponent
aicode=activate transforms((,newability[draw:2 controller])) oneshot
auto=if paid(kicker) then ability$!name(Scry 2 and draw) may name(Scry 2 and draw) scry:2 scrycore delayed draw:2 controller scrycoreend scryend!$ controller
auto=if paid(kicker) then ability$!name(Choose one) choice name(Return 1 creature) target(creature|battlefield) moveto(ownerhand) _ choice name(Return 2 creatures) target(<upto:2>creature|battlefield) moveto(ownerhand) _ choice name(Don't return any creature) donothing!$ controller
auto=if paid(kicker) then ability$!name(Choose one) choice name(You create an X/X illusion) token(Illusion,Creature Illusion,phandcount/phandcount,blue) _ choice name(Opponent creates an X/X illusion) token(Illusion,Creature Illusion,ohandcount/ohandcount,blue) opponent _ choice name(Don't creates illusion) donothing!$ controller
auto=ifnot paid(kicker) then choice name(Return 1 creature to owner hand) name(Return 1 creature to owner hand) moveTo(ownerHand) target(creature|battlefield)
auto=ifnot paid(kicker) then choice name(Return 2 creatures to owner hand) name(Return 2 creatures to owner hand) moveTo(ownerHand) target(<2>creature|battlefield)
auto=ifnot paid(kicker) then choice name(Scry 2 and draw) name(Scry 2 and draw) scry:2 scrycore delayed draw:2 controller scrycoreend scryend
auto=ifnot paid(kicker) then choice name(You create an X/X illusion) name(You create an X/X illusion) token(Illusion,Creature Illusion,phandcount/phandcount,blue)
auto=ifnot paid(kicker) then choice name(Opponent creates an X/X illusion) name(Opponent creates an X/X illusion) token(Illusion,Creature Illusion,ohandcount/ohandcount,blue) opponent
text=Kicker {2}{U}{U} -- Choose one. If this spell was kicked, choose any number instead. -- • Return up to two target creatures to their owners' hands. -- • Scry 2, then draw two cards. -- • Target player creates an X/X blue Illusion creature token, where X is the number of cards in their hand.
mana={3}{U}
type=Sorcery
@@ -26254,9 +26218,9 @@ type=Sorcery
[card]
name=Inscription of Ruin
kicker={2}{B}{B}
auto=if paid(kicker) then ability$!name(Opponent discards 2 cards) name(Opponent discards 2 cards) notatarget(<2>*|myhand) reject!$ opponent
auto=if paid(kicker) then ability$!name(Return a creature with mana cost 2 or less) name(Return a creature with mana cost 2 or less) moveTo(mybattlefield) target(creature[manacost<=2]|myGraveyard)!$ controller
auto=if paid(kicker) then ability$!name(Destroy target creature with mana cost 3 or less) name(Destroy target creature with mana cost 3 or less) destroy target(creature[manacost<=3])!$ controller
auto=if paid(kicker) then ability$!name(Opponent discards 2 cards) may name(Opponent discards 2 cards) notatarget(<2>*|myhand) reject!$ opponent
auto=if paid(kicker) then ability$!name(Return a creature with mana cost 2 or less) may name(Return a creature with mana cost 2 or less) moveTo(mybattlefield) target(creature[manacost<=2]|myGraveyard)!$ controller
auto=if paid(kicker) then ability$!name(Destroy target creature with mana cost 3 or less) may name(Destroy target creature with mana cost 3 or less) destroy target(creature[manacost<=3])!$ controller
auto=ifnot paid(kicker) then choice name(Opponent discards 2 cards) name(Opponent discards 2 cards) ability$!name(Opponent discards 2 cards) notatarget(<2>*|myhand) reject!$ opponent
auto=ifnot paid(kicker) then choice name(Return a creature with mana cost 2 or less) name(Return a creature with mana cost 2 or less) moveTo(mybattlefield) target(creature[manacost<=2]|myGraveyard)
auto=ifnot paid(kicker) then choice name(Destroy target creature with mana cost 3 or less) name(Destroy target creature with mana cost 3 or less) destroy target(creature[manacost<=3])
@@ -26311,7 +26275,7 @@ type=Instant
[/card]
[card]
name=Inspire Awe
auto=preventAllcombatDamage(-creature[aura>=1],-Enchantment Creature) ueot
auto=preventallcombatdamage from(creature[-enchantment;-enchanted]|battlefield) ueot
auto=scry:2 scrycore delayed dontshow donothing scrycoreend scryend
text=Prevent all combat damage that would be dealt this turn except by enchanted creatures and enchantment creatures. Scry 2.
mana={3}{G}
@@ -26786,7 +26750,8 @@ type=Instant
[card]
name=Isolated Watchtower
auto={T}:add{C}
auto={2}{T}:scry:1 scrycore delayed target(land[zpos<=1]|mylibrary) moveto(mybattlefield) and!(tap(noevent))! scrycoreend scryend restriction{type(land|opponentbattlefield)~morethan~1}
aicode=activate target(land[zpos<=1]|mylibrary) moveto(mybattlefield) and!( tap(noevent) )!
auto={2}{T} restriction{compare(type:land:opponentbattlefield)~morethan~compare(type:land:mybattlefieldplus1plusend)}:name(Scry 1) scry:1 scrycore delayed target(land[zpos<=1]|mylibrary) moveto(mybattlefield) and!( tap(noevent) )! scrycoreend scryend
text={T}: Add {C}. -- {2}, {T}: Scry 1, then you may reveal the top card of your library. If a basic land card is revealed this way, put it onto the battlefield tapped. Activate this ability only if an opponent controls at least two more lands than you.
type=Land
[/card]
@@ -26816,6 +26781,7 @@ type=Enchantment
[/card]
[card]
name=Ixalli's Diviner
aicode=activate if type(land[zpos=1]|mylibrary)~lessthan~1 then all(this) counter(1/1) else all(land[zpos=1]|mylibrary) moveto(myhand)
auto=explores && reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) forever optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) oneshot optiontwoend revealend limit:1
text=When Ixalli's Diviner enters the battlefield, it explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.)
mana={1}{G}
@@ -27051,6 +27017,7 @@ type=Instant
[/card]
[card]
name=Jadelight Ranger
aicode=activate if type(land[zpos=1]|mylibrary)~lessthan~1 then all(this) counter(1/1) else all(land[zpos=1]|mylibrary) moveto(myhand)
auto=explores && reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) forever optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) oneshot optiontwoend revealend limit:1
auto=explores && reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) forever optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) oneshot optiontwoend revealend limit:1
text=When Jadelight Ranger enters the battlefield, it explores, then it explores again. (Reveal the top card of your library. Put that card into your hand if its a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard. Then repeat this process.)
@@ -32480,8 +32447,9 @@ type=Land
[/card]
[card]
name=Mazemind Tome
auto={T}{C(0/0,1,Page):scry:1 scrycore delayed dontshow donothing scrycoreend scryend && aslongas(Mazemind Tome[counter{0/0.4.Page}]|myBattlefield) life:4 controller && aslongas(Mazemind Tome[counter{0/0.4.Page}]|myBattlefield) moveTo(myExile) all(this)
auto={2}{T}{C(0/0,1,Page)}:draw:1 controller && aslongas(Mazemind Tome[counter{0/0.4.Page}]|myBattlefield) life:4 controller && aslongas(Mazemind Tome[counter{0/0.4.Page}]|myBattlefield) moveTo(myExile) all(this)
auto={T}{C(0/0,1,Page)}:name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
auto={2}{T}{C(0/0,1,Page)}:name(Draw 1) draw:1 controller
auto=@counteradded(0/0,1,Page) from(this):this(counter{0/0.1.Page}>=4) moveTo(myExile) all(this) && life:4 controller
text={T}, Put a page counter on Mazemind Tome: Scry 1. -- {2], {T}, Put a page counter on Mazemind Tome: Draw a card. -- When there are four or more page counters on Mazemind Tome, exile it. If you do, you gain 4 life.
mana={2}
type=Artifact
@@ -32500,6 +32468,7 @@ toughness=1
name=Medomai's Prophecy
auto=counter(0/0,1,Lore)
auto=@each my firstmain:counter(0/0,1,Lore)
aicode=activate donothing
auto=scry:2 scrycore delayed dontshow donothing scrycoreend scryend
auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}=) chooseaname donothing chooseend
auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) transforms((,newability[@movedto(*[lastnamechosen]|mystack) once:draw:1 controller])) ueot
@@ -32694,6 +32663,7 @@ toughness=2
[/card]
[card]
name=Merfolk Branchwalker
aicode=activate if type(land[zpos=1]|mylibrary)~lessthan~1 then all(this) counter(1/1) else all(land[zpos=1]|mylibrary) moveto(myhand)
auto=explores && reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) forever optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) oneshot optiontwoend revealend limit:1
text=When Merfolk Branchwalker enters the battlefield, it explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.)
mana={1}{G}
@@ -33249,7 +33219,7 @@ type=Instant
[card]
name=Mischievous Chimera
abilities=flying
auto=@movedto(*|mystack) restriction{opponentturnonly,thisturn(*|mystack)~equalto~0}:damage:1 target(opponent) && scry:1 scrycore delayed dontshow donothing scrycoreend scryend
auto=@movedto(*|mystack) restriction{opponentturnonly,thisturn(*|mystack)~equalto~0}:damage:1 opponent && scry:1 scrycore delayed dontshow donothing scrycoreend scryend
text=Flying -- Whenever you cast your first spell during each opponent's turn, Mischievous Chimera deals 1 damage to each opponent. Scry 1.
mana={U}{R}
type=Enchantment Creature
@@ -33807,7 +33777,7 @@ type=Artifact
[card]
name=Mox Tantalite
suspend(3)={0}
restriction=turn:200
restriction=never
mana={0}
auto={T}:Add{W}
auto={T}:Add{U}
@@ -35415,7 +35385,7 @@ type=Land
[/card]
[card]
name=No Escape
target=creature,planeswalker|stack
target=*[creature;planeswalker]|stack
auto=fizzleto(exile)
auto=scry:1 scrycore delayed dontshow donothing scrycoreend scryend
text=Counter target creature or planeswalker spell. If that spell is countered this way, exile it instead of putting it into its owner's graveyard. -- Scry 1.
@@ -36203,7 +36173,8 @@ type=Enchantment
[card]
name=Omen of the Sea
abilities=flash
auto=scry:2 scrycore delayed dontshow donothing scrycoreend scryend && draw: 1 controller
aicode=activate transforms((,newability[draw:1 controller])) oneshot
auto=scry:2 scrycore delayed draw:1 controller scrycoreend scryend
auto={2}{U}{S}:scry:2 scrycore delayed dontshow donothing scrycoreend scryend
text=Flash -- When Omen of the Sea enters the battlefield, scry 2, then draw a card. -- {2}{U}, Sacrifice Omen of the Sea: Scry 2.
mana={1}{U}
@@ -36212,7 +36183,8 @@ type=Enchantment
[card]
name=Omen of the Sun
abilities=flash
auto=token(Human,Ome)*2 && life:2 controller
auto=token(Soldier,Creature Human Soldier,1/1,white)*2
auto=life:2 controller
auto={2}{W}{S}:scry:2 scrycore delayed dontshow donothing scrycoreend scryend
text=Flash -- When Omen of the Sun enters the battlefield, create two 1/1 white Human Soldier creature tokens and you gain 2 life. -- {2}{W}, Sacrifice Omen of the Sun: Scry 2.
mana={2}{W}
@@ -37566,7 +37538,8 @@ type=Land
[/card]
[card]
name=Path of Discovery
auto=@movedTo(creature|myBattlefield):explores && reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) forever optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) oneshot optiontwoend revealend limit:1
aicode=activate if type(land[zpos=1]|mylibrary)~lessthan~1 then counter(1/1) else all(land[zpos=1]|mylibrary) moveto(myhand)
auto=@movedTo(creature|myBattlefield):all(trigger[to]) explores && reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) forever optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) oneshot optiontwoend revealend limit:1
text=Whenever a creature enters the battlefield under your control, it explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on the creature, then put the card back or put it into your graveyard.)
mana={3}{G}
type=Enchantment
@@ -37783,10 +37756,18 @@ type=Enchantment
subtype=Aura
[/card]
[card]
name=Peregrination
auto=if type(land|myLibrary)~morethan~1 then choice name(Search two lands) name(Search two lands) target(land[basic]|mylibrary) moveto(mybattlefield) and!( transforms((,newability[tap(noevent)],newability[name(Search another land) target(land[basic]|mylibrary) moveto(myhand) and!( transforms((,newability[name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend])) oneshot )!])) oneshot )!
auto=if type(land|myLibrary)~morethan~0 then choice name(Search one land) name(Search one land) target(land[basic]|mylibrary) moveto(mybattlefield) and!( tap(noevent) && scry:1 scrycore delayed dontshow donothing scrycoreend scryend )!
auto=choice name(Don't search any land) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
text=Search your library for up to two basic land cards, reveal those cards, and put one onto the battlefield tapped and the other into your hand. Shuffle your library, then scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.)
mana={3}{G}
type=Sorcery
[/card]
[card]
name=Perilous Voyage
target=*[-land]|opponentBattlefield
auto=moveto(ownerhand)
auto=if targeted(*[manacost<=2]) then _SCRY_(2)
auto=if type(*[-land;manacost<=2]|opponentBattlefield)~morethan~0 then choice name(Return permanent with manacost 2 or less) name(Return permanent with manacost 2 or less) target(*[-land;manacost<=2]|opponentBattlefield) moveto(ownerhand) && scry:2 scrycore delayed dontshow donothing scrycoreend scryend
auto=choice name(Return permanent with manacost 3 or more) target(*[-land;manacost>=3]|opponentBattlefield) moveto(ownerhand)
text=Return target nonland permanent you don't control to its owner's hand. If its converted mana cost was 2 or less, scry 2.
mana={1}{U}
type=Instant
@@ -38782,8 +38763,8 @@ type=Enchantment
[/card]
[card]
name=Precognitive Perception
auto=if compare(restriction{assorcery}~morethan~0) then scry:3 scrycore delayed dontshow donothing scrycoreend scryend else
auto=draw:3
aicode=activate transforms((,newability[draw:3 controller])) oneshot
auto=if compare(restriction{assorcery}~morethan~0) then scry:3 scrycore delayed draw:3 controller scrycoreend scryend else draw:3 controller
text=Draw three cards. -- Addendum — If you cast this spell during your main phase, instead scry 3, then draw three cards.
mana={3}{U}{U}
type=Instant
@@ -39036,6 +39017,7 @@ toughness=1
[card]
name=Prison Realm
auto=(blink)forsrc target(*[creature;planeswalker]|opponentbattlefield)
auto=scry:1 scrycore delayed dontshow donothing scrycoreend scryend
text=When Prison Realm enters the battlefield, exile target creature or planeswalker an opponent controls until Prison Realm leaves the battlefield. -- When Prison Realm enters the battlefield, scry 1.
mana={2}{W}
type=Enchantment
@@ -39327,7 +39309,7 @@ type=Instant
[/card]
[card]
name=Psychic Corrosion
auto=@draw:deplete:2 opponent
auto=@drawof(player):deplete:2 opponent
text=Whenever you draw a card, each opponent puts the top two cards of their library into their graveyard.
mana={2}{U}
type=Enchantment
@@ -39766,6 +39748,7 @@ toughness=3
[card]
name=Queen's Agent
abilities=lifelink
aicode=activate if type(land[zpos=1]|mylibrary)~lessthan~1 then all(this) counter(1/1) else all(land[zpos=1]|mylibrary) moveto(myhand)
auto=explores && reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) forever optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) oneshot optiontwoend revealend limit:1
text=Lifelink -- When Queen's Agent enters the battlefield, it explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.)
mana={5}{B}
@@ -40824,8 +40807,9 @@ toughness=5
[/card]
[card]
name=Reason // Believe
auto=deplete:3 controller && transforms((,newability[may moveto(mylibrary) target(<upto:3>*|mygraveyard)])) ueot
autograveyard={4}{G}{E}:flipacoin winability moverandom(creature) from(mylibrary) to(mybattlefield) winabilityend loseability moverandom(*[-creature]) from(mylibrary) to(myhand) loseabilityend flipend assorcery
auto=scry:3 scrycore delayed dontshow donothing scrycoreend scryend
autograveyard={4}{G}{E} restriction{type(creature[zpos=1]|mylibrary)~morethan~0}:name(Look top card) all(creature[zpos=1]|mylibrary) moveTo(myhand) and!( transforms((,newability[may name(Put on battlefield) moveto(myBattlefield)])) oneshot )!
autograveyard={4}{G}{E} restriction{type(creature[zpos=1]|mylibrary)~equalto~0}:name(Look top card) all(*[zpos=1]|mylibrary) moveTo(myhand)
text=Scry 3. -- Aftermath (Cast this spell only from your graveyard. Then exile it.) Look at the top card of your library. You may put it onto the battlefield if it's a creature card. If you don't, put it into your hand.
mana={U}
type=Sorcery
@@ -41680,7 +41664,7 @@ type=Enchantment
[/card]
[card]
name=Reverent Hoplite
auto=token(Human,Rev)*type:manaW
auto=token(Soldier,Creature Human Soldier,1/1,white)*type:manaW
text=When Reverent Hoplite enters the battlefield, create a number of 1/1 white Human Soldier creature tokens equal to your devotion to white. (Each {W} in the mana costs of permanents you control counts toward your devotion to white.)
mana={4}{W}
type=Creature
@@ -44673,8 +44657,8 @@ toughness=3
[/card]
[card]
name=Scour All Possibilities
aicode=activate draw:1
auto=name(Scry) reveal:2 optionone name(Put On Top) target(<upto:2>*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<2>*|reveal) bottomoflibrary optiontwoend afterrevealed transforms((,newability[draw:1 controller])) oneshot afterrevealedend revealend
aicode=activate transforms((,newability[draw:1 controller])) oneshot
auto=scry:2 scrycore delayed draw:1 controller scrycoreend scryend
flashback={4}{U}
text=Scry 2, then draw a card. -- Flashback {4}{U} (You may cast this card from your graveyard for its flashback cost. Then exile it.)
mana={1}{U}
@@ -44986,8 +44970,8 @@ type=Land
[card]
name=Season of Growth
auto=@movedto(creature|mybattlefield):scry:1 scrycore delayed dontshow donothing scrycoreend scryend
auto=@targeted(creature|myBattlefield) from(instant,sorcery|mystack):draw:1
auto=@targeted(creature|mybattlefield) from(*[instant;sorcery]|nonbattlezone,stack):draw:1
auto=@targeted(creature|myBattlefield) from(instant,sorcery|mystack):draw:1 controller
auto=@targeted(creature|mybattlefield) from(*[instant;sorcery]|nonbattlezone,stack):draw:1 controller
text=Whenever a creature enters the battlefield under your control, scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) -- Whenever you cast a spell that targets a creature you control, draw a card.
mana={1}{G}
type=Enchantment
@@ -45098,6 +45082,7 @@ toughness=3
[/card]
[card]
name=Seekers' Squire
aicode=activate if type(land[zpos=1]|mylibrary)~lessthan~1 then all(this) counter(1/1) else all(land[zpos=1]|mylibrary) moveto(myhand)
auto=explores && reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) forever optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) oneshot optiontwoend revealend limit:1
text=When Seekers' Squire enters the battlefield, it explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.)
mana={1}{B}
@@ -45847,7 +45832,8 @@ type=Enchantment
[/card]
[card]
name=Shard
auto={2}{S}:scry:1 scrycore dontshow delayed draw:1 scrycoreend scryend
aicode=activate transforms((,newability[draw:1 controller])) oneshot
auto={2}{S}:scry:1 scrycore delayed draw:1 controller scrycoreend scryend
text={2}, Sacrifice this enchantment: Scry 1, then draw a card.
type=Enchantment
[/card]
@@ -46630,6 +46616,7 @@ toughness=2
[card]
name=Sifter Wurm
abilities=trample
aicode=activate transforms((,newability[all(*[zpos=1]|mylibrary) transforms((,newability[life:manacost controller])) oneshot])) oneshot
auto=scry:3 scrycore delayed life:revealedmana scrycoreend scryend
text=Trample -- When Sifter Wurm enters the battlefield, scry 3, then reveal the top card of your library. You gain life equal to that card's converted mana cost.
mana={5}{G}{G}
@@ -47042,9 +47029,9 @@ toughness=2
[card]
name=Siona, Captain of the Pyleas
abilities=hiddenface
aicode=activate target(*[zpos<=7]|mylibrary) moveto(ownerhand)
auto=reveal:7 optionone name(Look at the top four cards) target(enchantment[aura]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<7>*|reveal) bottomoflibrary optiontwoend revealend
auto=@targeted(creature|myBattlefield) from(aura):token(Human,Sio)
aicode=activate target(aura[zpos<=7]|mylibrary) moveto(ownerhand)
auto=reveal:7 optionone name(Look at the top seven cards) target(aura|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<7>*|reveal) bottomoflibrary optiontwoend revealend
auto=@targeted(creature|myBattlefield) from(aura|myzones):token(Soldier,Creature Human Soldier,1/1,white)
text=When Siona, Captain of the Pyleas enters the battlefield, look at the top seven cards of your library. You may reveal an Aura card from among them and put it into your hand. Put the rest on the bottom of your library in a random order. -- Whenever an Aura you control becomes attached to a creature you control, create a 1/1 white Human Soldier creature token.
mana={1}{G}{W}
type=Legendary Creature
@@ -47055,6 +47042,7 @@ toughness=2
[card]
name=Siren Lookout
abilities=flying
aicode=activate if type(land[zpos=1]|mylibrary)~lessthan~1 then all(this) counter(1/1) else all(land[zpos=1]|mylibrary) moveto(myhand)
auto=explores && reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) forever optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) oneshot optiontwoend revealend limit:1
text=Flying -- When Siren Lookout enters the battlefield, it explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.)
mana={2}{U}
@@ -51175,6 +51163,7 @@ toughness=3
[card]
name=Sunrise Seeker
abilities=vigilance
aicode=activate if type(land[zpos=1]|mylibrary)~lessthan~1 then all(this) counter(1/1) else all(land[zpos=1]|mylibrary) moveto(myhand)
auto=explores && reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) forever optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) oneshot optiontwoend revealend limit:1
text=Vigilance -- When Sunrise Seeker enters the battlefield, it explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.)
mana={4}{W}
@@ -51219,8 +51208,8 @@ toughness=3
[card]
name=Sunset Pyramid
auto=counter(0/0,3,brick)
auto={2}{T}{counter(0/0,-1,brick)}:draw:1
auto={2}{T}:scry:1 scrycore delayed dontshow donothing scrycoreend scryend
auto={2}{T}{counter(0/0,-1,brick)}:name(Draw 1) draw:1 controller
auto={2}{T}:name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
text=Sunset Pyramid enters the battlefield with three brick counters on it. -- {2}, {T}, Remove a brick counter from Sunset Pyramid: Draw a card. -- {2}, {T}: Scry 1.
mana={2}
type=Artifact
@@ -52199,8 +52188,8 @@ toughness=3
[/card]
[card]
name=Tamiyo's Epiphany
aicode=activate draw:2 controller
auto=name(Scry) reveal:4 optionone name(Put On Top) target(<upto:4>*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend afterrevealed transforms((,newability[draw:2 controller])) oneshot afterrevealedend revealend
aicode=activate transforms((,newability[draw:2 controller])) oneshot
auto=scry:4 scrycore delayed draw:2 controller scrycoreend scryend
text=Scry 4, then draw two cards.
mana={3}{U}
type=Sorcery
@@ -53158,7 +53147,7 @@ subtype=Saga
[/card]
[card]
name=The First Iroan Games
auto=token(Human,The)
auto=token(Soldier,Creature Human Soldier,1/1,white)
auto=counter(0/0,1,Lore)
auto=@each my firstmain:counter(0/0,1,Lore)
auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}) counter(1/1,3) target(creature|myBattlefield)
@@ -53326,8 +53315,8 @@ type=Legendary Artifact
[card]
name=The Scarab God
auto={2}{U}{B}:target(creature|graveyard) clone and!( transforms((Zombie,setpower=4,settoughness=4,black)) forever )! && moveTo(exile)
auto=@each my upkeep:foreach(zombie|mybattlefield) life:-1 opponent
auto=@each my upkeep:reveal:type:zombie:mybattlefield optionone name(Scry) target(<60>*|reveal) moveto(mylibrary) optiononeend revealend
auto=@each my upkeep:name(Opponent looses life) foreach(zombie|mybattlefield) life:-1 opponent
auto=@each my upkeep:name(Scry cards) scry:type:zombie:mybattlefield scrycore delayed scrycoreend scryend
auto=@movedTo(this|graveyard) from(battlefield):phaseaction[endofturn once] moveTo(ownerhand) ueot
text=At the beginning of your upkeep, each opponent loses X life and you scry X, where X is the number of Zombies you control. -- {2}{U}{B}: Exile target creature card from a graveyard. Create a token that's a copy of it, except it's a 4/4 black Zombie. -- When The Scarab God dies, return it to its owner's hand at the beginning of the next end step.
mana={3}{U}{B}
@@ -53706,9 +53695,8 @@ toughness=4
[card]
name=Thrasios, Triton Hero
abilities=partner
aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary)
aicode=activate target(<1>*[zpos=1]|mylibrary) name(revealed card) moveto(myhand) name(revealed card) and!(if cantargetcard(land|*) then moveto(mybattlefield) tap(noevent))!
auto={4}:name(Scry 1) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend && reveal:1 optionone target(land|reveal) moveto(mybattlefield) tap(noevent) optiononeend optiontwo name(Put in hand) target(<1>*|reveal) moveto(myhand) optiontwoend revealend
aicode=activate if type(land[zpos=1]|mylibrary)~equalto~0 then draw:1 controller else all(land[zpos=1]|mylibrary) moveto(mybattlefield) and!( tap(noevent) )!
auto={4}:scry:1 scrycore delayed dontshow transforms((,newability[if type(land[zpos=1]|mylibrary)~equalto~0 then all(*[zpos=1]|mylibrary) moveto(myhand) else all(land[zpos=1]|mylibrary) moveto(mybattlefield) and!( tap(noevent) )!])) oneshot scrycoreend scryend
text={4}: Scry 1, then reveal the top card of your library. If its a land card, put it onto the battlefield tapped. Otherwise, draw a card. -- Partner (You can have two commanders if both have partner.)
mana={G}{U}
type=Legendary Creature
@@ -54313,6 +54301,7 @@ toughness=2
[/card]
[card]
name=Tishana's Wayfinder
aicode=activate if type(land[zpos=1]|mylibrary)~lessthan~1 then all(this) counter(1/1) else all(land[zpos=1]|mylibrary) moveto(myhand)
auto=explores && reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) forever optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) oneshot optiontwoend revealend limit:1
text=When Tishana's Wayfinder enters the battlefield, it explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.)
mana={2}{G}
@@ -54504,6 +54493,7 @@ toughness=3
[card]
name=Tomb Robber
abilities=menace
aicode=activate if type(land[zpos=1]|mylibrary)~lessthan~1 then all(this) counter(1/1) else all(land[zpos=1]|mylibrary) moveto(myhand)
auto={1}{D(*|myhand)}:name(Explores) explores && reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) forever optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) oneshot optiontwoend revealend limit:1
text=Menace -- {1}, Discard a card: Tomb Robber explores. (Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.)
mana={2}{B}
@@ -54831,8 +54821,8 @@ type=Instant
[/card]
[card]
name=Track Down
auto=scry:3 scrycore delayed dontshow donothing scrycoreend scryend
auto=reveal:1 optionone if type(*[land;creature]|reveal)~morethan~0 then draw:1 controller optiononeend optiontwo name(back to library) target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend
aicode=activate if type(*[creature;land;zpos=1]|mylibrary)~morethan~0 then draw:1 controller
auto=scry:3 scrycore delayed dontshow transforms((,newability[if type(*[creature;land;zpos=1]|mylibrary)~morethan~0 then all(*[zpos=1]|mylibrary) moveto(myhand) else target(*[zpos=1]|mylibrary) moveto(myreveal) and!( placefromthetop(1) )!])) oneshot scrycoreend scryend
text=Scry 3, then reveal the top card of your library. If it's a creature or land card, draw a card. (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={1}{G}
type=Sorcery
@@ -55778,11 +55768,13 @@ toughness=2
[/card]
[card]
name=Tymaret Calls the Dead
auto=deplete:3 controller && may moveto(exile) target(creature,enchantment|myGraveyard) && token(Zombie,Creature Zombie,2/2,black)
auto=transforms((,newability[deplete:3 controller],newability[may name(Exile card and create zombie) moveto(exile) target(*[creature;enchantment]|myGraveyard) && token(Zombie^Creature Zombie^2/2^black)])) oneshot
auto=counter(0/0,1,Lore)
auto=@each my firstmain:counter(0/0,1,Lore)
auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}) deplete:3 controller && may moveto(exile) target(creature,enchantment|myGraveyard) && token(Zombie,Creature Zombie,2/2,black)
auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) :life:type:zombie:mybattlefield controller && scry:type:zombie:mybattlefield scrycore delayed dontshow donothing scrycoreend scryend && sacrifice(this)
auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}):transforms((,newability[deplete:3 controller],newability[may name(Exile card and create zombie) moveto(exile) target(*[creature;enchantment]|myGraveyard) && token(Zombie^Creature Zombie^2/2^black)])) oneshot
auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}):life:type:zombie:mybattlefield controller
auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}):scry:type:zombie:mybattlefield scrycore delayed dontshow donothing scrycoreend scryend
auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}):sacrifice(this)
text=(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.) -- I, II — Put the top three cards of your library into your graveyard. Then you may exile a creature or enchantment card from your graveyard. If you do, create a 2/2 black Zombie creature token. -- III — You gain X life and scry X, where X is the number of Zombies you control.
mana={2}{B}
type=Enchantment
@@ -58722,7 +58714,7 @@ toughness=1
[/card]
[card]
name=Warteye Witch
auto=@movedTo(creature|graveyard) from(mybattlefield:scry:1 scrycore delayed dontshow donothing scrycoreend scryend
auto=@movedTo(creature|graveyard) from(mybattlefield):scry:1 scrycore delayed dontshow donothing scrycoreend scryend
text=Whenever Warteye Witch or another creature you control dies, scry 1.
mana={2}{B}
type=Creature
@@ -59701,6 +59693,7 @@ type=Sorcery
[card]
name=Witching Well
auto=scry:2 scrycore delayed dontshow donothing scrycoreend scryend
auto={3}{U}{S}:draw:2 controller
text=When Witching Well enters the battlefield, 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.) -- {3}{U}, Sacrifice Witching Well: Draw two cards.
mana={U}
type=Artifact

View File

@@ -3448,7 +3448,7 @@ auto=target(player) draw:3
text=Ancestral Vision is blue. -- Suspend 4 - {U} (Rather than cast this card from your hand, pay {U} and exile it with four 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.) -- Target player draws three cards.
mana={0}
color=blue
restriction=turn:200
restriction=never
suspend(4)={u}
type=Sorcery
[/card]
@@ -4648,7 +4648,7 @@ toughness=0
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=@combat(attacking) source(mytgt):scry:1 scrycore delayed dontshow donothing scrycoreend scryend
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.)
mana={U}
@@ -4689,7 +4689,7 @@ toughness=1
[card]
name=Arachnogenesis
auto=token(Spider,Creature Spider,1/2,reach,green)*type:creature[attacking]:opponentbattlefield
auto=preventAllCombatDamage from(creature[-spider]) ueot
auto=preventAllCombatDamage from(creature[-spider]|battlefield) ueot
text=Put X 1/2 green Spider creature tokens with reach onto the battlefield, where X is the number of creatures attacking you. Prevent all combat damage that would be dealt this turn by non-Spider creatures.
mana={2}{G}
type=Instant
@@ -5916,7 +5916,7 @@ toughness=4
[/card]
[card]
name=Armored Transport
auto=preventAllCombatDamage from(creature[blocking]) to(this)
auto=preventAllCombatDamage from(creature[blocking]|battlefield) to(this)
text=Prevent all combat damage that would be dealt to Armored Transport by creatures blocking it.
mana={3}
type=Artifact Creature
@@ -9851,7 +9851,7 @@ toughness=2
[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
auto=@targeted(this) from(*[instant;sorcery;enchantment]|mycastingzone):counter(1/1,1) && scry:1 scrycore delayed dontshow donothing scrycoreend scryend
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
@@ -14282,14 +14282,16 @@ type=Instant
[card]
name=Brain in a Jar
auto={1}{T}:counter(0/0,1,Charge) && transforms((,newability[target(*[instant;sorcery;manacost=counter{0%0.1.charge}]|myhand) castcard(normal)])) oneshot
auto={3}{T}{c(0/0,-1,Charge)}: scry:1 scrycore delayed dontshow donothing scrycoreend scryend
auto={3}{T}{c(0/0,-2,Charge)}: scry:2 scrycore delayed dontshow donothing scrycoreend scryend
auto={3}{T}{c(0/0,-3,Charge)}: scry:3 scrycore delayed dontshow donothing scrycoreend scryend
auto={3}{T}{c(0/0,-4,Charge)}: scry:4 scrycore delayed dontshow donothing scrycoreend scryend
auto={3}{T}{c(0/0,-5,Charge)}: scry:5 scrycore delayed dontshow donothing scrycoreend scryend
auto={3}{T}{c(0/0,-6,Charge)}: scry:6 scrycore delayed dontshow donothing scrycoreend scryend
auto={3}{T}{c(0/0,-7,Charge)}: scry:7 scrycore delayed dontshow donothing scrycoreend scryend
auto={3}{T}:counter(0/0,-8,Charge) scry:8 scrycore delayed dontshow donothing scrycoreend scryend
auto={3}{T}{c(0/0,-1,Charge)}:name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
auto={3}{T}{c(0/0,-2,Charge)}:name(Scry 2) scry:2 scrycore delayed dontshow donothing scrycoreend scryend
auto={3}{T}{c(0/0,-3,Charge)}:name(Scry 3) scry:3 scrycore delayed dontshow donothing scrycoreend scryend
auto={3}{T}{c(0/0,-4,Charge)}:name(Scry 4) scry:4 scrycore delayed dontshow donothing scrycoreend scryend
auto={3}{T}{c(0/0,-5,Charge)}:name(Scry 5) scry:5 scrycore delayed dontshow donothing scrycoreend scryend
auto={3}{T}{c(0/0,-6,Charge)}:name(Scry 6) scry:6 scrycore delayed dontshow donothing scrycoreend scryend
auto={3}{T}{c(0/0,-7,Charge)}:name(Scry 7) scry:7 scrycore delayed dontshow donothing scrycoreend scryend
auto={3}{T}{c(0/0,-8,Charge)}:name(Scry 8) scry:8 scrycore delayed dontshow donothing scrycoreend scryend
auto={3}{T}{c(0/0,-9,Charge)}:name(Scry 9) scry:9 scrycore delayed dontshow donothing scrycoreend scryend
auto={3}{T}{c(0/0,-10,Charge)}:name(Scry 10) scry:10 scrycore delayed dontshow donothing scrycoreend scryend
text={1}, {T}: Put a charge counter on Brain in a Jar, then you may cast an instant or sorcery card with converted mana cost equal to the number of charge counters on Brain in a Jar from your hand without paying its mana cost. -- {3}, {T}, Remove X charge counters from Brain in a Jar: Scry X.
mana={2}
type=Artifact
@@ -17391,7 +17393,7 @@ 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
auto=@movedTo(other creature|graveyard) from(myBattlefield):name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
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}
type=Creature
@@ -19519,7 +19521,7 @@ type=Instant
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
auto=@targeted(this) from(*[instant;sorcery;enchantment]|mycastingzone):counter(1/1,1) && name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
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
@@ -27770,7 +27772,7 @@ toughness=1
[/card]
[card]
name=Deepwood Tantiv
auto=@combat(blocked,turnlimited) source(this):life:2 conroller
auto=@combat(blocked,turnlimited) source(this):life:2 controller
text=Whenever Deepwood Tantiv becomes blocked, you gain 2 life.
mana={4}{G}
type=Creature
@@ -35667,7 +35669,7 @@ subtype=Aura
[/card]
[card]
name=Enchanted Being
auto=preventAllCombatDamage from(creature[enchanted]) to(this)
auto=preventAllCombatDamage from(creature[enchanted]|battlefield) to(this)
text=Prevent all combat damage that would be dealt to Enchanted Being by enchanted creatures.
mana={1}{W}{W}
type=Creature
@@ -42700,8 +42702,8 @@ toughness=2
[/card]
[card]
name=Foresee
aicode=activate draw:2 controller
auto=name(Scry) reveal:4 optionone name(Put On Top) target(<upto:4>*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend afterrevealed transforms((,newability[draw:2 controller])) oneshot afterrevealedend revealend
aicode=activate transforms((,newability[draw:2 controller])) oneshot
auto=name(Scry 4 and draw) scry:4 scrycore delayed draw:2 controller scrycoreend scryend
text=Scry 4, then draw two cards. (To scry 4, look at the top four 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={3}{U}
type=Sorcery
@@ -43598,7 +43600,7 @@ toughness=1
name=Frontline Strategist
facedown={3}
autofacedown={w}:morph
autofaceup=preventallcombatdamage from(creature[-soldier])
autofaceup=preventallcombatdamage from(creature[-soldier]|battlefield)
text=Morph {W} (You may cast this face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.) -- When Frontline Strategist is turned face up, prevent all combat damage non-Soldier creatures would deal this turn.
mana={W}
type=Creature
@@ -46741,8 +46743,8 @@ toughness=3
[/card]
[card]
name=Glimmer of Genius
aicode=activate draw:2 controller
auto=name(Scry) reveal:2 optionone name(Put On Top) target(<upto:2>*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<2>*|reveal) bottomoflibrary optiontwoend afterrevealed transforms((,newability[draw:2 controller])) oneshot afterrevealedend revealend
aicode=activate transforms((,newability[draw:2 controller])) oneshot
auto=name(Scry 2 and draw) scry:2 scrycore delayed draw:2 controller scrycoreend scryend
auto=alterenergy:2 controller
text=Scry 2, then draw two cards. You get {E}{E} (two energy counters).
mana={3}{U}
@@ -46817,9 +46819,8 @@ type=Sorcery
[/card]
[card]
name=Glimpse the Sun God
target=<prex>creature
auto=tap
auto=scry:1 scrycore delayed dontshow donothing scrycoreend scryend
aicode=activate target(<castx>creature|battlefield) tap
auto=scry:1 scrycore delayed dontshow transforms((,newability[target(<castx>creature|battlefield) tap])) oneshot scrycoreend scryend
text=Tap X target creatures. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.)
mana={X}{W}
type=Instant
@@ -52272,7 +52273,7 @@ toughness=2
[/card]
[card]
name=Harmless Assault
auto=preventAllCombatDamage from(creature[attacking]) ueot
auto=preventAllCombatDamage from(creature[attacking]|battlefield) ueot
text=Prevent all combat damage that would be dealt this turn.
mana={2}{W}{W}
type=Instant
@@ -52415,9 +52416,8 @@ type=Sorcery
[/card]
[card]
name=Harsh Scrutiny
target=opponent
aicode=activate reject notatarget(creature|targetedpersonshand)
auto=reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(choose discards) notatarget(<1>creature|reveal) transforms((,newability[moveto(ownerhand) all(other *|reveal)],newability[moveto(ownerhand) and!(reject)!])) ueot optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend
aicode=activate reject notatarget(creature|opponenthand)
auto=reveal:type:*:opponenthand revealzone(opponenthand) optionone name(choose discards) notatarget(<1>creature|reveal) transforms((,newability[moveto(ownerhand) all(other *|reveal)],newability[moveto(ownerhand) and!(reject)!])) ueot optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend
auto=scry:1 scrycore delayed dontshow donothing scrycoreend scryend
text=Target opponent reveals his or her hand. You choose a creature card from it. That player discards that card. Scry 1.
mana={B}
@@ -53355,7 +53355,7 @@ toughness=2
[card]
name=Hedron Alignment
auto=@each my upkeep:aslongas(Hedron Alignment|myhand) aslongas(Hedron Alignment|mygraveyard) aslongas(Hedron Alignment|myexile) aslongas(Hedron Alignment|mybattlefield) wingame controller
auto={1}{u}: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={1}{u}:name(Scry 1) scry:1 scrycore delayed dontshow scrycoreend scryend
text=Hexproof -- At the beginning of your upkeep, you may reveal your hand. If you do, you win the game if you own a card named Hedron Alignment in exile, in your hand, in your graveyard, and on the battlefield. -- {1}{U}: Scry 1.
mana={2}{U}
type=Enchantment
@@ -54568,7 +54568,7 @@ type=Instant
[/card]
[card]
name=Hindervines
auto=preventAllCombatDamage from(creature[-counter{1/1.1}]) ueot
auto=preventAllCombatDamage from(creature[-counter{1/1.1}]|battlefield) ueot
text=Prevent all combat damage that would be dealt this turn by creatures with no +1/+1 counters on them.
mana={2}{G}
type=Instant
@@ -56164,7 +56164,7 @@ toughness=1
[/card]
[card]
name=Hunter's Ambush
auto=preventAllCombatDamage from(creature[-Green]) ueot
auto=preventAllCombatDamage from(creature[-Green]|battlefield) ueot
text=Prevent all combat damage that would be dealt by nongreen creatures this turn.
mana={2}{G}
type=Instant
@@ -58580,6 +58580,7 @@ type=Enchantment
[/card]
[card]
name=Interpret the Signs
aicode=activate transforms((,newability[all(*[zpos=1]|mylibrary) transforms((,newability[draw:manacost controller])) oneshot])) oneshot
auto=scry:3 scrycore delayed draw:revealedmana scrycoreend scryend
text=Scry 3, then reveal the top card of your library. Draw cards equal to that card's converted mana cost. (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={5}{U}
@@ -60556,6 +60557,7 @@ toughness=1
[/card]
[card]
name=Judge Unworthy
aicode=activate transforms((,newability[all(*[zpos=1]|mylibrary) transforms((,newability[name(Damage attacking or blocking creature) target(creature[attacking;blocking]|battlefield) damage:manacost])) oneshot])) oneshot
auto=scry:3 scrycore delayed name(Choose Target for damage) target(creature[attacking,blocking]) damage:revealedmana scrycoreend scryend
text=Choose target attacking or blocking creature. Scry 3, then reveal the top card of your library. Judge Unworthy deals damage equal to that card's converted mana cost to that creature. (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={1}{W}
@@ -65682,7 +65684,7 @@ abilities=haste
auto=@targeted(this) from(*|opponentbattlefield):sacrifice notatarget(land)
auto=@targeted(this) from(*|opponenthand):sacrifice notatarget(land)
auto=@targeted(this) from(*|mybattlefield):ability$!sacrifice notatarget(land)!$ controller
auto=@targeted(this) from(*|myhand):ability$!sacrifice notatarget(land)!$ conroller
auto=@targeted(this) from(*|myhand):ability$!sacrifice notatarget(land)!$ controller
text=Haste -- Whenever Lava Runner becomes the target of a spell or ability, that spell or ability's controller sacrifices a land.
mana={1}{R}{R}
type=Creature
@@ -67468,7 +67470,7 @@ auto=all(creature|battlefield) becomes(deadtemp) && all(creature|graveyard) move
text=Living End is black. -- Suspend 3 - {2}{B}{B} (Rather than cast this card from your hand, pay {2}{B}{B} and exile it with three 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.) -- Each player exiles all creature cards from his or her graveyard, then sacrifices all creatures he or she controls, then puts all cards he or she exiled this way onto the battlefield.
mana={0}
color=black
restriction=turn:200
restriction=never
suspend(3)={2}{B}{B}
type=Sorcery
[/card]
@@ -67641,7 +67643,8 @@ toughness=1
[/card]
[card]
name=Llanowar Empath
auto=scry:2 scrycore choice name(Choose creature) target(<1>creature|reveal) moveto(myhand) scrycoreend scryend
aicode=activate target(creature[zpos=1]|mylibrary) moveto(myhand)
auto=scry:2 scrycore delayed dontshow transforms((,newability[if type(creature[zpos=1]|mylibrary)~equalto~1 then all(creature[zpos=1]|mylibrary) moveto(myhand) else target(*[zpos=1]|mylibrary) moveto(myreveal) and!( placefromthetop(1) )!])) oneshot scrycoreend scryend
text=When Llanowar Empath enters the battlefield, scry 2, then reveal the top card of your library. If it's a creature card, put it into your hand. (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={3}{G}
type=Creature
@@ -68286,7 +68289,7 @@ auto={T}{S}:Add{R}{R}{R}
auto={T}{S}:Add{G}{G}{G}
text=Suspend 3 - {0} (Rather than cast this card from your hand, pay {0} and exile it with three 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.) -- {T}, Sacrifice Lotus Bloom: Add three mana of any one color to your mana pool.
type=Artifact
restriction=turn:200
restriction=never
mana={0}
suspend(3)={0}
[/card]
@@ -77730,8 +77733,7 @@ toughness=2
[card]
name=Mystic Speculation
buyback={u}{2}
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
auto=scry:3 scrycore delayed dontshow donothing scrycoreend scryend
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
@@ -79250,7 +79252,7 @@ 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
auto=scry:1 scrycore delayed dontshow donothing scrycoreend scryend
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
[/card]
@@ -81076,7 +81078,7 @@ type=Legendary Enchantment
[card]
name=Oath of Jace
auto=ability$!draw:3 _ notatarget(<2>*|myhand) reject!$ controller
auto=@each my upkeep:name(Look at My top cards) reveal:type:planeswalker:mybattlefield optionone name(Look) target(<1>*|reveal) doNothing optiononeend optiontwo target(<60>*|reveal) moveto(mylibrary) optiontwoend revealend
auto=@each my upkeep:name(Scry cards) scry:type:type:planeswalker:mybattlefield scrycore delayed dontshow donothing scrycoreend scryend
text=When Oath of Jace enters the battlefield, draw three cards, then discard two cards. -- At the beginning of your upkeep, scry X, where X is the number of planeswalkers you control.
mana={2}{U}
type=Legendary Enchantment
@@ -82454,7 +82456,7 @@ toughness=2
[card]
name=Oracle's Insight
target=creature
auto=teach(creature) {t}:scry:1 scrycore dontshow delayed draw:1 scrycoreend scryend
auto=teach(creature) {t}:scry:1 scrycore delayed draw:1 scrycoreend scryend
text=Enchant creature -- Enchanted creature has "{T}: Scry 1, then draw a card." (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=Enchantment
@@ -87967,8 +87969,8 @@ type=Instant
[/card]
[card]
name=Preordain
aicode=activate draw:1
auto=name(Scry) reveal:2 optionone name(Put On Top) target(<upto:2>*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<2>*|reveal) bottomoflibrary optiontwoend afterrevealed transforms((,newability[draw:1 controller])) oneshot afterrevealedend revealend
aicode=activate transforms((,newability[draw:1 controller])) oneshot
auto=scry:2 scrycore delayed draw:1 controller scrycoreend scryend
text=Scry 2, then draw a card. (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}
type=Sorcery
@@ -89750,7 +89752,8 @@ type=Instant
[/card]
[card]
name=Putrid Cyclops
auto=scry:1 scrycore name(-x/-x) all(this) ueot -revealedmana/-revealedmana scrycoreend scryend
aicode=activate transforms((,newability[all(*[zpos=1]|mylibrary) transforms((,newability[name(Putrid cyclops gets -x/-x) target(Putrid Cyclops[fresh]|mybattlefield) -manacost/-manacost ueot])) oneshot])) oneshot
auto=scry:1 scrycore delayed transforms((,newability[name(Putrid cyclops gets -x/-x) -revealedmana/-revealedmana])) ueot scrycoreend scryend
text=When Putrid Cyclops enters the battlefield, scry 1, then reveal the top card of your library. Putrid Cyclops gets -X/-X until end of turn, where X is that card's converted mana cost. (To scry 1, look at the top card of your library, then you may put that card on the bottom of your library.)
mana={2}{B}
type=Creature
@@ -92441,7 +92444,7 @@ subtype=Arcane
[card]
name=Read the Bones
aicode=activate transforms((,newability[draw:2 controller],newability[life:-2 controller])) oneshot
auto=name(Scry) reveal:2 optionone name(Put On Top) target(<upto:2>*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<2>*|reveal) bottomoflibrary optiontwoend afterrevealed transforms((,newability[draw:2 controller],newability[life:-2 controller])) oneshot afterrevealedend revealend
auto=scry:2 scrycore delayed draw:2 controller && life:2 controller scrycoreend scryend
text=Scry 2, then draw two cards. You lose 2 life. (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={2}{B}
type=Sorcery
@@ -93851,7 +93854,7 @@ type=Instant
[/card]
[card]
name=Repel the Abominable
auto=preventAllCombatDamage from(creature[-human]) ueot
auto=preventAllCombatDamage from(creature[-human]|battlefield) ueot
text=Prevent all damage that would be dealt this turn by non-Human sources.
mana={1}{W}
type=Instant
@@ -94251,7 +94254,7 @@ auto=if type(*|myhand)~morethan~type(*|opponenthand) then ability$! reject notat
auto=if type(*|opponenthand)~morethan~type(*|myhand) then ability$! reject notatarget(<type:*:myhandminustype:*:opponenthandminusend>*|myhand) !$ opponent
color=white
mana={0}
restriction=turn:200
restriction=never
suspend(6)={W}
text=Restore Balance is White - Suspend 6 - {W} (Rather than cast this card from your hand, pay {W} and exile it with six 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.) -- Each player chooses a number of lands he or she controls equal to the number of lands controlled by the player who controls the fewest, then sacrifices the rest. Players sacrifice creatures and discard cards the same way.
type=Sorcery
@@ -94361,28 +94364,28 @@ type=Instant
[/card]
[card]
name=Retreat to Coralhelm
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.)
auto=@movedTo(land|myBattlefield):name(Choose one) transforms((,newability[choice name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend],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) all(creature|mybattlefield) 1/1 ueot])) oneshot
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) all(creature|mybattlefield) 1/1 ueot])) oneshot
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])) oneshot
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.
auto=@movedTo(land|myBattlefield):name(Choose one) transforms((,newability[choice name(Creature gains 1/0 and deachtouch) 1/0 && deathtouch target(creature)],newability[choice life:-1 opponent && life:1 controller])) oneshot
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])) oneshot
auto=@movedTo(land|myBattlefield):transforms((,newability[if type(creature|battlefield)~morethan~0 then choice name(Put Counter) name(Put Counter) target(creature) counter(1/1)],newability[choice name(gain 2 life) life:2 controller])) oneshot
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
@@ -94905,7 +94908,8 @@ subtype=Arcane
[/card]
[card]
name=Riddle of Lightning
auto=scry:3 scrycore delayed choice name(Choose Target for damage) target(creature,player) damage:revealedmana scrycoreend scryend
aicode=activate transforms((,newability[all(*[zpos=1]|mylibrary) transforms((,newability[name(Damage creature or player) target(player^creature) damage:manacost])) oneshot])) oneshot
auto=scry:3 scrycore delayed target(player,creature) damage:revealedmana scrycoreend scryend
text=Choose target creature or player. Scry 3, then reveal the top card of your library. Riddle of Lightning deals damage equal to that card's converted mana cost to that creature or player. (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={3}{R}{R}
type=Instant
@@ -100604,9 +100608,9 @@ toughness=1
[/card]
[card]
name=Scrying Sheets
auto={t}:add{1}
auto={T}:add{C}
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
auto={1}{i}{T}:name(Look top card) 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]
@@ -100818,9 +100822,8 @@ type=Land
[/card]
[card]
name=Sea God's Revenge
target=<upto:3>creature|opponentbattlefield
auto=moveto(ownerhand)
auto=scry:1 scrycore delayed dontshow donothing scrycoreend scryend
aicode=activate transforms((,newability[target(<upto:3>creature|opponentbattlefield) moveto(ownerhand)])) oneshot
auto=scry:1 scrycore delayed target(<upto:3>creature|opponentbattlefield) moveto(ownerhand) scrycoreend scryend
text=Return up to three target creatures your opponents control to their owners' hands. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.)
mana={5}{U}
type=Sorcery
@@ -101552,7 +101555,7 @@ subtype=Aura
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
auto={2}{t}:name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
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}
type=Artifact
@@ -102047,7 +102050,7 @@ toughness=2
[card]
name=Sensei Golden-Tail
auto=bushido(1/1)
auto={1}{W}{T}:name(train samurai) target(creature) transforms((,newability[bushido(1/1)],newability[counter(0/0.1.Training)],newability[this(cantargetcard(creature) becomes(Samurai) )])) asSorcery forever
auto={1}{W}{T}:name(train samurai) target(creature) transforms((,newability[bushido(1/1)],newability[counter(0/0.1.Training)],newability[this(cantargetcard(creature)) becomes(Samurai)])) asSorcery forever
text=Bushido 1 (When this blocks or becomes blocked, it gets +1/+1 until end of turn.) -- {1}{W}, {T}: Put a training counter on target creature. That creature gains bushido 1 and becomes a Samurai in addition to its other creature types. Activate this ability only any time you could cast a sorcery.
mana={1}{W}
type=Legendary Creature
@@ -102601,7 +102604,7 @@ type=Artifact
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(<upto:2>*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<2>*|reveal) bottomoflibrary optiontwoend revealend
auto=name(Scry 2) scry:2 scrycore delayed dontshow donothing scrycoreend scryend
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}
type=Sorcery
@@ -103039,7 +103042,7 @@ toughness=3
[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=@movedTo(creature|graveyard) from(battlefield):name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
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.
mana={1}{B}
@@ -108263,7 +108266,7 @@ toughness=3
[/card]
[card]
name=Snag
auto=preventAllCombatDamage from(creature[-blocked]) ueot
auto=preventAllCombatDamage from(creature[-blocked]|battlefield) ueot
text=You may discard a Forest card rather than pay Snag's mana cost. -- Prevent all combat damage that would be dealt by unblocked creatures this turn.
other={D(forest|myhand)} name(Discard Forest to Cast)
mana={3}{G}
@@ -113943,7 +113946,8 @@ type=Enchantment
[card]
name=Stormchaser Chimera
abilities=flying
auto={2}{u}{r}:scry:1 scrycore delayed +revealedmana/+0 ueot scrycoreend scryend
aicode=activate transforms((,newability[all(*[zpos=1]|mylibrary) transforms((,newability[name(Stormchaser chimera gets +x/0) target(Stormchaser Chimera|mybattlefield) manacost/0 ueot])) oneshot])) oneshot
auto={2}{u}{r}:scry:1 scrycore delayed transforms((,newability[name(Stormchaser chimera gets +x/0) revealedmana/0])) ueot scrycoreend scryend
text=Flying -- {2}{U}{R}: Scry 1, then reveal the top card of your library. Stormchaser Chimera gets +X/+0 until end of turn, where X is that card's converted mana cost. (To scry 1, look at the top card of your library, then you may put that card on the bottom of your library.)
mana={2}{U}{R}
type=Creature
@@ -114962,9 +114966,8 @@ type=Instant
[/card]
[card]
name=Sudden Storm
target=<upto:2>creature
auto=freeze
auto=scry:1 scrycore delayed dontshow donothing scrycoreend scryend
aicode=activate transforms((,newability[target(<upto:2>creature|battlefield) freeze])) oneshot
auto=scry:1 scrycore delayed target(<upto:2>creature|battlefield) freeze scrycoreend scryend
text=Tap up to two target creatures. Those creatures don't untap during their controllers' next untap steps. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.)
mana={3}{U}
type=Instant
@@ -117623,7 +117626,7 @@ type=Artifact
[/card]
[card]
name=Tanglesap
auto=preventAllCombatDamage from(creature[-trample]) ueot
auto=preventAllCombatDamage from(creature[-trample]|battlefield) ueot
text=Prevent all combat damage that would be dealt this turn by creatures without trample.
mana={1}{G}
type=Instant
@@ -118461,7 +118464,7 @@ 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
auto=name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
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
[/card]
@@ -118471,7 +118474,7 @@ 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
auto=name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
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
[/card]
@@ -118481,7 +118484,7 @@ 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
auto=name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
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
[/card]
@@ -118491,7 +118494,7 @@ 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
auto=name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
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
[/card]
@@ -118501,7 +118504,7 @@ 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
auto=name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
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
[/card]
@@ -118511,7 +118514,7 @@ 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
auto=name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
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
[/card]
@@ -118521,7 +118524,7 @@ 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
auto=name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
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
[/card]
@@ -118531,7 +118534,7 @@ 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
auto=name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
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
[/card]
@@ -118541,7 +118544,7 @@ 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
auto=name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
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
[/card]
@@ -118557,7 +118560,7 @@ 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
auto=name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
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
[/card]
@@ -121846,7 +121849,7 @@ name=Titan's Strength
target=creature
auto=3/1
aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary)
auto=name(scry cards) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend
auto=name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
text=Target creature gets +3/+1 until end of turn. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.)
mana={R}
type=Instant
@@ -124942,8 +124945,8 @@ toughness=5
[/card]
[card]
name=Ugin's Insight
aicode=activate draw:3 controller
auto=name(Scry) reveal:convertedcost:highest:*:mybattlefield optionone name(Put On Top) target(<upto:convertedcost:highest:*:mybattlefield>*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<convertedcost:highest:*:mybattlefield>*|reveal) bottomoflibrary optiontwoend afterrevealed transforms((,newability[draw:3 controller])) oneshot afterrevealedend revealend
aicode=activate transforms((,newability[draw:3 controller])) oneshot
auto=name(Scry cards) scry:convertedcost:highest:*:mybattlefield scrycore delayed draw:3 controller scrycoreend scryend
text=Scry X, where X is the highest converted mana cost among permanents you control, then draw three cards.
mana={3}{U}{U}
type=Sorcery
@@ -127116,7 +127119,7 @@ name=Vanquish the Foul
target=creature[power>=4]
auto=destroy
aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary)
auto=name(scry cards) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend
auto=name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
text=Destroy target creature with power 4 or greater. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.)
mana={5}{W}
type=Sorcery
@@ -128919,7 +128922,7 @@ toughness=4
[/card]
[card]
name=Vine Snare
auto=preventAllCombatDamage from(creature[power<=4]) ueot
auto=preventAllCombatDamage from(creature[power<=4]|battlefield) ueot
text=Prevent all combat damage that would be dealt this turn by creatures with power 4 or less.
mana={2}{G}
type=Instant
@@ -129240,7 +129243,7 @@ toughness=3
[card]
name=Viscera Seer
aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary)
auto={S(creature|myBattlefield)}:reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend
auto={S(creature|myBattlefield)}:name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
text=Sacrifice a creature: 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={B}
type=Creature
@@ -130362,7 +130365,7 @@ name=Voyage's End
target=creature
auto=moveto(ownerhand)
aicode=activate may bottomoflibrary all(*[zpos=1]|mylibrary)
auto=name(scry cards) reveal:1 optionone name(Put On Top) target(*|reveal) moveto(mylibrary) optiononeend optiontwo name(put on bottom) target(<1>*|reveal) bottomoflibrary optiontwoend revealend
auto=name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
text=Return target creature to its owner's hand. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.)
mana={1}{U}
type=Instant
@@ -132112,7 +132115,7 @@ toughness=2
[/card]
[card]
name=Watchful Automaton
auto={2}{U}:scry:1 scrycore delayed dontshow donothing scrycoreend scryend
auto={2}{U}:name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
text={2}{U}: Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.)
mana={3}
type=Artifact Creature
@@ -132986,7 +132989,7 @@ text=Wheel of Fate is red. -- Suspend 4 - {1}{R} (Rather than cast this card fro
type=Sorcery
color=red
mana={0}
restriction=turn:200
restriction=never
suspend(4)={1}{r}
[/card]
[card]
@@ -134159,7 +134162,7 @@ toughness=2
[card]
name=Windrider Patrol
abilities=flying
auto=@combatdamaged(player) from(this):name(scry) scry:2 scrycore delayed dontshow donothing scrycoreend scryend
auto=@combatdamaged(player) from(this):name(Scry 2) scry:2 scrycore delayed dontshow donothing scrycoreend scryend
text=Flying -- Whenever Windrider Patrol deals combat damage to a player, 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={3}{U}{U}
type=Creature
@@ -134677,7 +134680,7 @@ type=Artifact
[card]
name=Witches' Eye
auto={1}:equip
auto=teach(creature) {1}{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
auto=teach(creature) {1}{t}:name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend
text=Equipped creature has "{1}, {T}: 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.) -- Equip {1}
mana={1}
type=Artifact
@@ -134752,8 +134755,7 @@ type=Instant
[/card]
[card]
name=Withering Gaze
target=opponent
aicode=activate draw:type:*[forest;green]:targetedpersonshand
aicode=activate transforms((,newability[draw:type:*[forest;green]:opponenthand controller])) oneshot
auto=Reveal:type:*:opponenthand revealzone(opponenthand) revealtype(*|opponenthand) optionone choice name(Get Bonus) foreach(forest|reveal) draw:1 && foreach(*[green]|reveal) draw:1 optiononeend optiontwo name(Put Back) target(*|reveal) transforms((,newability[all(*|reveal) moveto(ownerhand)])) ueot optiontwoend revealend
text=Target opponent reveals his or her hand. You draw a card for each Forest and green card in it.
mana={2}{U}
@@ -135046,8 +135048,8 @@ subtype=Aura
[/card]
[card]
name=Wolf-Skull Shaman
aicode=activate target(*[zpos=1]|mylibrary) moveto(mylibrary) and!(moveto(mylibrary) and!(if cantargetcard(creature[share!types!]|*) then token(Wolf,Creature Wolf,2/2,green))!)!
auto=@each my upkeep:name(Kinship) reveal:1 optionone if type(creature[share!types!]|reveal)~morethan~0 then token(Wolf,Creature Wolf,2/2,green) optiononeend optiontwo name(Put Back On Top) target(<1>*|reveal) moveto(mylibrary) optiontwoend revealend
aicode=activate if type(*[creature;zpos=1;share!types!]|mylibrary)~morethan~0 then token(Wolf,Creature Wolf,2/2,green)
auto=@each my upkeep:may name(Look top card) reveal:1 optionone if type(*[creature;share!types!]|reveal)~morethan~0 then token(Wolf,Creature Wolf,2/2,green) 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 Wolf-Skull Shaman, you may reveal it. If you do, put a 2/2 green Wolf creature token onto the battlefield.
mana={1}{G}
type=Creature

View File

@@ -198,7 +198,7 @@ subtype=Angrath
name=Angrath, Minotaur Pirate
auto=counter(0/0,5,loyalty)
auto={C(0/0,2,Loyalty)}:name(+2: Deals 1 damage to opponent and each creature he controls) damage:1 opponent && damage:1 all(creature|opponentBattlefield)
auto={C(0/0,2,Loyalty)}:name(+2: Deals 1 damage to planeswalker and each creature its conroller controls) target(planeswalker) damage:1 && damage:1 all(creature|targetcontrollerbattlefield)
auto={C(0/0,2,Loyalty)}:name(+2: Deals 1 damage to planeswalker and each creature its controller controls) target(planeswalker) damage:1 && damage:1 all(creature|targetcontrollerbattlefield)
auto={C(0/0,-3,Loyalty)}:name(-3: Reanimate a Pirate) moveTo(myBattlefield) target(creature[Pirate]|myGraveyard)
auto={C(0/0,-11,Loyalty)}:name(-11: Destroy all creatures and deal damage) all(creature|opponentBattlefield) dynamicability<!powerstrike targetcontroller!> && destroy
text=+2: Angrath, Minotaur Pirate deals 1 damage to target opponent or planeswalker and each creature that player or that planeswalkers controller controls. -- 3: Return target Pirate card from your graveyard to the battlefield. -- 11: Destroy all creatures target opponent controls. Angrath, Minotaur Pirate deals damage to that player equal to their total power.
@@ -545,7 +545,7 @@ subtype=Chandra
name=Chandra, Pyromaster
auto=counter(0/0,4,loyalty)
auto={C(0/0,1,Loyalty)}:name(+1: Deals 1 damage to opponent and 1 to creature) damage:1 opponent && target(creature|opponentbattlefield) damage:1 && transforms((,newability[cantblock])) ueot
auto={C(0/0,1,Loyalty)}:name(+1: Deals 1 damage to controller and 1 to creature) damage:1 conroller && target(creature|mybattlefield) damage:1 && transforms((,newability[cantblock])) ueot
auto={C(0/0,1,Loyalty)}:name(+1: Deals 1 damage to controller and 1 to creature) damage:1 controller && target(creature|mybattlefield) damage:1 && transforms((,newability[cantblock])) ueot
auto={C(0/0,0,Loyalty)}:name(+0: Exile the top and may cast it) moveto(exile) and!(transforms((,newability[canplayfromexile])) ueot)! all(*[zpos=1]|mylibrary)
auto={C(0/0,-7,Loyalty)}:name(-7: Exile the top ten and may cast it) moveto(exile) all(*[zpos<=10]|mylibrary) && target(*[instant;sorcery]|myexile) clone && clone && clone
text=+1: Chandra, Pyromaster deals 1 damage to target player and 1 damage to up to one target creature that player controls. That creature can't block this turn. -- 0: Exile the top card of your library. You may play it this turn. -- -7: Exile the top ten cards of your library. Choose an instant or sorcery card exiled this way and copy it three times. You may cast the copies without paying their mana costs.
@@ -1076,7 +1076,7 @@ subtype=Huatli
name=Jace, Arcane Strategist
auto=counter(0/0,4,loyalty)
auto=@drawof(player):transforms((,newability[@drawof(player) restriction{once}:counter(1/1,1) target(creature|myBattlefield)])) ueot
auto={C(0/0,1,Loyalty)}:name(+1: Draw a card) draw:1 conroller
auto={C(0/0,1,Loyalty)}:name(+1: Draw a card) draw:1 controller
auto={C(0/0,-7,Loyalty)}:name(-7: Creatures you control can't be blocked) all(creature|myBattlefield) unblockable
text=Whenever you draw your second card each turn, put a +1/+1 counter on target creature you control. -- +1: Draw a card. -- -7: Creatures you control can't be blocked this turn.
mana={4}{U}{U}
@@ -1199,8 +1199,8 @@ subtype=Jace
[card]
name=Jace, Unraveler of Secrets
auto=counter(0/0,5,loyalty)
aicode=activate draw:1 controller
auto={C(0/0,1,Loyalty)}:name(+1: Scry and draw a card) scry:1 scrycore delayed dontshow donothing scrycoreend scryend && draw:1 controller
aicode=activate transforms((,newability[draw:1 controller])) oneshot
auto={C(0/0,1,Loyalty)}:name(+1: Scry and draw a card) scry:1 scrycore delayed draw:1 controller scrycoreend scryend
auto={C(0/0,-2,Loyalty)}:name(-2: Return target creature) moveto(ownerhand) target(creature)
auto={C(0/0,-8,Loyalty)}:name(-8: Emblem: "Whenever spell cast, counter it") emblem transforms((,newability[@movedto(*|opponentstack) restriction{thisturn(*|opponentstack)~morethan~0}:choice fizzle all(*|opponentstack)])) forever dontremove
text=+1: Scry 1, then draw a card. -- -2: Return target creature to its owner's hand. -- -8: You get an emblem with "Whenever an opponent casts his or her first spell each turn, counter that spell."
@@ -1355,7 +1355,7 @@ subtype=Karn
name=Kasmina, Enigmatic Mentor
auto=counter(0/0,5,loyalty)
auto=@targeted(*[creature;planeswalker]|myBattlefield) from(*[instant;sorcery]|opponentzones):choice name(This spell costs 2 more) name(This spell costs 2 more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{2}]] name(pay 2 mana) donothing?fizzle])) oneshot
auto={C(0/0,-2,Loyalty)}:name(-2: Create a 2/2 Wizard, draw and discard a card) token(Wizard,Creature Wizard,2/2,blue) && ability$!name(Draw a card) draw:1!$ controller && ability$!name(discard a card) notatarget(*|myhand) reject!$ conroller
auto={C(0/0,-2,Loyalty)}:name(-2: Create a 2/2 Wizard, draw and discard a card) token(Wizard,Creature Wizard,2/2,blue) && ability$!name(Draw a card) draw:1!$ controller && ability$!name(discard a card) notatarget(*|myhand) reject!$ controller
text=Spells your opponents cast that target a creature or planeswalker you control cost {2} more to cast. -- 2: Create a 2/2 blue Wizard creature token. Draw a card, then discard a card.
mana={3}{U}
type=Legendary Planeswalker
@@ -1385,7 +1385,7 @@ subtype=Kaya
[card]
name=Kaya, Orzhov Usurper
auto=counter(0/0,3,loyalty)
auto={C(0/0,1,Loyalty)}:name(+1: Exile two single cards in graveyard) moveTo(exile) target(<upto:2>*|graveyard) && ability$!name(Gain life) if type(creature[fresh]|exile)~morethan~0 then life:2!$ conroller
auto={C(0/0,1,Loyalty)}:name(+1: Exile two single cards in graveyard) moveTo(exile) target(<upto:2>*|graveyard) && ability$!name(Gain life) if type(creature[fresh]|exile)~morethan~0 then life:2!$ controller
auto={C(0/0,-1,Loyalty)}:name(-1: Exile nonland permanent wit mana cost 1 or less) moveTo(exile) target(*[-land;manacost<=1|battlefield])
auto={C(0/0,-5,Loyalty)}:name(-5: Deal damage equal to exile) damage:type:*:opponentExile opponent && life:type:*:opponentExile controller
text=+1: Exile up to two target cards from a single graveyard. You gain 2 life if at least one creature card was exiled this way. -- 1: Exile target nonland permanent with converted mana cost 1 or less. -- 5: Kaya, Orzhov Usurper deals damage to target player equal to the number of cards that player owns in exile and you gain that much life.
@@ -1565,7 +1565,7 @@ name=Liliana, the Necromancer
auto=counter(0/0,4,Loyalty)
auto={C(0/0,1,Loyalty)}:name(+1: Target player loses 2 life) target(player) life:-2 targetedplayer
auto={C(0/0,-1,Loyalty)}:name(-1: Return target creature from graveyard) moveTo(myHand) target(creature|myGraveyard)
auto={C(0/0,-7,Loyalty)}:name(-7: Destroy up to two and reanimate also two) destroy target(<upto:2>creature) && ability$!name(Reanimate) moveTo(myBattlefield) target(<upto:2>creature|graveyard)!$ conroller
auto={C(0/0,-7,Loyalty)}:name(-7: Destroy up to two and reanimate also two) destroy target(<upto:2>creature) && ability$!name(Reanimate) moveTo(myBattlefield) target(<upto:2>creature|graveyard)!$ controller
text=+1: Target player loses 2 life. -- 1: Return target creature card from your graveyard to your hand. -- 7: Destroy up to two target creatures. Put up to two creature cards from graveyards onto the battlefield under your control.
mana={3}{B}{B}
type=Legendary Planeswalker
@@ -1574,7 +1574,7 @@ subtype=Liliana
[card]
name=Liliana, Untouched by Death
auto=counter(0/0,4,loyalty)
auto={C(0/0,1,Loyalty)}:name(+1: Put the top three cards of your library...) ability$!name(Damage opponent) if type(zombie[zpos<=3]|myLibrary)~morethan~0 then life:-2 opponent!$ conroller && ability$!name(Gain life) if type(zombie[zpos<=3]|myLibrary)~morethan~0 then life:2 controller!$ conroller && ability$!name(Put in graveyard) deplete:3 controller!$ conroller
auto={C(0/0,1,Loyalty)}:name(+1: Put the top three cards of your library...) ability$!name(Damage opponent) if type(zombie[zpos<=3]|myLibrary)~morethan~0 then life:-2 opponent!$ controller && ability$!name(Gain life) if type(zombie[zpos<=3]|myLibrary)~morethan~0 then life:2 controller!$ controller && ability$!name(Put in graveyard) deplete:3 controller!$ controller
auto={C(0/0,-2,Loyalty)}:name(-2: Target creature gets -X/-X until end...) target(creature) foreach(zombie) -1/-1
auto={C(0/0,-3,Loyalty)}:name(-3: Yoy may cast Zombie cards...) all(creature[zombie]|myGraveyard) CanPlayFromGraveyard
text=+1: Put the top three cards of your library into your graveyard. If at least one of them is a Zombie card, each opponent loses 2 life and you gain 2 life. -- -2: Target creature gets -X/-X until end of turn, where X is the number of Zombies you control. -- -3: You may cast Zombie cards from your graveyard this turn.
@@ -1610,7 +1610,7 @@ subtype=Liliana
name=Lord Windgrace
abilities=canbecommander
auto=counter(0/0,5,Loyalty)
auto={C(0/0,2,Loyalty)}:name(+2: Discard and Draw) draw:1 controller && ability$!name(Choose one) choice name(Discard land) reject notatarget(*[land]|myhand) && draw:1 conroller _ choice name(Discard non-land) reject notatarget(*[-land]|myhand)!$ controller
auto={C(0/0,2,Loyalty)}:name(+2: Discard and Draw) draw:1 controller && ability$!name(Choose one) choice name(Discard land) reject notatarget(*[land]|myhand) && draw:1 controller _ choice name(Discard non-land) reject notatarget(*[-land]|myhand)!$ controller
auto={C(0/0,-3,Loyalty)}:name(-3: Return up to two lands from graveyard) moveTo(myBattlefield) target(<upto:2>*[land]|myGraveyard)
auto={C(0/0,-11,Loyalty)}:name(-11: Destroy up to six and create six 2/2 Cat) destroy target(<upto:6>*[-land]) && token(Cat,Creature Cat,2/2,green,forestwalk)*6
text=+2: Discard a card, then draw a card. If a land card is discarded this way, draw an additional card. -- 3: Return up to two target land cards from your graveyard to the battlefield. -- 11: Destroy up to six target nonland permanents, then create six 2/2 green Cat Warrior creature tokens with forestwalk. -- Lord Windgrace can be your commander.
@@ -1656,7 +1656,7 @@ name=Mu Yanling, Sky Dancer
auto=counter(0/0,2,loyalty)
auto={C(0/0,2,Loyalty)}:name(+2: Target creature gets +2/+0 and Flying) target(creature) 2/0 && -flying ueot
auto={C(0/0,-3,Loyalty)}:name(-3: Create an Creature Elemental Bird 4/4 blue with flying) create(Elemental Bird:Creature Elemental Bird:4/4:blue:flying)
auto={C(0/0,-8,Loyalty)}:name(-8: Emblem: All islands have: Draw a card) all(island|mybattlefield) transforms((,newability[{T}:draw:1 conroller])) forever dontremove
auto={C(0/0,-8,Loyalty)}:name(-8: Emblem: All islands have: Draw a card) all(island|mybattlefield) transforms((,newability[{T}:draw:1 controller])) forever dontremove
text=+2: Until your next turn, up to one target creature gets -2/-0 and loses flying. -- -3: Create a 4/4 blue Elemental Bird creature token with flying. -- -8: You get an emblem with "Islands you control have {T}: Draw a card.'"
mana={1}{U}{U}
type=Legendary Planeswalker
@@ -2010,7 +2010,7 @@ name=Ral, Izzet Viceroy
auto=counter(0/0,4,loyalty)
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={C(0/0,1,Loyalty)}:name(+1: Look the top two, put one in hand other graveyard) name(look) reveal:2 optionone name(Get a card) target(<1>*|reveal) moveto(myhand) optiononeend optiontwo all(*|reveal) moveto(mygraveyard) optiontwoend revealend
auto={C(0/0,-3,Loyalty)}:name(-3: Deals damage for each instant and sorcery) damage:type:*[instant;sorcery]:myExile target(creature) && ability$!name(Damage) damage:type:*[instant;sorcery]:myGraveyard targete(creature)!$ conroller
auto={C(0/0,-3,Loyalty)}:name(-3: Deals damage for each instant and sorcery) damage:type:*[instant;sorcery]:myExile target(creature) && ability$!name(Damage) damage:type:*[instant;sorcery]:myGraveyard targete(creature)!$ controller
auto={C(0/0,-8,Loyalty)}:name(-8: Emblem: "Whenever cast spell, deals 4 damage, draw two cards") emblem transforms((,newability[@movedTo(*[instant;sorcery]|myStack):draw:2 controller && damage:4 target(player,creature,planeswalker)])) forever dontremove
text=+1: Look at the top two cards of your library. Put one of them into your hand and the other into your graveyard. -- 3: Ral, Izzet Viceroy deals damage to target creature equal to the total number of instant and sorcery cards you own in exile and in your graveyard. -- 8: You get an emblem with “Whenever you cast an instant or sorcery spell, this emblem deals 4 damage to any target and you draw two cards.”
mana={3}{U}{R}
@@ -2112,7 +2112,7 @@ subtype=Samut
name=Samut, Tyrant Smasher
auto=counter(0/0,5,loyalty)
auto=lord(other creature|myBattlefield) haste
auto={C(0/0,-1,Loyalty)}:name(-1: +2/+1, haste and scry 1) target(creature) 2/1 && haste ueot && _SCRY_(1)
auto={C(0/0,-1,Loyalty)}:name(-1: Creature gains +2/+1, haste and scry 1) target(creature) transforms((,newability[2/1],newability[haste])) ueot && _SCRY_(1)
text=Creatures you control have haste. -- -1: Target creature gets +2/+1 and gains haste until end of turn. Scry 1.
mana={2}{RG}{RG}
type=Legendary Planeswalker

View File

@@ -3323,16 +3323,6 @@ type=Enchantment
subtype=Aura
[/card]
[card]
name=Eligeth, Crossroads Augur
abilities=flying,partner
text=Flying -- If you would scry a number of cards, draw that many cards instead. -- Partner (You can have two commanders if both have partner.)
mana={4}{U}{U}
type=Legendary Creature
subtype=Sphinx
power=5
toughness=6
[/card]
[card]
name=Elite Arcanist
text=When Elite Arcanist enters the battlefield, you may exile an instant card from your hand. -- {X}, {T}: Copy the exiled card. You may cast the copy without paying its mana cost. X is the converted mana cost of the exiled card.
mana={3}{U}
@@ -8809,12 +8799,6 @@ mana={4}
type=Artifact
[/card]
[card]
name=Peregrination
text=Search your library for up to two basic land cards, reveal those cards, and put one onto the battlefield tapped and the other into your hand. Shuffle your library, then scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.)
mana={3}{G}
type=Sorcery
[/card]
[card]
name=Perplex
text=Counter target spell unless its controller discards his or her hand. -- Transmute {1}{U}{B} ({1}{U}{B}, Discard this card: Search your library for a card with the same converted mana cost as this card, reveal it, and put it into your hand. Then shuffle your library. Transmute only as a sorcery.)
mana={1}{U}{B}

View File

@@ -718,6 +718,8 @@ public:
return 0;
if (!tc->canTarget(e->card)) return 0;
triggeredTurn = game->turn;
if(source)
source->scryedCards = e->card->scryedCards;
return 1;
}

View File

@@ -117,6 +117,7 @@ public:
int lastFlipResult;
int dieSide;
int lastRollResult;
int scryedCards;
int stillInUse();
int didattacked;

View File

@@ -302,7 +302,8 @@ class Constants
ANYTYPEOFMANAABILITY = 175,
BOAST = 176,
TWOBOAST = 177,
NB_BASIC_ABILITIES = 178,
REPLACESCRY = 178,
NB_BASIC_ABILITIES = 179,
RARITY_S = 'S', //Special Rarity
RARITY_M = 'M', //Mythics

View File

@@ -652,16 +652,26 @@ int OrderedAIAction::getEfficiency()
if(grA->source->getAICustomCode().size() && grA->source->alias != 185709)//Sphinx of Jwar Isle so the ai will ignore it
{
//efficiency = 45 + (owner->getRandomGenerator()->random() % 50);
AbilityFactory af(g);
MTGAbility * parsedAICC = af.parseMagicLine(cReplaceString(grA->source->getAICustomCode(),"activate",""),0,NULL,grA->source);
efficiency = getRevealedEfficiency(parsedAICC);
SAFE_DELETE(parsedAICC);
}
else // this is why the AI never chooses any card at all? reveal is used to get cards so it should be at better value
efficiency = 60;
}
else if (GenericScryAbility * grA = dynamic_cast<GenericScryAbility *>(a))
{
if(grA->source->getAICustomCode().size())
{
AbilityFactory af(g);
MTGAbility * parsedAICC = af.parseMagicLine(cReplaceString(grA->source->getAICustomCode(),"activate",""),0,NULL,grA->source);
efficiency = getRevealedEfficiency(parsedAICC);
SAFE_DELETE(parsedAICC);
}
else // this is why the AI never chooses any card at all? scry is used to get cards so it should be at better value
efficiency = 60;
}
//At this point the "basic" efficiency is computed, we further tweak it depending on general decisions, independent of theAbility type
MayAbility * may = dynamic_cast<MayAbility*>(ability);

View File

@@ -56,15 +56,15 @@ int GenericRevealAbility::resolve()
{
if(source->lastController->isAI() && source->getAICustomCode().size())
{
string abi = source->getAICustomCode();
std::transform(abi.begin(), abi.end(), abi.begin(), ::tolower);//fix crash
AbilityFactory af(game);
MTGAbility * a3 = af.parseMagicLine(abi, this->GetId(), NULL, source);
a3->oneShot = 1;
a3->canBeInterrupted = false;
a3->resolve();
SAFE_DELETE(a3);
return 1;
string abi = source->getAICustomCode();
std::transform(abi.begin(), abi.end(), abi.begin(), ::tolower);//fix crash
AbilityFactory af(game);
MTGAbility * a3 = af.parseMagicLine(abi, this->GetId(), NULL, source);
a3->oneShot = 1;
a3->canBeInterrupted = false;
a3->resolve();
SAFE_DELETE(a3);
return 1;
}
MTGAbility * ability = NEW MTGRevealingCards(game, this->GetId(), source, howMany);
ability->addToGame();
@@ -580,7 +580,7 @@ MTGScryCards::MTGScryCards(GameObserver* observer, int _id, MTGCardInstance * ca
delayed = coreAbility.find("delayed") != string::npos;
dontRevealAfter = coreAbility.find("dontshow") != string::npos;
if(dontRevealAfter)
revealTopAmount = 0;
revealTopAmount = 0;
vector<string>second = parseBetween(coreAbility, "scrycore ", " scrycoreend");
if (second.size())
{
@@ -757,12 +757,23 @@ bool MTGScryCards::CheckUserInput(JButton key)
source->getObserver()->mLayers->stackLayer()->Remove(abilityFirst);
game->removeObserver(abilityFirst);
if (!this->source->controller()->isAI())
game->Update(0);
game->Update(0);
if (zone->cards.size())
{
initDisplay(revealTopAmount);
abilitySecond = contructAbility(abilityTwo);
game->addObserver(abilitySecond);
if (revealTopAmount == 0 && dontRevealAfter && delayed) // Execute delayed action even if dontshow option is active.
{
MTGAbility * delayedA = contructAbility(delayedAbilityString);
if (delayedA->oneShot)
{
delayedA->resolve();
SAFE_DELETE(delayedA);
}
else
delayedA->addToGame();
}
}
}
else if (tc->source)
@@ -784,7 +795,7 @@ bool MTGScryCards::CheckUserInput(JButton key)
source->getObserver()->mLayers->stackLayer()->Remove(abilityFirst);
game->removeObserver(abilityFirst);
if (!this->source->controller()->isAI())
game->Update(1);
game->Update(1);
if (zone->cards.size() || (revealDisplay && !zone->cards.size()))
{
@@ -792,19 +803,17 @@ bool MTGScryCards::CheckUserInput(JButton key)
abilitySecond = contructAbility(abilityTwo);
game->addObserver(abilitySecond);
if(revealTopAmount == 0 && dontRevealAfter && delayed)
{
MTGAbility * delayedA = contructAbility(delayedAbilityString);
if (delayedA->oneShot)
{
MTGAbility * delayedA = contructAbility(delayedAbilityString);
if (delayedA->oneShot)
{
delayedA->resolve();
SAFE_DELETE(delayedA);
}
else
delayedA->addToGame();
delayedA->resolve();
SAFE_DELETE(delayedA);
}
else
delayedA->addToGame();
}
}
}
if (!tc && abilitySecond && abilitySecond->testDestroy())
{
@@ -833,7 +842,6 @@ bool MTGScryCards::CheckUserInput(JButton key)
}
else
delayedA->addToGame();
}
}
}
@@ -890,8 +898,31 @@ GenericScryAbility::GenericScryAbility(GameObserver* observer, int id, MTGCardIn
int GenericScryAbility::resolve()
{
MTGAbility * ability = NEW MTGScryCards(game, this->GetId(), source, howMany);
ability->addToGame();
bool replaceScry = false;
for(int i = 0; i < source->lastController->game->battlefield->nb_cards; i ++){
if(source->lastController->game->battlefield->cards[i]->has(Constants::REPLACESCRY))
replaceScry = true;
}
if(!replaceScry && source->lastController->isAI() && source->getAICustomCode().size())
{
string abi = source->getAICustomCode();
std::transform(abi.begin(), abi.end(), abi.begin(), ::tolower);//fix crash
AbilityFactory af(game);
MTGAbility * a3 = af.parseMagicLine(abi, this->GetId(), NULL, source);
a3->oneShot = 1;
a3->canBeInterrupted = false;
a3->resolve();
SAFE_DELETE(a3);
} else if(!replaceScry) {
MTGAbility * ability = NEW MTGScryCards(game, this->GetId(), source, howMany);
ability->addToGame();
}
string number = "0";
vector<string> amount = parseBetween(howMany, "", " ");
if (amount.size())
number = amount[1];
WParsedInt nbCardP(number, NULL, source);
source->scryedCards = nbCardP.getValue();
WEvent * e = NEW WEventCardScryed(source);
game->receiveEvent(e);
return 1;

View File

@@ -852,10 +852,9 @@ int AbilityFactory::parseCastRestrictions(MTGCardInstance * card, Player * playe
{
vector<string>getPaid = parseBetween(restriction[i].c_str(),"paid(",")");
string paid = getPaid[1];
for (size_t j = 0; j < sizeof(kAlternateCostIds)/sizeof(kAlternateCostIds[0]); ++j)
{
string keyword = kAlternateCostKeywords[j];
string keyword = kAlternateCostKeywords[j];
if (paid.find(keyword) != string::npos)
{
if (!(card->alternateCostPaid[j] > 0 ))
@@ -864,8 +863,10 @@ int AbilityFactory::parseCastRestrictions(MTGCardInstance * card, Player * playe
}
}
}
}
check = restriction[i].find("never");
if(check != string::npos)
return 0;
}
return 1;
}

View File

@@ -266,6 +266,7 @@ void MTGCardInstance::initMTGCI()
lastFlipResult = -1;
dieSide = 0;
lastRollResult = 0;
scryedCards = 0;
isAttacking = NULL;
storedCard = NULL;
storedSourceCard = NULL;

View File

@@ -208,7 +208,8 @@ const char* Constants::MTGBasicAbilities[] = {
"foretell", //It has foretell cost
"anytypeofmanaability", //It allows to spend mana as it were of any color to activate abilities.
"boast", //It has boast ability
"twoboast" //It has boast twice ability (e.g. Birgi, God of Storytelling)
"twoboast", //It has boast twice ability (e.g. Birgi, God of Storytelling)
"replacescry" //It has scry replacement ability
};
map<string,int> Constants::MTGBasicAbilitiesMap;

View File

@@ -1001,6 +1001,10 @@ void WParsedInt::init(string s, Spell * spell, MTGCardInstance * card)
else
intValue = card->revealedLast->getManaCost()->getConvertedCost();
}
else if (s == "scryedcards")//returns how many card have been scryed from current card
{
intValue = card->scryedCards;
}
else if(!intValue)//found nothing, try parsing a atoi
{
intValue = atoi(s.c_str());