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:
@@ -596,7 +596,7 @@ name=Aerial Boost
|
||||
other={convoke} name(Convoke)
|
||||
target=creature
|
||||
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.
|
||||
mana={1}{W}
|
||||
type=Instant
|
||||
@@ -3245,7 +3245,7 @@ name=Archangel Elspeth
|
||||
auto=counter(0/0,4,loyalty)
|
||||
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,-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.
|
||||
mana={2}{W}{W}
|
||||
type=Legendary Planeswalker
|
||||
@@ -3313,7 +3313,7 @@ toughness=5
|
||||
name=Archfiend of Spite
|
||||
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)
|
||||
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.)
|
||||
mana={5}{B}{B}
|
||||
type=Creature
|
||||
@@ -6437,7 +6437,7 @@ name=Beamtown Beatstick
|
||||
auto=teach(creature) 1/0
|
||||
auto=teach(creature) menace
|
||||
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.)
|
||||
mana={R}
|
||||
type=Artifact
|
||||
@@ -7586,7 +7586,7 @@ abilities=flash
|
||||
auto=rehook target(creature|myBattlefield)
|
||||
auto=indestructible ueot
|
||||
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.)
|
||||
mana={1}{B}
|
||||
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=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(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.
|
||||
mana={1}{W}
|
||||
type=Instant
|
||||
@@ -9974,7 +9974,7 @@ type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
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.
|
||||
mana={2}{G}
|
||||
type=Enchantment
|
||||
@@ -15354,7 +15354,7 @@ type=Sorcery
|
||||
name=Collective Nightmare
|
||||
other={convoke} name(Convoke)
|
||||
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.
|
||||
mana={2}{B}
|
||||
type=Instant
|
||||
@@ -24946,7 +24946,7 @@ subtype=Saga
|
||||
[card]
|
||||
name=Elspeth's Smite
|
||||
target=*[attacking;blocking]
|
||||
auto=exiledeath
|
||||
auto=exiledeath
|
||||
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.
|
||||
mana={W}
|
||||
@@ -26288,7 +26288,6 @@ name=Ethereal Escort
|
||||
abilities=lifelink
|
||||
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=@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.
|
||||
mana={2}{W}
|
||||
type=Creature
|
||||
@@ -31511,7 +31510,7 @@ toughness=2
|
||||
[card]
|
||||
name=Gale's Redirection
|
||||
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
|
||||
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}
|
||||
@@ -32521,7 +32520,7 @@ toughness=3
|
||||
name=Ghitu Fire
|
||||
target=creature,player
|
||||
abilities=flash
|
||||
restriction=myturnonly
|
||||
restriction=can play sorcery
|
||||
other={X}{2}{R} name(Cast as Instant)
|
||||
auto=paidmana damage:X
|
||||
auto=alternative damage:X
|
||||
@@ -38167,7 +38166,7 @@ name=Heliod, the Radiant Dawn
|
||||
backside=Heliod, the Warped Eclipse
|
||||
restriction=compare(isflipped)~equalto~0
|
||||
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
|
||||
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}
|
||||
@@ -39053,7 +39052,7 @@ toughness=3
|
||||
[card]
|
||||
name=Hobblefiend
|
||||
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.
|
||||
mana={1}{R}
|
||||
type=Creature
|
||||
@@ -39335,7 +39334,7 @@ auto={T}:add{W}
|
||||
auto={T}:add{B}
|
||||
auto={T}:add{G}
|
||||
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.
|
||||
mana={3}
|
||||
type=Artifact
|
||||
@@ -46171,7 +46170,7 @@ toughness=4
|
||||
name=Kor Halberd
|
||||
auto=teach(creature) 1/1
|
||||
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.)
|
||||
mana={W}
|
||||
type=Artifact
|
||||
@@ -46443,8 +46442,8 @@ toughness=5
|
||||
[card]
|
||||
name=Kroxa and Kunoros
|
||||
abilities=lifelink,menace,vigilance
|
||||
auto=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) )!
|
||||
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) )! 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.
|
||||
mana={3}{R}{W}{B}
|
||||
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=@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)~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
|
||||
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.)
|
||||
@@ -52624,7 +52623,7 @@ name=Mirran Banesplitter
|
||||
abilities=flash
|
||||
auto=name(Attach to creature) rehook target(creature|mybattlefield)
|
||||
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.)
|
||||
mana={R}
|
||||
type=Artifact
|
||||
@@ -55203,7 +55202,7 @@ name=Neheb, the Worthy
|
||||
abilities=first strike
|
||||
auto=lord(minotaur|mybattlefield) first strike
|
||||
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
|
||||
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}
|
||||
@@ -57293,9 +57292,9 @@ toughness=3
|
||||
[/card]
|
||||
[card]
|
||||
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 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 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 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 4) life:4 controller && 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;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(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;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)
|
||||
@@ -60583,10 +60582,10 @@ type=Instant
|
||||
[card]
|
||||
name=Pious Interdiction
|
||||
target=creature
|
||||
auto=life:2 controller
|
||||
auto=cantattack
|
||||
auto=cantpwattack
|
||||
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.
|
||||
mana={3}{W}
|
||||
type=Enchantment
|
||||
@@ -64375,7 +64374,7 @@ name=Ramosian Greatsword
|
||||
other={convoke} name(Convoke)
|
||||
auto=teach(creature) 3/1
|
||||
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.)
|
||||
mana={4}{R}
|
||||
type=Artifact
|
||||
@@ -65340,7 +65339,7 @@ type=Instant
|
||||
name=Reckless Ringleader
|
||||
abilities=haste
|
||||
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.
|
||||
mana={R}
|
||||
type=Creature
|
||||
@@ -66211,7 +66210,7 @@ toughness=2
|
||||
[card]
|
||||
name=Resculpt
|
||||
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.
|
||||
mana={1}{U}
|
||||
type=Instant
|
||||
@@ -69813,7 +69812,7 @@ subtype=Shrine
|
||||
[/card]
|
||||
[card]
|
||||
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.
|
||||
mana={3}{U}
|
||||
type=Legendary Enchantment
|
||||
@@ -70988,7 +70987,7 @@ toughness=6
|
||||
name=Scourge of the Skyclaves
|
||||
anyzone=-highestlifetotal/-highestlifetotal cdaactive
|
||||
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
|
||||
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}
|
||||
@@ -71665,7 +71664,7 @@ type=Sorcery
|
||||
name=Security Bypass
|
||||
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[@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.)
|
||||
mana={1}{U}
|
||||
type=Enchantment
|
||||
@@ -75458,8 +75457,8 @@ type=Sorcery
|
||||
name=Skyclave Relic
|
||||
abilities=indestructible
|
||||
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
|
||||
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}
|
||||
@@ -77900,7 +77899,7 @@ name=Spiked Pit Trap
|
||||
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=@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(11) 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]
|
||||
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.
|
||||
mana={X}{B}
|
||||
type=Sorcery
|
||||
@@ -81283,9 +81282,9 @@ toughness=2
|
||||
[card]
|
||||
name=Swallow Whole
|
||||
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.
|
||||
mana={W}{T(creature|myBattlefield}
|
||||
mana={W}{T(creature|myBattlefield)}
|
||||
type=Sorcery
|
||||
[/card]
|
||||
[card]
|
||||
@@ -82886,7 +82885,7 @@ type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
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.
|
||||
mana={2}{U}
|
||||
type=Creature
|
||||
@@ -82914,7 +82913,7 @@ type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
name=Teferi's Tutelage
|
||||
auto=draw:1 controller && transforms((,newability[target(*|myhand) reject])) oneshot
|
||||
auto=_LOOT_
|
||||
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.)
|
||||
mana={2}{U}
|
||||
@@ -83245,7 +83244,7 @@ toughness=2
|
||||
name=Tenured Oilcaster
|
||||
abilities=menace
|
||||
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.
|
||||
mana={3}{B}
|
||||
type=Creature
|
||||
@@ -87813,7 +87812,7 @@ toughness=4
|
||||
[/card]
|
||||
[card]
|
||||
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.
|
||||
mana={2}{R}{R}
|
||||
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 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 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.)
|
||||
mana={1}{W}
|
||||
type=Instant
|
||||
@@ -90080,27 +90079,27 @@ toughness=3
|
||||
name=Vengeful Rebirth
|
||||
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(*[manacost=0]|mygraveyard)~morethan~0 then choice name(Return non land card with manacost 0):target(*[manacost=0] 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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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=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>=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=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]|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]|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]|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]|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]|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]|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]|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]|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]|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]|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]|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]|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]|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]|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]|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]|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]|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]|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]|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]|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.
|
||||
mana={4}{R}{G}
|
||||
type=Sorcery
|
||||
@@ -90651,7 +90650,7 @@ toughness=5
|
||||
[card]
|
||||
name=Vigorspore Wurm
|
||||
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.
|
||||
mana={5}{G}
|
||||
type=Creature
|
||||
@@ -91105,7 +91104,7 @@ toughness=3
|
||||
[card]
|
||||
name=Vivien's Invocation
|
||||
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.
|
||||
mana={5}{G}{G}
|
||||
type=Sorcery
|
||||
@@ -92712,7 +92711,7 @@ type=Artifact
|
||||
[/card]
|
||||
[card]
|
||||
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.
|
||||
mana={R}
|
||||
type=Enchantment
|
||||
@@ -95679,4 +95678,4 @@ type=Legendary Creature
|
||||
subtype=Devil
|
||||
power=2
|
||||
toughness=3
|
||||
[/card]
|
||||
[/card]
|
||||
Reference in New Issue
Block a user