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 restriction=can play creature
other={2}{B} name(Adventure) 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 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 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.) 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} mana={1}{B}
@@ -1830,7 +1830,7 @@ abilities=flying,haste,adventure
restriction=can play creature restriction=can play creature
other={4}{R} name(Adventure) 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 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.) 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} mana={4}{R}{R}
type=Creature type=Creature
@@ -2574,7 +2574,7 @@ abilities=flying,adventure
other={2}{U} name(Adventure) other={2}{U} name(Adventure)
otherrestriction=type(artifact[-creature]|mybattlefield)~morethan~0 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 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. text=Flying // Target noncreature artifact you control becomes a 0/0 artifact creature. Put four +1/+1 counters on it.
mana={2}{U} mana={2}{U}
type=Creature 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~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 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 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.) text=Flying // Tap up to two target creatures. (Then exile this card. You may cast the creature later from exile.)
mana={1}{W}{W} mana={1}{W}{W}
type=Creature type=Creature
@@ -5012,7 +5012,7 @@ toughness=6
[/card] [/card]
[card] [card]
name=Author of Shadows 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) 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. 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} mana={4}{B}
@@ -6856,7 +6856,7 @@ abilities=adventure
other={2}{G} name(Adventure) other={2}{G} name(Adventure)
anyzone=type:land:myBattlefield/type:land:myBattlefield cdaactive 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 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.) 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} mana={6}{G}
type=Creature type=Creature
@@ -8161,7 +8161,7 @@ type=Instant
name=Blazing Crescendo name=Blazing Crescendo
target=creature target=creature
auto=+3/+1 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. 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} mana={1}{R}
type=Instant type=Instant
@@ -8267,7 +8267,7 @@ restriction=can play creature
otherrestriction=type(creature|battlefield)~morethan~0 otherrestriction=type(creature|battlefield)~morethan~0
other={W} name(Adventure) 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 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 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.) 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} mana={3}{W}
@@ -9929,7 +9929,7 @@ restriction=can play creature
other={1}{R} name(Adventure) other={1}{R} name(Adventure)
#MISSING: damage can't be prevented #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 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(*|opponentzones):name(Deals 2 damage) damage:2 opponent
auto=@targeted(this) from(*|myzones):name(Deals 2 damage) damage:2 controller 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. 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 abilities=flying,cloud,flash,adventure,asflash
other={1}{U} name(Adventure) 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 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. 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} mana={1}{U}{U}
type=Creature type=Creature
@@ -10886,7 +10886,7 @@ type=Land
[card] [card]
name=Breya's Apprentice name=Breya's Apprentice
auto=_THOPTERTOKEN_ 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 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. 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} mana={2}{R}
@@ -13873,7 +13873,7 @@ name=Champions of Archery // Join the Group
abilities=reach,adventure abilities=reach,adventure
other={2}{R} name(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 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 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. 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} mana={3}{R}
@@ -16090,7 +16090,7 @@ name=Collectigull // Only the Best
abilities=flying,adventure abilities=flying,adventure
other={1}{W} name(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 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=protection from(*)
auto=_ATTACKING_draw:1 controller 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. 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 otherrestriction=type(creature|battlefield)~morethan~0
other={1}{G} name(Adventure) 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 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 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. 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} mana={5}{G}
@@ -16612,7 +16612,7 @@ type=Sorcery
[/card] [/card]
[card] [card]
name=Compleated Conjurer 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. 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 color=red,blue
type=Creature type=Creature
@@ -17804,8 +17804,8 @@ toughness=2
[/card] [/card]
[card] [card]
name=Covetous Urge 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)~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],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 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) )! 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. 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} mana={UB}{UB}{UB}{UB}
@@ -18649,7 +18649,7 @@ abilities=flying,vigilance,adventure
otherrestriction=type(*[artifact;enchantment;legendary]|mygraveyard)~morethan~0 otherrestriction=type(*[artifact;enchantment;legendary]|mygraveyard)~morethan~0
other={1}{W} name(Adventure) 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 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.) 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} mana={4}{W}{W}
type=Creature type=Creature
@@ -18943,7 +18943,7 @@ name=Curious Pair // Treats to Share
abilities=adventure abilities=adventure
other={G} name(Adventure) other={G} name(Adventure)
auto=if paid(alternative) then name(Create Food) name(Create Food) token(Food) 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.") 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} mana={1}{G}
type=Creature type=Creature
@@ -20225,7 +20225,7 @@ type=Instant
[card] [card]
name=Dead Man's Chest name=Dead Man's Chest
target=creature|opponentbattlefield 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. 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} mana={1}{B}
type=Enchantment type=Enchantment
@@ -22841,8 +22841,8 @@ type=Sorcery
[/card] [/card]
[card] [card]
name=Divine Purge 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(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],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 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. 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} mana={1}{W}{W}
@@ -23996,7 +23996,7 @@ restriction=can play creature
otherrestriction=type(creature|battlefield)~morethan~0 otherrestriction=type(creature|battlefield)~morethan~0
other={3}{G} name(Adventure) 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 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]) 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.) 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} mana={6}{G}
@@ -24901,16 +24901,16 @@ type=Artifact
[card] [card]
name=Dungeon of the Mad Mage name=Dungeon of the Mad Mage
restriction=never 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=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~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~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~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~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~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}: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. 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 type=Dungeon
[/card] [/card]
@@ -24947,8 +24947,8 @@ toughness=2
[card] [card]
name=Durnan of the Yawning Portal name=Durnan of the Yawning Portal
abilities=backgroundpartner 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 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],newability[changecost(colorless:-1) forcedalive])) forever )! optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend 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.) 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} mana={3}{G}
type=Legendary Creature type=Legendary Creature
@@ -26081,7 +26081,7 @@ toughness=2
[card] [card]
name=Elite Spellbinder name=Elite Spellbinder
abilities=flying 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) )! 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. 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} mana={2}{W}
@@ -26092,7 +26092,7 @@ toughness=1
[/card] [/card]
[card] [card]
name=Elkin Bottle 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. text={3}, {T}: Exile the top card of your library. Until the beginning of your next upkeep, you may play that card.
mana={3} mana={3}
type=Artifact type=Artifact
@@ -26362,7 +26362,7 @@ name=Embereth Shieldbreaker // Battle Display
abilities=adventure abilities=adventure
other={R} name(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 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.) text=Destroy target artifact. (Then exile this card. You may cast the creature later from exile.)
mana={1}{R} mana={1}{R}
type=Creature type=Creature
@@ -26468,7 +26468,7 @@ name=Emerald Dragon // Dissonant Wave
abilities=flying,trample,adventure,asflash abilities=flying,trample,adventure,asflash
restriction=can play creature restriction=can play creature
otherrestriction=never 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) 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.) 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} mana={4}{G}{G}
@@ -27319,8 +27319,7 @@ subtype=Aura
[/card] [/card]
[card] [card]
name=Escape to the Wilds 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=all(*[zpos<=5]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent])) uent )!
auto=emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent
auto=maxPlay(land)+1 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. 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} mana={3}{R}{G}
@@ -27722,7 +27721,7 @@ restriction=can play creature
otherrestriction=type(creature[flying]|battlefield)~morethan~0 otherrestriction=type(creature[flying]|battlefield)~morethan~0
other={2}{G} name(Adventure) 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 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.) text=Reach // Destroy target creature with flying. (Then exile this card. You may cast the creature later from exile.)
mana={4}{G} mana={4}{G}
type=Creature type=Creature
@@ -28681,7 +28680,7 @@ name=Fae of Wishes // Granted
abilities=flying,adventure abilities=flying,adventure
other={3}{U} name(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 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) 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. 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} mana={1}{U}
@@ -28741,7 +28740,7 @@ name=Faerie Guidemother // Gift of the Fae
abilities=flying,adventure abilities=flying,adventure
other={1}{W} name(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 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.) 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} mana={W}
type=Creature type=Creature
@@ -29141,7 +29140,7 @@ abilities=flying,adventure
restriction=can play creature restriction=can play creature
other={1}{R} name(Adventure) 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 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.) 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} mana={5}{R}{R}
type=Creature type=Creature
@@ -30534,7 +30533,7 @@ name=Fire Giant's Fury
target=giant|mybattlefield target=giant|mybattlefield
auto=2/2 ueot auto=2/2 ueot
auto=trample 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. 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} mana={1}{R}
type=Sorcery type=Sorcery
@@ -30955,7 +30954,7 @@ type=Instant
[card] [card]
name=Five-Finger Discount name=Five-Finger Discount
target=*[-land]|battlefield 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. 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} mana={4}{U}{U}
type=Sorcery type=Sorcery
@@ -31161,9 +31160,7 @@ type=Sorcery
[card] [card]
name=Flameskull name=Flameskull
abilities=cantblock,flying 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 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 )!
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
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.) 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} mana={1}{R}{R}
type=Creature type=Creature
@@ -31261,7 +31258,7 @@ name=Flaxen Intruder // Welcome Home
abilities=adventure abilities=adventure
other={5}{G}{G} name(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 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) 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.) 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} mana={G}
@@ -32129,7 +32126,7 @@ abilities=deathtouch,adventure,asflash
restriction=can play creature restriction=can play creature
other={2}{B} name(Adventure) 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 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.) 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} mana={B}
type=Creature type=Creature
@@ -32752,7 +32749,7 @@ type=Instant
[/card] [/card]
[card] [card]
name=Furious Rise 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. 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} mana={2}{R}
type=Enchantment type=Enchantment
@@ -33052,7 +33049,7 @@ toughness=2
name=Gale's Redirection name=Gale's Redirection
target=*|stack target=*|stack
auto=fizzleto(exile) 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. 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} mana={3}{U}{U}
type=Instant type=Instant
@@ -33160,9 +33157,8 @@ type=Instant
[card] [card]
name=Galvanic Relay name=Galvanic Relay
abilities=storm abilities=storm
auto=all(*[zpos=1]|myLibrary) moveto(myexile) and!( transforms((,newability[phaseaction[opponent end once checkex] counter(0/0.1.GalvanicEffect)])) forever )! 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])) forever dontremove 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
auto=emblem transforms((,newability[@each my end:all(*[counter{0/0.1.GalvanicEffect}]|myexile) counter(0/0.-1.GalvanicEffect)])) forever dontremove
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.) 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} mana={2}{R}
type=Sorcery type=Sorcery
@@ -33239,7 +33235,7 @@ abilities=adventure,asflash
restriction=can play creature restriction=can play creature
other={1}{G} name(Adventure) 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 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.) 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} mana={3}{G}
type=Creature type=Creature
@@ -34143,7 +34139,7 @@ other={1}{B} name(Adventure)
restriction=can play creature restriction=can play creature
otherrestriction=type(creature|mygraveyard)~morethan~0 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 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={1}:equip
auto=teach(creature) @movedto(creature|graveyard) from(creature|mybattlefield):name(Put 1/1 counter) counter(1/1) 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.) 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 restriction=can play creature
other={2}{W} name(Adventure) 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 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) 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.) 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} mana={W}
@@ -37230,7 +37226,7 @@ abilities=adventure
other={1}{B} name(Adventure) other={1}{B} name(Adventure)
restriction=can play creature 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 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) menace >3
auto=aslongas(creature|mygraveyard) deathtouch >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.) 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]
[card] [card]
name=Grinning Totem 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. 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} mana={4}
type=Artifact type=Artifact
@@ -38004,7 +38000,7 @@ restriction=can play creature
otherrestriction=type(*[artifact;enchantment]|battlefield)~morethan~0 otherrestriction=type(*[artifact;enchantment]|battlefield)~morethan~0
other={2}{W} name(Adventure) 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 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)])) 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.) 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} mana={5}{W}{W}
@@ -40551,7 +40547,7 @@ abilities=adventure,asflash
other={B} name(Adventure) other={B} name(Adventure)
restriction=can play creature 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 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 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.) 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} mana={5}{B}{B}
@@ -40893,7 +40889,7 @@ toughness=3
name=Hoarding Broodlord name=Hoarding Broodlord
abilities=hiddenface,flying abilities=hiddenface,flying
other={convoke} name(Convoke) 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])) 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. 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} mana={5}{B}{B}{B}
@@ -41423,7 +41419,7 @@ name=Horn of Valhalla // Ysgard's Call
other={X}{W}{W} name(Adventure) other={X}{W}{W} name(Adventure)
restriction=can play artifact 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 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=teach(creature) type:creature:mybattlefield/type:creature:mybattlefield nonstatic
auto={3}:equip 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.) 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] [card]
name=Hostage Taker 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 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) 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=@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 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. 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]
[card] [card]
name=Hurl Through Hell name=Hurl Through Hell
restriction=type(creature|battlefield)~morethan~0 target=creature
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)~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) target(creature|battlefield) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[phaseaction[my endofturn 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. 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} mana={2}{B}{R}
type=Instant type=Instant
@@ -42181,7 +42177,7 @@ abilities=flying,adventure,asflash
restriction=can play creature restriction=can play creature
other={2}{U} name(Adventure) 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 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.) 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} mana={U}{U}
type=Creature type=Creature
@@ -42510,9 +42506,8 @@ type=Instant
[card] [card]
name=Ignite the Future name=Ignite the Future
flashback={7}{R} 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 all(*[zpos<=3]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent])) uent )!
auto=ifnot gravecast then emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent auto=if gravecast then all(*[zpos<=3]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent],newability[zerocast uent])) 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
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.) 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} mana={3}{R}
type=Sorcery type=Sorcery
@@ -42585,7 +42580,7 @@ other={X}{U}{U} name(Adventure)
restriction=can play creature restriction=can play creature
otherrestriction=type(creature|battlefield)~morethan~0 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 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 )! 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.) 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} mana={4}{U}
@@ -44203,8 +44198,7 @@ toughness=5
[/card] [/card]
[card] [card]
name=Inspired Tinkering 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=name(Exile top 3 cards) all(*[zpos<=3]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent])) uent )!
auto=emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent
auto=name(Create 3 treasures) token(Treasure Sur)*3 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.") 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} mana={4}{R}
@@ -44723,7 +44717,7 @@ backside=Lightshield Array
restriction=compare(isflipped)~equalto~0 restriction=compare(isflipped)~equalto~0
anyzone={0}:doubleside(backside) anyzone={0}:doubleside(backside)
auto=counter(0/0.3.Defense) 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=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=moveto(opponentbattlefield)
auto=@defeated(this):name(Exile and transforms) name(Exile and transforms) moveto(ownerexile) and!( flip(backside) forcetype(Enchantment) )! 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]
[card] [card]
name=Light Up the Stage 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=name(Exile top 2 cards) all(*[zpos<=2]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent])) uent )!
auto=emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) 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. 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) other={R} name(Spectacle)
otherrestriction=_SPECTACLE_ otherrestriction=_SPECTACLE_
@@ -51876,7 +51869,7 @@ name=Lonesome Unicorn // Rider in Need
abilities=vigilance,adventure abilities=vigilance,adventure
other={2}{W} name(Adventure) other={2}{W} name(Adventure)
auto=if paid(alternative) then name(Create knight) name(Create knight) _KNIGHTTOKEN_ 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.) 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} mana={4}{W}
type=Creature type=Creature
@@ -52268,7 +52261,7 @@ name=Lovestruck Beast // Heart's Desire
abilities=adventure abilities=adventure
other={G} name(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 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[power=1]|mybattlefield)~lessthan~1 then cantattack ueot
auto=@each my combatbegins:if type(creature[toughness=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.) 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 restriction=can play creature
other={R} name(Adventure) 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 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 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.) 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} mana={2}{R}
@@ -54976,7 +54969,7 @@ abilities=adventure
other={U} name(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(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 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.) text=Target player mills four cards. (Then exile this card. You may cast the creature later from exile.)
mana={U} mana={U}
type=Creature 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=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=@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=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." 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} mana={W}{U}
type=Enchantment type=Enchantment
@@ -56698,7 +56691,7 @@ abilities=adventure
restriction=can play creature restriction=can play creature
other={2}{G} name(Adventure) 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 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) 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.) 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} mana={3}{G}
@@ -56872,7 +56865,7 @@ abilities=flying,adventure,asflash
restriction=can play creature restriction=can play creature
other={1}{U} name(Adventure) 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 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 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.) 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} mana={3}{U}
@@ -57412,7 +57405,7 @@ restriction=can play creature
other={1}{B}{B} name(Adventure) 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(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 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 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.) 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} mana={1}{B}{B}
@@ -60281,7 +60274,7 @@ name=Oakhame Ranger // Bring Back
abilities=adventure abilities=adventure
other={GW}{GW}{GW}{GW} name(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 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 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.) 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} mana={GW}{GW}{GW}{GW}
@@ -60387,7 +60380,7 @@ type=Instant
[card] [card]
name=Ob Nixilis, Captive Kingpin name=Ob Nixilis, Captive Kingpin
abilities=flying,trample 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) 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. 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} mana={2}{B}{R}
@@ -61898,7 +61891,7 @@ name=Order of Midnight // Alter Fate
abilities=flying,cantblock,adventure abilities=flying,cantblock,adventure
other={1}{B} name(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 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.) 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} mana={1}{B}
type=Creature type=Creature
@@ -63601,7 +63594,7 @@ restriction=can play creature
otherrestriction=type(creature|mybattlefield)~morethan~0 otherrestriction=type(creature|mybattlefield)~morethan~0
other={1}{W} name(Adventure) 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 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) 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.) 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} mana={5}{W}
@@ -64923,7 +64916,7 @@ type=Sorcery
[/card] [/card]
[card] [card]
name=Plargg and Nassari 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. 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} mana={3}{R}{R}
type=Legendary Creature type=Legendary Creature
@@ -65694,7 +65687,7 @@ type=Instant
[/card] [/card]
[card] [card]
name=Praetor's Grasp 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. 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} mana={1}{B}{B}
type=Sorcery type=Sorcery
@@ -65792,7 +65785,7 @@ toughness=2
[/card] [/card]
[card] [card]
name=Predators' Hour 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." 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} mana={1}{B}
type=Sorcery type=Sorcery
@@ -66544,8 +66537,7 @@ toughness=4
[card] [card]
name=Prosper, Tome-Bound name=Prosper, Tome-Bound
abilities=deathtouch 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:name(Exile top card) all(*[zpos<=1]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile forever])) forever )!
auto=@each my end:emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent
auto=@movedto(*|mystack,mybattlefield) from(myexile):name(Create treasure) token(Treasure Sur) 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. 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} mana={2}{B}{R}
@@ -66866,8 +66858,8 @@ subtype=Aura
[/card] [/card]
[card] [card]
name=Psychic Intrusion 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)~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],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 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) )! 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. 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} mana={3}{U}{B}
@@ -67572,7 +67564,7 @@ name=Queen of Ice // Rage of Winter
abilities=adventure abilities=adventure
other={1}{U} name(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 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 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.) 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} mana={2}{U}
@@ -69290,7 +69282,7 @@ name=Realm-Cloaked Giant // Cast Off
abilities=vigilance,adventure abilities=vigilance,adventure
other={3}{W}{W} name(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 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.) text=Vigilance // Destroy all non-Giant creatures. (Then exile this card. You may cast the creature later from exile.)
mana={5}{W}{W} mana={5}{W}{W}
type=Creature type=Creature
@@ -69362,7 +69354,7 @@ name=Reaper of Night // Harvest Fear
abilities=adventure abilities=adventure
other={3}{B} name(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 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 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.) 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} mana={5}{B}{B}
@@ -69530,8 +69522,7 @@ type=Sorcery
[/card] [/card]
[card] [card]
name=Reckless Impulse 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=name(Exile top 2 cards) all(*[zpos<=2]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent])) uent )!
auto=emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent
text=Exile the top two cards of your library. Until the end of your next turn, you may play those cards. text=Exile the top two cards of your library. Until the end of your next turn, you may play those cards.
mana={1}{R} mana={1}{R}
type=Sorcery type=Sorcery
@@ -70050,7 +70041,7 @@ type=Sorcery
[card] [card]
name=Release to the Wind name=Release to the Wind
target=*[-land]|battlefield 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. 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} mana={2}{U}
type=Instant type=Instant
@@ -71462,7 +71453,7 @@ abilities=cantblock,adventure,asflash
restriction=can play creature restriction=can play creature
other={R} name(Adventure) 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 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.) 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} mana={1}{R}
type=Creature type=Creature
@@ -72140,8 +72131,8 @@ toughness=2
[card] [card]
name=Robber of the Rich name=Robber of the Rich
abilities=reach,haste 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=@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)],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=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. 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} mana={1}{R}
type=Creature type=Creature
@@ -72213,8 +72204,8 @@ toughness=1
[/card] [/card]
[card] [card]
name=Rocco, Street Chef 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]|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 )! 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(Put 1/1 counter) target(creature|battlefield) counter(1/1)
auto=@movedto(land|battlefield) from(exile):name(Create food) token(Food) 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) auto=@movedto(*|stack) from(exile):name(Put 1/1 counter) target(creature|battlefield) counter(1/1)
@@ -72341,13 +72332,13 @@ toughness=2
[card] [card]
name=Rogue Class name=Rogue Class
auto=counter(0/0,1,Level) 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=@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) )! 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}=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) 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}=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) 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],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) {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. 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} mana={U}{B}
type=Enchantment type=Enchantment
@@ -72556,8 +72547,7 @@ toughness=4
[card] [card]
name=Rooting Moloch name=Rooting Moloch
abilities=cycling 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=name(Exile card with cycling) target(*[cycling]|myGraveyard) moveto(exile) and!( transforms((,newability[canplayfromexile uent])) uent )!
auto=emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent
autohand=__CYCLING__({2}) 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.) 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} mana={4}{R}
@@ -72634,7 +72624,7 @@ name=Rosethorn Acolyte // Seasonal Ritual
abilities=adventure abilities=adventure
other={G} name(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 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{U}
auto={T}:add{B} auto={T}:add{B}
auto={T}:add{R} auto={T}:add{R}
@@ -74428,7 +74418,7 @@ restriction=can play creature
otherrestriction=type(*[-creature]|stack)~morethan~0 otherrestriction=type(*[-creature]|stack)~morethan~0
other={2}{U} name(Adventure) 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 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=_ATTACKING_name(Scry 2) _SCRY2_
auto=@combat(blocking) source(this):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.) 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 restriction=can play creature
other={2}{U} name(Adventure) 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 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 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.) 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} mana={4}{U}
@@ -77862,7 +77852,7 @@ abilities=adventure,asflash
restriction=can play creature restriction=can play creature
other={W} name(Adventure) 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 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.) 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} mana={1}{W}
type=Creature type=Creature
@@ -78354,8 +78344,7 @@ type=Instant
name=Showdown of the Skalds name=Showdown of the Skalds
auto=counter(0/0,1,Lore) auto=counter(0/0,1,Lore)
auto=@each my firstmain: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=name(Exile top 4 cards) all(*[zpos<=4]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent])) uent )!
auto=emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) 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.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}) 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) 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 restriction=can play creature
other={2}{W} name(Adventure) 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 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.) 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} mana={1}{W}
type=Creature type=Creature
@@ -79450,8 +79439,8 @@ toughness=2
[card] [card]
name=Siphon Insight name=Siphon Insight
flashback={1}{U}{B} 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 )! 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],newability[anytypeofmana])) forever )! optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend 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} 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} mana={U}{B}
type=Instant type=Instant
@@ -80819,7 +80808,7 @@ abilities=lifelink,adventure
other={B} name(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(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 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. text=Lifelink // You gain X life and each opponent loses X life, where X is the number of Knights you control.
mana={1}{B} mana={1}{B}
type=Creature type=Creature
@@ -82438,8 +82427,8 @@ toughness=2
[/card] [/card]
[card] [card]
name=Spelljack name=Spelljack
target=*[-nofizzle]|stack 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],newability[zerocast],newability[@each beginofturn:name(Can play from exile) transforms((,newability[canplayfromexile],newability[zerocast])) forever])) forever )! !$ controller 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.) 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} mana={3}{U}{U}{U}
type=Instant type=Instant
@@ -86479,7 +86468,7 @@ abilities=adventure,asflash
restriction=can play creature restriction=can play creature
other={1}{U} name(Adventure) 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 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=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 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.) 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]
[card] [card]
name=Tectonic Giant 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) 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=@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) 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) 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)
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. 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} mana={2}{R}{R}
type=Creature type=Creature
@@ -91073,7 +91058,7 @@ restriction=can play creature
otherrestriction=type(creature|mygraveyard)~morethan~0 otherrestriction=type(creature|mygraveyard)~morethan~0
other={1}{G} name(Adventure) 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 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 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.) 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} mana={5}{G}{G}
@@ -91417,7 +91402,7 @@ abilities=deathtouch,flying,adventure,asflash
restriction=can play creature restriction=can play creature
other={1}{B} name(Adventure) 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 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.) 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} mana={4}{B}{B}
type=Creature type=Creature
@@ -92782,7 +92767,7 @@ name=Tuinvale Treefolk // Oaken Boon
abilities=adventure abilities=adventure
other={3}{G} name(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 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.) text=Put two +1/+1 counters on target creature. (Then exile this card. You may cast the creature later from exile.)
mana={5}{G} mana={5}{G}
type=Creature type=Creature
@@ -93170,7 +93155,7 @@ restriction=can play equipment
otherrestriction=type(creature|mybattlefield)~morethan~0 otherrestriction=type(creature|mybattlefield)~morethan~0
other={1}{R} name(Adventure) 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 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=transforms((,newability[_ATTACKING_name(Double power) power/0 ueot]))
auto={1}{R}:equip 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.) 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]
[card] [card]
name=Warehouse Thief 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. 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} mana={3}{R}
type=Creature type=Creature
@@ -100310,8 +100295,7 @@ toughness=3
[/card] [/card]
[card] [card]
name=Wrenn's Resolve 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=name(Exile top 2 cards) all(*[zpos<=2]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent])) uent )!
auto=emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent
text=Exile the top two cards of your library. Until the end of your next turn, you may play those cards. text=Exile the top two cards of your library. Until the end of your next turn, you may play those cards.
mana={1}{R} mana={1}{R}
type=Sorcery type=Sorcery
@@ -100798,10 +100782,8 @@ type=Instant
[/card] [/card]
[card] [card]
name=You Find Some Prisoners 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=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=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 )! )!
auto=emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile],newability[lord(*[counter{0/0.1.PlayExile}]|myexile) anytypeofmana])) uent
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. 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} mana={1}{R}
type=Instant type=Instant
@@ -100904,7 +100886,7 @@ restriction=can play creature
other={1}{U} name(Adventure) other={1}{U} name(Adventure)
aicode=activate transforms((,newability[draw:1 controller])) oneshot 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 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.) text=Flying // Scry 1, then draw a card. (Then exile this card. You may cast the creature later from exile.)
mana={4}{U} mana={4}{U}
type=Creature type=Creature
@@ -100928,7 +100910,7 @@ abilities=flying,cantblock,adventure,asflash
restriction=can play creature restriction=can play creature
other={1}{R} name(Adventure) other={1}{R} name(Adventure)
auto=if paid(alternative) then name(Create Treasure) name(Create Treasure) token(Treasure Sur) 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.) 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} mana={3}{R}
type=Creature type=Creature

