Fixed transformation ability for instant and sorceries when the duration was uynt uent or forever, fixed several primitives to correctly set transformation duration of targeted cards.

This commit is contained in:
Vittorio Alfieri
2023-05-26 17:16:57 +02:00
parent 8df057f78a
commit 3dfd3253b2
4 changed files with 136 additions and 156 deletions

View File

@@ -1682,7 +1682,7 @@ abilities=adventure
restriction=can play creature
other={2}{B} name(Adventure)
auto=if paid(alternative) then name(Create Skeleton) name(Create Skeleton) token(Skeleton,Creature Skeleton,4/1,black,menace) and!( tap(noevent) )!
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto={2}{B}{T}{E(creature|myBattlefield)}:name(Return creature) target(creature|mygraveyard) moveTo(mybattlefield) asSorcery
text={2}{B}, {T}, Exile a creature you control: Return target creature card from your graveyard to the battlefield. Activate only as a sorcery. // Create a tapped 4/1 black Skeleton creature token with menace. (Then exile this card. You may cast the artifact later from exile.)
mana={1}{B}
@@ -1830,7 +1830,7 @@ abilities=flying,haste,adventure
restriction=can play creature
other={4}{R} name(Adventure)
auto=if paid(alternative) then name(Deal 4 damage) name(Deal 4 damage) thisforeach(variable{4}) ability$!name(Deal 1 damage) name(Deal 1 damage) target(player,creature,planeswalker) damage:1!$ controller
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Flying, haste // Explosive Crystal deals 4 damage divided as you choose among any number of targets. (Then exile this card. You may cast the creature later from exile.)
mana={4}{R}{R}
type=Creature
@@ -2574,7 +2574,7 @@ abilities=flying,adventure
other={2}{U} name(Adventure)
otherrestriction=type(artifact[-creature]|mybattlefield)~morethan~0
auto=if paid(alternative) then name(Target artifact becomes creature) name(Target artifact becomes creature) target(artifact[-creature]|myBattlefield) transforms((Artifact Creature,newability[counter(1/1.4)])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Flying // Target noncreature artifact you control becomes a 0/0 artifact creature. Put four +1/+1 counters on it.
mana={2}{U}
type=Creature
@@ -3797,7 +3797,7 @@ other={1}{W} name(Adventure)
auto=if paid(alternative) then if type(creature|battlefield)~morethan~1 then choice name(Tap 2 creatures) name(Tap 2 creatures) name(Tap 2 creatures) target(<2>creature|battlefield) tap(noevent)
auto=if paid(alternative) then if type(creature|battlefield)~morethan~0 then choice name(Tap 1 creature) name(Tap 1 creature) name(Tap 1 creature) target(creature|battlefield) tap(noevent)
auto=if paid(alternative) then choice name(Don't tap any creature) name(Don't tap any creature) donothing
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Flying // Tap up to two target creatures. (Then exile this card. You may cast the creature later from exile.)
mana={1}{W}{W}
type=Creature
@@ -5012,7 +5012,7 @@ toughness=6
[/card]
[card]
name=Author of Shadows
auto=if type(*[-land]|opponentgraveyard)~morethan~0 then name(Choose non-land card) name(Choose non-land card) target(*[-land]|opponentgraveyard) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[all(*|opponentgraveyard) moveto(opponentexile)])) forever )!
auto=if type(*[-land]|opponentgraveyard)~morethan~0 then name(Choose non-land card) name(Choose non-land card) target(*[-land]|opponentgraveyard) moveto(myexile) and!( transforms((,newability[canplayfromexile forever],newability[anytypeofmana forever],newability[all(*|opponentgraveyard) moveto(opponentexile)])) forever )!
auto=if type(*[-land]|opponentgraveyard)~equalto~0 then all(*|opponentgraveyard) moveto(opponentexile)
text=When Author of Shadows enters the battlefield, exile all cards from all opponents' graveyards. Choose a nonland card exiled this way. You may cast that card for as long as it remains exiled, and you may spend mana as though it were mana of any color to cast that spell.
mana={4}{B}
@@ -6856,7 +6856,7 @@ abilities=adventure
other={2}{G} name(Adventure)
anyzone=type:land:myBattlefield/type:land:myBattlefield cdaactive
auto=if paid(alternative) then name(Search basic land) name(Search basic land) target(land[basic]|mylibrary) moveto(mybattlefield)
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Beanstalk Giant's power and toughness are each equal to the number of lands you control. // Search your library for a basic land card, put it onto the battlefield, then shuffle your library. (Then exile this card. You may cast the creature later from exile.)
mana={6}{G}
type=Creature
@@ -8161,7 +8161,7 @@ type=Instant
name=Blazing Crescendo
target=creature
auto=+3/+1
auto=name(Exile top card) emblem transforms((,newability[all(*[zpos=1]|myLibrary) moveto(exile) and!( transforms((,newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then removeallcounters(0/0.1.PlayExile)])) forever )!],newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent
auto=name(Exile top card) all(*[zpos=1]|myLibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent])) uent )!
text=Target creature gets +3/+1 until end of turn. -- Exile the top card of your library. Until the end of your next turn, you may play that card.
mana={1}{R}
type=Instant
@@ -8267,7 +8267,7 @@ restriction=can play creature
otherrestriction=type(creature|battlefield)~morethan~0
other={W} name(Adventure)
auto=if paid(alternative) then name(Gains indestructible) name(Gains indestructible) target(creature) transforms((,newability[indestructible])) ueot
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto=_ATTACKING_name(Another creature gains flying) target(creature[attacking;-flying]) transforms((,newability[flying])) ueot
text=Flying -- Whenever Blessed Hippogriff attacks, target attacking creature without flying gains flying until end of turn. // Target creature gains indestructible until end of turn. (Then exile this card. You may cast the creature later from exile.)
mana={3}{W}
@@ -9929,7 +9929,7 @@ restriction=can play creature
other={1}{R} name(Adventure)
#MISSING: damage can't be prevented
auto=if paid(alternative) then name(Deals 2 damage) name(Deals 2 damage) damage:2 target(player,creature,planeswalker)
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto=@targeted(this) from(*|opponentzones):name(Deals 2 damage) damage:2 opponent
auto=@targeted(this) from(*|myzones):name(Deals 2 damage) damage:2 controller
text=Whenever Bonecrusher Giant becomes the target of a spell, Bonecrusher Giant deals 2 damage to that spell's controller. // Damage can't be prevented this turn. Stomp deals 2 damage to any target.
@@ -10669,7 +10669,7 @@ name=Brazen Borrower // Petty Theft
abilities=flying,cloud,flash,adventure,asflash
other={1}{U} name(Adventure)
auto=if paid(alternative) then name(Return to hand) name(Return to hand) target(*[-land]|opponentbattlefield) moveTo(ownerHand)
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Flash -- Flying -- Brazen Borrower can block only creatures with flying. // Return target nonland permanent an opponent controls to its owner's hand.
mana={1}{U}{U}
type=Creature
@@ -10886,7 +10886,7 @@ type=Land
[card]
name=Breya's Apprentice
auto=_THOPTERTOKEN_
auto={T}{S(artifact|myBattlefield)}:name(Exile top card) emblem transforms((,newability[all(*[zpos=1]|myLibrary) moveto(exile) and!( transforms((,newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then removeallcounters(0/0.1.PlayExile)])) forever )!],newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent
auto={T}{S(artifact|myBattlefield)}:name(Exile top card) all(*[zpos=1]|myLibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent])) uent )!
auto={T}{S(artifact|myBattlefield)}:name(Creature gets 2/0) target(creature) 2/0 ueot
text=When Breya's Apprentice enters the battlefield, create a 1/1 colorless Thopter artifact creature token with flying. -- {T}, Sacrifice an artifact: Choose one -- Exile the top card of your library. Until the end of your next turn, you may play that card. -- Target creature gets +2/+0 until end of turn.
mana={2}{R}
@@ -13873,7 +13873,7 @@ name=Champions of Archery // Join the Group
abilities=reach,adventure
other={2}{R} name(Adventure)
auto=if paid(alternative) then name(Move to Command Zone) name(Move to Command Zone) target(creature[legendary]|myHand) moveTo(mycommandzone) and!( transforms((,newability[iscommander])) forever )!
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto=lord(*[iscommander]|myBattlefield) type:*[iscommander]:myBattlefield/0
text=Reach -- Commanders you control get +X/+0, where X is the number of Commanders you control. // You may put a legendary creature card from your hand into the command zone. it's also your commander.
mana={3}{R}
@@ -16090,7 +16090,7 @@ name=Collectigull // Only the Best
abilities=flying,adventure
other={1}{W} name(Adventure)
auto=if paid(alternative) then name(Return to hand) name(Return to hand) target(*[-land]|myGraveyard) moveTo(ownerHand)
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto=protection from(*)
auto=_ATTACKING_draw:1 controller
text=Flying, protection from common -- Whenever Collectigull attacks, reveal the top card of your library. If it's a Booster Fun card, you may put it into your hand. // Return target Booster Fun card from your graveyard to your hand.
@@ -16186,7 +16186,7 @@ restriction=can play creature
otherrestriction=type(creature|battlefield)~morethan~0
other={1}{G} name(Adventure)
auto=if paid(alternative) then name(Choose creature and mill) name(Choose creature and mill) target(creature|battlefield) transforms((,newability[if type(creature[zpos<=4]|mylibrary)~equalto~0 then deplete:4 controller],newability[if type(creature[zpos<=4]|mylibrary)~equalto~1 then counter(1/1.1) && deplete:4 controller],newability[if type(creature[zpos<=4]|mylibrary)~equalto~2 then counter(1/1.2) && deplete:4 controller],newability[if type(creature[zpos<=4]|mylibrary)~equalto~3 then counter(1/1.3) && deplete:4 controller],newability[if type(creature[zpos<=4]|mylibrary)~equalto~4 then counter(1/1.4) && deplete:4 controller])) oneshot
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto=ifnot paid(alternative) then name(Gain 3 life) name(Gain 3 life) life:3 controller
text=When Colossal Badger enters the battlefield, you gain 3 life. // Choose target creature. Mill four cards, then put a +1/+1 counter on that creature for each creature card milled this way.
mana={5}{G}
@@ -16612,7 +16612,7 @@ type=Sorcery
[/card]
[card]
name=Compleated Conjurer
auto=name(Exile top card) emblem transforms((,newability[all(*[zpos=1]|myLibrary) moveto(exile) and!( transforms((,newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then removeallcounters(0/0.1.PlayExile)])) forever )!],newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent
auto=name(Exile top card) all(*[zpos=1]|myLibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent])) uent )!
text=When this creature transforms into Compleated Conjurer, exile the top card of your library. Until the end of your next turn, you may play that card.
color=red,blue
type=Creature
@@ -17804,8 +17804,8 @@ toughness=2
[/card]
[card]
name=Covetous Urge
auto=if type(*[-land]|opponentgraveyard)~morethan~0 then name(Exile non land card) name(Exile non land card) target(*[-land]|opponenthand,opponentgraveyard) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[@each beginofturn:name(Can play from exile) transforms((,newability[canplayfromexile],newability[anytypeofmana])) forever])) forever )!
auto=if type(*[-land]|opponentgraveyard)~equalto~0 then if type(*[-land]|opponenthand)~morethan~0 then name(Exile non land card) name(Exile non land card) name(Exile non land card) target(*[-land]|opponenthand) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[@each beginofturn:name(Can play from exile) transforms((,newability[canplayfromexile],newability[anytypeofmana])) forever])) forever )!
auto=if type(*[-land]|opponentgraveyard)~morethan~0 then name(Exile non land card) name(Exile non land card) target(*[-land]|opponenthand,opponentgraveyard) moveto(myexile) and!( transforms((,newability[canplayfromexile forever],newability[anytypeofmana forever])) forever )!
auto=if type(*[-land]|opponentgraveyard)~equalto~0 then if type(*[-land]|opponenthand)~morethan~0 then name(Exile non land card) name(Exile non land card) name(Exile non land card) target(*[-land]|opponenthand) moveto(myexile) and!( transforms((,newability[canplayfromexile forever],newability[anytypeofmana forever])) forever )!
auto=if type(*[-land]|opponentgraveyard)~equalto~0 then if type(*[-land]|opponenthand)~equalto~0 then name(Look opponent hand) name(Look opponent hand) name(Look opponent hand) target(*|opponenthand) moveto(myreveal) and!( moveto(opponenthand) )!
text=Target opponent reveals their hand. You choose a nonland card from that player's graveyard or hand and exile it. You may cast that card for as long as it remains exiled, and you may spend mana as though it were mana of any color to cast that spell.
mana={UB}{UB}{UB}{UB}
@@ -18649,7 +18649,7 @@ abilities=flying,vigilance,adventure
otherrestriction=type(*[artifact;enchantment;legendary]|mygraveyard)~morethan~0
other={1}{W} name(Adventure)
auto=if paid(alternative) then name(Return card) name(Return card) target(*[artifact;enchantment;legendary]|mygraveyard) moveto(ownerhand)
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Flying, vigilance // Return target artifact, enchantment, or legendary card from your graveyard to your hand. (Then exile this card. You may cast the creature later from exile.)
mana={4}{W}{W}
type=Creature
@@ -18943,7 +18943,7 @@ name=Curious Pair // Treats to Share
abilities=adventure
other={G} name(Adventure)
auto=if paid(alternative) then name(Create Food) name(Create Food) token(Food)
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Create a Food token. (Then exile this card. You may cast the creature later from exile. A Food token is an artifact with "{2}, {T}, Sacrifice this artifact: You gain 3 life.")
mana={1}{G}
type=Creature
@@ -20225,7 +20225,7 @@ type=Instant
[card]
name=Dead Man's Chest
target=creature|opponentbattlefield
auto=@movedTo(mytgt|graveyard) from(battlefield):all(*[-land;zpos<=p]|opponentlibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana])) forever )!
auto=@movedTo(mytgt|graveyard) from(battlefield):all(*[-land;zpos<=p]|opponentlibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile forever],newability[anytypeofmana forever])) forever )!
text=Enchant creature an opponent controls -- When enchanted creature dies, exile cards equal to its power from the top of its owner's library. You may cast spells from among those cards for as long as they remain exiled, and you may spend mana as though it were mana of any type to cast those spells.
mana={1}{B}
type=Enchantment
@@ -22841,8 +22841,8 @@ type=Sorcery
[/card]
[card]
name=Divine Purge
auto=all(creature[manacost<=3]|battlefield) moveto(exile) and!( transforms((,newability[canplayfromexile],newability[counter(0/0.1.PerpetualCost2More) notrg],newability[counter(0/0.1.PerpetualTapped) notrg])) forever )!
auto=all(artifact[manacost<=3]|battlefield) moveto(exile) and!( transforms((,newability[canplayfromexile],newability[counter(0/0.1.PerpetualCost2More) notrg],newability[counter(0/0.1.PerpetualTapped) notrg])) forever )!
auto=all(creature[manacost<=3]|battlefield) moveto(exile) and!( transforms((,newability[canplayfromexile forever],newability[counter(0/0.1.PerpetualCost2More) notrg],newability[counter(0/0.1.PerpetualTapped) notrg])) forever )!
auto=all(artifact[manacost<=3]|battlefield) moveto(exile) and!( transforms((,newability[canplayfromexile forever],newability[counter(0/0.1.PerpetualCost2More) notrg],newability[counter(0/0.1.PerpetualTapped) notrg])) forever )!
auto=emblem transforms((,newability[@movedto(*|battlefield):name(Enters tapped) all(trigger[to]) name(Enters tapped) transforms((,newability[if compare(hascntperpetualtapped)~morethan~0 then tap(noevent)])) oneshot],newability[lord(*[counter{0/0.1.PerpetualCost2More}]|opponentzones) changecost(colorless:+2) forcedalive],newability[lord(*[counter{0/0.1.PerpetualCost2More}]|myzones) changecost(colorless:+2) forcedalive])) forever dontremove
text=Exile all artifacts and creatures with mana value 3 or less. They perpetually gain "This spell costs {2} more to cast" and "This permanent enters the battlefield tapped." For as long as each of them remain exiled, its owner may play it.
mana={1}{W}{W}
@@ -23996,7 +23996,7 @@ restriction=can play creature
otherrestriction=type(creature|battlefield)~morethan~0
other={3}{G} name(Adventure)
auto=if paid(alternative) then name(Choose creature) name(Choose creature) target(creature|battlefield) transforms((,newability[counter(1/1.2)],newability[opponentshroud],newability[untap])) ueot
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto=cantbeblockedby(creature[power<=3])
text=Dread Linnorm can't be blocked by creatures with power 3 or less. // Put two +1/+1 counters on target creature and untap it. It gains hexproof until end of turn. (Then exile this card. You may cast the creature later from exile.)
mana={6}{G}
@@ -24901,16 +24901,16 @@ type=Artifact
[card]
name=Dungeon of the Mad Mage
restriction=never
aicode=activate target(*[zpos<=3]|mylibrary) moveto(myhand) and!( transforms((,newability[zerocast],newability[draw:2 controller])) forever )!
aicode=activate target(*[zpos<=3]|mylibrary) moveto(myhand) and!( transforms((,newability[zerocast forever],newability[draw:2 controller])) forever )!
autocommandzone=transforms((,newability[shroud],newability[indestructible])) forever
autocommandzone=@counteradded(0/0,1,Explore) from(Dungeon of the Mad Mage|mycommandzone) restriction{compare(hascntexplore)~equalto~1}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Yawning Portal) name(Yawning Portal) life:1 controller!$ controller
autocommandzone=@counteradded(0/0,1,Explore) from(Dungeon of the Mad Mage|mycommandzone) restriction{compare(hascntexplore)~equalto~2}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Dungeon Level) name(Dungeon Level) _SCRY1_!$ controller
autocommandzone=@counteradded(0/0,1,Explore) from(Dungeon of the Mad Mage|mycommandzone) restriction{compare(hascntexplore)~equalto~3}:ability$!name(Goblin Bazaar or Twisted Caverns) all(Dungeon of the Mad Mage|mycommandzone) transforms((,newability[choice name(Goblin Bazaar) token(Treasure Sur)*type:*[twodngtrg]:mybattlefieldplus1plusend],newability[if type(creature|battlefield)~morethan~0 then choice name(Twisted Caverns) name(Twisted Caverns) target(<type:*[twodngtrg]:mybattlefieldplus1plusend>creature|battlefield) transforms((,newability[cantattack],newability[cantpwattack])) uynt])) oneshot!$ controller
autocommandzone=@counteradded(0/0,1,Explore) from(Dungeon of the Mad Mage|mycommandzone) restriction{compare(hascntexplore)~equalto~4}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Lost Level) name(Lost Level) _SCRY2_!$ controller
autocommandzone=@counteradded(0/0,1,Explore) from(Dungeon of the Mad Mage|mycommandzone) restriction{compare(hascntexplore)~equalto~5}:ability$!name(Runestone Caverns or Muiral's Graveyard) transforms((,newability[choice name(Muiral's Graveyard) token(Skeleton Mad)*twicetype:*[twodngtrg]:mybattlefieldplus1plusend],newability[choice name(Runestone Caverns) all(*[zpos<=twicecardcountabiltwodngtrgplus1plusend]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) oneshot!$ controller
autocommandzone=@counteradded(0/0,1,Explore) from(Dungeon of the Mad Mage|mycommandzone) restriction{compare(hascntexplore)~equalto~5}:ability$!name(Runestone Caverns or Muiral's Graveyard) transforms((,newability[choice name(Muiral's Graveyard) token(Skeleton Mad)*twicetype:*[twodngtrg]:mybattlefieldplus1plusend],newability[choice name(Runestone Caverns) all(*[zpos<=twicecardcountabiltwodngtrgplus1plusend]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile forever])) forever )!])) oneshot!$ controller
autocommandzone=@counteradded(0/0,1,Explore) from(Dungeon of the Mad Mage|mycommandzone) restriction{compare(hascntexplore)~equalto~6}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Deep Mines) name(Deep Mines) _SCRY3_!$ controller
autocommandzone=@counteradded(0/0,1,Explore) from(Dungeon of the Mad Mage|mycommandzone) restriction{compare(hascntexplore)~equalto~7}:choice name(Dungeon completed) all(Dungeon of the Mad Mage|mycommandzone) completedungeon:1 controller
autocommandzone=@counteradded(0/0,1,Explore) from(Dungeon of the Mad Mage|mycommandzone) restriction{compare(hascntexplore)~equalto~7}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Mad Wizard's Lair) name(Mad Wizard's Lair) reveal:3 optionone name(Choose a card) target(<upto:1>*|reveal) moveto(myhand) and!( transforms((,newability[zerocast])) forever )! optiononeend optiontwo all(*|reveal) moveto(myhand) optiontwoend revealend!$ controller
autocommandzone=@counteradded(0/0,1,Explore) from(Dungeon of the Mad Mage|mycommandzone) restriction{compare(hascntexplore)~equalto~7}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Mad Wizard's Lair) name(Mad Wizard's Lair) reveal:3 optionone name(Choose a card) target(<upto:1>*|reveal) moveto(mylibrary) and!( transforms((,newability[zerocast forever])) forever )! optiononeend optiontwo all(*|reveal) moveto(myhand) optiontwoend revealend!$ controller
text=Yawning Portal - You gain 1 life. -- Dungeon Level - Scry 1. -- Goblin Bazaar - Create a Treasure token. -- Twisted Caverns - Target creature can't attack until your next turn. -- Lost Level - Scry 2. -- Runestone Caverns - Exile the top two cards of your library. You may play them. -- Muiral's Graveyard - Create two 1/1 black Skeleton creature tokens. -- Deep Mines - Scry 3. -- Mad Wizard's Lair - Draw three cards and reveal them. You may cast one of them without paying its mana cost.
type=Dungeon
[/card]
@@ -24947,8 +24947,8 @@ toughness=2
[card]
name=Durnan of the Yawning Portal
abilities=backgroundpartner
aicode=activate transforms((,newability[if type(creature[zpos<=4]|myLibrary)~morethan~0 then target(creature[zpos<=4]|myLibrary) moveTo(myexile) and!( transforms((,newability[canplayfromexile],newability[changecost(colorless:-1) forcedalive],newability[all(other *[zpos<=4]|mylibrary) moveto(myreveal) and!( bottomoflibrary )!])) forever )! else all(*[zpos<=4]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! ])) oneshot
auto=_ATTACKING_name(Look top 4 cards) reveal:4 optionone name(Exile creature) target(<upto:1>*[creature]|reveal) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[changecost(colorless:-1) forcedalive])) forever )! optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend
aicode=activate transforms((,newability[if type(creature[zpos<=4]|myLibrary)~morethan~0 then target(creature[zpos<=4]|myLibrary) moveTo(myexile) and!( transforms((,newability[canplayfromexile forever],newability[changecost(colorless:-1) forcedalive],newability[all(other *[zpos<=4]|mylibrary) moveto(myreveal) and!( bottomoflibrary )!])) forever )! else all(*[zpos<=4]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! ])) oneshot
auto=_ATTACKING_name(Look top 4 cards) reveal:4 optionone name(Exile creature) target(<upto:1>*[creature]|reveal) moveto(myexile) and!( transforms((,newability[canplayfromexile forever],newability[changecost(colorless:-1) forcedalive])) forever )! optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend
text=Whenever Durnan attacks, look at the top four cards of your library. You may exile a creature card from among them. Put the rest on the bottom of your library in any order. For as long as that card remains exiled, you may cast it. That spell has undaunted. (It costs {1} less to cast for each opponent.) -- Choose a Background (You can have a Background as a second commander.)
mana={3}{G}
type=Legendary Creature
@@ -26081,7 +26081,7 @@ toughness=2
[card]
name=Elite Spellbinder
abilities=flying
auto=if type(*[-land]|opponenthand)~morethan~0 then name(Exile a non-land card) name(Exile a non-land card) target(*[-land]|opponenthand) moveto(opponentexile) and!( transforms((,newability[canplayfromexile],newability[changecost(colorless:2) forcedalive])) forever )!
auto=if type(*[-land]|opponenthand)~morethan~0 then name(Exile a non-land card) name(Exile a non-land card) target(*[-land]|opponenthand) moveto(opponentexile) and!( transforms((,newability[canplayfromexile forever],newability[changecost(colorless:2) forcedalive])) forever )!
auto=if type(*[-land]|opponenthand)~equalto~0 then name(Reveal hand) name(Reveal hand) target(*|opponenthand) moveto(opponentreveal) and!( moveto(opponenthand) )!
text=Flying -- When Elite Spellbinder enters the battlefield, look at target opponent's hand. You may exile a nonland card from it. For as long as that card remains exiled, its owner may play it. A spell cast this way costs 2 more to cast.
mana={2}{W}
@@ -26092,7 +26092,7 @@ toughness=1
[/card]
[card]
name=Elkin Bottle
auto={3}{T}:moveto(exile) and!( transforms((,canplayfromexile)) uynt )! all(*[zpos=1]|mylibrary)
auto={3}{T}:name(Exile top card) all(*[zpos=1]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uynt])) uynt )!
text={3}, {T}: Exile the top card of your library. Until the beginning of your next upkeep, you may play that card.
mana={3}
type=Artifact
@@ -26362,7 +26362,7 @@ name=Embereth Shieldbreaker // Battle Display
abilities=adventure
other={R} name(Adventure)
auto=if paid(alternative) then name(Destroy artifact) name(Destroy artifact) target(artifact|battlefield) destroy
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Destroy target artifact. (Then exile this card. You may cast the creature later from exile.)
mana={1}{R}
type=Creature
@@ -26468,7 +26468,7 @@ name=Emerald Dragon // Dissonant Wave
abilities=flying,trample,adventure,asflash
restriction=can play creature
otherrestriction=never
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
other={2}{G} name(Adventure)
text=Flying, trample // Counter target activated or triggered ability from a noncreature source. (Then exile this card. You may cast the creature later from exile.)
mana={4}{G}{G}
@@ -27319,8 +27319,7 @@ subtype=Aura
[/card]
[card]
name=Escape to the Wilds
auto=all(*[zpos<=5]|mylibrary) moveto(exile) and!( transforms((,newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then removeallcounters(0/0.1.PlayExile)])) forever )!
auto=emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent
auto=all(*[zpos<=5]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent])) uent )!
auto=maxPlay(land)+1
text=Exile the top five cards of your library. You may play cards exiled this way until the end of your next turn. -- You may play an additional land this turn.
mana={3}{R}{G}
@@ -27722,7 +27721,7 @@ restriction=can play creature
otherrestriction=type(creature[flying]|battlefield)~morethan~0
other={2}{G} name(Adventure)
auto=if paid(alternative) then name(Destroy flying creature) name(Destroy flying creature) target(creature[flying]|battlefield) destroy
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Reach // Destroy target creature with flying. (Then exile this card. You may cast the creature later from exile.)
mana={4}{G}
type=Creature
@@ -28681,7 +28680,7 @@ name=Fae of Wishes // Granted
abilities=flying,adventure
other={3}{U} name(Adventure)
auto=if paid(alternative) then name(Pick non-creature from sideboard) name(Pick non-creature from sideboard) target(*[-creature]|mysideboard) moveTo(myhand)
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto={1}{U}{D(*|myhand)}{D(*|myhand)}:name(Return to hand) moveTo(ownerhand)
text=Flying -- {1}{U}, Discard two cards: Return Fae of Wishes to its owner's hand. // You may choose a noncreature card you own from outside the game, reveal it, and put it into your hand.
mana={1}{U}
@@ -28741,7 +28740,7 @@ name=Faerie Guidemother // Gift of the Fae
abilities=flying,adventure
other={1}{W} name(Adventure)
auto=if paid(alternative) then name(Creature gets 2/1 and flying) name(Creature gets 2/1 and flying) target(creature) transforms((,newability[flying],newability[2/1])) ueot
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Flying // Target creature gets +2/+1 and gains flying until end of turn. (Then exile this card. You may cast the creature later from exile.)
mana={W}
type=Creature
@@ -29141,7 +29140,7 @@ abilities=flying,adventure
restriction=can play creature
other={1}{R} name(Adventure)
auto=if paid(alternative) then name(Deal 1 damage) name(Deal 1 damage) all(creature|opponentBattlefield) damage:1
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Flying // Forktail Sweep deals 1 damage to each creature you don't control. (Then exile this card. You may cast the creature later from exile.)
mana={5}{R}{R}
type=Creature
@@ -30534,7 +30533,7 @@ name=Fire Giant's Fury
target=giant|mybattlefield
auto=2/2 ueot
auto=trample ueot
auto=transforms((,newability[@combatdamaged(player) from(this):transforms((,newability[all(*[zpos<=thatmuch]|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.FireEffect)],newability[this(variable{hascntfireeffect}>0) canplayfromexile],newability[phaseaction[opponent upkeep once checkex] counter(0/0.1.FireEffect)],newability[phaseaction[my upkeep once checkex] counter(0/0.1.FireEffect)],newability[phaseaction[endofturn checkex] counter(0/0.-1.FireEffect)])) forever )!])) ueot])) ueot
auto=transforms((,newability[@combatdamaged(player) from(this):name(Exile cards) transforms((,newability[all(*[zpos<=thatmuch]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile uent])) uent )!])) ueot])) ueot
text=Target Giant you control gets +2/+2 and gains trample until end of turn. Whenever it deals combat damage to a player this turn, exile that many cards from the top of your library. Until the end of your next turn, you may play those cards.
mana={1}{R}
type=Sorcery
@@ -30955,7 +30954,7 @@ type=Instant
[card]
name=Five-Finger Discount
target=*[-land]|battlefield
auto=moveto(myhand) and!( transforms((,newability[anytypeofmana])) forever)!
auto=moveto(myhand) and!( transforms((,newability[anytypeofmana forever])) forever)!
text=Put target nonland permanent into your hand. You may spend mana as though it were mana of any color the next time you cast that card.
mana={4}{U}{U}
type=Sorcery
@@ -31161,9 +31160,7 @@ type=Sorcery
[card]
name=Flameskull
abilities=cantblock,flying
auto=_DIES_name(Rejuvenation) transforms((,newability[all(creature[-token;fresh:zpos=type:*:mygraveyard]|mygraveyard) moveto(exile) and!( transforms((,newability[phaseaction[my endofturn once next checkex] removeallcounters(0/0.1.FlameskullExiled)],newability[this(counter{0/0.1.FlameskullExiled}>0) canplayfromexile],newability[counter(0/0.1.FlameskullExiled)],newability[all(*[zpos=1]|mylibrary) moveTo(myexile) and!( transforms((,newability[counter(0/0.1.FlameskullExiled)],newability[this(counter{0/0.1.FlameskullExiled}>0) canplayfromexile],newability[@each untap restriction{compare(hascntflameskullexiled)~equalto~0}:-canplayfromexile],newability[@each untap restriction{compare(hascntflameskullexiled)~morethan~0}:canplayfromexile],newability[phaseaction[my endofturn once next checkex] removeallcounters(0/0.1.FlameskullExiled)],newability[@movedto(this|mystack) from(myexile) restriction{compare(hascntflameskullexiled)~morethan~0}:all(*[counter{0/0.1.FlameskullExiled}]|myexile) removeallcounters(0/0.1.FlameskullExiled)],newability[@movedto(this|mybattlefield) from(myexile) restriction{compare(hascntflameskullexiled)~morethan~0}:all(*[counter{0/0.1.FlameskullExiled}]|myexile) removeallcounters(0/0.1.FlameskullExiled)])) forever )!])) forever )!])) forever
autoexile=@movedto(*[counter{0/0.1.FlameskullExiled}]|mystack) from(myexile) restriction{compare(hascntflameskullexiled)~morethan~0}:all(*[counter{0/0.1.FlameskullExiled}]|myexile) transforms((,newability[removeallcounters(0/0.1.FlameskullExiled)],newability[-canplayfromexile])) oneshot
autoexile=@movedto(land[counter{0/0.1.FlameskullExiled}]|mybattlefield) from(myexile) restriction{compare(hascntflameskullexiled)~morethan~0}:all(*[counter{0/0.1.FlameskullExiled}]|myexile) transforms((,newability[removeallcounters(0/0.1.FlameskullExiled)],newability[-canplayfromexile])) oneshot
auto=_DIES_name(Rejuvenation) all(this|mygraveyard) moveto(myexile) and!( transforms((,newability[becomes(tobecast) ueot],newability[all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[becomes(tobecast) ueot],newability[name(Can play one exiled card) target(tobecast[fresh]|myexile) canplayfromexile ueot])) ueot )!])) ueot )!
text=Flying -- Flameskull can't block. -- Rejuvenation - When Flameskull dies, exile it. If you do, exile the top card of your library. Until the end of your next turn, you may play one of those cards. (If you cast Flameskull this way, you can't play the other card, and vice versa.)
mana={1}{R}{R}
type=Creature
@@ -31261,7 +31258,7 @@ name=Flaxen Intruder // Welcome Home
abilities=adventure
other={5}{G}{G} name(Adventure)
auto=if paid(alternative) then name(Create 3 Bears) name(Create 3 Bears) token(Bear,Creature Bear,2/2,green)*3
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto=@combatdamaged(player) from(this):may sacrifice all(this) && destroy target(*[artifact;enchantment]|battlefield)
text=Whenever Flaxen Intruder deals combat damage to a player, you may sacrifice it. When you do, destroy target artifact or enchantment. // Create three 2/2 green Bear creature tokens. (Then exile this card. You may cast the creature later from exile.)
mana={G}
@@ -32129,7 +32126,7 @@ abilities=deathtouch,adventure,asflash
restriction=can play creature
other={2}{B} name(Adventure)
auto=if paid(alternative) then name(Draw 1 and opponent looses 1 life) name(Draw 1 and opponent looses 1 life) draw:1 controller && life:-1 controller
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Deathtouch // You draw a card and you lose 1 life. (Then exile this card. You may cast the creature later from exile.)
mana={B}
type=Creature
@@ -32752,7 +32749,7 @@ type=Instant
[/card]
[card]
name=Furious Rise
auto=@each my endofturn aslongas(creature[power>=4]|myBattlefield):moveto(exile) and!( transforms((,canplayfromexile)) ueot )! all(*[zpos=1]|mylibrary) uynt
auto=@each my endofturn restriction{type(creature[power>=4]|myBattlefield)~morethan~0}:name(Exile top card) all(*[zpos=1]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uynt])) uynt )!
text=At the beginning of your end step, if you control a creature with power 4 or greater, exile the top card of your library. You may play that card until you exile another card with Furious Rise.
mana={2}{R}
type=Enchantment
@@ -33052,7 +33049,7 @@ toughness=2
name=Gale's Redirection
target=*|stack
auto=fizzleto(exile)
auto=name(Roll a d20) rolld20 20 winability all(*[zpos=type:*:opponentexile]|opponentexile) transforms((,newability[canplayfromexile],newability[zerocast])) forever winabilityend loseability if compare(lastrollresultplusmanacostplusend)~lessthan~15 then all(*[zpos=type:*:opponentexile]|opponentexile) transforms((,newability[canplayfromexile],newability[anytypeofmana])) forever else all(*[zpos=type:*:opponentexile]|opponentexile) transforms((,newability[canplayfromexile],newability[zerocast])) forever loseabilityend rolld20end
auto=name(Roll a d20) rolld20 20 winability all(*[zpos=type:*:opponentexile]|opponentexile) transforms((,newability[canplayfromexile forever],newability[zerocast forever])) forever winabilityend loseability if compare(lastrollresultplusmanacostplusend)~lessthan~15 then all(*[zpos=type:*:opponentexile]|opponentexile) transforms((,newability[canplayfromexile forever],newability[anytypeofmana forever])) forever else all(*[zpos=type:*:opponentexile]|opponentexile) transforms((,newability[canplayfromexile forever],newability[zerocast forever])) forever loseabilityend rolld20end
text=Exile target spell, then roll a d20 and add that spell's mana value. -- 1-14 | You may cast the exiled card for as long as it remains exiled, and you may spend mana as though it were mana of any color to cast that spell. -- 15+ | You may cast the exiled card without paying its mana cost for as long as it remains exiled.
mana={3}{U}{U}
type=Instant
@@ -33160,9 +33157,8 @@ type=Instant
[card]
name=Galvanic Relay
abilities=storm
auto=all(*[zpos=1]|myLibrary) moveto(myexile) and!( transforms((,newability[phaseaction[opponent end once checkex] counter(0/0.1.GalvanicEffect)])) forever )!
auto=emblem transforms((,newability[lord(*[counter{0/0.1.GalvanicEffect}]|myexile) canplayfromexile])) forever dontremove
auto=emblem transforms((,newability[@each my end:all(*[counter{0/0.1.GalvanicEffect}]|myexile) counter(0/0.-1.GalvanicEffect)])) forever dontremove
auto=all(*[zpos=1]|myLibrary) moveto(myexile) and!( transforms((,newability[phaseaction[opponent end once checkex] counter(0/0.1.GalvanicEffect) notrg])) forever )!
auto=emblem transforms((,newability[lord(*[counter{0/0.1.GalvanicEffect}]|myexile) canplayfromexile],newability[@each my end:all(*[counter{0/0.1.GalvanicEffect}]|myexile) counter(0/0.-1.GalvanicEffect) notrg])) uent
text=Exile the top card of your library. During your next turn, you may play that card. -- Storm (When you cast this spell, copy it for each spell cast before it this turn.)
mana={2}{R}
type=Sorcery
@@ -33239,7 +33235,7 @@ abilities=adventure,asflash
restriction=can play creature
other={1}{G} name(Adventure)
auto=if paid(alternative) then name(Creature gets 2/2) name(Creature gets 2/2) target(creature|battlefield) 2/2 ueot
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Target creature gets +2/+2 until end of turn. (Then exile this card. You may cast the creature later from exile.)
mana={3}{G}
type=Creature
@@ -34143,7 +34139,7 @@ other={1}{B} name(Adventure)
restriction=can play creature
otherrestriction=type(creature|mygraveyard)~morethan~0
auto=if paid(alternative) then name(Return creature) name(Return creature) target(creature|mygraveyard) moveto(myhand)
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto={1}:equip
auto=teach(creature) @movedto(creature|graveyard) from(creature|mybattlefield):name(Put 1/1 counter) counter(1/1)
text=Whenever a creature you control dies, put a +1/+1 counter on equipped creature. -- Equip {1} // Return target creature card from your graveyard to your hand. (Then exile this card. You may cast the artifact later from exile.)
@@ -34284,7 +34280,7 @@ abilities=adventure,asflash
restriction=can play creature
other={2}{W} name(Adventure)
auto=if paid(alternative) then name(Destroy creature) name(Destroy creature) target(creature[power>=4]|battlefield) destroy
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto={1}{W}{T}:target(creature) tap(noevent)
text={1}{W}, {T}: Tap target creature. // Destroy target creature with power 4 or greater. (Then exile this card. You may cast the creature later from exile.)
mana={W}
@@ -37230,7 +37226,7 @@ abilities=adventure
other={1}{B} name(Adventure)
restriction=can play creature
auto=if paid(alternative) then name(Mill 4 cards) name(Mill 4 cards) deplete:4 controller
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto=aslongas(creature|mygraveyard) menace >3
auto=aslongas(creature|mygraveyard) deathtouch >3
text=As long as there are four or more creature cards in your graveyard, Gray Slaad has menace and deathtouch. // Mill four cards. (Then exile this card. You may cast the creature later from exile.)
@@ -37629,7 +37625,7 @@ type=Sorcery
[/card]
[card]
name=Grinning Totem
auto={2}{T}{S}:target(*|opponentlibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.TotemExiled)],newability[canplayfromexile],newability[@each my upkeep:all(*[counter{0/0.1.TotemExiled}]|myexile) moveTo(ownergraveyard)])) forever )!
auto={2}{T}{S}:target(*|opponentlibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.TotemExiled)],newability[canplayfromexile uent],newability[@each my upkeep:all(*[counter{0/0.1.TotemExiled}]|myexile) moveTo(ownergraveyard)])) uent )!
text={2}, {T}, Sacrifice Grinning Totem: Search target opponent's library for a card and exile it. Then that player shuffles his or her library. Until the beginning of your next upkeep, you may play that card. At the beginning of your next upkeep, if you haven't played it, put it into its owner's graveyard.
mana={4}
type=Artifact
@@ -38004,7 +38000,7 @@ restriction=can play creature
otherrestriction=type(*[artifact;enchantment]|battlefield)~morethan~0
other={2}{W} name(Adventure)
auto=if paid(alternative) then name(Exile artifact or enchantment) name(Exile artifact or enchantment) target(*[artifact;enchantment]|battlefield) moveto(exile)
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto=this(variable{controllerturn}>0) transforms((,newability[preventalldamage to(this)]))
text=Vigilance -- As long as it's your turn, prevent all damage that would be dealt to Guardian Naga. // Exile target artifact or enchantment. (Then exile this card. You may cast the creature later from exile.)
mana={5}{W}{W}
@@ -40551,7 +40547,7 @@ abilities=adventure,asflash
other={B} name(Adventure)
restriction=can play creature
auto=if paid(alternative) then name(Blocking creatures get -1/-1) name(Blocking creatures get -1/-1) all(creature[blocking]|battlefield) -1/-1 ueot
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto=@each blockers:name(Blocking creatures get -1/-1) transforms((,newability[lord(creature[blocking]|opponentbattlefield) -1/-1])) ueot
text=Whenever one or more creatures you control become blocked, each blocking creature gets -1/-1 until end of turn. // Each creature that blocked this turn gets -1/-1 until end of turn. (Then exile this card. You may cast the creature later from exile.)
mana={5}{B}{B}
@@ -40893,7 +40889,7 @@ toughness=3
name=Hoarding Broodlord
abilities=hiddenface,flying
other={convoke} name(Convoke)
auto=name(Search and exile) target(*|mylibrary) moveto(myexile) and!( transforms((,newability[counter(0/0.1.HoardExiled) notrg],newability[canplayfromexile],newability[this(counter{0/0.1.HoardExiled}>0) canplayfromexile],newability[@each untap restriction{compare(hascnthoardexiled)~morethan~0}:canplayfromexile])) forever )!
auto=name(Search and exile) target(*|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile forever])) forever )!
auto=lord(creature[-tapped]|mybattlefield) transforms((,newability[{T}:name(Pay 1 convoke for spell) name(Pay 1 convoke for spell) target(*[-land]|myexile) transforms((,newability[changecost(colorless:-1)])) ueot]))
text=Convoke -- Flying -- When Hoarding Broodlord enters the battlefield, search your library for a card, exile it face down, then shuffle. For as long as that card remains exiled, you may play it. -- Spells you cast from exile have convoke.
mana={5}{B}{B}{B}
@@ -41423,7 +41419,7 @@ name=Horn of Valhalla // Ysgard's Call
other={X}{W}{W} name(Adventure)
restriction=can play artifact
auto=if paid(alternative) then name(Create Soldiers) name(Create Soldiers) token(Soldier,Creature Soldier,1/1,white)*X
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto=teach(creature) type:creature:mybattlefield/type:creature:mybattlefield nonstatic
auto={3}:equip
text=Equipped creature gets +1/+1 for each creature you control. -- Equip {3} // Create X 1/1 white Soldier creature tokens. (Then exile this card. You may cast the artifact later from exile.)
@@ -41466,9 +41462,9 @@ toughness=4
[card]
name=Hostage Taker
auto=if type(*[creature;artifact]|opponentbattlefield)~morethan~0 then choice name(Exile opponent creature or artifact) name(Exile opponent creature or artifact) target(*[creature;artifact]|opponentbattlefield) imprint
auto=if type(*[creature;artifact]|opponentbattlefield)~morethan~0 then name(Exile your creature or artifact) name(Exile your creature or artifact) target(other *[creature;artifact]|battlefield) imprint and!( transforms((,newability[canplayfromexile],newability[anytypeofmana])) forever )!
auto=if type(*[creature;artifact]|opponentbattlefield)~morethan~0 then name(Exile your creature or artifact) name(Exile your creature or artifact) target(other *[creature;artifact]|battlefield) imprint and!( transforms((,newability[canplayfromexile forever],newability[anytypeofmana forever])) forever )!
auto=this(variable{hasevict}>0) transforms((,newability[@movedto(this|nonbattlezone) from(battlefield):name(Put back exiled card) target(*[evictname]|exile) moveTo(ownerBattlefield)]))
auto=this(variable{hasevict}>0) {0}:name(Cast opponent exiled card) name(Cast opponent exiled card) target(*[evictname]|opponentexile) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[counter(0/0.1.HostageExiled)])) ueot )!
auto=this(variable{hasevict}>0) {0}:name(Cast opponent exiled card) name(Cast opponent exiled card) target(*[evictname]|opponentexile) moveto(myexile) and!( transforms((,newability[canplayfromexile forever],newability[anytypeofmana forever],newability[counter(0/0.1.HostageExiled)])) ueot )!
auto=@counteradded(0/0.1.HostageExiled) from(creature|myexile):name(Effect ends) transforms((,newability[@movedto(this|nonbattlezone) from(battlefield):name(Put back exiled card) target(*[counter{0/0.1.HostageExiled}]|myexile) moveTo(ownerBattlefield)])) ueot
auto=@each endofturn:if type(*[counter{0/0.1.HostageExiled}]|myexile)~morethan~0 then name(Return card to owner exile) name(Return card to owner exile) target(*[counter{0/0.1.HostageExiled}]|myexile) imprint
text=When Hostage Taker enters the battlefield, exile another target creature or artifact until Hostage Taker leaves the battlefield. You may cast that card for as long as it remains exiled, and you may spend mana as though it were mana of any type to cast that spell.
@@ -42033,9 +42029,9 @@ toughness=4
[/card]
[card]
name=Hurl Through Hell
restriction=type(creature|battlefield)~morethan~0
auto=if compare(controllerturn)~morethan~0 then name(Exile creature) name(Exile creature) target(creature|battlefield) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[phaseaction[my endofturn next once checkex] moveTo(ownerexile)])) forever )!
auto=if compare(controllerturn)~equalto~0 then name(Exile creature) name(Exile creature) target(creature|battlefield) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[phaseaction[my endofturn once checkex] moveTo(ownerexile)])) forever )!
target=creature
auto=if compare(controllerturn)~morethan~0 then name(Exile creature) name(Exile creature) moveto(myexile) and!( transforms((,newability[canplayfromexile uent],newability[anytypeofmana uent],newability[phaseaction[my endofturn next once checkex] moveTo(ownerexile)])) forever )!
auto=if compare(controllerturn)~equalto~0 then name(Exile creature) name(Exile creature) moveto(myexile) and!( transforms((,newability[canplayfromexile uent],newability[anytypeofmana uent],newability[phaseaction[my endofturn once checkex] moveTo(ownerexile)])) forever )!
text=Exile target creature. Until the end of your next turn, you may cast that card and you may spend mana as though it were mana of any color to cast that spell.
mana={2}{B}{R}
type=Instant
@@ -42181,7 +42177,7 @@ abilities=flying,adventure,asflash
restriction=can play creature
other={2}{U} name(Adventure)
auto=if paid(alternative) then name(Counter spell) name(Counter spell) target(*[manacost<=3]|stack) fizzle
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Flying // Counter target spell with mana value 3 or less. (Then exile this card. You may cast the creature later from exile.)
mana={U}{U}
type=Creature
@@ -42510,9 +42506,8 @@ type=Instant
[card]
name=Ignite the Future
flashback={7}{R}
auto=name(Exile top 3 cards) all(*[zpos<=3]|mylibrary) moveto(exile) and!( transforms((,newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then removeallcounters(0/0.1.PlayExile)])) forever )!
auto=ifnot gravecast then emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent
auto=if gravecast then emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile],newability[lord(*[counter{0/0.1.PlayExile}]|myexile) zerocast])) uent
auto=ifnot gravecast then all(*[zpos<=3]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent])) uent )!
auto=if gravecast then all(*[zpos<=3]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent],newability[zerocast uent])) uent )!
text=Exile the top three cards of your library. Until the end of your next turn, you may play those cards. If this spell was cast from a graveyard, you may play cards this way without paying their mana costs. -- Flashback {7}{R} (You may cast this card from your graveyard for its flashback cost. Then exile it.)
mana={3}{R}
type=Sorcery
@@ -42585,7 +42580,7 @@ other={X}{U}{U} name(Adventure)
restriction=can play creature
otherrestriction=type(creature|battlefield)~morethan~0
auto=if paid(alternative) then name(Tap X creatures) name(Tap X creatures) target(<prex>creature|Battlefield) freeze
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto=ifnot paid(alternative) then may name(Turn creatures) name(Turn creatures) target(<anyamout>creature[-token;tapped]|battlefield) flip(Soldier Bas) and!( transforms((Artifact Creature Horror,setpower=2,settoughness=2)) forever )!
text=Ceremorphosis - When Illithid Harvester enters the battlefield, turn any number of target tapped nontoken creatures face down. They're 2/2 Horror creatures. // Tap X target creatures. They don't untap during their controllers' next untap steps. (Then exile this card. You may cast the creature later from exile.)
mana={4}{U}
@@ -44203,8 +44198,7 @@ toughness=5
[/card]
[card]
name=Inspired Tinkering
auto=name(Exile top 3 cards) all(*[zpos<=3]|mylibrary) moveto(exile) and!( transforms((,newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then removeallcounters(0/0.1.PlayExile)])) forever )!
auto=emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent
auto=name(Exile top 3 cards) all(*[zpos<=3]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent])) uent )!
auto=name(Create 3 treasures) token(Treasure Sur)*3
text=Exile the top three cards of your library. Until the end of your next turn, you may play those cards. -- Create three Treasure tokens. (They're artifacts with "{T}, Sacrifice this artifact: Add one mana of any color.")
mana={4}{R}
@@ -44723,7 +44717,7 @@ backside=Lightshield Array
restriction=compare(isflipped)~equalto~0
anyzone={0}:doubleside(backside)
auto=counter(0/0.3.Defense)
auto=if type(*[-land]|opponenthand)~morethan~0 then ability$!name(Look opponent's hand) name(Look opponent's hand) target(*[-land]|opponenthand) moveto(myreveal) and!( transforms((,newability[choice name(Exile card) moveto(opponentexile) and!( transforms((,newability[canplayfromexile],newability[changecost(colorless:2) forcedalive])) forever )!],newability[choice name(Don't exile card) moveto(opponenthand)])) forever )! !$ controller
auto=if type(*[-land]|opponenthand)~morethan~0 then ability$!name(Look opponent's hand) name(Look opponent's hand) target(*[-land]|opponenthand) moveto(myreveal) and!( transforms((,newability[choice name(Exile card) moveto(opponentexile) and!( transforms((,newability[canplayfromexile forever],newability[changecost(colorless:2) forcedalive])) forever )!],newability[choice name(Don't exile card) moveto(opponenthand)])) forever )! !$ controller
auto=if type(*[-land]|opponenthand)~equalto~0 then ability$!name(Look opponent's hand) name(Look opponent's hand) target(*|opponenthand) moveto(opponentreveal) and!( moveto(opponenthand) )! !$ controller
auto=moveto(opponentbattlefield)
auto=@defeated(this):name(Exile and transforms) name(Exile and transforms) moveto(ownerexile) and!( flip(backside) forcetype(Enchantment) )!
@@ -51023,8 +51017,7 @@ type=Sorcery
[/card]
[card]
name=Light Up the Stage
auto=name(Exile top 2 cards) all(*[zpos<=2]|mylibrary) moveto(exile) and!( transforms((,newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then removeallcounters(0/0.1.PlayExile)])) forever )!
auto=emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent
auto=name(Exile top 2 cards) all(*[zpos<=2]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent])) uent )!
text=Spectacle {R} (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.) -- Exile the top two cards of your library. Until the end of your next turn, you may play those cards.
other={R} name(Spectacle)
otherrestriction=_SPECTACLE_
@@ -51876,7 +51869,7 @@ name=Lonesome Unicorn // Rider in Need
abilities=vigilance,adventure
other={2}{W} name(Adventure)
auto=if paid(alternative) then name(Create knight) name(Create knight) _KNIGHTTOKEN_
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Vigilance // Create a 2/2 white Knight creature token with vigilance. (Then exile this card. You may cast the creature later from exile.)
mana={4}{W}
type=Creature
@@ -52268,7 +52261,7 @@ name=Lovestruck Beast // Heart's Desire
abilities=adventure
other={G} name(Adventure)
auto=if paid(alternative) then name(Create human) name(Create human) token(Human,Creature Human,1/1,white)
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto=@each my combatbegins:if type(creature[power=1]|mybattlefield)~lessthan~1 then cantattack ueot
auto=@each my combatbegins:if type(creature[toughness=1]|mybattlefield)~lessthan~1 then cantattack ueot
text=Lovestruck Beast can't attack unless you control a 1/1 creature. // Create a 1/1 white Human creature token. (Then exile this card. You may cast the creature later from exile.)
@@ -54834,7 +54827,7 @@ abilities=adventure,asflash
restriction=can play creature
other={R} name(Adventure)
auto=if paid(alternative) then may name(Discard and draw) reject notatarget(*|myhand) and!( draw:1 controller )
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto={2}{R}{D(*|myhand)}:name(Draw a card) draw:1
text={2}{R}, Discard a card: Draw a card. // You may discard a card. If you do, draw a card. (Then exile this card. You may cast the creature later from exile.)
mana={2}{R}
@@ -54976,7 +54969,7 @@ abilities=adventure
other={U} name(Adventure)
auto=if paid(alternative) then choice name(Opponent mills 4 cards) name(Opponent mills 4 cards) deplete:4 opponent
auto=if paid(alternative) then choice name(You mill 4 cards) name(You mill 4 cards) deplete:4 controller
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Target player mills four cards. (Then exile this card. You may cast the creature later from exile.)
mana={U}
type=Creature
@@ -56650,7 +56643,7 @@ auto=@each endofturn restriction{compare(hascntmonkeffect)~morethan~0}:removeall
auto=this(variable{hascntlevel}=1) {W}{U}:name(Level 2) counter(0/0,1,Level) asSorcery
auto=@counteradded(0/0.1.Level) from(this) restriction{compare(hascntlevel)~equalto~2}:may name(Return non-land permanent) target(*[-land]|battlefield) moveto(ownerhand)
auto=this(variable{hascntlevel}=2) {1}{W}{U}:name(Level 3) counter(0/0,1,Level) asSorcery
auto=@each my upkeep restriction{compare(hascntlevel)~morethan~2}:name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[@movedto(*|mystack):canplayfromexile ueot])) forever )!
auto=@each my upkeep restriction{compare(hascntlevel)~morethan~2}:name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[@movedto(*|mystack):all(this|myexile) transforms((,newability[canplayfromexile ueot])) ueot])) forever )!
text=(Gain the next level as a sorcery to add its ability.) -- The second spell you cast each turn costs {1} less to cast. -- {W}{U}: Level 2 -- When this Class becomes level 2, return up to one target nonland permanent to its owner's hand. -- {1}{W}{U}: Level 3 -- At the beginning of your upkeep, exile the top card of your library. For as long as it remains exiled, it has "You may cast this card from exile as long as you've cast another spell this turn."
mana={W}{U}
type=Enchantment
@@ -56698,7 +56691,7 @@ abilities=adventure
restriction=can play creature
other={2}{G} name(Adventure)
auto=if paid(alternative) then name(Mill 5 cards) name(Mill 5 cards) transforms((,newability[deplete:5 controller],newability[name(Return creature) target(creature[zpos>=type:*mygraveyardminus5minusend]|mygraveyard) moveto(myhand)])) oneshot
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto={1}{G}{T}:name(Put creature in play) target(creature|myhand) moveto(mybattlefield)
text={1}{G}, {T}: You may put a creature card from your hand onto the battlefield. // Mill five cards, then return a creature card milled this way to your hand. (Then exile this card. You may cast the artifact later from exile.)
mana={3}{G}
@@ -56872,7 +56865,7 @@ abilities=flying,adventure,asflash
restriction=can play creature
other={1}{U} name(Adventure)
auto=if paid(alternative) then may name(Creatures gain flying) name(Creatures gain flying) target(<upto:3>creature|battlefield) transforms((,newability[flying])) ueot
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto=ifnot paid(alternative) then if opponentdamagedbycombat then name(Draw a card) name(Draw a card) name(Draw a card) draw:1 controller
text=Flying -- When Moonshae Pixie enters the battlefield, draw cards equal to the number of opponents who were dealt combat damage this turn. // Up to three target creatures gain flying until end of turn. (Then exile this card. You may cast the creature later from exile.)
mana={3}{U}
@@ -57412,7 +57405,7 @@ restriction=can play creature
other={1}{B}{B} name(Adventure)
auto=if paid(alternative) then name(Destroy creature or planeswalker) name(Destroy creature or planeswalker) target(creature,planeswalker) destroy
auto=if paid(alternative) then name(You loose 2 life) name(You loose 2 life) life:-2 controller
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto=_DIES_name(Put on the bottom of library) all(trigger[to]) bottomoflibrary
text=Lifelink -- When Murderous Rider dies, put it on the bottom of its owner's library. // Destroy target creature or planeswalker. You lose 2 life. (Then exile this card. You may cast the creature later from exile.)
mana={1}{B}{B}
@@ -60281,7 +60274,7 @@ name=Oakhame Ranger // Bring Back
abilities=adventure
other={GW}{GW}{GW}{GW} name(Adventure)
auto=if paid(alternative) then name(Create 2 humans) token(Human,Creature Human,1/1,white)*2
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto={T}:all(creature|mybattlefield) 1/1 ueot
text={T}: Creatures you control get +1/+1 until end of turn. // Create two 1/1 white Human creature tokens. (Then exile this card. You may cast the creature later from exile.)
mana={GW}{GW}{GW}{GW}
@@ -60387,7 +60380,7 @@ type=Instant
[card]
name=Ob Nixilis, Captive Kingpin
abilities=flying,trample
auto=@lifelostfoeof(player) restriction{compare(thatmuch)~equalto~1}:name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile])) uent )!
auto=@lifelostfoeof(player) restriction{compare(thatmuch)~equalto~1}:name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile uent])) uent )!
auto=@lifelostfoeof(player) restriction{compare(thatmuch)~equalto~1}:name(Put 1/1 counter) counter(1/1)
text=Flying, trample -- Whenever one or more opponents each lose exactly 1 life, put a +1/+1 counter on Ob Nixilis, Captive Kingpin. Exile the top card of your library. Until your next end step, you may play that card.
mana={2}{B}{R}
@@ -61898,7 +61891,7 @@ name=Order of Midnight // Alter Fate
abilities=flying,cantblock,adventure
other={1}{B} name(Adventure)
auto=if paid(alternative) then name(Return creature from graveyard) name(Return creature from graveyard) target(creature|mygraveyard) moveto(myhand)
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Flying -- Order of Midnight can't block. // Return target creature card from your graveyard to your hand. (Then exile this card. You may cast the creature later from exile.)
mana={1}{B}
type=Creature
@@ -63601,7 +63594,7 @@ restriction=can play creature
otherrestriction=type(creature|mybattlefield)~morethan~0
other={1}{W} name(Adventure)
auto=if paid(alternative) then name(Exile creature) name(Exile creature) target(creature|myBattlefield) moveto(exile) and!( moveto(ownerbattlefield) )!
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto=@each my end restriction{revolt}:name(Create Pegasus) token(Pegasus,Creature Pegasus,1/1,white,flying)
text=Flying -- At the beginning of your end step, if a permanent you controlled left the battlefield this turn, create a 1/1 white Pegasus creature token with flying. // Exile target creature you control, then return that card to the battlefield under its owner's control. (Then exile this card. You may cast the creature later from exile.)
mana={5}{W}
@@ -64923,7 +64916,7 @@ type=Sorcery
[/card]
[card]
name=Plargg and Nassari
auto=@each my upkeep:name(Exile from top) transforms((,newability[all(*[zpos<=findfirsttypenonland]|mylibrary) moveto(myexile) && ability$!may name(Cast exiled spell) target(<upto:1>*[-land&fresh]|exile) activate castcard(normal)!$ controller],newability[all(*[zpos<=oppofindfirsttypenonland]|opponentlibrary) moveto(opponentexile) && ability$!may name(Cast exiled spell) target(<upto:1>*[-land&fresh]|exile) activate castcard(normal)!$ opponent])) oneshot
auto=@each my upkeep:name(Exile from top) transforms((,newability[all(*[zpos<=findfirsttypenonland]|mylibrary) moveto(myexile) && all(*[zpos<=oppofindfirsttypenonland]|opponentlibrary) moveto(opponentexile) && ability$!name(Choose exiled spell opponent can cast) name(Choose exiled spell opponent can cast) target(*[-land&fresh]|exile) moveto(opponentexile) and!( transforms((,newability[may name(Cast spell from exile) activate castcard(normal)])) oneshot )!!$ opponent])) oneshot
text=At the beginning of your upkeep, each player exiles cards from the top of their library until they exile a nonland card. An opponent chooses a nonland card exiled this way. You may cast up to two spells from among the other cards exiled this way without paying their mana costs.
mana={3}{R}{R}
type=Legendary Creature
@@ -65694,7 +65687,7 @@ type=Instant
[/card]
[card]
name=Praetor's Grasp
auto=name(Search opponent library) target(*|opponentlibrary) moveto(myexile) and!( transforms((,newability[shuffle opponent],newability[canplayfromexile],newability[@each beginofturn:name(Can play from exile) transforms((,newability[canplayfromexile])) forever])) forever )!
auto=name(Search opponent library) target(*|opponentlibrary) moveto(myexile) and!( transforms((,newability[shuffle opponent],newability[canplayfromexile forever])) forever )!
text=Search target opponent's library for a card and exile it face down. Then that player shuffles his or her library. You may look at and play that card for as long as it remains exiled.
mana={1}{B}{B}
type=Sorcery
@@ -65792,7 +65785,7 @@ toughness=2
[/card]
[card]
name=Predators' Hour
auto=all(creature|mybattlefield) transforms((,newability[menace],newability[@combatdamagefoeof(player) from(this):all(*[zpos=1]|opponentlibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[@each beginofturn:canplayfromexile ueot],newability[@each beginofturn:transforms((,newability[anytypeofmana])) ueot])) forever )!])) ueot
auto=all(creature|mybattlefield) transforms((,newability[menace],newability[@combatdamagefoeof(player) from(this):name(Exile top card) all(*[zpos=1]|opponentlibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile forever],newability[anytypeofmana forever])) forever )!])) ueot
text=Until end of turn, creatures you control gain menace and "Whenever this creature deals combat damage to a player, exile the top card of that player's library face down. You may look at and play that card for as long as it remains exiled, and you may spend mana as though it were mana of any color to cast that spell."
mana={1}{B}
type=Sorcery
@@ -66544,8 +66537,7 @@ toughness=4
[card]
name=Prosper, Tome-Bound
abilities=deathtouch
auto=@each my end:name(Exile top card) all(*[zpos<=1]|mylibrary) moveto(exile) and!( transforms((,newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then removeallcounters(0/0.1.PlayExile)])) forever )!
auto=@each my end:emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent
auto=@each my end:name(Exile top card) all(*[zpos<=1]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile forever])) forever )!
auto=@movedto(*|mystack,mybattlefield) from(myexile):name(Create treasure) token(Treasure Sur)
text=Deathtouch -- Mystic Arcanum - At the beginning of your end step, exile the top card of your library. Until the end of your next turn, you may play that card. -- Pact Boon - Whenever you play a card from exile, create a Treasure token.
mana={2}{B}{R}
@@ -66866,8 +66858,8 @@ subtype=Aura
[/card]
[card]
name=Psychic Intrusion
auto=if type(*[-land]|opponentgraveyard)~morethan~0 then name(Exile non land card) name(Exile non land card) target(*[-land]|opponenthand,opponentgraveyard) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[@each beginofturn:name(Can play from exile) transforms((,newability[canplayfromexile],newability[anytypeofmana])) forever])) forever )!
auto=if type(*[-land]|opponentgraveyard)~equalto~0 then if type(*[-land]|opponenthand)~morethan~0 then name(Exile non land card) name(Exile non land card) name(Exile non land card) target(*[-land]|opponenthand) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[@each beginofturn:name(Can play from exile) transforms((,newability[canplayfromexile],newability[anytypeofmana])) forever])) forever )!
auto=if type(*[-land]|opponentgraveyard)~morethan~0 then name(Exile non land card) name(Exile non land card) target(*[-land]|opponenthand,opponentgraveyard) moveto(myexile) and!( transforms((,newability[canplayfromexile forever],newability[anytypeofmana forever])) forever )!
auto=if type(*[-land]|opponentgraveyard)~equalto~0 then if type(*[-land]|opponenthand)~morethan~0 then name(Exile non land card) name(Exile non land card) name(Exile non land card) target(*[-land]|opponenthand) moveto(myexile) and!( transforms((,newability[canplayfromexile forever],newability[anytypeofmana forever])) forever )!
auto=if type(*[-land]|opponentgraveyard)~equalto~0 then if type(*[-land]|opponenthand)~equalto~0 then name(Look opponent hand) name(Look opponent hand) name(Look opponent hand) target(*|opponenthand) moveto(myreveal) and!( moveto(opponenthand) )!
text=Target opponent reveals his or her hand. You choose a nonland card from that player's graveyard or hand and exile it. You may cast that card for as long as it remains exiled, and you may spend mana as though it were mana of any color to cast that spell.
mana={3}{U}{B}
@@ -67572,7 +67564,7 @@ name=Queen of Ice // Rage of Winter
abilities=adventure
other={1}{U} name(Adventure)
auto=if paid(alternative) then name(Freeze creature) name(Freeze creature) target(creature|battlefield) freeze
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto=@combatdamaged(creature) from(this):all(trigger[to]) freeze
text=Whenever Queen of Ice deals combat damage to a creature, tap that creature. It doesn't untap during its controller's next untap step. // Tap target creature. It doesn't untap during its controller's next untap step. (Then exile this card. You may cast the creature later from exile.)
mana={2}{U}
@@ -69290,7 +69282,7 @@ name=Realm-Cloaked Giant // Cast Off
abilities=vigilance,adventure
other={3}{W}{W} name(Adventure)
auto=if paid(alternative) then name(Destroy all non-giants) name(Destroy all non-giants) destroy all(creature[-giant]|battlefield)
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Vigilance // Destroy all non-Giant creatures. (Then exile this card. You may cast the creature later from exile.)
mana={5}{W}{W}
type=Creature
@@ -69362,7 +69354,7 @@ name=Reaper of Night // Harvest Fear
abilities=adventure
other={3}{B} name(Adventure)
auto=if paid(alternative) then ability$!name(discard 2 cards) name(discard 2 cards) target(<2>*|myhand) reject!$ opponent
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto=@combat(attacking) source(this) restriction{type(*|opponenthand)~lessthan~3}:name(Gains flying) all(this) transforms((,newability[flying])) ueot
text=Whenever Reaper of Night attacks, if defending player has two or fewer cards in hand, it gains flying until end of turn. // Target opponent discards two cards. (Then exile this card. You may cast the creature later from exile.)
mana={5}{B}{B}
@@ -69530,8 +69522,7 @@ type=Sorcery
[/card]
[card]
name=Reckless Impulse
auto=name(Exile top 2 cards) all(*[zpos<=2]|mylibrary) moveto(exile) and!( transforms((,newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then removeallcounters(0/0.1.PlayExile)])) forever )!
auto=emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent
auto=name(Exile top 2 cards) all(*[zpos<=2]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent])) uent )!
text=Exile the top two cards of your library. Until the end of your next turn, you may play those cards.
mana={1}{R}
type=Sorcery
@@ -70050,7 +70041,7 @@ type=Sorcery
[card]
name=Release to the Wind
target=*[-land]|battlefield
auto=moveto(exile) and!( transforms((,canplayfromexile)) forever )!
auto=moveto(ownerexile) and!( transforms((,newability[canplayfromexile],newability[zerocast forever])) forever )!
text=Exile target nonland permanent. For as long as that card remains exiled, its owner may cast it without paying its mana cost.
mana={2}{U}
type=Instant
@@ -71462,7 +71453,7 @@ abilities=cantblock,adventure,asflash
restriction=can play creature
other={R} name(Adventure)
auto=if paid(alternative) then name(Creature gets 2/0) target(creature|battlefield) 2/0 ueot
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Rimrock Knight can't block. // Target creature gets +2/+0 until end of turn. (Then exile this card. You may cast the creature later from exile.)
mana={1}{R}
type=Creature
@@ -72140,8 +72131,8 @@ toughness=2
[card]
name=Robber of the Rich
abilities=reach,haste
auto=@combat(attacking) source(this) restriction{compare(ohandcount)~morethan~compare(phandcount)}:name(Exile top card) all(*[zpos=1]|opponentlibrary) moveto(exile) and!( counter(0/0,1,RobberExiled) )!
auto=emblem transforms((,newability[lord(rogue|myBattlefield) transforms((,newability[_ATTACKING_name(Can cast exiled cards) transforms((,newability[{0}:name(Cast exiled card) name(Cast exiled card) target(*[-land;counter{0/0.1.RobberExiled}]|opponentexile) moveto(myexile) and!( transforms((,newability[counter(0/0.1.RobberExiled)],newability[canplayfromexile],newability[anytypeofmana],newability[phaseaction[endofturn once checkex] moveTo(ownerexile)],newability[phaseaction[untap once checkex] counter(0/0.1.RobberExiled)])) ueot )!])) ueot]))])) forever dontremove
auto=@combat(attacking) source(this) restriction{compare(ohandcount)~morethan~compare(phandcount)}:name(Exile top card) all(*[zpos=1]|opponentlibrary) moveto(exile) and!( counter(0/0,1,RobberExiled) notrg )!
auto=emblem transforms((,newability[lord(rogue|myBattlefield) transforms((,newability[_ATTACKING_name(Can cast exiled cards) transforms((,newability[{0}:name(Cast exiled card) name(Cast exiled card) target(*[-land;counter{0/0.1.RobberExiled}]|opponentexile) moveto(myexile) and!( transforms((,newability[counter(0/0.1.RobberExiled) notrg],newability[canplayfromexile ueot],newability[anytypeofmana ueot],newability[phaseaction[endofturn once checkex] moveTo(ownerexile)],newability[phaseaction[untap once checkex] counter(0/0.1.RobberExiled) notrg])) ueot )!])) ueot]))])) forever dontremove
text=Reach, haste -- Whenever Robber of the Rich attacks, if defending player has more cards in hand than you, exile the top card of their library. During any turn you attacked with a Rogue, you may cast that card and you may spend mana as though it were mana of any color to cast that spell.
mana={1}{R}
type=Creature
@@ -72213,8 +72204,8 @@ toughness=1
[/card]
[card]
name=Rocco, Street Chef
auto=@each my endofturn:name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile])) uent )!
auto=@each my endofturn:name(Exile top card) all(*[zpos=1]|opponentlibrary) moveto(opponentexile) and!( transforms((,newability[canplayfromexile])) uent )!
auto=@each my endofturn:name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile uent])) uent )!
auto=@each my endofturn:name(Exile top card) all(*[zpos=1]|opponentlibrary) moveto(opponentexile) and!( transforms((,newability[canplayfromexile uent])) uent )!
auto=@movedto(land|battlefield) from(exile):name(Put 1/1 counter) target(creature|battlefield) counter(1/1)
auto=@movedto(land|battlefield) from(exile):name(Create food) token(Food)
auto=@movedto(*|stack) from(exile):name(Put 1/1 counter) target(creature|battlefield) counter(1/1)
@@ -72341,13 +72332,13 @@ toughness=2
[card]
name=Rogue Class
auto=counter(0/0,1,Level)
auto=@combatdamagefoeof(player) from(creature|mybattlefield):name(Exile top card) all(*[zpos=1]|opponentlibrary) moveto(opponentexile) and!( counter(0/0.1.RogueExiled) )!
auto=@combatdamageof(player) from(creature|mybattlefield):name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( counter(0/0.1.RogueExiled) )!
auto=@combatdamagefoeof(player) from(creature|mybattlefield):name(Exile top card) all(*[zpos=1]|opponentlibrary) moveto(opponentexile) and!( counter(0/0.1.RogueExiled) notrg )!
auto=@combatdamageof(player) from(creature|mybattlefield):name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( counter(0/0.1.RogueExiled) notrg )!
auto=this(variable{hascntlevel}=1) {1}{U}{B}:name(Level 2) counter(0/0,1,Level) asSorcery
auto=this(variable{hascntlevel}=2) lord(creature|myBattlefield) menace
auto=this(variable{hascntlevel}=2) {2}{U}{B}:name(Level 3) counter(0/0,1,Level) asSorcery
auto=this(variable{hascntlevel}>=3) lord(*[counter{0/0.1.RogueExiled}]|myexile) transforms((,newability[canplayfromexile],newability[anytypeofmana])) forever
auto=this(variable{hascntlevel}>=3) {0}:name(May play card from opponent exile) target(*[counter{0/0.1.RogueExiled}]|opponentexile) moveTo(myexile) and!( transforms((,newability[0/0.1.RogueExiled],newability[canplayfromexile],newability[anytypeofmana],newability[phaseaction[endofturn once checkex] moveTo(ownerexile)],newability[phaseaction[untap once checkex] counter(0/0.1.RogueExiled)])) forever )!
auto=this(variable{hascntlevel}>=3) lord(*[counter{0/0.1.RogueExiled}]|myexile) transforms((,newability[canplayfromexile],newability[anytypeofmana]))
auto=this(variable{hascntlevel}>=3) {0}:name(May play card from opponent exile) target(*[counter{0/0.1.RogueExiled}]|opponentexile) moveTo(myexile) and!( transforms((,newability[0/0.1.RogueExiled],newability[canplayfromexile ueot],newability[anytypeofmana ueot],newability[phaseaction[endofturn once checkex] moveTo(ownerexile)],newability[phaseaction[untap once checkex] counter(0/0.1.RogueExiled) notrg])) forever )!
text=(Gain the next level as a sorcery to add its ability.) -- Whenever a creature you controls deals combat damage to a player, exile the top card of that player's library face down. You may look at it for as long as it remains exiled. -- {1}{U}{B}: Level 2 -- Creatures you control have menace. -- {2}{U}{B}: Level 3 -- You may play cards exiled with Rogue Class, and you may spend mana as through it were mana of any color to cast them.
mana={U}{B}
type=Enchantment
@@ -72556,8 +72547,7 @@ toughness=4
[card]
name=Rooting Moloch
abilities=cycling
auto=name(Exile card with cycling) target(*[cycling]|myGraveyard) moveto(exile) and!( transforms((,newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then removeallcounters(0/0.1.PlayExile)])) forever )!
auto=emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent
auto=name(Exile card with cycling) target(*[cycling]|myGraveyard) moveto(exile) and!( transforms((,newability[canplayfromexile uent])) uent )!
autohand=__CYCLING__({2})
text=When Rooting Moloch enters the battlefield, exile target card with a cycling ability from your graveyard. Until the end of your next turn, you may play that card. -- Cycling {2} ({2}, Discard this card: Draw a card.)
mana={4}{R}
@@ -72634,7 +72624,7 @@ name=Rosethorn Acolyte // Seasonal Ritual
abilities=adventure
other={G} name(Adventure)
auto=if paid(alternative) then name(Add 1 mana of any color) name(Add 1 mana of any color) transforms((,newability[activatechooseacolor add{chosencolor} activatechooseend])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto={T}:add{U}
auto={T}:add{B}
auto={T}:add{R}
@@ -74428,7 +74418,7 @@ restriction=can play creature
otherrestriction=type(*[-creature]|stack)~morethan~0
other={2}{U} name(Adventure)
auto=if paid(alternative) then name(Counter noncreature spell) name(Counter noncreature spell) target(*[-creature]|stack) fizzle
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto=_ATTACKING_name(Scry 2) _SCRY2_
auto=@combat(blocking) source(this):name(Scry 2) _SCRY2_
text=Flying -- Whenever Sapphire Dragon attacks or blocks, scry 2. // Counter target noncreature spell. (Then exile this card. You may cast the creature later from exile.)
@@ -75880,7 +75870,7 @@ abilities=adventure,asflash
restriction=can play creature
other={2}{U} name(Adventure)
auto=if paid(alternative) then may name(Choose creatures) name(Choose creatures) target(<upto:2>*creature|battlefield) transforms((,newability[1/0],newability[unblockable])) ueot
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto=ifnot paid(alternative) then name(Opponent's gain creatures -4/-0) name(Opponent's creatures gain -4/-0) all(creature|opponentBattlefield) transforms((,newability[-4/-0])) ueot
text=When Sea Hag enters the battlefield, creatures your opponents control get -4/-0 until end of turn. // Up to two target creatures each get +1/+0 until end of turn and can't be blocked this turn. (Then exile this card. You may cast the creature later from exile.)
mana={4}{U}
@@ -77862,7 +77852,7 @@ abilities=adventure,asflash
restriction=can play creature
other={W} name(Adventure)
auto=if paid(alternative) then name(Return permanent to hand) name(Return permanent to hand) target(*|myBattlefield) moveTo(ownerhand)
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Return target permanent you control to its owner's hand. (Then exile this card. You may cast the creature later from exile.)
mana={1}{W}
type=Creature
@@ -78354,8 +78344,7 @@ type=Instant
name=Showdown of the Skalds
auto=counter(0/0,1,Lore)
auto=@each my firstmain:counter(0/0,1,Lore)
auto=name(Exile top 4 cards) all(*[zpos<=4]|mylibrary) moveto(exile) and!( transforms((,newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then removeallcounters(0/0.1.PlayExile)])) forever )!
auto=emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent
auto=name(Exile top 4 cards) all(*[zpos<=4]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent])) uent )!
auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}=) emblem transforms((,newability[@movedTo(*|mystack):name(Put 1/1 counter) counter(1/1) target(creature|mybattlefield)])) ueot
auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) emblem transforms((,newability[@movedTo(*|mystack):name(Put 1/1 counter) counter(1/1) target(creature|mybattlefield)])) ueot
auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) sacrifice(this)
@@ -79141,7 +79130,7 @@ abilities=adventure,asflash
restriction=can play creature
other={2}{W} name(Adventure)
auto=if paid(alternative) then name(Creature gets 2/2 and untap) name(Creature gets 2/2 and untap) target(creature|battlefield) transforms((,newability[2/2],newability[untap])) ueot
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Target creature gets +2/+2 until end of turn. Untap it. (Then exile this card. You may cast the creature later from exile.)
mana={1}{W}
type=Creature
@@ -79450,8 +79439,8 @@ toughness=2
[card]
name=Siphon Insight
flashback={1}{U}{B}
aicode=activate target(*[zpos<=2]|opponentlibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[all(*[zpos<=1]|opponentlibrary) moveto(myreveal) and!( bottomoflibrary )!])) forever )!
auto=name(Look top 2 cards) reveal:2 revealzone(opponentlibrary) optionone name(Put in exile) target(*|reveal) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana])) forever )! optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend
aicode=activate target(*[zpos<=2]|opponentlibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile forever],newability[anytypeofmana forever],newability[all(*[zpos<=1]|opponentlibrary) moveto(myreveal) and!( bottomoflibrary )!])) forever )!
auto=name(Look top 2 cards) reveal:2 revealzone(opponentlibrary) optionone name(Put in exile) target(*|reveal) moveto(myexile) and!( transforms((,newability[canplayfromexile forever],newability[anytypeofmana forever])) forever )! optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend
text=Look at the top two cards of target opponent's library. Exile one of them face down and put the other on the bottom of that library. You may look at and play the exiled card for as long as it remains exiled, and you may spend mana as though it were mana of any color to cast that spell. -- Flashback {1}{U}{B}
mana={U}{B}
type=Instant
@@ -80819,7 +80808,7 @@ abilities=lifelink,adventure
other={B} name(Adventure)
auto=if paid(alternative) then name(You gain life) name(You gain life) life:type:knight:mybattlefield controller
auto=if paid(alternative) then name(Opponent looses life) name(Opponent looses life) life:-type:knight:mybattlefield opponent
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Lifelink // You gain X life and each opponent loses X life, where X is the number of Knights you control.
mana={1}{B}
type=Creature
@@ -82438,8 +82427,8 @@ toughness=2
[/card]
[card]
name=Spelljack
target=*[-nofizzle]|stack
auto=fizzleto(exile) && ability$!name(Can cast countered card) name(Can cast countered card) target(*[fresh]|exile) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[zerocast],newability[@each beginofturn:name(Can play from exile) transforms((,newability[canplayfromexile],newability[zerocast])) forever])) forever )! !$ controller
target=*|stack
auto=fizzleto(exile) && ability$!name(Can cast countered card) name(Can cast countered card) target(*[fresh]|exile) moveto(myexile) and!( transforms((,newability[canplayfromexile forever],newability[zerocast forever])) forever )! !$ controller
text=Counter target spell. If that spell is countered this way, exile it instead of putting it into its owner's graveyard. You may play it without paying its mana cost for as long as it remains exiled. (If it has X in its mana cost, X is 0.)
mana={3}{U}{U}{U}
type=Instant
@@ -86479,7 +86468,7 @@ abilities=adventure,asflash
restriction=can play creature
other={1}{U} name(Adventure)
auto=if paid(alternative) then may name(Return creature) name(Return creature) target(creature|battlefield) moveto(ownerhand)
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto=ifnot paid(alternative) then if thisturn(*[-creature]|mystack)~morethan~0 then transforms((,newability[unblockable])) ueot
auto=@movedTo(*[-creature]|mystack) turnlimited:name(Becomes unblockable) transforms((,newability[unblockable])) ueot
text=Sword Coast Serpent can't be blocked as long as you've cast a noncreature spell this turn. // Return target creature to its owner's hand. (Then exile this card. You may cast the creature later from exile.)
@@ -87889,12 +87878,8 @@ type=Instant
[/card]
[card]
name=Tectonic Giant
aicode=activate target(*[zpos<=2]|mylibrary) moveto(myexile) and!( transforms((,newability[all(*[zpos<=2]|mylibrary) moveto(ownerexile)],newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then removeallcounters(0/0.1.PlayExile)])) forever )!
auto=@targeted(this) from(*|opponentcastingzone):name(Choose one) ability$!name(Choose one) choice name(Damage opponent) damage:3 opponent _ choice name(Exile 2 cards) all(mysource) counter(0/0.1.ExileEffect) !$ controller
auto=_ATTACKING_name(Choose one) ability$!name(Choose one) choice name(Damage opponent) damage:3 opponent _ choice name(Exile 2 cards) all(mysource) counter(0/0.1.ExileEffect) !$ controller
auto=@counteradded(0/0.1.ExileEffect) from(this):name(Exile top 2 cards) reveal:2 optionone name(Choose one card) target(*|reveal) moveto(myexile) and!( transforms((,newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then removeallcounters(0/0.1.PlayExile)])) forever )! optiononeend optiontwo name(Exile cards) all(*|reveal) moveto(ownerexile) optiontwoend revealend
auto=@counteradded(0/0.1.ExileEffect) from(this):name(Exile top 2 cards) emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent
auto=@counteradded(0/0.1.ExileEffect) from(this):name(Exile top 2 cards) removeallcounters(0/0.1.ExileEffect)
auto=@targeted(this) from(*|opponentcastingzone):name(Choose one) transforms((,newability[choice name(Exile top cards) all(*[zpos<=2]|mylibrary) moveto(myexile) and!( name(Choose exiled card) target(*[fresh]|myexile) transforms((,newability[canplayfromexile uent])) uent )!],newability[choice name(Damage opponent) damage:3 opponent])) forever
auto=_ATTACKING_name(Choose one) transforms((,newability[choice name(Exile top cards) all(*[zpos<=2]|mylibrary) moveto(myexile) and!( name(Choose exiled card) target(*[fresh]|myexile) transforms((,newability[canplayfromexile uent])) uent )!],newability[choice name(Damage opponent) damage:3 opponent])) forever
text=Whenever Tectonic Giant attacks or becomes the target of a spell an opponent controls, Choose one -- Tectonic Giant deals 3 damage to each opponent. -- Exile the top two cards of your library. Choose one of them. Until the end of your next turn, you may play that card.
mana={2}{R}{R}
type=Creature
@@ -91073,7 +91058,7 @@ restriction=can play creature
otherrestriction=type(creature|mygraveyard)~morethan~0
other={1}{G} name(Adventure)
auto=if paid(alternative) then name(Exile creature) name(Exile creature) target(creature|mygraveyard) moveto(myexile) and!( transforms((,newability[canplayfromexile])) ueot )!
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto={0}:name(Cast zero from exile) target(creature|myexile) transforms((,newability[zerocast])) ueot limit:1
text=Trample -- Once each turn, you may pay {0} rather than pay the mana cost for a creature spell you cast from exile. // Exile target creature card from your graveyard. Until the end of your next turn, you may cast that card. (Then exile this card. You may cast the creature later from exile.)
mana={5}{G}{G}
@@ -91417,7 +91402,7 @@ abilities=deathtouch,flying,adventure,asflash
restriction=can play creature
other={1}{B} name(Adventure)
auto=if paid(alternative) then name(Creatures gain deathtouch) name(Creatures gain deathtouch) all(creature|myBattlefield) transforms((,newability[deathtouch])) ueot
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Flying, deathtouch // Creatures you control gain deathtouch until end of turn. (Then exile this card. You may cast the creature later from exile.)
mana={4}{B}{B}
type=Creature
@@ -92782,7 +92767,7 @@ name=Tuinvale Treefolk // Oaken Boon
abilities=adventure
other={3}{G} name(Adventure)
auto=if paid(alternative) then name(Put two 1/1 counters) name(Put two 1/1 counters) target(creature|battlefield) counter(1/1,2)
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Put two +1/+1 counters on target creature. (Then exile this card. You may cast the creature later from exile.)
mana={5}{G}
type=Creature
@@ -93170,7 +93155,7 @@ restriction=can play equipment
otherrestriction=type(creature|mybattlefield)~morethan~0
other={1}{R} name(Adventure)
auto=if paid(alternative) then name(Creature gains double strike) name(Creature gains double strike) target(creature|myBattlefield) transforms((,newability[double strike])) ueot
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
auto=transforms((,newability[_ATTACKING_name(Double power) power/0 ueot]))
auto={1}{R}:equip
text=Whenever equipped creature attacks, double its power until end of turn. -- Equip {1}{R} // Target creature you control gains double strike until end of turn. (Then exile this card. You may cast the artifact later from exile.)
@@ -97997,7 +97982,7 @@ toughness=3
[/card]
[card]
name=Warehouse Thief
auto={2}{T}{S(*[artifact;creature]|myBattlefield)}:name(Exile top card) emblem transforms((,newability[all(*[zpos=1]|myLibrary) moveto(exile) and!( transforms((,newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then removeallcounters(0/0.1.PlayExile)])) forever )!],newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent
auto={2}{T}{S(*[artifact;creature]|myBattlefield)}:name(Exile top card) all(*[zpos=1]|myLibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile uent])) uent )!
text={2}, {T}, Sacrifice an artifact or creature: Exile the top card of your library. Until the end of your next turn, you may play that card.
mana={3}{R}
type=Creature
@@ -100310,8 +100295,7 @@ toughness=3
[/card]
[card]
name=Wrenn's Resolve
auto=name(Exile top 2 cards) all(*[zpos<=2]|mylibrary) moveto(exile) and!( transforms((,newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then removeallcounters(0/0.1.PlayExile)])) forever )!
auto=emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent
auto=name(Exile top 2 cards) all(*[zpos<=2]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent])) uent )!
text=Exile the top two cards of your library. Until the end of your next turn, you may play those cards.
mana={1}{R}
type=Sorcery
@@ -100798,10 +100782,8 @@ type=Instant
[/card]
[card]
name=You Find Some Prisoners
aicode=activate target(*[zpos<=3]|opponentlibrary) moveto(myexile) and!( transforms((,newability[all(*[zpos<=3]|opponentlibrary) moveto(ownerexile)],newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then moveto(ownerexile)])) forever )!
auto=if type(artifact|battlefield)~morethan~0 then choice name(Destroy artifact) name(Destroy artifact) target(artifact) destroy
auto=choice name(Exile top 3 cards) reveal:3 revealzone(opponentlibrary) optionone name(Choose one card) target(*|reveal) moveto(myexile) and!( transforms((,newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then moveto(ownerexile)])) forever )! optiononeend optiontwo name(Exile cards) all(*|reveal) moveto(ownerexile) optiontwoend revealend
auto=emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile],newability[lord(*[counter{0/0.1.PlayExile}]|myexile) anytypeofmana])) uent
auto=choice name(Exile top 3 cards) all(*[zpos<=3]|opponentlibrary) moveto(opponentexile) and!( name(Choose exiled card) target(*[fresh]|opponentexile) moveto(myexile) and!( transforms((,newability[anytypeofmana uent],newability[canplayfromexile uent],newability[@each my untap:name(Return at end) phaseaction[my endofturn once checkex] moveto(ownerexile)])) forever )! )!
text=Choose one -- Break Their Chains - Destroy target artifact. -- Interrogate Them - Exile the top three cards of target opponent's library. Choose one of them. Until the end of your next turn, you may play that card, and you may spend mana as through it were mana of any color to cast it.
mana={1}{R}
type=Instant
@@ -100904,7 +100886,7 @@ restriction=can play creature
other={1}{U} name(Adventure)
aicode=activate transforms((,newability[draw:1 controller])) oneshot
auto=if paid(alternative) then may name(Scry and draw) name(Scry and draw) scry:1 scrycore delayed draw:1 controller scrycoreend scryend
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Flying // Scry 1, then draw a card. (Then exile this card. You may cast the creature later from exile.)
mana={4}{U}
type=Creature
@@ -100928,7 +100910,7 @@ abilities=flying,cantblock,adventure,asflash
restriction=can play creature
other={1}{R} name(Adventure)
auto=if paid(alternative) then name(Create Treasure) name(Create Treasure) token(Treasure Sur)
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[canplayfromexile])) forever )!])) forever
auto=if paid(alternative) then transforms((,newability[moveto(exile) and!( transforms((,newability[transforms((,newability[canplayfromexile forever])) forever
text=Flying -- Young Red Dragon can't block. // Create a Treasure token. (Then exile this card. You may cast the creature later from exile.)
mana={3}{R}
type=Creature

View File

@@ -21578,8 +21578,7 @@ type=Instant
[/card]
[card]
name=Commune with Lava
auto=all(*[zpos<=castx]|mylibrary) moveto(exile) and!( transforms((,newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then removeallcounters(0/0.1.PlayExile)])) forever )!
auto=emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent
auto=all(*[zpos<=castx]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent])) uent )!
text=Exile the top X cards of your library. Until the end of your next turn, you may play those cards.
mana={X}{R}{R}
type=Instant
@@ -118821,8 +118820,8 @@ toughness=1
[/card]
[card]
name=Temporal Aperture
aicode=activate choice all(*[zpos=1]) transforms((,canplayfromlibrarytop,zerocast)) forever
auto={5}{t}:shuffle && reveal:1 optionone name(choose card) target(<1>*|reveal) moveto(mylibrary) and!( transforms((,canplayfromlibrarytop,zerocast)) forever )! optiononeend revealend
aicode=activate choice all(*[zpos=1]) transforms((,newability[canplayfromlibrarytop forever],newability[zerocast forever])) forever
auto={5}{t}:shuffle && reveal:1 optionone name(choose card) target(<1>*|reveal) moveto(mylibrary) and!( transforms((,newability[canplayfromlibrarytop forever],newability[zerocast forever])) forever )! optiononeend revealend
text={5}, {T}: Shuffle your library, then reveal the top card. Until end of turn, for as long as that card remains on top of your library, play with the top card of your library revealed and you may play that card without paying its mana cost. (If it has X in its mana cost, X is 0.)
mana={2}
type=Artifact

View File

@@ -1616,7 +1616,7 @@ auto={C(0/0.-17.Loyalty)}:limit:1 name(-17: Create fractal with 17 counter) toke
auto={C(0/0.-18.Loyalty)}:limit:1 name(-18: Create fractal with 18 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1.18) )!
auto={C(0/0.-19.Loyalty)}:limit:1 name(-19: Create fractal with 19 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1.19) )!
auto={C(0/0.-20.Loyalty)}:limit:1 name(-20: Create fractal with 20 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1.20) )!
auto={C(0/0.-8.Loyalty)}:limit:1 name(-8: Search instant or sorcery) target(*[instant;sorcery;share!color!]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[zerocast],newability[@each untap:canplayfromexile],newability[@each untap:zerocast])) forever )!
auto={C(0/0.-8.Loyalty)}:limit:1 name(-8: Search instant or sorcery) target(*[instant;sorcery;share!color!]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile forever],newability[zerocast forever])) forever )!
auto=lord(other planeswalker|mybattlefield) transforms((,newability[{C(0/0.2.Loyalty)}:limit:1 name(+2: Scry 1) _SCRY1_]))
auto=lord(other planeswalker|mybattlefield) transforms((,newability[{C(0/0.-1.Loyalty)}:limit:1 name(-1: Create fractal with 1 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1) )!]))
auto=lord(other planeswalker|mybattlefield) transforms((,newability[{C(0/0.-2.Loyalty)}:limit:1 name(-2: Create fractal with 2 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1.2) )!]))
@@ -1638,7 +1638,7 @@ auto=lord(other planeswalker|mybattlefield) transforms((,newability[{C(0/0.-17.L
auto=lord(other planeswalker|mybattlefield) transforms((,newability[{C(0/0.-18.Loyalty)}:limit:1 name(-18: Create fractal with 18 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1.18) )!]))
auto=lord(other planeswalker|mybattlefield) transforms((,newability[{C(0/0.-19.Loyalty)}:limit:1 name(-19: Create fractal with 19 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1.19) )!]))
auto=lord(other planeswalker|mybattlefield) transforms((,newability[{C(0/0.-20.Loyalty)}:limit:1 name(-20: Create fractal with 20 counter) token(Fractal^Creature Fractal^0/0^green^blue) and!( counter(1/1.20) )!]))
auto=lord(other planeswalker|mybattlefield) transforms((,newability[{C(0/0.-8.Loyalty)}:limit:1 name(-8: Search instant or sorcery) target(*[instant;sorcery;share!color!]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[zerocast],newability[@each untap:canplayfromexile],newability[@each untap:zerocast])) forever )!]))
auto=lord(other planeswalker|mybattlefield) transforms((,newability[{C(0/0.-8.Loyalty)}:limit:1 name(-8: Search instant or sorcery) target(*[instant;sorcery;share!color!]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile forever],newability[zerocast forever])) forever )!]))
text=Each other planeswalker you control has the loyalty abilities of Kasmina, Enigma Sage. -- +2: Scry 1. -- X: Create a 0/0 green and blue Fractal creature token. Put X +1/+1 counters on it. -- 8: Search your library for an instant or sorcery card that shares a color with this planeswalker, exile that card, then shuffle. You may cast that card without paying its mana cost.
mana={1}{G}{U}
type=Legendary Planeswalker
@@ -3235,7 +3235,7 @@ name=Vivien, Champion of the Wilds
auto=counter(0/0,4,loyalty)
auto=lord(creature|myHand) asflash
auto={C(0/0,1,Loyalty)}:name(+1: Creature gains vigilance and reach) target(creature) vigilance uynt && reach uynt
auto={C(0/0,-2,Loyalty)}:name(-2: Reveal three and may cast it) reveal:3 optionone name(Get a card) target(<1>creature|reveal) moveTo(exile) and!( transforms((,canplayfromexile)) forever )! optiononeend optiontwo name(put on bottom) target(<3>*|reveal) bottomoflibrary optiontwoend revealend
auto={C(0/0,-2,Loyalty)}:name(-2: Reveal three and may cast it) reveal:3 optionone name(Get a card) target(<1>creature|reveal) moveTo(exile) and!( transforms((,newability[canplayfromexile forever])) forever )! optiononeend optiontwo name(put on bottom) target(<3>*|reveal) bottomoflibrary optiontwoend revealend
text=You may cast creature spells as though they had flash. -- +1: Until your next turn, up to one target creature gains vigilance and reach. -- -2: Look at the top three cards of your library. Exile one face down and put the rest on the bottom of your library in any order. For as long as it remains exiled, you may look at that card and you may cast it if it's a creature card.
mana={2}{G}
type=Legendary Planeswalker

