Balanced brackets check, sanitization, bug fixes

Added bracket balancing checks to the program for opening and closing sequences of  parenthesis, square brackets, curly brackets, ,'ability$!' and '!$' characters, as well as for the 'and!(' opening sequence and the ')!' closing sequence.

Sanitization operations removing empty lines and spaces at end of line.

Pious Interdiction so the AI doesn't enchant own creatures.

All 724 Tests Succesful!
This commit is contained in:
Eduardo MG
2023-04-28 19:49:01 -06:00
parent 0b46cd255e
commit 73712f6bd5
4 changed files with 81 additions and 82 deletions
@@ -4,7 +4,7 @@
# it means that if you have a macro named MACRO and a macro named MACRO2, you'll run into trouble because MACRO2 will match MACRO # it means that if you have a macro named MACRO and a macro named MACRO2, you'll run into trouble because MACRO2 will match MACRO
# Because of that, you need to use a unique delimiter at the beginning and the end of a macro, I personally use "__" # Because of that, you need to use a unique delimiter at the beginning and the end of a macro, I personally use "__"
# #
# Limitations: parameter inside macro must not contain ")" # Limitations: parameter inside macro must not contain "()"
# Standard Cycling # Standard Cycling
#AUTO_DEFINE __CYCLING__($cost) $cost{cycle}:name(cycling) draw:1 #AUTO_DEFINE __CYCLING__($cost) $cost{cycle}:name(cycling) draw:1
@@ -98,7 +98,7 @@
# Ripple # Ripple
#AUTO_DEFINE _RIPPLE_($c) autostack=if casted(this) then reveal:$c optionone name(Cast Card) target(<upto:$c>[share!name!]|reveal) moveTo(mylibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put on bottom) target(<$c>*|reveal) bottomoflibrary optiontwoend afterrevealed all(tobecast|mylibrary) moveTo(myLibrary) and!( activate castcard(normal) )! afterrevealedend revealend #AUTO_DEFINE _RIPPLE_($c) autostack=if casted(this) then reveal:$c optionone name(Cast Card) target(<upto:$c>[share!name!]|reveal) moveTo(mylibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put on bottom) target(<$c>*|reveal) bottomoflibrary optiontwoend afterrevealed all(tobecast|mylibrary) moveTo(myLibrary) and!( activate castcard(normal) )! afterrevealedend revealend
# Recover # Recover
#AUTO_DEFINE _RECOVER_($cost) @movedTo(creature|myGraveyard) from(Battlefield):may pay{$cost} name(Return to owner Hand) moveTo(ownerHand) all(this) donothing?moveTo(exile) all(this) #AUTO_DEFINE _RECOVER_($cost) @movedTo(creature|myGraveyard) from(Battlefield):may pay{$cost} name(Return to owner Hand) moveTo(ownerHand) all(this) donothing?moveTo(exile) all(this)
# Clash, not implemented # Clash, not implemented
@@ -127,7 +127,7 @@ $AUTO_DEFINE _CLASH_ Put here a code if compare the casting cost based on Errati
# Monarch # Monarch
#AUTO_DEFINE _MONARCH_CONTROLLER_ if type(The Monarch|battlefield)~lessthan~1 then token(The Monarch) else all(The Monarch|battlefield) moveto(mybattlefield) and!( transforms((,newability[becomesmonarch controller])) forever )! #AUTO_DEFINE _MONARCH_CONTROLLER_ if type(The Monarch|battlefield)~lessthan~1 then token(The Monarch) else all(The Monarch|battlefield) moveto(mybattlefield) and!( transforms((,newability[becomesmonarch controller])) forever )!
#AUTO_DEFINE _MONARCH_OPPONENT_ if type(The Monarch|battlefield)~lessthan~1 then token(The Monarch) opponent else all(The Monarch|battlefield) moveto(opponentbattlefield) and!( transforms((,newability[becomesmonarch controller])) forever )! #AUTO_DEFINE _MONARCH_OPPONENT_ if type(The Monarch|battlefield)~lessthan~1 then token(The Monarch) opponent else all(The Monarch|battlefield) moveto(opponentbattlefield) and!( transforms((,newability[becomesmonarch controller])) forever )!
# Explore, not implemented # Explore, not implemented
#AUTO_DEFINE _EXPLORE_ reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) optiontwoend revealend limit:1 #AUTO_DEFINE _EXPLORE_ reveal:1 optionone if type(land|reveal)~lessthan~1 then transforms((,newability[counter(1/1)])) optiononeend optiontwo if type(land|reveal)~morethan~0 then name(move to Hand) target(<1>*|reveal) moveto(myHand) else transforms((,newability[Choice name(back to library) target(<1>*|reveal) moveto(mylibrary)],newability[Choice name(put into Graveyard) target(<1>*|reveal) moveto(myGraveyard)])) optiontwoend revealend limit:1
@@ -151,7 +151,7 @@ $AUTO_DEFINE _CLASH_ Put here a code if compare the casting cost based on Errati
#AUTO_DEFINE _AFTERLIFE_($c) @movedTo(this|graveyard) from(battlefield):create(Spirit:Creature Spirit:1/1:white,black:flying)*$c #AUTO_DEFINE _AFTERLIFE_($c) @movedTo(this|graveyard) from(battlefield):create(Spirit:Creature Spirit:1/1:white,black:flying)*$c
# Riot # Riot
#AUTO_DEFINE _RIOT_ movedTo(this|myBattlefield):transforms((,newability[ability$! name(Choose counter or ability) choice name(Put a +1/+1 counter) counter(1/1,1) target(creature) _ choice name(Gains Haste) haste target(creature) forever !$ controller])) #AUTO_DEFINE _RIOT_ movedTo(this|myBattlefield):transforms((,newability[ability$! name(Choose counter or ability) choice name(Put a +1/+1 counter) counter(1/1) target(creature) _ choice name(Gains Haste) haste target(creature) forever !$ controller]))
# Learn # Learn
#AUTO_DEFINE _LEARN_ name(Learn) transforms((,newability[if type(*[lesson]|mysideboard)~morethan~0 then choice name(Put lesson in hand) name(Put lesson in hand) target(*[lesson]|mysideboard) moveto(myhand)],newability[if type(*|myhand)~morethan~0 then choice name(Discard and draw) name(Discard and draw) target(*|myhand) reject and!(draw:1)!],newability[if type(Retriever Phoenix|mygraveyard)~morethan~0 then choice name(Return a Retriever Phoenix) name(Return a Retriever Phoenix) target(Retriever Phoenix|mygraveyard) moveto(myBattlefield)],newability[choice name(Don't learn) donothing])) oneshot #AUTO_DEFINE _LEARN_ name(Learn) transforms((,newability[if type(*[lesson]|mysideboard)~morethan~0 then choice name(Put lesson in hand) name(Put lesson in hand) target(*[lesson]|mysideboard) moveto(myhand)],newability[if type(*|myhand)~morethan~0 then choice name(Discard and draw) name(Discard and draw) target(*|myhand) reject and!(draw:1)!],newability[if type(Retriever Phoenix|mygraveyard)~morethan~0 then choice name(Return a Retriever Phoenix) name(Return a Retriever Phoenix) target(Retriever Phoenix|mygraveyard) moveto(myBattlefield)],newability[choice name(Don't learn) donothing])) oneshot
@@ -227,9 +227,9 @@ $AUTO_DEFINE _CLASH_ Put here a code if compare the casting cost based on Errati
# Thopter Token # Thopter Token
#AUTO_DEFINE _THOPTERTOKEN_ create(Thopter:Artifact Creature Thopter:1/1:flying) #AUTO_DEFINE _THOPTERTOKEN_ create(Thopter:Artifact Creature Thopter:1/1:flying)
# Wolf Token # Wolf Token
#AUTO_DEFINE _WOLFTOKEN_ create(Wolf:creature Wolf:2/2:green) #AUTO_DEFINE _WOLFTOKEN_ create(Wolf:creature Wolf:2/2:green)
# Zombie Token # Zombie Token
#AUTO_DEFINE _ZOMBIETOKEN_ create(zombie:creature zombie:2/2:black) #AUTO_DEFINE _ZOMBIETOKEN_ create(zombie:creature zombie:2/2:black)
@@ -596,7 +596,7 @@ name=Aerial Boost
other={convoke} name(Convoke) other={convoke} name(Convoke)
target=creature target=creature
auto=2/2 auto=2/2
auto=flying auto=flying
text=Convoke (Your creatures can help cast this spell. Each creature you tap while casting this spell pays for {1} or one mana of that creature's color.) -- Target creature gets +2/+2 and gains flying until end of turn. text=Convoke (Your creatures can help cast this spell. Each creature you tap while casting this spell pays for {1} or one mana of that creature's color.) -- Target creature gets +2/+2 and gains flying until end of turn.
mana={1}{W} mana={1}{W}
type=Instant type=Instant
@@ -3245,7 +3245,7 @@ name=Archangel Elspeth
auto=counter(0/0,4,loyalty) auto=counter(0/0,4,loyalty)
auto={C(0/0,+1,Loyalty)}:create(soldier:creature soldier:1/1:white:lifelink) auto={C(0/0,+1,Loyalty)}:create(soldier:creature soldier:1/1:white:lifelink)
auto={C(0/0,-2,Loyalty)}:target(creature) counter(1/1,2) && transforms((Angel,newability[flying])) forever auto={C(0/0,-2,Loyalty)}:target(creature) counter(1/1,2) && transforms((Angel,newability[flying])) forever
auto={C(0/0,-6,Loyalty)}:moveTo(mybattlefield) all(*[-land;-instant;-sorcery;manacost<=3]|myGraveyard) auto={C(0/0,-6,Loyalty)}:moveTo(mybattlefield) all(*[-land;-instant;-sorcery;manacost<=3]|myGraveyard)
text=[+1]: Create a 1/1 white Soldier creature token with lifelink. -- [-2]: Put two +1/+1 counters on target creature. It becomes an Angel in addition to its other types and gains flying. -- [-6]: Return all nonland permanent cards with mana value 3 or less from your graveyard to the battlefield. text=[+1]: Create a 1/1 white Soldier creature token with lifelink. -- [-2]: Put two +1/+1 counters on target creature. It becomes an Angel in addition to its other types and gains flying. -- [-6]: Return all nonland permanent cards with mana value 3 or less from your graveyard to the battlefield.
mana={2}{W}{W} mana={2}{W}{W}
type=Legendary Planeswalker type=Legendary Planeswalker
@@ -3313,7 +3313,7 @@ toughness=5
name=Archfiend of Spite name=Archfiend of Spite
abilities=flying,madness abilities=flying,madness
autoexile=restriction{discarded} pay({3}{B}{B}) name(pay 3BB to cast) activate name(pay 2G to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard) autoexile=restriction{discarded} pay({3}{B}{B}) name(pay 3BB to cast) activate name(pay 2G to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard)
auto=_ENRAGE_life:-thatmuch opponent donothing?sacrifice notatarget(*|mybattlefield)!$ opponent auto=_ENRAGE_ability$!life:-thatmuch opponent donothing?sacrifice notatarget(*|mybattlefield)!$ opponent
text=Flying -- Whenever a source an opponent controls deals damage to Archfiend of Spite, that source's controller loses that much life unless they sacrifice that many permanents. -- Madness {3}{B}{B} (If you discard this card, discard it into exile. When you do, cast it for its madness cost or put it into your graveyard.) text=Flying -- Whenever a source an opponent controls deals damage to Archfiend of Spite, that source's controller loses that much life unless they sacrifice that many permanents. -- Madness {3}{B}{B} (If you discard this card, discard it into exile. When you do, cast it for its madness cost or put it into your graveyard.)
mana={5}{B}{B} mana={5}{B}{B}
type=Creature type=Creature
@@ -6437,7 +6437,7 @@ name=Beamtown Beatstick
auto=teach(creature) 1/0 auto=teach(creature) 1/0
auto=teach(creature) menace auto=teach(creature) menace
auto=teach(creature) transforms((,newability[@combatdamagefoeof(player) from(this):create(Treasure sur)])) auto=teach(creature) transforms((,newability[@combatdamagefoeof(player) from(this):create(Treasure sur)]))
auto={2}:equip auto={2}:equip
text=Equipped creature gets +1/+0 and has menace. (It can't be blocked except by two or more creatures.) -- Whenever equipped creature deals combat damage to a player or battle, create a Treasure token. -- Equip {2} ({2}: Attach to target creature you control. Equip only as a sorcery.) text=Equipped creature gets +1/+0 and has menace. (It can't be blocked except by two or more creatures.) -- Whenever equipped creature deals combat damage to a player or battle, create a Treasure token. -- Equip {2} ({2}: Attach to target creature you control. Equip only as a sorcery.)
mana={R} mana={R}
type=Artifact type=Artifact
@@ -7586,7 +7586,7 @@ abilities=flash
auto=rehook target(creature|myBattlefield) auto=rehook target(creature|myBattlefield)
auto=indestructible ueot auto=indestructible ueot
auto=teach(creature) 1/0 auto=teach(creature) 1/0
auto={1}:equip auto={1}:equip
text=Flash -- When Bladed Battle-Fan enters the battlefield, attach it to target creature you control. That creature gains indestructible until end of turn. -- Equipped creature gets +1/+0. -- Equip {1} ({1} : Attach to target creature you control. Equip only as a sorcery.) text=Flash -- When Bladed Battle-Fan enters the battlefield, attach it to target creature you control. That creature gains indestructible until end of turn. -- Equipped creature gets +1/+0. -- Equip {1} ({1} : Attach to target creature you control. Equip only as a sorcery.)
mana={1}{B} mana={1}{B}
type=Artifact type=Artifact
@@ -7789,7 +7789,7 @@ auto=if paid(alternative) then untap target(<upto:2>creature)
auto=if paid(alternative) then ability$!name(sacrifice) target(creature[attacking]|mybattlefield) sacrifice!$ targetedplayer auto=if paid(alternative) then ability$!name(sacrifice) target(creature[attacking]|mybattlefield) sacrifice!$ targetedplayer
auto=ifnot paid(alternative) then choice name(Player gains life) life:4 controller auto=ifnot paid(alternative) then choice name(Player gains life) life:4 controller
auto=ifnot paid(alternative) then choice name(Untap creatures) untap target(<upto:2>creature) auto=ifnot paid(alternative) then choice name(Untap creatures) untap target(<upto:2>creature)
auto=ifnot paid(alternative) then choice name(Opponent scrifices creature) target(creature[attacking]|mybattlefield) sacrifice!$ targetedplayer auto=ifnot paid(alternative) then choice ability$!name(Opponent scrifices creature) target(creature[attacking]|mybattlefield) sacrifice!$ targetedplayer
text=Escalate {2} (Pay this cost for each mode chosen beyond the first.) -- Choose one or more -- Target player gains 4 life. -- Untap up to two target creatures. -- Target opponent sacrifices an attacking creature. text=Escalate {2} (Pay this cost for each mode chosen beyond the first.) -- Choose one or more -- Target player gains 4 life. -- Untap up to two target creatures. -- Target opponent sacrifices an attacking creature.
mana={1}{W} mana={1}{W}
type=Instant type=Instant
@@ -9974,7 +9974,7 @@ type=Instant
[/card] [/card]
[card] [card]
name=Branching Evolution name=Branching Evolution
auto=@counteradded(1/1) from(creature):counter(1/1) all(trigger[from]) auto=@counteradded(1/1) from(creature|mybattlefield):target(creature[counter{1/1}]|Battlefield) counter(1/1) notrg
text=If one or more +1/+1 counters would be put on a creature you control, twice that many +1/+1 counters are put on that creature instead. text=If one or more +1/+1 counters would be put on a creature you control, twice that many +1/+1 counters are put on that creature instead.
mana={2}{G} mana={2}{G}
type=Enchantment type=Enchantment
@@ -15354,7 +15354,7 @@ type=Sorcery
name=Collective Nightmare name=Collective Nightmare
other={convoke} name(Convoke) other={convoke} name(Convoke)
target=creature target=creature
auto=-3/-3 auto=-3/-3
text=Convoke (Your creatures can help cast this spell. Each creature you tap while casting this spell pays for {1} or one mana of that creature's color.) -- Target creature gets -3/-3 until end of turn. text=Convoke (Your creatures can help cast this spell. Each creature you tap while casting this spell pays for {1} or one mana of that creature's color.) -- Target creature gets -3/-3 until end of turn.
mana={2}{B} mana={2}{B}
type=Instant type=Instant
@@ -24946,7 +24946,7 @@ subtype=Saga
[card] [card]
name=Elspeth's Smite name=Elspeth's Smite
target=*[attacking;blocking] target=*[attacking;blocking]
auto=exiledeath auto=exiledeath
auto=damage:3 auto=damage:3
text=Elspeth's Smite deals 3 damage to target attacking or blocking creature. If that creature would die this turn, exile it instead. text=Elspeth's Smite deals 3 damage to target attacking or blocking creature. If that creature would die this turn, exile it instead.
mana={W} mana={W}
@@ -26288,7 +26288,6 @@ name=Ethereal Escort
abilities=lifelink abilities=lifelink
auto=name(Creature perpetually gains lifelink) target(*|myhand) transforms((,newability[perpetuallifelink])) forever auto=name(Creature perpetually gains lifelink) target(*|myhand) transforms((,newability[perpetuallifelink])) forever
auto=_ATTACKING_name(Creature perpetually gains lifelink) target(*|myhand) transforms((,newability[perpetuallifelink])) forever auto=_ATTACKING_name(Creature perpetually gains lifelink) target(*|myhand) transforms((,newability[perpetuallifelink])) forever
auto=@Ethereal Escort enters the battlefield or attackschoose a card in your handperpetually) lifelink
text=Lifelink -- Whenever Ethereal Escort enters the battlefield or attacks, choose a card in your hand. It perpetually gains lifelink. text=Lifelink -- Whenever Ethereal Escort enters the battlefield or attacks, choose a card in your hand. It perpetually gains lifelink.
mana={2}{W} mana={2}{W}
type=Creature type=Creature
@@ -31511,7 +31510,7 @@ toughness=2
[card] [card]
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],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
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}
@@ -32521,7 +32520,7 @@ toughness=3
name=Ghitu Fire name=Ghitu Fire
target=creature,player target=creature,player
abilities=flash abilities=flash
restriction=myturnonly restriction=can play sorcery
other={X}{2}{R} name(Cast as Instant) other={X}{2}{R} name(Cast as Instant)
auto=paidmana damage:X auto=paidmana damage:X
auto=alternative damage:X auto=alternative damage:X
@@ -38167,7 +38166,7 @@ name=Heliod, the Radiant Dawn
backside=Heliod, the Warped Eclipse backside=Heliod, the Warped Eclipse
restriction=compare(isflipped)~equalto~0 restriction=compare(isflipped)~equalto~0
anyzone={0}:doubleside(backside) anyzone={0}:doubleside(backside)
auto=moveTo(myhand) target(*[enchantment;-god]|mygraveyard) auto=moveTo(myhand) target(*[enchantment;-god]|mygraveyard)
auto={3}{p(U)}:flip(backside) asSorcery auto={3}{p(U)}:flip(backside) asSorcery
text=When Heliod, the Radiant Dawn enters the battlefield, return target enchantment card that isn't a God from your graveyard to your hand. -- {3}{U/P}: Transform Heliod, the Radiant Dawn. Activate only as a sorcery. ({U/P} can be paid with either {U} or 2 life.) text=When Heliod, the Radiant Dawn enters the battlefield, return target enchantment card that isn't a God from your graveyard to your hand. -- {3}{U/P}: Transform Heliod, the Radiant Dawn. Activate only as a sorcery. ({U/P} can be paid with either {U} or 2 life.)
mana={2}{W}{W} mana={2}{W}{W}
@@ -39053,7 +39052,7 @@ toughness=3
[card] [card]
name=Hobblefiend name=Hobblefiend
abilities=trample abilities=trample
auto={1}{S(other creature|myBattlefield}:counter(1/1) all(this) auto={1}{S(other creature|myBattlefield)}:counter(1/1) all(this)
text=Trample (This creature can deal excess combat damage to the player or planeswalker it's attacking.) -- {1}, Sacrifice another creature: Put a +1/+1 counter on Hobblefiend. text=Trample (This creature can deal excess combat damage to the player or planeswalker it's attacking.) -- {1}, Sacrifice another creature: Put a +1/+1 counter on Hobblefiend.
mana={1}{R} mana={1}{R}
type=Creature type=Creature
@@ -39335,7 +39334,7 @@ auto={T}:add{W}
auto={T}:add{B} auto={T}:add{B}
auto={T}:add{G} auto={T}:add{G}
auto={T}:add{U} auto={T}:add{U}
auto={2}{T}:name)Exile a card) target(*|graveyard) moveto(exile) auto={2}{T}:target(*|graveyard) moveto(exile)
text={T}: Add one mana of any color. -- {2}, {T}: Exile target card from a graveyard. text={T}: Add one mana of any color. -- {2}, {T}: Exile target card from a graveyard.
mana={3} mana={3}
type=Artifact type=Artifact
@@ -46171,7 +46170,7 @@ toughness=4
name=Kor Halberd name=Kor Halberd
auto=teach(creature) 1/1 auto=teach(creature) 1/1
auto=teach(creature) vigilance auto=teach(creature) vigilance
auto={1}:equip auto={1}:equip
text=Equipped creature gets +1/+1 and has vigilance. -- Equip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.) text=Equipped creature gets +1/+1 and has vigilance. -- Equip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.)
mana={W} mana={W}
type=Artifact type=Artifact
@@ -46443,8 +46442,8 @@ toughness=5
[card] [card]
name=Kroxa and Kunoros name=Kroxa and Kunoros
abilities=lifelink,menace,vigilance abilities=lifelink,menace,vigilance
auto=may moveTo(exile) notatarget(<5>*|mygraveyard) and!( target(creature|mygraveyard) moveTo(battlefield) )! auto=may moveTo(exile) notatarget(<5>*|mygraveyard) and!( target(creature|mygraveyard) moveTo(battlefield) )! restriction{type(*|mygraveyard)~morethan~5}
auto=_ATTACKING_may moveTo(exile) notatarget(<5>*|mygraveyard) and!( target(creature|mygraveyard) moveTo(battlefield) )! auto=_ATTACKING_may moveTo(exile) notatarget(<5>*|mygraveyard) and!( target(creature|mygraveyard) moveTo(battlefield) )! restriction{type(*|mygraveyard)~morethan~5}
text=Vigilance, menace, lifelink -- Whenever Kroxa and Kunoros enters the battlefield or attacks, you may exile five cards from your graveyard. When you do, return target creature card from your graveyard to the battlefield. text=Vigilance, menace, lifelink -- Whenever Kroxa and Kunoros enters the battlefield or attacks, you may exile five cards from your graveyard. When you do, return target creature card from your graveyard to the battlefield.
mana={3}{R}{W}{B} mana={3}{R}{W}{B}
type=Legendary Creature type=Legendary Creature
@@ -46461,7 +46460,7 @@ auto=if type(*[-land]|opponenthand)~equalto~0 then if type(land|opponenthand)~mo
auto=if type(*[-land]|opponenthand)~morethan~0 then if type(land|opponenthand)~morethan~0 then ability$!name(Choose one) choice name(Discard non-land card) reject notatarget(*[-land]|myhand) _ choice name(Discard land card) reject notatarget(land|myhand) and!(life:-3)! !$ opponent auto=if type(*[-land]|opponenthand)~morethan~0 then if type(land|opponenthand)~morethan~0 then ability$!name(Choose one) choice name(Discard non-land card) reject notatarget(*[-land]|myhand) _ choice name(Discard land card) reject notatarget(land|myhand) and!(life:-3)! !$ opponent
auto=@combat(attacking) source(this) restriction{type(*|opponenthand)~equalto~0}:life:-3 opponent auto=@combat(attacking) source(this) restriction{type(*|opponenthand)~equalto~0}:life:-3 opponent
auto=@combat(attacking) source(this) restriction{type(*[-land]|opponenthand)~morethan~0,type(land|opponenthand)~equalto~0}:ability$!name(Discard non-land) card name(Discard non-land card) reject notatarget(*[-land]|myhand)!$ opponent auto=@combat(attacking) source(this) restriction{type(*[-land]|opponenthand)~morethan~0,type(land|opponenthand)~equalto~0}:ability$!name(Discard non-land) card name(Discard non-land card) reject notatarget(*[-land]|myhand)!$ opponent
auto=@combat(attacking) source(this) restriction{type(*[-land]|opponenthand)~equalto~0,type(land|opponenthand)~morethan~0}:ability$!name(Discard land card) name(Discard land card) reject notatarget(land|myhand) and!(life:-3)! $ opponent auto=@combat(attacking) source(this) restriction{type(*[-land]|opponenthand)~equalto~0,type(land|opponenthand)~morethan~0}:ability$!name(Discard land card) name(Discard land card) reject notatarget(land|myhand) and!(life:-3)! !$ opponent
auto=@combat(attacking) source(this) restriction{type(*[-land]|opponenthand)~morethan~0,type(land|opponenthand)~morethan~0}:ability$!name(Choose one) choice name(Discard non-land card) reject notatarget(*[-land]|myhand) _ choice name(Discard land card) reject notatarget(land|myhand) and!(life:-3)! !$ opponent auto=@combat(attacking) source(this) restriction{type(*[-land]|opponenthand)~morethan~0,type(land|opponenthand)~morethan~0}:ability$!name(Choose one) choice name(Discard non-land card) reject notatarget(*[-land]|myhand) _ choice name(Discard land card) reject notatarget(land|myhand) and!(life:-3)! !$ opponent
retrace={B}{B}{R}{R}{E(other *|mygraveyard)}{E(other *|mygraveyard)}{E(other *|mygraveyard)}{E(other *|mygraveyard)}{E(other *|mygraveyard)} name(Escape) retrace={B}{B}{R}{R}{E(other *|mygraveyard)}{E(other *|mygraveyard)}{E(other *|mygraveyard)}{E(other *|mygraveyard)}{E(other *|mygraveyard)} name(Escape)
text=When Kroxa enters the battlefield, sacrifice it unless it escaped. -- Whenever Kroxa enters the battlefield or attacks, each opponent discards a card, then each opponent who didn't discard a nonland card this way loses 3 life. -- Escape-{B}{B}{R}{R}, Exile five other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) text=When Kroxa enters the battlefield, sacrifice it unless it escaped. -- Whenever Kroxa enters the battlefield or attacks, each opponent discards a card, then each opponent who didn't discard a nonland card this way loses 3 life. -- Escape-{B}{B}{R}{R}, Exile five other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.)
@@ -52624,7 +52623,7 @@ name=Mirran Banesplitter
abilities=flash abilities=flash
auto=name(Attach to creature) rehook target(creature|mybattlefield) auto=name(Attach to creature) rehook target(creature|mybattlefield)
auto=teach(creature) 2/0 auto=teach(creature) 2/0
auto={3}:equip auto={3}:equip
text=Flash -- When Mirran Banesplitter enters the battlefield, attach it to target creature you control. -- Equipped creature gets +2/+0. -- Equip {3} ({3}: Attach to target creature you control. Equip only as a sorcery.) text=Flash -- When Mirran Banesplitter enters the battlefield, attach it to target creature you control. -- Equipped creature gets +2/+0. -- Equip {3} ({3}: Attach to target creature you control. Equip only as a sorcery.)
mana={R} mana={R}
type=Artifact type=Artifact
@@ -55203,7 +55202,7 @@ name=Neheb, the Worthy
abilities=first strike abilities=first strike
auto=lord(minotaur|mybattlefield) first strike auto=lord(minotaur|mybattlefield) first strike
auto=aslongas(*|myhand) lord(minotaur|mybattlefield) 2/0 <2 auto=aslongas(*|myhand) lord(minotaur|mybattlefield) 2/0 <2
auto=@combatdamaged(player) from(this):ability$!target(*|myhand) reject$! opponent auto=@combatdamaged(player) from(this):ability$!target(*|myhand) reject!$ opponent
auto=@combatdamaged(player) from(this):transforms((,newability[target(*|myhand) reject])) forever auto=@combatdamaged(player) from(this):transforms((,newability[target(*|myhand) reject])) forever
text=First strike -- Other Minotaurs you control have first strike. -- As long as you have one or fewer cards in hand, Minotaurs you control get +2/+0. -- Whenever Neheb, the Worthy deals combat damage to a player, each player discards a card. text=First strike -- Other Minotaurs you control have first strike. -- As long as you have one or fewer cards in hand, Minotaurs you control get +2/+0. -- Whenever Neheb, the Worthy deals combat damage to a player, each player discards a card.
mana={1}{B}{R} mana={1}{B}{R}
@@ -57293,9 +57292,9 @@ toughness=3
[/card] [/card]
[card] [card]
name=Ojutai's Command name=Ojutai's Command
auto=choice name(Choose 1 and 2) target(creature[manacost<=2]|mygraveyard) moveto(mybattlefield && life:4 controller auto=choice name(Choose 1 and 2) target(creature[manacost<=2]|mygraveyard) moveto(mybattlefield) && life:4 controller
auto=choice name(Choose 1 and 3) target(creature[manacost<=2]|mygraveyard) moveto(mybattlefield and!( transforms((,newability[name(Counter spell) fizzle target(*|stack)])) oneshot )! auto=choice name(Choose 1 and 3) target(creature[manacost<=2]|mygraveyard) moveto(mybattlefield) and!( transforms((,newability[name(Counter spell) fizzle target(*|stack)])) oneshot )!
auto=choice name(Choose 1 and 4) target(creature[manacost<=2]|mygraveyard) moveto(mybattlefield && draw:1 controller auto=choice name(Choose 1 and 4) target(creature[manacost<=2]|mygraveyard) moveto(mybattlefield) && draw:1 controller
auto=choice name(Choose 2 and 3) life:4 controller && fizzle target(*|stack) auto=choice name(Choose 2 and 3) life:4 controller && fizzle target(*|stack)
auto=choice name(Choose 2 and 4) life:4 controller && draw:1 controller auto=choice name(Choose 2 and 4) life:4 controller && draw:1 controller
auto=choice name(Choose 3 and 4) fizzle target(*|stack) && draw:1 controller auto=choice name(Choose 3 and 4) fizzle target(*|stack) && draw:1 controller
@@ -59518,7 +59517,7 @@ auto=@each my blockers restriction{type(creature[attacking;vigilance]|myBattlefi
auto=@each my blockers restriction{type(creature[attacking]|myBattlefield)~morethan~1,type(creature[attacking;vigilance]|myBattlefield)~morethan~0}:if type(creature[attacking;haste]|myBattlefield)~morethan~0 then flip(Metzali, Tower of Triumph) auto=@each my blockers restriction{type(creature[attacking]|myBattlefield)~morethan~1,type(creature[attacking;vigilance]|myBattlefield)~morethan~0}:if type(creature[attacking;haste]|myBattlefield)~morethan~0 then flip(Metzali, Tower of Triumph)
auto=@each my blockers restriction{type(creature[attacking]|myBattlefield)~morethan~1,type(creature[attacking;vigilance]|myBattlefield)~morethan~0}:if type(creature[attacking;first strike]|myBattlefield)~morethan~0 then flip(Metzali, Tower of Triumph) auto=@each my blockers restriction{type(creature[attacking]|myBattlefield)~morethan~1,type(creature[attacking;vigilance]|myBattlefield)~morethan~0}:if type(creature[attacking;first strike]|myBattlefield)~morethan~0 then flip(Metzali, Tower of Triumph)
auto=@each my blockers restriction{type(creature[attacking]|myBattlefield)~morethan~1,type(creature[attacking;vigilance]|myBattlefield)~morethan~0}:if type(creature[attacking;double strike]|myBattlefield)~morethan~0 then flip(Metzali, Tower of Triumph) auto=@each my blockers restriction{type(creature[attacking]|myBattlefield)~morethan~1,type(creature[attacking;vigilance]|myBattlefield)~morethan~0}:if type(creature[attacking;double strike]|myBattlefield)~morethan~0 then flip(Metzali, Tower of Triumph)
auto=@each my blockers restriction{type(type(creature[attacking;haste]|myBattlefield)~morethan~1}:flip(Metzali, Tower of Triumph) auto=@each my blockers restriction{type(creature[attacking;haste]|myBattlefield)~morethan~1}:flip(Metzali, Tower of Triumph)
auto=@each my blockers restriction{type(creature[attacking]|myBattlefield)~morethan~1,type(creature[attacking;haste]|myBattlefield)~morethan~0}:if type(creature[attacking;vigilance]|myBattlefield)~morethan~0 then flip(Metzali, Tower of Triumph) auto=@each my blockers restriction{type(creature[attacking]|myBattlefield)~morethan~1,type(creature[attacking;haste]|myBattlefield)~morethan~0}:if type(creature[attacking;vigilance]|myBattlefield)~morethan~0 then flip(Metzali, Tower of Triumph)
auto=@each my blockers restriction{type(creature[attacking]|myBattlefield)~morethan~1,type(creature[attacking;haste]|myBattlefield)~morethan~0}:if type(creature[attacking;first strike]|myBattlefield)~morethan~0 then flip(Metzali, Tower of Triumph) auto=@each my blockers restriction{type(creature[attacking]|myBattlefield)~morethan~1,type(creature[attacking;haste]|myBattlefield)~morethan~0}:if type(creature[attacking;first strike]|myBattlefield)~morethan~0 then flip(Metzali, Tower of Triumph)
auto=@each my blockers restriction{type(creature[attacking]|myBattlefield)~morethan~1,type(creature[attacking;haste]|myBattlefield)~morethan~0}:if type(creature[attacking;double strike]|myBattlefield)~morethan~0 then flip(Metzali, Tower of Triumph) auto=@each my blockers restriction{type(creature[attacking]|myBattlefield)~morethan~1,type(creature[attacking;haste]|myBattlefield)~morethan~0}:if type(creature[attacking;double strike]|myBattlefield)~morethan~0 then flip(Metzali, Tower of Triumph)
@@ -60583,10 +60582,10 @@ type=Instant
[card] [card]
name=Pious Interdiction name=Pious Interdiction
target=creature target=creature
auto=life:2 controller
auto=cantattack auto=cantattack
auto=cantpwattack auto=cantpwattack
auto=cantblock auto=cantblock
auto=life:2 controller
text=Enchant creature -- When Pious Interdiction enters the battlefield, you gain 2 life. -- Enchanted creature can't attack or block. text=Enchant creature -- When Pious Interdiction enters the battlefield, you gain 2 life. -- Enchanted creature can't attack or block.
mana={3}{W} mana={3}{W}
type=Enchantment type=Enchantment
@@ -64375,7 +64374,7 @@ name=Ramosian Greatsword
other={convoke} name(Convoke) other={convoke} name(Convoke)
auto=teach(creature) 3/1 auto=teach(creature) 3/1
auto=teach(creature) trample auto=teach(creature) trample
auto={2}:equip auto={2}:equip
text=Convoke (Your creatures can help cast this spell. Each creature you tap while casting this spell pays for 1 or one mana of that creature's color.) -- Equipped creature gets +3/+1 and has trample. -- Equip {2} ({2}: Attach to target creature you control. Equip only as a sorcery.) text=Convoke (Your creatures can help cast this spell. Each creature you tap while casting this spell pays for 1 or one mana of that creature's color.) -- Equipped creature gets +3/+1 and has trample. -- Equip {2} ({2}: Attach to target creature you control. Equip only as a sorcery.)
mana={4}{R} mana={4}{R}
type=Artifact type=Artifact
@@ -65340,7 +65339,7 @@ type=Instant
name=Reckless Ringleader name=Reckless Ringleader
abilities=haste abilities=haste
auto=name(Creature perpetually gains haste) target(creature|myhand) counter(0/0.1.PerpetualHaste) auto=name(Creature perpetually gains haste) target(creature|myhand) counter(0/0.1.PerpetualHaste)
auto=emblem transforms((,newability[lord(creature[counter{0/0.1.PerpetualHaste}]) transforms((,newability[haste])) forever dontremove auto=emblem transforms((,newability[lord(creature[counter{0/0.1.PerpetualHaste}]) haste)) forever dontremove
text=Haste -- When Reckless Ringleader enters the battlefield, choose a creature card in your hand. It perpetually gains haste. text=Haste -- When Reckless Ringleader enters the battlefield, choose a creature card in your hand. It perpetually gains haste.
mana={R} mana={R}
type=Creature type=Creature
@@ -66211,7 +66210,7 @@ toughness=2
[card] [card]
name=Resculpt name=Resculpt
target=artifact,creature target=artifact,creature
auto=moveto(exile) and!( transforms((,newability[token(Elemental^Creature Elemental^4/4^blue^red)])) oneshot auto=moveto(exile) and!( transforms((,newability[token(Elemental^Creature Elemental^4/4^blue^red)])) )! oneshot
text=Exile target artifact or creature. Its controller creates a 4/4 blue and red Elemental creature token. text=Exile target artifact or creature. Its controller creates a 4/4 blue and red Elemental creature token.
mana={1}{U} mana={1}{U}
type=Instant type=Instant
@@ -69813,7 +69812,7 @@ subtype=Shrine
[/card] [/card]
[card] [card]
name=Sanctum of Calm Waters name=Sanctum of Calm Waters
auto=@each my firstmain:may foreach(*[shrine]|mybattlefield) name(draw a card for each shrine) draw:1 controller && transforms((,newability[target(*|myhand) reject])) oneshot auto=@each my firstmain:may foreach(*[shrine]|mybattlefield) name(draw a card for each shrine) _LOOT_
text=At the beginning of your precombat main phase, you may draw X cards, where X is the number of Shrines you control. If you do, discard a card. text=At the beginning of your precombat main phase, you may draw X cards, where X is the number of Shrines you control. If you do, discard a card.
mana={3}{U} mana={3}{U}
type=Legendary Enchantment type=Legendary Enchantment
@@ -70988,7 +70987,7 @@ toughness=6
name=Scourge of the Skyclaves name=Scourge of the Skyclaves
anyzone=-highestlifetotal/-highestlifetotal cdaactive anyzone=-highestlifetotal/-highestlifetotal cdaactive
kicker={4}{B} kicker={4}{B}
auto=if paid(kicker) then transforms((,newability[life:-halfuplifetotal controller],newability[life:-halfupopponentlifetotal opponent] auto=if paid(kicker) then transforms((,newability[life:-halfuplifetotal controller],newability[life:-halfupopponentlifetotal opponent]))
auto=20/20 auto=20/20
text=Kicker {4}{B} -- When you cast this spell, if it was kicked, each player loses half their life, rounded up. -- Scourge of the Skyclaves's power and toughness are each equal to 20 minus the highest life total among players. text=Kicker {4}{B} -- When you cast this spell, if it was kicked, each player loses half their life, rounded up. -- Scourge of the Skyclaves's power and toughness are each equal to 20 minus the highest life total among players.
mana={1}{B} mana={1}{B}
@@ -71665,7 +71664,7 @@ type=Sorcery
name=Security Bypass name=Security Bypass
target=creature target=creature
auto=teach(creature) transforms((,newability[@combat(attacking) source(this) restriction{type(creature[attacking]|myBattlefield)~lessthan~2}:all(this) unblockable ueot oneShot])) auto=teach(creature) transforms((,newability[@combat(attacking) source(this) restriction{type(creature[attacking]|myBattlefield)~lessthan~2}:all(this) unblockable ueot oneShot]))
auto=teach(creature) transforms((,newability[@combatdamaged(player) from(this):_CONNIVES_])) forever auto=teach(creature) transforms((,newability[@combatdamaged(player) from(this):_CONNIVES_])) forever
text=Enchant creature -- As long as enchanted creature is attacking alone, it can't be blocked. -- Enchanted creature has "Whenever this creature deals combat damage to a player, it connives." (Its controller draws a card, then discards a card. If they discarded a nonland card, they put a +1/+1 counter on this creature.) text=Enchant creature -- As long as enchanted creature is attacking alone, it can't be blocked. -- Enchanted creature has "Whenever this creature deals combat damage to a player, it connives." (Its controller draws a card, then discards a card. If they discarded a nonland card, they put a +1/+1 counter on this creature.)
mana={1}{U} mana={1}{U}
type=Enchantment type=Enchantment
@@ -75458,8 +75457,8 @@ type=Sorcery
name=Skyclave Relic name=Skyclave Relic
abilities=indestructible abilities=indestructible
kicker={3} kicker={3}
auto=if paid(kicker) then all(this) clone and!(transforms((,newability[tap(noevent]))! auto=if paid(kicker) then all(this) clone and!(transforms((,newability[tap(noevent)])))!
auto=if paid(kicker) then all(this) clone and!(transforms((,newability[tap(noevent]))! auto=if paid(kicker) then all(this) clone and!(transforms((,newability[tap(noevent)])))!
auto={T}:ability$! name(Add any color) choice name(Add White) add{W} _ choice name(Add Blue) add{U} _ choice name(Add Black) add{B} _ choice name(Add Red) add{R} _ choice name(Add Green) add{G} !$ controller auto={T}:ability$! name(Add any color) choice name(Add White) add{W} _ choice name(Add Blue) add{U} _ choice name(Add Black) add{B} _ choice name(Add Red) add{R} _ choice name(Add Green) add{G} !$ controller
text=Kicker {3} -- Indestructible -- When Skyclave Relic enters the battlefield, if it was kicked, create two tapped tokens that are copies of Skyclave Relic. -- {T}: Add one mana of any color. text=Kicker {3} -- Indestructible -- When Skyclave Relic enters the battlefield, if it was kicked, create two tapped tokens that are copies of Skyclave Relic. -- {T}: Add one mana of any color.
mana={3} mana={3}
@@ -77900,7 +77899,7 @@ name=Spiked Pit Trap
abilities=flash abilities=flash
auto={5}:name(Roll a d20) target(creature|battlefield) counter(0/0,1,SpikedEffect) && all(this) rolld20 20 winability donothing winabilityend rolld20end auto={5}:name(Roll a d20) target(creature|battlefield) counter(0/0,1,SpikedEffect) && all(this) rolld20 20 winability donothing winabilityend rolld20end
auto=@dierolled(this) from(controller):all(this) sacrifice auto=@dierolled(this) from(controller):all(this) sacrifice
auto=@dierolled(this) from(controller):ability$!name(Deal 5 damage) all(creature[counter{0/0.1.SpikedEffect}]|battlefield) transforms((,newability[damage:5],newability[removeallcounters(0/0.1.SpikedEffect)])) oneshot!controller auto=@dierolled(this) from(controller):ability$!name(Deal 5 damage) all(creature[counter{0/0.1.SpikedEffect}]|battlefield) transforms((,newability[damage:5],newability[removeallcounters(0/0.1.SpikedEffect)])) oneshot!$controller
auto=@dierolled(this) result(10) from(controller):name(Create treasure) token(Treasure Sur) auto=@dierolled(this) result(10) from(controller):name(Create treasure) token(Treasure Sur)
auto=@dierolled(this) result(11) from(controller):name(Create treasure) token(Treasure Sur) auto=@dierolled(this) result(11) from(controller):name(Create treasure) token(Treasure Sur)
auto=@dierolled(this) result(12) from(controller):name(Create treasure) token(Treasure Sur) auto=@dierolled(this) result(12) from(controller):name(Create treasure) token(Treasure Sur)
@@ -78330,7 +78329,7 @@ type=Instant
[/card] [/card]
[card] [card]
name=Spoils of War name=Spoils of War
auto=if type(*[artifact;creature]|opponentgraveyard)~equalto~compare(X) then name(Distribute 1/1 counters) thisforeach(X) ability$!name(Put 1/1 counter) name(Put 1/1 counter) target(creature) counter(1/1)!$ controller auto=if type(*[artifact;creature]|opponentgraveyard)~equalto~compare(X) then name(Distribute 1/1 counters) thisforeach(X) ability$! name(Put 1/1 counter) name(Put 1/1 counter) target(creature) counter(1/1) !$ controller
text=X is the number of artifact and/or creature cards in an opponent's graveyard as you cast Spoils of War. -- Distribute X +1/+1 counters among any number of target creatures. text=X is the number of artifact and/or creature cards in an opponent's graveyard as you cast Spoils of War. -- Distribute X +1/+1 counters among any number of target creatures.
mana={X}{B} mana={X}{B}
type=Sorcery type=Sorcery
@@ -81283,9 +81282,9 @@ toughness=2
[card] [card]
name=Swallow Whole name=Swallow Whole
target=creature[tapped] target=creature[tapped]
auto=moveTo(exile) && counter(1/1) target(creature[tapped]|myBattlefield) auto=moveTo(exile) && ability$!counter(1/1) target(creature[tapped]|myBattlefield)!$ controller
text=As an additional cost to cast this spell, tap an untapped creature you control. -- Exile target tapped creature. Put a +1/+1 counter on the creature tapped to pay this spell's additional cost. text=As an additional cost to cast this spell, tap an untapped creature you control. -- Exile target tapped creature. Put a +1/+1 counter on the creature tapped to pay this spell's additional cost.
mana={W}{T(creature|myBattlefield} mana={W}{T(creature|myBattlefield)}
type=Sorcery type=Sorcery
[/card] [/card]
[card] [card]
@@ -82886,7 +82885,7 @@ type=Instant
[/card] [/card]
[card] [card]
name=Teferi's Protege name=Teferi's Protege
auto={1}{U}{T}:draw:1 controller && transforms((,newability[target(*|myhand) reject])) oneshot auto={1}{U}{T}:_LOOT_
text={1}{U}, {T}: Draw a card, then discard a card. text={1}{U}, {T}: Draw a card, then discard a card.
mana={2}{U} mana={2}{U}
type=Creature type=Creature
@@ -82914,7 +82913,7 @@ type=Instant
[/card] [/card]
[card] [card]
name=Teferi's Tutelage name=Teferi's Tutelage
auto=draw:1 controller && transforms((,newability[target(*|myhand) reject])) oneshot auto=_LOOT_
auto=@drawof(player):deplete:2 opponent auto=@drawof(player):deplete:2 opponent
text=When Teferi's Tutelage enters the battlefield, draw a card, then discard a card. -- Whenever you draw a card, target opponent mills two cards. (They put the top two cards of their library into their graveyard.) text=When Teferi's Tutelage enters the battlefield, draw a card, then discard a card. -- Whenever you draw a card, target opponent mills two cards. (They put the top two cards of their library into their graveyard.)
mana={2}{U} mana={2}{U}
@@ -83245,7 +83244,7 @@ toughness=2
name=Tenured Oilcaster name=Tenured Oilcaster
abilities=menace abilities=menace
auto=aslongas(*|opponentGraveyard) 3/0 >7 auto=aslongas(*|opponentGraveyard) 3/0 >7
auto=@combat(attacking,blocking) source(this):all(player) deplete:1 auto=@combat(attacking,blocking) source(this):all(player) deplete:1
text=Menace (This creature can't be blocked except by two or more creatures.) -- Tenured Oilcaster gets +3/+0 as long as an opponent has eight or more cards in their graveyard. -- Whenever Tenured Oilcaster attacks or blocks, each player mills a card. text=Menace (This creature can't be blocked except by two or more creatures.) -- Tenured Oilcaster gets +3/+0 as long as an opponent has eight or more cards in their graveyard. -- Whenever Tenured Oilcaster attacks or blocks, each player mills a card.
mana={3}{B} mana={3}{B}
type=Creature type=Creature
@@ -87813,7 +87812,7 @@ toughness=4
[/card] [/card]
[card] [card]
name=Two-Headed Giant name=Two-Headed Giant
auto=_ATTACKING_flipacoin winability transforms((,newability[flipacoin winability double strike winabilityend loseability loseabilityend flipend] winabilityend loseability transforms((,newability[flipacoin winability winabilityend loseability menace loseabilityend flipend] loseabilityend flipend auto=_ATTACKING_flipacoin winability transforms((,newability[flipacoin winability double strike winabilityend loseability loseabilityend flipend])) winabilityend loseability transforms((,newability[flipacoin winability winabilityend loseability menace loseabilityend flipend])) loseabilityend flipend
text=Whenever Two-Headed Giant attacks, flip two coins. If both coins come up heads, Two-Headed Giant gains double strike until end of turn. If both coins come up tails, Two-Headed Giant gains menace until end of turn. text=Whenever Two-Headed Giant attacks, flip two coins. If both coins come up heads, Two-Headed Giant gains double strike until end of turn. If both coins come up tails, Two-Headed Giant gains menace until end of turn.
mana={2}{R}{R} mana={2}{R}{R}
type=Creature type=Creature
@@ -88155,7 +88154,7 @@ other={3}{W} name(Entwine)
auto=ifnot paid(alternative) then if type(creature|battlefield)~morethan~0 then choice name(Put 1/1 counter) name(Put 1/1 counter) name(Put 1/1 counter) target(<upto:2>creature|battlefield) counter(1/1) auto=ifnot paid(alternative) then if type(creature|battlefield)~morethan~0 then choice name(Put 1/1 counter) name(Put 1/1 counter) name(Put 1/1 counter) target(<upto:2>creature|battlefield) counter(1/1)
auto=ifnot paid(alternative) then choice name(Proliferate) _PROLIFERATE_ auto=ifnot paid(alternative) then choice name(Proliferate) _PROLIFERATE_
auto=if paid(alternative) then if type(creature|battlefield)~morethan~0 then name(Put 1/1 counter) name(Put 1/1 counter) name(Put 1/1 counter) target(<upto:2>creature|battlefield) counter(1/1) auto=if paid(alternative) then if type(creature|battlefield)~morethan~0 then name(Put 1/1 counter) name(Put 1/1 counter) name(Put 1/1 counter) target(<upto:2>creature|battlefield) counter(1/1)
auto=if paid(alternative) then ability$!name(Proliferate) _PROLIFERATE_ auto=if paid(alternative) then _PROLIFERATE_
text=Choose one -- Put a +1/+1 counter on each of up to two target creatures. -- Proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.) -- Entwine {3}{W} (Choose both if you pay the entwine cost.) text=Choose one -- Put a +1/+1 counter on each of up to two target creatures. -- Proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.) -- Entwine {3}{W} (Choose both if you pay the entwine cost.)
mana={1}{W} mana={1}{W}
type=Instant type=Instant
@@ -90080,27 +90079,27 @@ toughness=3
name=Vengeful Rebirth name=Vengeful Rebirth
auto=moveto(myexile) all(this) auto=moveto(myexile) all(this)
auto=if type(land|mygraveyard)~morethan~0 then choice name(Return land card):target(land|mygraveyard) moveto(myhand) auto=if type(land|mygraveyard)~morethan~0 then choice name(Return land card):target(land|mygraveyard) moveto(myhand)
auto=if type(*[manacost=0]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 0):target(*[manacost=0] moveto(myhand) auto=if type(*[manacost=0]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 0):target(*[manacost=0]|mygraveyard) moveto(myhand)
auto=if type(*[manacost=1]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 1):target(*[manacost=1] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:1!$ controller auto=if type(*[manacost=1]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 1):target(*[manacost=1]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:1!$ controller
auto=if type(*[manacost=2]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 2):target(*[manacost=2] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:2!$ controller auto=if type(*[manacost=2]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 2):target(*[manacost=2]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:2!$ controller
auto=if type(*[manacost=3]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 3):target(*[manacost=3] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:3!$ controller auto=if type(*[manacost=3]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 3):target(*[manacost=3]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:3!$ controller
auto=if type(*[manacost=4]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 4):target(*[manacost=4] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:4!$ controller auto=if type(*[manacost=4]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 4):target(*[manacost=4]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:4!$ controller
auto=if type(*[manacost=5]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 5):target(*[manacost=5] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:5!$ controller auto=if type(*[manacost=5]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 5):target(*[manacost=5]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:5!$ controller
auto=if type(*[manacost=6]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 6):target(*[manacost=6] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:6!$ controller auto=if type(*[manacost=6]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 6):target(*[manacost=6]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:6!$ controller
auto=if type(*[manacost=7]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 7):target(*[manacost=7] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:7!$ controller auto=if type(*[manacost=7]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 7):target(*[manacost=7]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:7!$ controller
auto=if type(*[manacost=8]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 8):target(*[manacost=8] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:8!$ controller auto=if type(*[manacost=8]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 8):target(*[manacost=8]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:8!$ controller
auto=if type(*[manacost=9]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 9):target(*[manacost=9] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:9!$ controller auto=if type(*[manacost=9]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 9):target(*[manacost=9]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:9!$ controller
auto=if type(*[manacost=10]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 10):target(*[manacost=10] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:10!$ controller auto=if type(*[manacost=10]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 10):target(*[manacost=10]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:10!$ controller
auto=if type(*[manacost=11]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 11):target(*[manacost=11] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:11!$ controller auto=if type(*[manacost=11]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 11):target(*[manacost=11]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:11!$ controller
auto=if type(*[manacost=12]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 12):target(*[manacost=12] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:12!$ controller auto=if type(*[manacost=12]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 12):target(*[manacost=12]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:12!$ controller
auto=if type(*[manacost=13]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 13):target(*[manacost=13] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:13!$ controller auto=if type(*[manacost=13]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 13):target(*[manacost=13]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:13!$ controller
auto=if type(*[manacost=14]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 14):target(*[manacost=14] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:14!$ controller auto=if type(*[manacost=14]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 14):target(*[manacost=14]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:14!$ controller
auto=if type(*[manacost=15]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 15):target(*[manacost=15] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:15!$ controller auto=if type(*[manacost=15]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 15):target(*[manacost=15]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:15!$ controller
auto=if type(*[manacost=16]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 16):target(*[manacost=16] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:16!$ controller auto=if type(*[manacost=16]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 16):target(*[manacost=16]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:16!$ controller
auto=if type(*[manacost=17]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 17):target(*[manacost=17] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:17!$ controller auto=if type(*[manacost=17]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 17):target(*[manacost=17]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:17!$ controller
auto=if type(*[manacost=18]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 18):target(*[manacost=18] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:18!$ controller auto=if type(*[manacost=18]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 18):target(*[manacost=18]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:18!$ controller
auto=if type(*[manacost=19]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 19):target(*[manacost=19] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:19!$ controller auto=if type(*[manacost=19]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 19):target(*[manacost=19]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:19!$ controller
auto=if type(*[manacost>=20]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 20):target(*[manacost>=20] moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:20!$ controller auto=if type(*[manacost>=20]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 20):target(*[manacost>=20]|mygraveyard) moveto(myhand) && ability$!name(Damage target creature or player) target(creature,player) damage:20!$ controller
text=Return target card from your graveyard to your hand. If you return a nonland card to your hand this way, Vengeful Rebirth deals damage equal to that card's mana value to target creature or player. -- Exile Vengeful Rebirth. text=Return target card from your graveyard to your hand. If you return a nonland card to your hand this way, Vengeful Rebirth deals damage equal to that card's mana value to target creature or player. -- Exile Vengeful Rebirth.
mana={4}{R}{G} mana={4}{R}{G}
type=Sorcery type=Sorcery
@@ -90651,7 +90650,7 @@ toughness=5
[card] [card]
name=Vigorspore Wurm name=Vigorspore Wurm
abilities=oneblocker abilities=oneblocker
auto=target(creature) transforms((,newability[vigilance],newability[type:creature:mygraveyard/type:creature:mygraveyard]) ueot auto=target(creature) transforms((,newability[vigilance],newability[type:creature:mygraveyard/type:creature:mygraveyard])) ueot
text=Undergrowth - When Vigorspore Wurm enters the battlefield, target creature gains vigilance and gets +X/+X until end of turn, where X is the number of creature cards in your graveyard. -- Vigorspore Wurm can't be blocked by more than one creature. text=Undergrowth - When Vigorspore Wurm enters the battlefield, target creature gains vigilance and gets +X/+X until end of turn, where X is the number of creature cards in your graveyard. -- Vigorspore Wurm can't be blocked by more than one creature.
mana={5}{G} mana={5}{G}
type=Creature type=Creature
@@ -91105,7 +91104,7 @@ toughness=3
[card] [card]
name=Vivien's Invocation name=Vivien's Invocation
aicode=activate target(creature[zpos<=7]|mylibrary) moveto(mybattlefield) and!(transforms((,newability[target(creature|opponentbattlefield) dynamicability<!powerstrike!>])) oneshot)! aicode=activate target(creature[zpos<=7]|mylibrary) moveto(mybattlefield) and!(transforms((,newability[target(creature|opponentbattlefield) dynamicability<!powerstrike!>])) oneshot)!
auto=reveal:7 optionone name(Get Creature) target(<1>creature|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) bottomoflibrary )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(transforms((,newability[target(creature|opponentbattlefield) dynamicability<!powerstrike!>])) oneshot)! afterrevealedend revealend auto=reveal:7 optionone name(Get Creature) target(<1>creature|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) bottomoflibrary )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(transforms((,newability[target(creature|opponentbattlefield) dynamicability<!powerstrike!>])) oneshot)! )! afterrevealedend revealend
text=Look at the top seven cards of your library. You may put a creature card from among them onto the battlefield. Put the rest on the bottom of your library in a random order. When a creature is put onto the battlefield this way, it deals damage equal to its power to target creature an opponent controls. text=Look at the top seven cards of your library. You may put a creature card from among them onto the battlefield. Put the rest on the bottom of your library in a random order. When a creature is put onto the battlefield this way, it deals damage equal to its power to target creature an opponent controls.
mana={5}{G}{G} mana={5}{G}{G}
type=Sorcery type=Sorcery
@@ -92712,7 +92711,7 @@ type=Artifact
[/card] [/card]
[card] [card]
name=Weaponize the Monsters name=Weaponize the Monsters
auto={2}{S(creature|myBattlefield}:damage:2 target(player,creature,planeswalker) auto={2}{S(creature|myBattlefield)}:damage:2 target(player,creature,planeswalker)
text={2}, Sacrifice a creature: Weaponize the Monsters deals 2 damage to any target. text={2}, Sacrifice a creature: Weaponize the Monsters deals 2 damage to any target.
mana={R} mana={R}
type=Enchantment type=Enchantment
@@ -95679,4 +95678,4 @@ type=Legendary Creature
subtype=Devil subtype=Devil
power=2 power=2
toughness=3 toughness=3
[/card] [/card]
+3 -3
View File
@@ -7712,7 +7712,7 @@ toughness=3
name=Aven Shrine name=Aven Shrine
auto=lord(*|opponentgraveyard) transforms((,newability[@movedTo(*[share!name!]|mystack):life:1 controller])) auto=lord(*|opponentgraveyard) transforms((,newability[@movedTo(*[share!name!]|mystack):life:1 controller]))
auto=lord(*|opponentgraveyard) transforms((,newability[@movedTo(*[share!name!]|opponentstack):life:1 opponent])) auto=lord(*|opponentgraveyard) transforms((,newability[@movedTo(*[share!name!]|opponentstack):life:1 opponent]))
auto=lord(*|mygraveyard) transforms((,newability[@movedTo(*[share!name!]|mystack):life:1 controller)])) auto=lord(*|mygraveyard) transforms((,newability[@movedTo(*[share!name!]|mystack):life:1 controller]))
auto=lord(*|mygraveyard) transforms((,newability[@movedTo(*[share!name!]|opponentstack):life:1 opponent])) auto=lord(*|mygraveyard) transforms((,newability[@movedTo(*[share!name!]|opponentstack):life:1 opponent]))
text=Whenever a player casts a spell, that player gains X life, where X is the number of cards in all graveyards with the same name as that spell. text=Whenever a player casts a spell, that player gains X life, where X is the number of cards in all graveyards with the same name as that spell.
mana={1}{W}{W} mana={1}{W}{W}
@@ -44982,7 +44982,7 @@ toughness=2
[card] [card]
name=Geier Reach Sanitarium name=Geier Reach Sanitarium
auto={T}:Add{C} auto={T}:Add{C}
auto={2}{T}:name(draw & discard) draw:1 all(player) && transforms((,newability[ability$!notatarget(*|myhand) reject)!$ controller],newability[ability$!notatarget(*|myhand) reject)!$ opponent])) all(this) auto={2}{T}:name(draw & discard) draw:1 all(player) && transforms((,newability[ability$!notatarget(*|myhand) reject!$ controller],newability[ability$!notatarget(*|myhand) reject!$ opponent])) all(this)
text={T}: Add {C} to your mana pool. -- {2}, {T}: Each player draws a card, then discards a card. text={T}: Add {C} to your mana pool. -- {2}, {T}: Each player draws a card, then discards a card.
type=Legendary Land type=Legendary Land
[/card] [/card]
@@ -61561,7 +61561,7 @@ toughness=2
[/card] [/card]
[card] [card]
name=Kami of the Tended Garden name=Kami of the Tended Garden
auto=upcost[{G}] sacrifice) auto=upcost[{G}] sacrifice
auto=_DIES_may moveTo(myhand) target(spirit[manacost<=3]|mygraveyard) auto=_DIES_may moveTo(myhand) target(spirit[manacost<=3]|mygraveyard)
text=At the beginning of your upkeep, sacrifice Kami of the Tended Garden unless you pay {G}. -- Soulshift 3 (When this dies, you may return target Spirit card with mana value 3 or less from your graveyard to your hand.) text=At the beginning of your upkeep, sacrifice Kami of the Tended Garden unless you pay {G}. -- Soulshift 3 (When this dies, you may return target Spirit card with mana value 3 or less from your graveyard to your hand.)
mana={3}{G} mana={3}{G}
@@ -724,7 +724,7 @@ name=Domri, Chaos Bringer
auto=counter(0/0,5,loyalty) auto=counter(0/0,5,loyalty)
aicode=activate moveto(myHand) target(creature[zpos=2]|myLibrary) aicode=activate moveto(myHand) target(creature[zpos=2]|myLibrary)
auto={C(0/0,1,Loyalty)}:name(+1: Add red if its a creature, Riot) add{R} && if type(creature|myStack)~morethan~0 then ability$!name(Choose one) choice name(Put a +1/1 counter) counter(1/1) target(creature[fresh]|myBattlefield) _ choice name(Gain Haste) haste target(creature[fresh]|myBattlefield)!$ controller auto={C(0/0,1,Loyalty)}:name(+1: Add red if its a creature, Riot) add{R} && if type(creature|myStack)~morethan~0 then ability$!name(Choose one) choice name(Put a +1/1 counter) counter(1/1) target(creature[fresh]|myBattlefield) _ choice name(Gain Haste) haste target(creature[fresh]|myBattlefield)!$ controller
auto={C(0/0,1,Loyalty)}:name(+1: Add green if its a creature, Riot) add{G} && if type(creature|myStack)~morethan~0 then ability$!name(Choose one) choice name(Put a +1/1 counter) counter(1/1) target(creature[fresh]|myBattlefield) _ choice name(Gain Haste) haste target(creature[fresh]|myBattlefield)!$ controller !$ controller auto={C(0/0,1,Loyalty)}:name(+1: Add green if its a creature, Riot) add{G} && if type(creature|myStack)~morethan~0 then ability$!name(Choose one) choice name(Put a +1/1 counter) counter(1/1) target(creature[fresh]|myBattlefield) _ choice name(Gain Haste) haste target(creature[fresh]|myBattlefield)!$ controller
auto={C(0/0,-3,Loyalty)}:name(-3: Reveal four and put up to two creature) name(Look your Library) reveal:4 optionone name(Get a card) target(<upto:2>*[creature]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend auto={C(0/0,-3,Loyalty)}:name(-3: Reveal four and put up to two creature) name(Look your Library) reveal:4 optionone name(Get a card) target(<upto:2>*[creature]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend
auto={C(0/0,-8,Loyalty)}:name(-8: Emblem: "Each end of turn create a 4/4 Beast) emblem transforms((,newability[@each endofturn: token(Beast,Creature Beast,4/4,red,green,trample)])) forever dontrevome auto={C(0/0,-8,Loyalty)}:name(-8: Emblem: "Each end of turn create a 4/4 Beast) emblem transforms((,newability[@each endofturn: token(Beast,Creature Beast,4/4,red,green,trample)])) forever dontrevome
text=+1: Add {R} or {G}. If that mana is spent on a creature spell, it gains riot. (It enters the battlefield with your choice of a +1/+1 counter or haste.) -- 3: Look at the top four cards of your library. You may reveal up to two creature cards from among them and put them into your hand. Put the rest on the bottom of your library in a random order. -- 8: You get an emblem with "At the beginning of each end step, create a 4/4 red and green Beast creature token with trample." text=+1: Add {R} or {G}. If that mana is spent on a creature spell, it gains riot. (It enters the battlefield with your choice of a +1/+1 counter or haste.) -- 3: Look at the top four cards of your library. You may reveal up to two creature cards from among them and put them into your hand. Put the rest on the bottom of your library in a random order. -- 8: You get an emblem with "At the beginning of each end step, create a 4/4 red and green Beast creature token with trample."
@@ -2087,7 +2087,7 @@ subtype=Bolas
[card] [card]
name=Nicol Bolas, the Deceiver name=Nicol Bolas, the Deceiver
auto=counter(0/0,5,loyalty) auto=counter(0/0,5,loyalty)
auto={C(0/0,3,Loyalty)}:name(+3: Loses 3 life unless discard or sacrifices permanent) ability$!choice life:-3 controller choice sacrifice notatarget(*[-land]|mybattlefield) choice target(*|myhand) reject$! opponent auto={C(0/0,3,Loyalty)}:name(+3: Loses 3 life unless discard or sacrifices permanent) ability$!choice life:-3 controller choice sacrifice notatarget(*[-land]|mybattlefield) choice target(*|myhand) reject!$ opponent
auto={C(0/0,-3,Loyalty)}:name(-3: Destroy target creature and draw a card) destroy target(creature) and!(draw:1 controller)! auto={C(0/0,-3,Loyalty)}:name(-3: Destroy target creature and draw a card) destroy target(creature) and!(draw:1 controller)!
auto={C(0/0,-11,Loyalty)}:name(-11: Deals 7 damage and draw 7) damage:7 opponent and!(draw:7 controller)! auto={C(0/0,-11,Loyalty)}:name(-11: Deals 7 damage and draw 7) damage:7 opponent and!(draw:7 controller)!
text=+3: Each opponent loses 3 life unless that player sacrifices a nonland permanent or discards a card. -- -3: Destroy target creature. Draw a card. -- -11: Nicol Bolas, the Deceiver deals 7 damage to each opponent. You draw seven cards. text=+3: Each opponent loses 3 life unless that player sacrifices a nonland permanent or discards a card. -- -3: Destroy target creature. Draw a card. -- -11: Nicol Bolas, the Deceiver deals 7 damage to each opponent. You draw seven cards.
@@ -2247,7 +2247,7 @@ abilities=canbecommander
auto=counter(0/0,3,loyalty) auto=counter(0/0,3,loyalty)
auto={C(0/0,2,Loyalty)}:name(+2: Each opponent loses 1 life...) life:-1 opponent && life:1 controller auto={C(0/0,2,Loyalty)}:name(+2: Each opponent loses 1 life...) life:-1 opponent && life:1 controller
auto={C(0/0,-2,Loyalty)}:name(-2: Create a 5/5 black Demon with flying...) token(Demon,Creature Demon,5/5,black,flying) && life:-2 controller auto={C(0/0,-2,Loyalty)}:name(-2: Create a 5/5 black Demon with flying...) token(Demon,Creature Demon,5/5,black,flying) && life:-2 controller
auto={C(0/0,-8,Loyalty)}:name(-8: Emblem: "{1}{B}, sacrifice a creature: Draw X and gain X life") emblem transforms((,newability[{1}{B}{S(creature|myBattlefield}:draw:storedpower && life:storedpower])) forever dontremove auto={C(0/0,-8,Loyalty)}:name(-8: Emblem: "{1}{B}, sacrifice a creature: Draw X and gain X life") emblem transforms((,newability[{1}{B}{S(creature|myBattlefield)}:draw:storedpower && life:storedpower])) forever dontremove
text=+2: Each opponent loses 1 life. You gain life equal to the life lost this way. -- -2: Create a 5/5 black Demon creature token with flying. You lose 2 life. -- -8: You get an emblem with "{1}{B}, Sacrifice a creature: You gain X life and draw X cards, where X is the sacrificed creature's power." -- Ob Nixilis of the Black Oath can be your commander. text=+2: Each opponent loses 1 life. You gain life equal to the life lost this way. -- -2: Create a 5/5 black Demon creature token with flying. You lose 2 life. -- -8: You get an emblem with "{1}{B}, Sacrifice a creature: You gain X life and draw X cards, where X is the sacrificed creature's power." -- Ob Nixilis of the Black Oath can be your commander.
mana={3}{B}{B} mana={3}{B}{B}
type=Legendary Planeswalker type=Legendary Planeswalker
@@ -2729,7 +2729,7 @@ subtype=Teferi
[card] [card]
name=Teferi, Master of Time name=Teferi, Master of Time
auto=counter(0/0,3,loyalty) auto=counter(0/0,3,loyalty)
auto={C(0/0,1,Loyalty)}:name(+1: Draw a card and discard one) draw:1 controller && transforms((,newability[target(*|myhand) reject])) oneshot auto={C(0/0,1,Loyalty)}:name(+1: Draw a card and discard one) _LOOT_
auto={C(0/0,-3,Loyalty)}:name(-3: Target creature you don't control phases out) target(creature|opponentBattlefield) phaseout auto={C(0/0,-3,Loyalty)}:name(-3: Target creature you don't control phases out) target(creature|opponentBattlefield) phaseout
auto={C(0/0,-10,Loyalty)}:name(-10: Take two extra turns) turns:+2 controller auto={C(0/0,-10,Loyalty)}:name(-10: Take two extra turns) turns:+2 controller
text=You may activate loyalty abilities of Teferi, Master of Time on any player's turn any time you could cast an instant. -- +1: Draw a card, then discard a card. -- 3: Target creature you don't control phases out. (Treat it and anything attached to it as though they don't exist until its controller's next turn.) -- 10: Take two extra turns after this one. text=You may activate loyalty abilities of Teferi, Master of Time on any player's turn any time you could cast an instant. -- +1: Draw a card, then discard a card. -- 3: Target creature you don't control phases out. (Treat it and anything attached to it as though they don't exist until its controller's next turn.) -- 10: Take two extra turns after this one.
@@ -2864,7 +2864,7 @@ name=Tezzeret, Cruel Machinist
auto=counter(0/0,4,loyalty) auto=counter(0/0,4,loyalty)
auto={C(0/0,1,Loyalty)}:name(+1: Draw a card) draw:1 controller auto={C(0/0,1,Loyalty)}:name(+1: Draw a card) draw:1 controller
auto={C(0/0,0,Loyalty)}:name(+0: Target artifact becomes 5/5) target(artifact) transforms((Artifact Creature,setpower=5,settoughness=5)) uynt auto={C(0/0,0,Loyalty)}:name(+0: Target artifact becomes 5/5) target(artifact) transforms((Artifact Creature,setpower=5,settoughness=5)) uynt
auto={C(0/0,-7,Loyalty)}:name(-7: Manifest any number of cards form your hand) manifest notatarget(<anyamount>*|myHand) and!( transforms((Artifact Creature,setpower=5,settoughness=5) forever )! auto={C(0/0,-7,Loyalty)}:name(-7: Manifest any number of cards form your hand) manifest notatarget(<anyamount>*|myHand) and!( transforms((Artifact Creature,setpower=5,settoughness=5)) forever )!
text=+1: Draw a card. -- 0: Until your next turn, target artifact you control becomes a 5/5 creature in addition to its other types. -- 7: Put any number of cards from your hand onto the battlefield face down. They're 5/5 artifact creatures. text=+1: Draw a card. -- 0: Until your next turn, target artifact you control becomes a 5/5 creature in addition to its other types. -- 7: Put any number of cards from your hand onto the battlefield face down. They're 5/5 artifact creatures.
mana={4}{U}{U} mana={4}{U}{U}
type=Legendary Planeswalker type=Legendary Planeswalker