View File

@@ -21578,8 +21578,7 @@ type=Instant
[/card] [/card]
[card] [card]
name=Commune with Lava 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=all(*[zpos<=castx]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent])) uent )!
auto=emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent
text=Exile the top X cards of your library. Until the end of your next turn, you may play those cards. 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} mana={X}{R}{R}
type=Instant type=Instant
@@ -118821,8 +118820,8 @@ toughness=1
[/card] [/card]
[card] [card]
name=Temporal Aperture name=Temporal Aperture
aicode=activate choice all(*[zpos=1]) transforms((,canplayfromlibrarytop,zerocast)) forever 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((,canplayfromlibrarytop,zerocast)) forever )! optiononeend revealend 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.) 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} mana={2}
type=Artifact 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.-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.-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.-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.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.-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) )!])) 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.-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.-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.-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. 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} mana={1}{G}{U}
type=Legendary Planeswalker type=Legendary Planeswalker
@@ -3235,7 +3235,7 @@ name=Vivien, Champion of the Wilds
auto=counter(0/0,4,loyalty) auto=counter(0/0,4,loyalty)
auto=lord(creature|myHand) asflash 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,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. 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} mana={2}{G}
type=Legendary Planeswalker 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); WParsedInt * value = NEW WParsedInt(valueStr, spell, card);
Targetable * t = spell? spell->getNextTarget() : NULL; 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); 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) if (s.find("altercost(") != string::npos)
return getManaReduxAbility(s.substr(s.find("altercost(") + 10), id, spell, card, target); return getManaReduxAbility(s.substr(s.find("altercost(") + 10), id, spell, card, target);
//transform....(hivestone,living enchantment) //transforms (e.g. hivestone,living enchantment)
//TODO: cleanup this block, it's a rats nest
found = s.find("transforms(("); found = s.find("transforms((");
if (found != string::npos) if (found != string::npos)
{ {
@@ -5175,7 +5174,7 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG
fromTc->setAllZones(); fromTc->setAllZones();
if (!activated) 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]); MTGAbility * aPF = NEW AProtectionFrom(observer, id, card, target, fromTc, splitProtection[1]);
return NEW GenericInstantAbility(observer, 1, card, (Damageable *) target, aPF); 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(); fromTc->setAllZones();
if (!activated) 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 return NULL; //TODO
} }
@@ -5216,7 +5215,7 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG
//default target zone to opponentbattlefield here? //default target zone to opponentbattlefield here?
if (!activated) 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 return NULL; //TODO
} }
@@ -5253,7 +5252,7 @@ MTGAbility * AbilityFactory::parseMagicLine(string s, int id, Spell * spell, MTG
nonstatic = true; nonstatic = true;
if (!activated) 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); 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 (!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); return NEW AInstantBasicAbilityModifierUntilEOT(observer, id, card, target, j, modifier);
} }