View File

@@ -4563,7 +4563,7 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG
WParsedInt * value = NEW WParsedInt(valueStr, spell, card);
Targetable * t = spell? spell->getNextTarget() : NULL;
if (card->hasType(Subtypes::TYPE_INSTANT) || card->hasType(Subtypes::TYPE_SORCERY) || forceUEOT)
if (((card->hasType(Subtypes::TYPE_INSTANT) || card->hasType(Subtypes::TYPE_SORCERY)) && !forceForever && !untilYourNextEndTurn && !untilYourNextTurn) || forceUEOT)
{
return NEW AInstantCastRestrictionUEOT(observer, id, card, t, castTargets, value, modifyExisting, kMaxCastZones[i], who);
}
@@ -4933,8 +4933,7 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG
if (s.find("altercost(") != string::npos)
return getManaReduxAbility(s.substr(s.find("altercost(") + 10), id, spell, card, target);
//transform....(hivestone,living enchantment)
//TODO: cleanup this block, it's a rats nest
//transforms (e.g. hivestone,living enchantment)
found = s.find("transforms((");
if (found != string::npos)
{
@@ -5175,7 +5174,7 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG
fromTc->setAllZones();
if (!activated)
{
if (card->hasType(Subtypes::TYPE_INSTANT) || card->hasType(Subtypes::TYPE_SORCERY) || forceUEOT)
if (((card->hasType(Subtypes::TYPE_INSTANT) || card->hasType(Subtypes::TYPE_SORCERY)) && !forceForever && !untilYourNextEndTurn && !untilYourNextTurn) || forceUEOT)
{
MTGAbility * aPF = NEW AProtectionFrom(observer, id, card, target, fromTc, splitProtection[1]);
return NEW GenericInstantAbility(observer, 1, card, (Damageable *) target, aPF);
@@ -5196,7 +5195,7 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG
fromTc->setAllZones();
if (!activated)
{
if (card->hasType(Subtypes::TYPE_INSTANT) || card->hasType(Subtypes::TYPE_SORCERY) || forceUEOT)
if (((card->hasType(Subtypes::TYPE_INSTANT) || card->hasType(Subtypes::TYPE_SORCERY)) && !forceForever && !untilYourNextEndTurn && !untilYourNextTurn) || forceUEOT)
{
return NULL; //TODO
}
@@ -5216,7 +5215,7 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG
//default target zone to opponentbattlefield here?
if (!activated)
{
if (card->hasType(Subtypes::TYPE_INSTANT) || card->hasType(Subtypes::TYPE_SORCERY) || forceUEOT)
if (((card->hasType(Subtypes::TYPE_INSTANT) || card->hasType(Subtypes::TYPE_SORCERY)) && !forceForever && !untilYourNextEndTurn && !untilYourNextTurn) || forceUEOT)
{
return NULL; //TODO
}
@@ -5253,7 +5252,7 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG
nonstatic = true;
if (!activated)
{
if (card->hasType(Subtypes::TYPE_INSTANT) || card->hasType(Subtypes::TYPE_SORCERY) || forceUEOT)
if (((card->hasType(Subtypes::TYPE_INSTANT) || card->hasType(Subtypes::TYPE_SORCERY)) && !forceForever && !untilYourNextEndTurn && !untilYourNextTurn) || forceUEOT)
{
return NEW PTInstant(observer, id, card, target, wppt,s,nonstatic);
}
@@ -5447,7 +5446,7 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG
if (!activated)
{
if (card->hasType(Subtypes::TYPE_INSTANT) || card->hasType(Subtypes::TYPE_SORCERY) || forceUEOT)
if (((card->hasType(Subtypes::TYPE_INSTANT) || card->hasType(Subtypes::TYPE_SORCERY)) && !forceForever && !untilYourNextEndTurn && !untilYourNextTurn) || forceUEOT)
{
return NEW AInstantBasicAbilityModifierUntilEOT(observer, id, card, target, j, modifier);
}