Added the possibility to specify a name for Kicker cost and Retrace cost with "name()" keyword, implemented Escape cost with Retrace cost, implemented Fuse cost with Kicker cost, fixed several primitives.

This commit is contained in:
Vittorio Alfieri
2021-02-15 18:41:59 +01:00
parent f383d0b8a5
commit 60ca9e05c0
7 changed files with 190 additions and 139 deletions

View File

@@ -965,10 +965,10 @@ toughness=3
[card] [card]
name=Alive // Well name=Alive // Well
other={W} name(Well) other={W} name(Well)
kicker={W} kicker={W} name(Fuse)
auto=if paid (alternative) then life:twicetype:creature:mybattlefield auto=if paid(alternative) then life:twicetype:creature:mybattlefield
auto=ifnot paid(alternative) then token(Centaur,Creature Centaur,3/3,green) auto=ifnot paid(alternative) then token(Centaur,Creature Centaur,3/3,green)
auto=kicker ifnot paid(alternative) then life:twicetype:creature:mybattlefield auto=if paid(kicker) then ability$!name(Gain life) name(Gain life) life:twicetype:creature:mybattlefield!$ controller
text=Put a 3/3 green Centaur creature token onto the battlefield. // You gain 2 life for each creature you control. -- Fuse (You may cast one or both halves of this card from your hand.) text=Put a 3/3 green Centaur creature token onto the battlefield. // You gain 2 life for each creature you control. -- Fuse (You may cast one or both halves of this card from your hand.)
mana={3}{G} mana={3}{G}
type=Sorcery type=Sorcery
@@ -2495,10 +2495,10 @@ toughness=2
name=Armed // Dangerous name=Armed // Dangerous
target=creature target=creature
other={3}{G} name(Dangerous) other={3}{G} name(Dangerous)
kicker={3}{G} kicker={3}{G} name(Fuse)
auto=if paid (alternative) then lure ueot auto=if paid(alternative) then transforms((,newability[lure])) ueot
auto=ifnot paid(alternative) then 1/1 ueot && first strike ueot auto=ifnot paid(alternative) then transforms((,newability[1/1],newability[double strike])) ueot
auto=kicker ifnot paid(alternative) then lure ueot auto=if paid(kicker) then ability$!name(Creature blocked by all) name(Creature blocked by all) target(creature|battlefield) transforms((,newability[lure])) ueot!$ controller
text=Target creature gets +1/+1 and gains double strike until end of turn. // All creatures able to block target creature this turn do so. -- Fuse (You may cast one or both halves of this card from your hand.) text=Target creature gets +1/+1 and gains double strike until end of turn. // All creatures able to block target creature this turn do so. -- Fuse (You may cast one or both halves of this card from your hand.)
mana={1}{R} mana={1}{R}
type=Sorcery type=Sorcery
@@ -2805,7 +2805,7 @@ type=Instant
[card] [card]
name=Assault // Battery name=Assault // Battery
other={3}{G} name(Battery) other={3}{G} name(Battery)
auto=if paid (alternative) then token(Elephant,creature elephant, 3/3,green) auto=if paid(alternative) then token(Elephant,Creature Elephant,3/3,green)
auto=ifnot paid(alternative) then damage:2 target(creature,player) auto=ifnot paid(alternative) then damage:2 target(creature,player)
text=Assault deals 2 damage to target creature or player. // Put a 3/3 green Elephant creature token onto the battlefield. text=Assault deals 2 damage to target creature or player. // Put a 3/3 green Elephant creature token onto the battlefield.
mana={R} mana={R}
@@ -4357,10 +4357,10 @@ toughness=1
[card] [card]
name=Beck // Call name=Beck // Call
other={4}{W}{U} name(Call) other={4}{W}{U} name(Call)
kicker={4}{W}{U} kicker={4}{W}{U} name(Fuse)
auto=if paid (alternative) then create(Bird:Creature Bird:1/1:white:flying)*4 auto=if paid(alternative) then token(Bird,Creature Bird,1/1,white,flying)*4
auto=ifnot paid(alternative) then may draw:1 auto=if paid(kicker) then ability$!name(Create 4 birds) name(Create 4 birds) token(Bird,Creature Bird,1/1,white,flying)*4!$ controller
auto=kicker ifnot paid(alternative) then create(Bird:Creature Bird:1/1:white:flying)*4 auto=ifnot paid(alternative) then emblem transforms((,newability[@movedto(creature|battlefield):may name(Draw 1 card) draw:1 controller])) ueot
text=Whenever a creature enters the battlefield this turn, you may draw a card. // Put four 1/1 white Bird creature tokens with flying onto the battlefield. -- -- Fuse (You may cast one or both halves of this card from your hand.) text=Whenever a creature enters the battlefield this turn, you may draw a card. // Put four 1/1 white Bird creature tokens with flying onto the battlefield. -- -- Fuse (You may cast one or both halves of this card from your hand.)
mana={G}{U} mana={G}{U}
type=Sorcery type=Sorcery
@@ -6420,11 +6420,13 @@ toughness=3
[/card] [/card]
[card] [card]
name=Breaking // Entering name=Breaking // Entering
auto=choice {U}{B}:deplete:8 target(player) other={4}{B}{R} name(Entering)
auto=choice {4}{B}{R}:target(creature|graveyard) moveTo(mybattlefield) && transforms((,newability,haste)) ueot kicker={4}{B}{R} name(Fuse)
auto=choice {U}{B}{4}{B}{R}:deplete:8 target(player) then target(creature|graveyard) moveTo(mybattlefield) && transforms((,newability,haste)) ueot auto=if paid(alternative) then ability$!name(Put in play) name(Put in play) target(creature|graveyard) moveTo(mybattlefield) and!( transforms((,newability[haste])) ueot )! !$ controller
auto=ifnot paid(alternative) then ability$!name(Choose one) choice name(Opponent mills 8 cards) deplete:8 opponent _ choice name(You mill 8 cards) deplete:8 controller !$ controller
auto=if paid(kicker) then ability$!name(Put in play) name(Put in play) target(creature|graveyard) moveTo(mybattlefield) and!( transforms((,newability[haste])) ueot )! !$ controller
text=Target player puts the top eight cards of their library into their graveyard. -- Put a creature card from a graveyard onto the battlefield under your control. It gains haste until end of turn. -- Fuse (You may cast one or both halves of this card from your hand.) text=Target player puts the top eight cards of their library into their graveyard. -- Put a creature card from a graveyard onto the battlefield under your control. It gains haste until end of turn. -- Fuse (You may cast one or both halves of this card from your hand.)
mana={0} mana={U}{B}
type=Sorcery type=Sorcery
[/card] [/card]
[card] [card]
@@ -7730,7 +7732,7 @@ toughness=2
[card] [card]
name=Catch // Release name=Catch // Release
other={4}{R}{W} name(Release) other={4}{R}{W} name(Release)
kicker={4}{R}{W} kicker={4}{R}{W} name(Fuse)
auto=if paid(alternative) then ability$!name(Sacrifice artifact) name(Sacrifice artifact) notatarget(artifact|mybattlefield) sacrifice!$ controller auto=if paid(alternative) then ability$!name(Sacrifice artifact) name(Sacrifice artifact) notatarget(artifact|mybattlefield) sacrifice!$ controller
auto=if paid(alternative) then ability$!name(Sacrifice creature) name(Sacrifice creature) notatarget(creature|mybattlefield) sacrifice!$ controller auto=if paid(alternative) then ability$!name(Sacrifice creature) name(Sacrifice creature) notatarget(creature|mybattlefield) sacrifice!$ controller
auto=if paid(alternative) then ability$!name(Sacrifice enchantment) name(Sacrifice enchantment) notatarget(enchantment|mybattlefield) sacrifice!$ controller auto=if paid(alternative) then ability$!name(Sacrifice enchantment) name(Sacrifice enchantment) notatarget(enchantment|mybattlefield) sacrifice!$ controller
@@ -7741,18 +7743,18 @@ auto=if paid(alternative) then ability$!name(Sacrifice creature) name(Sacrifice
auto=if paid(alternative) then ability$!name(Sacrifice enchantment) name(Sacrifice enchantment) notatarget(enchantment|mybattlefield) sacrifice!$ opponent auto=if paid(alternative) then ability$!name(Sacrifice enchantment) name(Sacrifice enchantment) notatarget(enchantment|mybattlefield) sacrifice!$ opponent
auto=if paid(alternative) then ability$!name(Sacrifice land) name(Sacrifice land) notatarget(land|mybattlefield) sacrifice!$ opponent auto=if paid(alternative) then ability$!name(Sacrifice land) name(Sacrifice land) notatarget(land|mybattlefield) sacrifice!$ opponent
auto=if paid(alternative) then ability$!name(Sacrifice planeswalker) name(Sacrifice planeswalker) notatarget(planeswalker|mybattlefield) sacrifice!$ opponent auto=if paid(alternative) then ability$!name(Sacrifice planeswalker) name(Sacrifice planeswalker) notatarget(planeswalker|mybattlefield) sacrifice!$ opponent
auto=ifnot paid(alternative) then target(*|battlefield) moveto(mybattlefield) and!(transforms((,newability[phaseaction[endofturn sourceinplay] moveTo(previousbattlefield)],newability[untap],haste)) ueot)! auto=ifnot paid(alternative) then target(*|battlefield) moveto(mybattlefield) and!( transforms((,newability[phaseaction[endofturn sourceinplay] moveTo(previousbattlefield)],newability[untap],newability[haste])) ueot )!
auto=kicker ifnot paid(alternative) then ability$!name(Sacrifice artifact) name(Sacrifice artifact) notatarget(artifact|mybattlefield) sacrifice!$ controller auto=if paid(kicker) then ability$!name(Sacrifice artifact) name(Sacrifice artifact) notatarget(artifact|mybattlefield) sacrifice!$ controller
auto=kicker ifnot paid(alternative) then ability$!name(Sacrifice creature) name(Sacrifice creature) notatarget(creature|mybattlefield) sacrifice!$ controller auto=if paid(kicker) then ability$!name(Sacrifice creature) name(Sacrifice creature) notatarget(creature|mybattlefield) sacrifice!$ controller
auto=kicker ifnot paid(alternative) then ability$!name(Sacrifice enchantment) name(Sacrifice enchantment) notatarget(enchantment|mybattlefield) sacrifice!$ controller auto=if paid(kicker) then ability$!name(Sacrifice enchantment) name(Sacrifice enchantment) notatarget(enchantment|mybattlefield) sacrifice!$ controller
auto=kicker ifnot paid(alternative) then ability$!name(Sacrifice land) name(Sacrifice land) notatarget(land|mybattlefield) sacrifice!$ controller auto=if paid(kicker) then ability$!name(Sacrifice land) name(Sacrifice land) notatarget(land|mybattlefield) sacrifice!$ controller
auto=kicker ifnot paid(alternative) then ability$!name(Sacrifice planeswalker) name(Sacrifice planeswalker) notatarget(planeswalker|mybattlefield) sacrifice!$ controller auto=if paid(kicker) then ability$!name(Sacrifice planeswalker) name(Sacrifice planeswalker) notatarget(planeswalker|mybattlefield) sacrifice!$ controller
auto=kicker ifnot paid(alternative) then ability$!name(Sacrifice artifact) name(Sacrifice artifact) notatarget(artifact|mybattlefield) sacrifice!$ opponent auto=if paid(kicker) then ability$!name(Sacrifice artifact) name(Sacrifice artifact) notatarget(artifact|mybattlefield) sacrifice!$ opponent
auto=kicker ifnot paid(alternative) then ability$!name(Sacrifice creature) name(Sacrifice creature) notatarget(creature|mybattlefield) sacrifice!$ opponent auto=if paid(kicker) then ability$!name(Sacrifice creature) name(Sacrifice creature) notatarget(creature|mybattlefield) sacrifice!$ opponent
auto=kicker ifnot paid(alternative) then ability$!name(Sacrifice enchantment) name(Sacrifice enchantment) notatarget(enchantment|mybattlefield) sacrifice!$ opponent auto=if paid(kicker) then ability$!name(Sacrifice enchantment) name(Sacrifice enchantment) notatarget(enchantment|mybattlefield) sacrifice!$ opponent
auto=kicker ifnot paid(alternative) then ability$!name(Sacrifice land) name(Sacrifice land) notatarget(land|mybattlefield) sacrifice!$ opponent auto=if paid(kicker) then ability$!name(Sacrifice land) name(Sacrifice land) notatarget(land|mybattlefield) sacrifice!$ opponent
auto=kicker ifnot paid(alternative) then ability$!name(Sacrifice planeswalker) name(Sacrifice planeswalker) notatarget(planeswalker|mybattlefield) sacrifice!$ opponent auto=if paid(kicker) then ability$!name(Sacrifice planeswalker) name(Sacrifice planeswalker) notatarget(planeswalker|mybattlefield) sacrifice!$ opponent
text=kicker Gain control of target permanent until end of turn. Untap it. It gains haste until end of turn. // Each player sacrifices an artifact, a creature, an enchantment, a land, and a planeswalker. -- -- Fuse (You may cast one or both halves of this card from your hand.) text=Gain control of target permanent until end of turn. Untap it. It gains haste until end of turn. // Each player sacrifices an artifact, a creature, an enchantment, a land, and a planeswalker. -- -- Fuse (You may cast one or both halves of this card from your hand.)
mana={1}{U}{R} mana={1}{U}{R}
type=Sorcery type=Sorcery
[/card] [/card]
@@ -8088,9 +8090,9 @@ subtype=Saga
[card] [card]
name=Chainweb Aracnir name=Chainweb Aracnir
abilities=reach abilities=reach
auto=if paid(alternative) then counter(1/1,3) retrace={3}{G}{G}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)} name(Escape)
auto=if paid(retrace) then counter(1/1,3)
auto=target(creature[flying]|opponentBattlefield) name(Deals damage to a creature) dynamicability<!powerstrike!> auto=target(creature[flying]|opponentBattlefield) name(Deals damage to a creature) dynamicability<!powerstrike!>
autograveyard={3}{G}{G}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}:name(Escape-{3}{G}{G},exile four) activate castcard(alternative)
text=Reach -- When Chainweb Aracnir enters the battlefield, it deals damage equal to its power to target creature with flying an opponent controls. -- Escape—{3}{G}{G}, Exile four other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) -- Chainweb Aracnir escapes with three +1/+1 counters on it. text=Reach -- When Chainweb Aracnir enters the battlefield, it deals damage equal to its power to target creature with flying an opponent controls. -- Escape—{3}{G}{G}, Exile four other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) -- Chainweb Aracnir escapes with three +1/+1 counters on it.
mana={G} mana={G}
type=Creature type=Creature
@@ -9291,9 +9293,9 @@ toughness=2
[/card] [/card]
[card] [card]
name=Cling to Dust name=Cling to Dust
auto=choice name(exile non-creature card) moveTo(exile) target(*[-creature]|Graveyard) && draw:1 controller auto=if type(*[-creature]|graveyard)~morethan~0 then choice name(exile non-creature card) name(exile non-creature card) moveTo(exile) target(*[-creature]|graveyard) && draw:1 controller
auto=choice name(exile creature card) moveTo(exile) target(creature|Graveyard) && life:3 controller auto=if type(*[creature]|graveyard)~morethan~0 then choice name(exile creature card) name(exile creature card) moveTo(exile) target(creature|graveyard) && life:3 controller
autograveyard={3}{B}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}:name(Escape-{3}{B},exile five) activate castcard(normal) retrace={3}{B}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)} name(Escape)
text=Exile target card from a graveyard. If it was a creature card, you gain 3 life. Otherwise, you draw a card. -- Escape—{3}{B}, Exile five other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) text=Exile target card from a graveyard. If it was a creature card, you gain 3 life. Otherwise, you draw a card. -- Escape—{3}{B}, Exile five other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.)
mana={B} mana={B}
type=Instant type=Instant
@@ -13740,10 +13742,11 @@ type=Instant
[card] [card]
name=Down // Dirty name=Down // Dirty
other={2}{G} name(Dirty) other={2}{G} name(Dirty)
kicker={2}{G} kicker={2}{G} name(Fuse)
auto=if paid(alternative) then moveTo(myhand) target(*|mygraveyard) otherrestriction=type(*|mygraveyard)~morethan~0
auto=ifnot paid(alternative) then target(player) ability$!name(discard) target(<2>*|myhand) reject!$ targetedplayer auto=if paid(alternative) then ability$!name(Return to hand) name(Return to hand) moveTo(myhand) target(*|mygraveyard)!$ controller
auto=kicker ifnot paid(alternative) then moveTo(myhand) target(*|mygraveyard) auto=ifnot paid(alternative) then target(player) ability$!name(Discard 2 cards) name(Discard 2 cards) target(<2>*|myhand) reject!$ targetedplayer
auto=if paid(kicker) then ability$!name(Return to hand) name(Return to hand) moveTo(myhand) target(*|mygraveyard)!$ controller
text=Target player discards two cards. // Return target card from your graveyard to your hand. -- Fuse (You may cast one or both halves of this card from your hand.) text=Target player discards two cards. // Return target card from your graveyard to your hand. -- Fuse (You may cast one or both halves of this card from your hand.)
mana={3}{B} mana={3}{B}
type=Sorcery type=Sorcery
@@ -16049,7 +16052,7 @@ name=Escape Velocity
target=creature target=creature
auto=haste auto=haste
auto=1/0 auto=1/0
autograveyard={1}{R}{E(other *|myGraveyard)}{E(other *|myGraveyard)}:name(Escape-{1}{R},exile two) activate castcard(normal) retrace={1}{R}{E(other *|myGraveyard)}{E(other *|myGraveyard)} name(Escape)
text=Enchant creature -- Enchanted creature gets +1/+0 and has haste. -- Escape—{1}{R}, Exile two other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) text=Enchant creature -- Enchanted creature gets +1/+0 and has haste. -- Escape—{1}{R}, Exile two other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.)
mana={R} mana={R}
type=Enchantment type=Enchantment
@@ -17007,10 +17010,11 @@ toughness=3
[card] [card]
name=Far // Away name=Far // Away
other={2}{B} name(Away) other={2}{B} name(Away)
kicker={2}{B} kicker={2}{B} name(Fuse)
auto=if paid(alternative) then target(player) ability$!name(sacrifice) notatarget(creature|mybattlefield) sacrifice!$ targetedplayer restriction=type(creature|battlefield)~morethan~0
auto=ifnot paid(alternative) then moveto(ownerhand) target(creature) auto=if paid(alternative) then target(player) ability$!name(Sacrifice creature) name(Sacrifice creature) notatarget(creature|mybattlefield) sacrifice!$ targetedplayer
auto=kicker ifnot paid(alternative) then target(player) ability$!name(sacrifice) notatarget(creature|mybattlefield) sacrifice!$ targetedplayer auto=ifnot paid(alternative) then ability$!name(Return to hand) name(Return to hand) moveto(ownerhand) target(creature|battlefield)!$ controller
auto=if paid(kicker) then target(player) ability$!name(Sacrifice creature) name(Sacrifice creature) notatarget(creature|mybattlefield) sacrifice!$ targetedplayer
text=Return target creature to its owner's hand. // Target player sacrifices a creature. -- Fuse (You may cast one or both halves of this card from your hand.) text=Return target creature to its owner's hand. // Target player sacrifices a creature. -- Fuse (You may cast one or both halves of this card from your hand.)
mana={1}{U} mana={1}{U}
type=Instant type=Instant
@@ -18156,7 +18160,9 @@ toughness=1
[/card] [/card]
[card] [card]
name=Fist of Suns name=Fist of Suns
auto=lord(*|myrestrictedcastingzone) transforms((,newability[{W}{U}{B}{R}{G}:name(Pay with 5 colors mana) name(Pay with 5 colors mana) activate castcard(normal)])) auto=lord(*|myrestrictedcastingzone) transforms((,newability[{W}{U}{B}{R}{G}:name(Pay 5 colors and zerocast) name(Pay 5 colors and zerocast) zerocast]))
auto=lord(*[canplayfromgraveyard]|mygraveyard) transforms((,newability[{W}{U}{B}{R}{G}:name(Pay 5 colors and zerocast) name(Pay 5 colors and zerocast) zerocast]))
auto=lord(*[canplayfromexile]|myexile) transforms((,newability[{W}{U}{B}{R}{G}:name(Pay 5 colors and zerocast) name(Pay 5 colors and zerocast) zerocast]))
text=You may pay {W}{U}{B}{R}{G} rather than pay the mana cost for spells that you cast. text=You may pay {W}{U}{B}{R}{G} rather than pay the mana cost for spells that you cast.
mana={3} mana={3}
type=Artifact type=Artifact
@@ -18373,14 +18379,14 @@ toughness=6
[/card] [/card]
[card] [card]
name=Flesh // Blood name=Flesh // Blood
target=creature|mybattlefield target=creature
other={R}{G} name(Blood) other={R}{G} name(Blood)
kicker={R}{G} kicker={R}{G} name(Fuse)
auto=if paid(alternative) then transforms((,newability[target(player,creature|opponentbattlefield) dynamicability<!powerstrike!>])) forever auto=if paid(alternative) then transforms((,newability[name(Deal damage) damage:power target(player^creature)])) forever
auto=kicker ifnot paid(alternative) then transforms((,newability[target(player,creature|opponentbattlefield) dynamicability<!powerstrike!>])) forever auto=if paid(kicker) then ability$!name(Creature deals damage) name(Creature deals damage) target(creature|myBattlefield) transforms((,newability[name(Deal damage) damage:power target(player^creature)])) forever!$ controller
auto=ifnot paid(alternative) then counter(1/1,storedpower) target(creature) auto=ifnot paid(alternative) then counter(1/1,storedpower)
text=Exile target creature card from a graveyard. Put X +1/+1 counters on target creature, where X is the power of the card you exiled. -- // -- Target creature you control deals damage equal to its power to target creature or player. -- Fuse (You may cast one or both halves of this card from your hand.) text=Exile target creature card from a graveyard. Put X +1/+1 counters on target creature, where X is the power of the card you exiled. // Target creature you control deals damage equal to its power to target creature or player. -- Fuse (You may cast one or both halves of this card from your hand.)
mana={3}{B}{G}{E(*[creature]|graveyard)} mana={3}{B}{G}{E(creature|graveyard)}
type=Sorcery type=Sorcery
[/card] [/card]
[card] [card]
@@ -19179,7 +19185,7 @@ toughness=2
name=Fruit of Tizerus name=Fruit of Tizerus
target=player target=player
auto=life:-2 auto=life:-2
autograveyard={3}{B}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}:name(Escape-{3}{B},exile three) activate castcard(normal) retrace={3}{B}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)} name(Escape)
text=Target player loses 2 life. Escape—{3}{B}, Exile three other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) text=Target player loses 2 life. Escape—{3}{B}, Exile three other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.)
mana={B} mana={B}
type=Instant type=Instant
@@ -20452,10 +20458,11 @@ toughness=6
name=Give // Take name=Give // Take
target=creature target=creature
other={2}{U} name(Take) other={2}{U} name(Take)
kicker={2}{U} kicker={2}{U} name(Fuse)
auto=if paid (alternative) then foreach(counter{1/1.1}) draw:1 && removeallcounters(1/1) otherrestriction=type(creature|mybattlefield)~morethan~0
auto=if paid(alternative) then transforms((,newability[thisforeach(counter{1/1}>0) draw:1 controller],newability[thisforeach(counter{1/1}>0) counter(1/1.-1)])) oneshot
auto=ifnot paid(alternative) then counter(1/1,3) auto=ifnot paid(alternative) then counter(1/1,3)
auto=kicker ifnot paid(alternative) then foreach(counter{1/1.1}) draw:1 && removeallcounters(1/1) auto=if paid(kicker) then ability$!name(Remove all 1/1 counters) name(Remove all 1/1 counters) target(creature|mybattlefield) transforms((,newability[thisforeach(counter{1/1}>0) draw:1 controller],newability[thisforeach(counter{1/1}>0) counter(1/1.-1)])) oneshot!$ controller
text=Put three +1/+1 counters on target creature. // Remove all +1/+1 counters from target creature you control. Draw that many cards. -- Fuse (You may cast one or both halves of this card from your hand.) text=Put three +1/+1 counters on target creature. // Remove all +1/+1 counters from target creature you control. Draw that many cards. -- Fuse (You may cast one or both halves of this card from your hand.)
mana={2}{G} mana={2}{G}
type=Sorcery type=Sorcery
@@ -20470,12 +20477,12 @@ type=Instant
[/card] [/card]
[card] [card]
name=Giver of Runes name=Giver of Runes
auto=choice name(protection from white) {T}:target(creature|myBattlefield) protection from white auto={T}:name(protection from white) target(creature|myBattlefield) protection from white
auto=choice name(protection from blue) {T}:target(creature|myBattlefield) protection from blue auto={T}:name(protection from blue) target(creature|myBattlefield) protection from blue
auto=choice name(protection from black) {T}:target(creature|myBattlefield) protection from black auto={T}:name(protection from black) target(creature|myBattlefield) protection from black
auto=choice name(protection from red) {T}:target(creature|myBattlefield) protection from red auto={T}:name(protection from red) target(creature|myBattlefield) protection from red
auto=choice name(protection from green) {T}:target(creature|myBattlefield) protection from green auto={T}:name(protection from green) target(creature|myBattlefield) protection from green
auto=choice name(protection from colorless) {T}:target(creature|myBattlefield) protection from colorless auto={T}:name(protection from colorless)target(creature|myBattlefield) protection from colorless
text={T}: Another target creature you control gains protection from colorless or from the color of your choice until end of turn. text={T}: Another target creature you control gains protection from colorless or from the color of your choice until end of turn.
mana={W} mana={W}
type=Creature type=Creature
@@ -20670,8 +20677,8 @@ toughness=3
[/card] [/card]
[card] [card]
name=Glimpse of Freedom name=Glimpse of Freedom
auto=draw:1 auto=draw:1 controller
autograveyard={2}{U}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}:name(Escape-{2}{U},exile five) activate castcard(normal) retrace={2}{U}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)} name(Escape)
text=Draw a card. -- Escape—{2}{U}, Exile five other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) text=Draw a card. -- Escape—{2}{U}, Exile five other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.)
mana={1}{U} mana={1}{U}
type=Instant type=Instant
@@ -21625,9 +21632,8 @@ toughness=0
[/card] [/card]
[card] [card]
name=Golos, Tireless Pilgrim name=Golos, Tireless Pilgrim
aicode=activate moveTo(myBattlefield) and!(tap(noevent))! target(<upto:1>*[land]|myLibrary) auto=may name(Search land) target(land|myLibrary) moveTo(myBattlefield) and!( transforms((,newability[tap(noevent)],newability[shuffle])) oneshot )!
auto=name(search land) reveal:plibrarycount optionone name(choose card) target(<upto:1>*[land]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend auto={2}{W}{U}{B}{R}{G}:name(Exile top 3 cards) all(*[zpos<=3]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile])) ueot )!
auto={2}{W}{U}{B}{R}{G}:moveto(exile) and!( transforms((,canplayfromexile)) ueot )! all(*[zpos<=3]|mylibrary) castcard(normal)
text=When Golos, Tireless Pilgrim enters the battlefield, you may search your library for a land card, put that card onto the battlefield tapped, then shuffle your library. -- {2}{W}{U}{B}{R}{G}: Exile the top three cards of your library. You may play them this turn without paying their mana costs. text=When Golos, Tireless Pilgrim enters the battlefield, you may search your library for a land card, put that card onto the battlefield tapped, then shuffle your library. -- {2}{W}{U}{B}{R}{G}: Exile the top three cards of your library. You may play them this turn without paying their mana costs.
mana={5} mana={5}
type=Legendary Artifact Creature type=Legendary Artifact Creature
@@ -22761,7 +22767,7 @@ type=Legendary Enchantment
name=Hagi Mob name=Hagi Mob
abilities=boast abilities=boast
auto={1}{R} restriction{didattack,compare(hascntbstreduce)~equalto~0}:doboast && target(player,creature,planeswalker) damage:1 limit:hasabilitytwoboastplus1plusend auto={1}{R} restriction{didattack,compare(hascntbstreduce)~equalto~0}:doboast && target(player,creature,planeswalker) damage:1 limit:hasabilitytwoboastplus1plusend
auto={R} restriction{didattack,compare(hascntbstreduce)~mortethan~0}:doboast && target(player,creature,planeswalker) damage:1 limit:hasabilitytwoboastplus1plusend auto={R} restriction{didattack,compare(hascntbstreduce)~morethan~0}:doboast && target(player,creature,planeswalker) damage:1 limit:hasabilitytwoboastplus1plusend
text=Boast — {1}{R}: Hagi Mob deals 1 damage to any target. (Activate this ability only if this creature attacked this turn and only once each turn.) text=Boast — {1}{R}: Hagi Mob deals 1 damage to any target. (Activate this ability only if this creature attacked this turn and only once each turn.)
mana={4}{R} mana={4}{R}
type=Creature type=Creature
@@ -26902,7 +26908,7 @@ type=Instant
[card] [card]
name=Izoni, Thousand-Eyed name=Izoni, Thousand-Eyed
auto=foreach(creature|mygraveyard) create(insect:creature insect:1/1:black,green:) auto=foreach(creature|mygraveyard) create(insect:creature insect:1/1:black,green:)
auto={B}{G}{S(othercreature|mybattlefield)}:life:1 && draw:1 auto={B}{G}{S(other creature|mybattlefield)}:life:1 && draw:1
text=Undergrowth — When Izoni, Thousand-Eyed enters the battlefield, create a 1/1 black and green Insect creature token for each creature card in your graveyard. -- {B}{G}, Sacrifice another creature: You gain 1 life and draw a card. text=Undergrowth — When Izoni, Thousand-Eyed enters the battlefield, create a 1/1 black and green Insect creature token for each creature card in your graveyard. -- {B}{G}, Sacrifice another creature: You gain 1 life and draw a card.
mana={2}{B}{B}{G}{G} mana={2}{B}{B}{G}{G}
type=Legendary Creature type=Legendary Creature
@@ -27276,7 +27282,9 @@ toughness=3
[card] [card]
name=Jodah, Archmage Eternal name=Jodah, Archmage Eternal
abilities=flying abilities=flying
auto=lord(*|myrestrictedcastingzone) transforms((,newability[{W}{U}{B}{R}{G}:name(Pay with 5 colors mana) name(Pay with 5 colors mana) activate castcard(normal)])) auto=lord(*|myrestrictedcastingzone) transforms((,newability[{W}{U}{B}{R}{G}:name(Pay 5 colors and zerocast) name(Pay 5 colors and zerocast) zerocast]))
auto=lord(*[canplayfromgraveyard]|mygraveyard) transforms((,newability[{W}{U}{B}{R}{G}:name(Pay 5 colors and zerocast) name(Pay 5 colors and zerocast) zerocast]))
auto=lord(*[canplayfromexile]|myexile) transforms((,newability[{W}{U}{B}{R}{G}:name(Pay 5 colors and zerocast) name(Pay 5 colors and zerocast) zerocast]))
text=Flying -- You may pay {W}{U}{B}{R}{G} rather than pay the mana cost for spells that you cast. text=Flying -- You may pay {W}{U}{B}{R}{G} rather than pay the mana cost for spells that you cast.
mana={1}{U}{R}{W} mana={1}{U}{R}{W}
type=Legendary Creature type=Legendary Creature
@@ -29262,7 +29270,7 @@ toughness=3
[/card] [/card]
[card] [card]
name=Kroxa, Titan of Death's Hunger name=Kroxa, Titan of Death's Hunger
auto=ifnot paid(alternative) then sacrifice auto=ifnot paid(retrace) then sacrifice
auto=if type(*|opponenthand)~equalto~0 then life:-3 opponent auto=if type(*|opponenthand)~equalto~0 then life:-3 opponent
auto=if type(*[-land]|opponenthand)~morethan~0 then if type(land|opponenthand)~equalto~0 then ability$!name(Discard non-land card) name(Discard non-land card) reject notatarget(*[-land]|myhand)!$ opponent auto=if type(*[-land]|opponenthand)~morethan~0 then if type(land|opponenthand)~equalto~0 then ability$!name(Discard non-land card) name(Discard non-land card) reject notatarget(*[-land]|myhand)!$ opponent
auto=if type(*[-land]|opponenthand)~equalto~0 then if type(land|opponenthand)~morethan~0 then ability$!name(Discard land card) name(Discard land card) reject notatarget(land|myhand) and!(life:-3)! !$ opponent auto=if type(*[-land]|opponenthand)~equalto~0 then if type(land|opponenthand)~morethan~0 then ability$!name(Discard land card) name(Discard land card) reject notatarget(land|myhand) and!(life:-3)! !$ opponent
@@ -29271,7 +29279,7 @@ auto=@combat(attacking) source(this) restriction{type(*|opponenthand)~equalto~0}
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
autograveyard={G}{G}{U}{U}{E(*|mygraveyard)}{E(*|mygraveyard)}{E(*|mygraveyard)}{E(*|mygraveyard)}{E(*|mygraveyard)}:name(Escape-{B}{B}{R}{R},exile five) activate castcard(alternative) 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.)
mana={B}{R} mana={B}{R}
type=Legendary Creature type=Legendary Creature
@@ -30950,8 +30958,8 @@ toughness=3
[/card] [/card]
[card] [card]
name=Loathsome Chimera name=Loathsome Chimera
auto=if paid(alternative) then counter(1/1,1) auto=if paid(retrace) then counter(1/1,1)
autograveyard={4}{G}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}:name(Escape-{4}{G},three) activate castcard(alternative) retrace={4}{G}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)} name(Escape)
text=Escape—{4}{G}, exile three other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) -- Loathsome Chimera escapes with a +1/+1 counter on it. text=Escape—{4}{G}, exile three other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) -- Loathsome Chimera escapes with a +1/+1 counter on it.
mana={2}{G} mana={2}{G}
type=Creature type=Creature
@@ -33567,7 +33575,7 @@ text=Destroy all creatures target player controls. For each creature that died t
name=Mogis's Favor name=Mogis's Favor
target=creature target=creature
auto=2/-1 auto=2/-1
autograveyard={2}{B}{E(other *|myGraveyard)}{E(other *|myGraveyard)}:name(Escape-{2}{B},exile two) activate castcard(normal) retrace={2}{B}{E(other *|myGraveyard)}{E(other *|myGraveyard)} name(Escape)
text=Enchant creature -- Enchanted creature gets +2/-1. -- Escape—{2}{B}, Exile two other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) text=Enchant creature -- Enchanted creature gets +2/-1. -- Escape—{2}{B}, Exile two other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.)
mana={B} mana={B}
type=Enchantment type=Enchantment
@@ -33771,7 +33779,7 @@ toughness=0
[card] [card]
name=Morophon, the Boundless name=Morophon, the Boundless
abilities=changeling abilities=changeling
auto=chooseatype lord(other creature[chosentype]|mybattlefield) 1/1 && lord(*[chosentype]|mycastingzone) altercost(white, -1) forever && lord(*[chosentype]|mycastingzone) altercost(green, -1) forever && lord(*[chosentype]|mycastingzone) altercost(red, -1) forever && lord(*[chosentype]|mycastingzone) altercost(blue, -1) forever && lord(*[chosentype]|mycastingzone) altercost(black, -1) forever chooseend auto=chooseatype transforms((,newability[lord(other creature[chosentype]|mybattlefield) 1/1],newability[lord(*[chosentype]|mycastingzone) changecost(white:-1)],newability[lord(*[chosentype]|mycastingzone) changecost(green:-1)],newability[lord(*[chosentype]|mycastingzone) changecost(red:-1)],newability[lord(*[chosentype]|mycastingzone) changecost(blue:-1)],newability[lord(*[chosentype]|mycastingzone) changecost(black:-1)])) forever chooseend
text=Changeling (This card is every creature type.) -- As Morophon, the Boundless enters the battlefield, choose a creature type. -- Spells of the chosen type you cast cost {W}{U}{B}{R}{G} less to cast. This effect reduces only the amount of colored mana you pay. -- Other creatures you control of the chosen type get +1/+1. text=Changeling (This card is every creature type.) -- As Morophon, the Boundless enters the battlefield, choose a creature type. -- Spells of the chosen type you cast cost {W}{U}{B}{R}{G} less to cast. This effect reduces only the amount of colored mana you pay. -- Other creatures you control of the chosen type get +1/+1.
mana={7} mana={7}
type=Legendary Creature type=Legendary Creature
@@ -35425,8 +35433,8 @@ toughness=3
[/card] [/card]
[card] [card]
name=Nira, Hellkite Duelist name=Nira, Hellkite Duelist
abilities=flash, flying, trample, haste abilities=flash,flying,trample,haste
auto=cantlose && lifeset:5 && draw:3 controller ueot auto=transforms((,newability[cantlose],newability[@lifelostof(player) once:if compare(lifetotal)~lessthan~5 then lifeset:5 controller && draw:3 controller])) ueot
text=Flash -- Flying, trample, haste -- When Nira, Hellkite Duelist enters the battlefield, the next time you would lose the game this turn, instead draw three cards and your life total becomes 5. text=Flash -- Flying, trample, haste -- When Nira, Hellkite Duelist enters the battlefield, the next time you would lose the game this turn, instead draw three cards and your life total becomes 5.
mana={W}{U}{B}{R}{G} mana={W}{U}{B}{R}{G}
type=Legendary Creature type=Legendary Creature
@@ -37191,8 +37199,8 @@ subtype=Aura Curse
[card] [card]
name=Ox of Agonas name=Ox of Agonas
auto=reject all(*|myhand) && draw:3 controller auto=reject all(*|myhand) && draw:3 controller
auto=if paid(alternative) then counter(1/1,1) auto=if paid(retrace) then counter(1/1,1)
autograveyard={R}{R}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}:name(Escape-{R}{R},exile eight) activate castcard(alternative) retrace={R}{R}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)} name(Escape)
text=When Ox of Agonas enters the battlefield, discard your hand, then draw three cards. -- Escape—{R}{R}, Exile eight other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) -- Ox of Agonas escapes with a +1/+1 counter on it. text=When Ox of Agonas enters the battlefield, discard your hand, then draw three cards. -- Escape—{R}{R}, Exile eight other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) -- Ox of Agonas escapes with a +1/+1 counter on it.
mana={3}{R}{R} mana={3}{R}{R}
type=Creature type=Creature
@@ -38035,9 +38043,9 @@ type=Instant
[/card] [/card]
[card] [card]
name=Pharika's Spawn name=Pharika's Spawn
auto=if paid(alternative) then counter(1/1,2) auto=if paid(retrace) then counter(1/1,2)
auto=if paid(alternative) then ability$!name(sacrifice non-gorgon) notatarget(creature[-Gorgon]|mybattlefield) sacrifice!$ opponent auto=if paid(retrace) then ability$!name(sacrifice non-gorgon) name(sacrifice non-gorgon) notatarget(creature[-Gorgon]|mybattlefield) sacrifice!$ opponent
autograveyard={5}{B}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}:name(Escape-{5}{B},exile three) activate castcard(alternative) retrace={5}{B}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)} name(Escape)
text=Escape—{5}{B}, Exile three other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) -- Pharikas Spawn escapes with two +1/+1 counters on it. When it enters the battlefield this way, each opponent sacrifices a non-Gorgon creature. text=Escape—{5}{B}, Exile three other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) -- Pharikas Spawn escapes with two +1/+1 counters on it. When it enters the battlefield this way, each opponent sacrifices a non-Gorgon creature.
mana={3}{B} mana={3}{B}
type=Creature type=Creature
@@ -38069,8 +38077,8 @@ toughness=4
name=Phoenix of Ash name=Phoenix of Ash
abilities=flying,haste abilities=flying,haste
auto={2}{R}:2/0 ueot auto={2}{R}:2/0 ueot
autograveyard={2}{R}{R}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}:name(Escape-{2}{R}{R},exile three) activate castcard(alternative) retrace={2}{R}{R}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)} name(Escape)
auto=if paid(alternative) then counter(1/1,1) auto=if paid(retrace) then counter(1/1,1)
text=Flying, haste -- {2}{R}: Phoenix of Ash gets +2/+0 until end of turn. -- Escape—{2}{R}{R}, Exile three other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) -- Phoenix of Ash escapes with a +1/+1 counter on it. text=Flying, haste -- {2}{R}: Phoenix of Ash gets +2/+0 until end of turn. -- Escape—{2}{R}{R}, Exile three other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) -- Phoenix of Ash escapes with a +1/+1 counter on it.
mana={1}{R}{R} mana={1}{R}{R}
type=Creature type=Creature
@@ -38615,9 +38623,9 @@ toughness=3
name=Polukranos, Unchained name=Polukranos, Unchained
abilities=hydra abilities=hydra
auto=counter(1/1,6) auto=counter(1/1,6)
auto=if paid(alternative) then counter(1/1,6) auto=if paid(retrace) then counter(1/1,6)
auto={1}{B}{G}:name(Fight) transforms((,newability[target(other creature) dynamicability<!powerstrike eachother!>])) oneshot auto={1}{B}{G}:name(Fight) transforms((,newability[target(other creature) dynamicability<!powerstrike eachother!>])) oneshot
autograveyard={4}{B}{G}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}:name(Escape-{4}{B}{G},exile six) activate castcard(alternative) retrace={4}{B}{G}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)} name(Escape)
text=Polukranos enters the battlefield with six +1/+1 counters on it. It escapes with twelve +1/+1 counters on it instead. -- If damage would be dealt to Polukranos while it has a +1/+1 counter on it, prevent that damage and remove that many +1/+1 counters from it. -- {1}{B}{G}: Polukranos fights another target creature. -- Escape—{4}{B}{G}, Exile six other cards from your graveyard. text=Polukranos enters the battlefield with six +1/+1 counters on it. It escapes with twelve +1/+1 counters on it instead. -- If damage would be dealt to Polukranos while it has a +1/+1 counter on it, prevent that damage and remove that many +1/+1 counters from it. -- {1}{B}{G}: Polukranos fights another target creature. -- Escape—{4}{B}{G}, Exile six other cards from your graveyard.
mana={2}{B}{G} mana={2}{B}{G}
type=Legendary Creature type=Legendary Creature
@@ -39211,9 +39219,9 @@ type=Sorcery
[card] [card]
name=Profit // Loss name=Profit // Loss
other={2}{B} name(Loss) other={2}{B} name(Loss)
kicker={2}{B} name(Fuse)
auto=if paid(alternative) then all(creature|opponentbattlefield) -1/-1 ueot auto=if paid(alternative) then all(creature|opponentbattlefield) -1/-1 ueot
kicker={2}{B} auto=if paid(kicker) then all(creature|opponentbattlefield) -1/-1 ueot
auto=kicker ifnot paid(alternative) then all(creature|opponentbattlefield) -1/-1 ueot
auto=ifnot paid(alternative) then all(creature|mybattlefield) 1/1 ueot auto=ifnot paid(alternative) then all(creature|mybattlefield) 1/1 ueot
text=Creatures you control get +1/+1 until end of turn. // Creatures your opponents control get -1/-1 until end of turn. -- Fuse (You may cast one or both halves of this card from your hand.) text=Creatures you control get +1/+1 until end of turn. // Creatures your opponents control get -1/-1 until end of turn. -- Fuse (You may cast one or both halves of this card from your hand.)
mana={1}{W} mana={1}{W}
@@ -39281,9 +39289,9 @@ toughness=2
[card] [card]
name=Protect // Serve name=Protect // Serve
other={1}{U} name(Serve) other={1}{U} name(Serve)
kicker={1}{U} name(Fuse)
auto=if paid(alternative) then target(creature) -6/0 ueot auto=if paid(alternative) then target(creature) -6/0 ueot
kicker={1}{U} auto=if paid(kicker) then target(creature) -6/0 ueot
auto=kicker ifnot paid(alternative) then target(creature) -6/0 ueot
auto=ifnot paid(alternative) then target(creature) 2/4 ueot auto=ifnot paid(alternative) then target(creature) 2/4 ueot
text=Target creature gets +2/+4 until end of turn. // Target creature gets -6/-0 until end of turn. -- Fuse (You may cast one or both halves of this card from your hand.) text=Target creature gets +2/+4 until end of turn. // Target creature gets -6/-0 until end of turn. -- Fuse (You may cast one or both halves of this card from your hand.)
mana={2}{W} mana={2}{W}
@@ -40742,7 +40750,7 @@ toughness=3
[card] [card]
name=Ravenous Harpy name=Ravenous Harpy
abilities=flying abilities=flying
auto={1}{S(othercreature|mybattlefield)}:counter(1/1) auto={1}{S(other creature|mybattlefield)}:counter(1/1)
text=Flying -- {1}, Sacrifice another creature: Put a +1/+1 counter on Ravenous Harpy. text=Flying -- {1}, Sacrifice another creature: Put a +1/+1 counter on Ravenous Harpy.
mana={2}{B} mana={2}{B}
type=Creature type=Creature
@@ -40851,10 +40859,10 @@ type=Sorcery
[card] [card]
name=Ready // Willing name=Ready // Willing
other={1}{W}{B} name(Willing) other={1}{W}{B} name(Willing)
auto=if paid(alternative) then all(creature|mybattlefield) transforms((,newability[lifelink ueot],newability[deathtouch ueot])) ueot kicker={1}{W}{B} name(Fuse)
kicker={1}{W}{B} auto=if paid(alternative) then all(creature|mybattlefield) transforms((,newability[lifelink],newability[deathtouch])) ueot
auto=kicker ifnot paid(alternative) then all(creature|mybattlefield) transforms((,newability[lifelink ueot],newability[deathtouch ueot],newability[indestructible ueot],newability[untap])) ueot auto=if paid(kicker) then all(creature|mybattlefield) transforms((,newability[lifelink],newability[deathtouch])) ueot
auto=ifnot paid(alternative) then all(creature|mybattlefield) transforms((,newability[indestructible ueot],newability[untap])) ueot auto=ifnot paid(alternative) then all(creature|mybattlefield) transforms((,newability[indestructible],newability[untap])) ueot
text=Creatures you control are indestructible this turn. Untap each creature you control. // Creatures you control gain deathtouch and lifelink until end of turn. -- Fuse (You may cast one or both halves of this card from your hand.) text=Creatures you control are indestructible this turn. Untap each creature you control. // Creatures you control gain deathtouch and lifelink until end of turn. -- Fuse (You may cast one or both halves of this card from your hand.)
mana={1}{G}{W} mana={1}{G}{W}
type=Instant type=Instant
@@ -44267,7 +44275,7 @@ toughness=1
[card] [card]
name=Satyr's Cunning name=Satyr's Cunning
auto=token(Satyr,Creature Satyr,1/1,red,cantblock) auto=token(Satyr,Creature Satyr,1/1,red,cantblock)
autograveyard={2}{U}{E(other *|myGraveyard)}{E(other *|myGraveyard)}:name(Escape-{2}{R},exile two) activate castcard(normal) retrace={2}{R}{E(other *|myGraveyard)}{E(other *|myGraveyard)} name(Escape)
text=Create a 1/1 red Satyr creature token with “This creature cant block.” -- Escape—{2}{R}, Exile two other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) text=Create a 1/1 red Satyr creature token with “This creature cant block.” -- Escape—{2}{R}, Exile two other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.)
mana={R} mana={R}
type=Sorcery type=Sorcery
@@ -45502,7 +45510,7 @@ name=Sentinel's Eyes
target=creature target=creature
auto=vigilance auto=vigilance
auto=1/1 auto=1/1
autograveyard={W}{E(other *|myGraveyard)}{E(other *|myGraveyard)}:name(Escape-{W}, exile two) activate castcard(normal) retrace={W}{E(other *|myGraveyard)}{E(other *|myGraveyard)} name(Escape)
text=Enchant creature -- Enchanted creature gets +1/+1 and has vigilance. -- Escape—{W}, Exile two other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) text=Enchant creature -- Enchanted creature gets +1/+1 and has vigilance. -- Escape—{W}, Exile two other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.)
mana={W} mana={W}
type=Enchantment type=Enchantment
@@ -47929,9 +47937,8 @@ toughness=3
[card] [card]
name=Sleep of the Dead name=Sleep of the Dead
target=creature|battlefield target=creature|battlefield
auto=tap auto=freeze
auto=frozen retrace={2}{U}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)} name(Escape)
autograveyard={2}{U}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}:name(Escape-{2}{U},exile three) activate castcard(normal)
text=Tap target creature. It doesnt untap during its controllers next untap step. -- Escape—{2}{U}, Exile three other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) text=Tap target creature. It doesnt untap during its controllers next untap step. -- Escape—{2}{U}, Exile three other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.)
mana={U} mana={U}
type=Sorcery type=Sorcery
@@ -50045,8 +50052,7 @@ toughness=1
[/card] [/card]
[card] [card]
name=Squee, the Immortal name=Squee, the Immortal
abilities=canplayfromexile abilities=canplayfromexile,CanPlayFromGraveyard
autograveyard=CanPlayFromGraveyard
text=You may cast Squee, the Immortal from your graveyard or from exile. text=You may cast Squee, the Immortal from your graveyard or from exile.
mana={1}{R}{R} mana={1}{R}{R}
type=Legendary Creature type=Legendary Creature
@@ -51672,8 +51678,9 @@ toughness=5
[/card] [/card]
[card] [card]
name=Sweet Oblivion name=Sweet Oblivion
auto=deplete:4 target(player) target=player
autograveyard={3}{U}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}:name(Escape-{3}{U},exile four) activate castcard(normal) auto=deplete:4
retrace={3}{U}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)} name(Escape)
text=Target player puts the top four cards of their library into their graveyard. -- Escape—{3}{U}, Exile four other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) text=Target player puts the top four cards of their library into their graveyard. -- Escape—{3}{U}, Exile four other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.)
mana={1}{U} mana={1}{U}
type=Sorcery type=Sorcery
@@ -53969,7 +53976,7 @@ toughness=2
[card] [card]
name=Throes of Chaos name=Throes of Chaos
autostack=if casted(this) then cascade:plibrarycount autostack=if casted(this) then cascade:plibrarycount
retrace={3}{R}{S(land|myhand)} retrace={3}{R}{D(land|myhand)}
text=Cascade (When you cast this spell, exile cards from the top of your library until you exile a nonland card that costs less. You may cast it without paying its mana cost. Put the exiled cards on the bottom of your library in a random order.) -- Retrace (You may cast this card from your graveyard by discarding a land card in addition to paying its other costs.) text=Cascade (When you cast this spell, exile cards from the top of your library until you exile a nonland card that costs less. You may cast it without paying its mana cost. Put the exiled cards on the bottom of your library in a random order.) -- Retrace (You may cast this card from your graveyard by discarding a land card in addition to paying its other costs.)
mana={3}{R} mana={3}{R}
type=Sorcery type=Sorcery
@@ -54596,11 +54603,12 @@ toughness=2
[/card] [/card]
[card] [card]
name=Toil // Trouble name=Toil // Trouble
target=player
other={2}{R} name(Trouble) other={2}{R} name(Trouble)
auto=if paid(alternative) then ability$!name(Choose one) choice name(Damage opponent) damage:type:*:opponenthand opponent _ choice name(Damage controller) damage:type:*:myhand controller!$ controller kicker={2}{R} name(Fuse)
kicker={2}{R} auto=if paid(alternative) then damage:type:*:targetedpersonshand targetedplayer
auto=kicked ifnot paid(alternative) then ability$!name(Choose one) choice name(Damage opponent) damage:type:*:opponenthand opponent _ choice name(Damage controller) damage:type:*:myhand controller!$ controller auto=if paid(kicker) then ability$!name(Deal damage) name(Deal damage) target(player) damage:type:*:targetedpersonshand targetedplayer!$ controller
auto=ifnot paid(alternative) then target(player) draw:2 targetedplayer && life:-2 targetedplayer auto=ifnot paid(alternative) then draw:2 targetedplayer && life:-2 targetedplayer
text=Target player draws two cards and loses 2 life. // Trouble deals damage to target player equal to the number of cards in that player's hand. -- Fuse (You may cast one or both halves of this card from your hand.) text=Target player draws two cards and loses 2 life. // Trouble deals damage to target player equal to the number of cards in that player's hand. -- Fuse (You may cast one or both halves of this card from your hand.)
mana={2}{B} mana={2}{B}
type=Sorcery type=Sorcery
@@ -55670,10 +55678,10 @@ type=Sorcery
[card] [card]
name=Turn // Burn name=Turn // Burn
other={1}{R} name(Burn) other={1}{R} name(Burn)
auto=if paid(alternative) then damage:2 target(player,creature) kicker={1}{R} name(Fuse)
kicker={1}{R} auto=if paid(alternative) then ability$!name(Deal Damage) name(Deal Damage) damage:2 target(player,creature)!$ controller
auto=kicker ifnot paid(alternative) then ability$!name(Damage) damage:2 target(player,creature)!$ controller auto=if paid(kicker) then ability$!name(Deal Damage) name(Deal Damage) damage:2 target(player,creature)!$ controller
auto=ifnot paid(alternative) then target(creature) loseabilities ueot && transforms((,setpower=0,settoughness=1)) ueot && transforms((Weird,red)) ueot auto=ifnot paid(alternative) then target(creature) transforms((Weird,red,setpower=0,settoughness=1,newability[loseabilities])) ueot
text=Target creature loses all abilities and becomes a 0/1 red Weird until end of turn. // Burn deals 2 damage to target creature or player. -- Fuse (You may cast one or both halves of this card from your hand.) text=Target creature loses all abilities and becomes a 0/1 red Weird until end of turn. // Burn deals 2 damage to target creature or player. -- Fuse (You may cast one or both halves of this card from your hand.)
mana={2}{U} mana={2}{U}
type=Instant type=Instant
@@ -56243,8 +56251,8 @@ toughness=6
[/card] [/card]
[card] [card]
name=Underworld Breach name=Underworld Breach
auto=lord(*[-land]|myGraveyard) newability[{storedmanacost}{S(other *|myGraveyard)}{S(other *|myGraveyard)}{S(other *|myGraveyard)}:castcard(normal)] auto=lord(*[-land]|myGraveyard) transforms((,newability[{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}:name(Exile 3 and gain escape) canplayfromgraveyard limit:1]))
auto=@each my endofturn:sacrifice(this) auto=@each my endofturn:sacrifice all(this)
text=Each nonland card in your graveyard has escape. The escape cost is equal to the cards mana cost plus exile three other cards from your graveyard. (You may cast cards from your graveyard for their escape cost.) -- At the beginning of the end step, sacrifice Underworld Breach. text=Each nonland card in your graveyard has escape. The escape cost is equal to the cards mana cost plus exile three other cards from your graveyard. (You may cast cards from your graveyard for their escape cost.) -- At the beginning of the end step, sacrifice Underworld Breach.
mana={1}{R} mana={1}{R}
type=Enchantment type=Enchantment
@@ -56267,8 +56275,8 @@ toughness=6
[card] [card]
name=Underworld Charger name=Underworld Charger
abilities=cantblock abilities=cantblock
autograveyard={4}{B}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}:name(Escape-{4}{B},exile three) activate castcard(alternative) retrace={4}{B}{E(other *|mygraveyard)}{E(other *|mygraveyard)}{E(other *|mygraveyard)} name(Escape)
auto=if paid(alternative) then counter(1/1,2) auto=if paid(retrace) then counter(1/1,2)
text=Underworld Charger cant block. -- Escape—{4}{B}, Exile three other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) -- Underworld Charger escapes with two +1/+1 counters on it. text=Underworld Charger cant block. -- Escape—{4}{B}, Exile three other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) -- Underworld Charger escapes with two +1/+1 counters on it.
mana={2}{B} mana={2}{B}
type=Creature type=Creature
@@ -56289,8 +56297,8 @@ type=Sorcery
[card] [card]
name=Underworld Rage-Hound name=Underworld Rage-Hound
abilities=mustattack abilities=mustattack
autograveyard={3}{R}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}:name(Escape-{3}{R},exile three) activate castcard(alternative) retrace={3}{R}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)} name(Escape)
auto=if paid(alternative) then counter(1/1,1) auto=if paid(retrace) then counter(1/1,1)
text=Underworld Rage-Hound attacks each combat if able. -- Escape—{3}{R}, Exile three other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) -- Underworld Rage-Hound escapes with a +1/+1 counter on it. text=Underworld Rage-Hound attacks each combat if able. -- Escape—{3}{R}, Exile three other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) -- Underworld Rage-Hound escapes with a +1/+1 counter on it.
mana={1}{R} mana={1}{R}
type=Creature type=Creature
@@ -56594,12 +56602,12 @@ toughness=3
[/card] [/card]
[card] [card]
name=Uro, Titan of Nature's Wrath name=Uro, Titan of Nature's Wrath
auto=ifnot paid(alternative) then sacrifice auto=ifnot paid(retrace) then sacrifice
auto=life:3 controller && draw:1 controller auto=life:3 controller && draw:1 controller
auto=may moveto(mybattlefield) target(land|myhand) auto=may name(Put land in play) moveto(mybattlefield) target(land|myhand)
auto=@combat(attacking) source(this):life:3 controller && draw:1 controller auto=@combat(attacking) source(this):life:3 controller && draw:1 controller
auto=@combat(attacking) source(this):may moveto(mybattlefield) target(land|myhand) auto=@combat(attacking) source(this):may moveto(mybattlefield) target(land|myhand)
autograveyard={G}{G}{U}{U}{E(*|mygraveyard)}{E(*|mygraveyard)}{E(*|mygraveyard)}{E(*|mygraveyard)}{E(*|mygraveyard)}:name(Escape-{G}{G}{U}{U},exile five) activate castcard(alternative) retrace={G}{G}{U}{U}{E(other *|mygraveyard)}{E(other *|mygraveyard)}{E(other *|mygraveyard)}{E(other *|mygraveyard)}{E(other *|mygraveyard)} name(Escape))
text=When Uro enters the battlefield, sacrifice it unless it escaped. -- Whenever Uro enters the battlefield or attacks, you gain 3 life and draw a card, then you may put a land card from your hand onto the battlefield. -- Escape — {G}{G}{U}{U}, Exile five other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) text=When Uro enters the battlefield, sacrifice it unless it escaped. -- Whenever Uro enters the battlefield or attacks, you gain 3 life and draw a card, then you may put a land card from your hand onto the battlefield. -- Escape — {G}{G}{U}{U}, Exile five other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.)
mana={1}{G}{U} mana={1}{G}{U}
type=Legendary Creature type=Legendary Creature
@@ -58349,8 +58357,8 @@ toughness=4
[/card] [/card]
[card] [card]
name=Voracious Typhon name=Voracious Typhon
autograveyard={5}{G}{G}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}:name(Escape-{5}{G}{G},exile four) activate castcard(alternative) retrace={5}{G}{G}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)} name(Escape)
auto=if paid(alternative) then counter(1/1,3) auto=if paid(retrace) then counter(1/1,3)
text=Escape—{5}{G}{G}, Exile four other cards from your graveyard. (You may cast this spell from your graveyard for its escape cost.) -- Voracious Typhon escapes with three +1/+1 counters on it. text=Escape—{5}{G}{G}, Exile four other cards from your graveyard. (You may cast this spell from your graveyard for its escape cost.) -- Voracious Typhon escapes with three +1/+1 counters on it.
mana={2}{G}{G} mana={2}{G}{G}
type=Creature type=Creature
@@ -59114,9 +59122,10 @@ type=Enchantment
[card] [card]
name=Wear // Tear name=Wear // Tear
other={W} name(Tear) other={W} name(Tear)
kicker={W} name(Fuse)
otherrestriction=type(enchantment|battlefield)~morethan~0
auto=if paid(alternative) then destroy target(enchantment) auto=if paid(alternative) then destroy target(enchantment)
kicker={W} auto=if paid(kicker) then ability$!name(Destroy enchantment) name(Destroy enchantment) destroy target(enchantment)!$ controller
auto=kicker ifnot paid(alternative) then destroy target(enchantment)
auto=ifnot paid(alternative) then destroy target(artifact) auto=ifnot paid(alternative) then destroy target(artifact)
text=Destroy target artifact. // Destroy target enchantment. -- Fuse (You may cast one or both halves of this card from your hand.) text=Destroy target artifact. // Destroy target enchantment. -- Fuse (You may cast one or both halves of this card from your hand.)
mana={1}{R} mana={1}{R}
@@ -59924,8 +59933,8 @@ name=Woe Strider
auto=token(Goat,Creature Goat,0/1,white) auto=token(Goat,Creature Goat,0/1,white)
aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot
auto={S(other creature|myBattlefield}:scry:1 scrycore delayed dontshow donothing scrycoreend scryend auto={S(other creature|myBattlefield}:scry:1 scrycore delayed dontshow donothing scrycoreend scryend
autograveyard={3}{B}{B}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}:name(Escape-{3}{B}{B},exile four) activate castcard(alternative) retrace={3}{B}{B}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)} name(Escape)
auto=if paid(alternative) then counter(1/1,2) auto=if paid(retrace) then counter(1/1,2)
text=When Woe Strider enters the battlefield, create a 0/1 white Goat creature token. -- Sacrifice another creature: Scry 1. -- Escape—{3}{B}{B}, Exile four other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) -- Woe Strider escapes with two +1/+1 counters on it. text=When Woe Strider enters the battlefield, create a 0/1 white Goat creature token. -- Sacrifice another creature: Scry 1. -- Escape—{3}{B}{B}, Exile four other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) -- Woe Strider escapes with two +1/+1 counters on it.
mana={2}{B} mana={2}{B}
type=Creature type=Creature

View File

@@ -16446,7 +16446,7 @@ type=Sorcery
[card] [card]
name=Call the Skybreaker name=Call the Skybreaker
auto=token(Elemental,creature elemental,5/5,flying,redblue) auto=token(Elemental,creature elemental,5/5,flying,redblue)
retrace={5}{UR}{UR}{S(land|myhand)} retrace={5}{UR}{UR}{D(land|myhand)}
text=Put a 5/5 blue and red Elemental creature token with flying onto the battlefield. -- Retrace (You may cast this card from your graveyard by discarding a land card in addition to paying its other costs.) text=Put a 5/5 blue and red Elemental creature token with flying onto the battlefield. -- Retrace (You may cast this card from your graveyard by discarding a land card in addition to paying its other costs.)
mana={5}{UR}{UR} mana={5}{UR}{UR}
type=Sorcery type=Sorcery
@@ -18022,7 +18022,7 @@ type=Sorcery
[card] [card]
name=Cenn's Enlistment name=Cenn's Enlistment
auto=token(Kithkin Soldier,creature kithkin soldier,1/1,white)*2 auto=token(Kithkin Soldier,creature kithkin soldier,1/1,white)*2
retrace={3}{W}{S(land|myhand)} retrace={3}{W}{D(land|myhand)}
text=Put two 1/1 white Kithkin Soldier creature tokens onto the battlefield. -- Retrace (You may cast this card from your graveyard by discarding a land card in addition to paying its other costs.) text=Put two 1/1 white Kithkin Soldier creature tokens onto the battlefield. -- Retrace (You may cast this card from your graveyard by discarding a land card in addition to paying its other costs.)
mana={3}{W} mana={3}{W}
type=Sorcery type=Sorcery
@@ -41032,7 +41032,7 @@ type=Sorcery
name=Flame Jab name=Flame Jab
target=player,creature target=player,creature
auto=damage:1 auto=damage:1
retrace={R}{S(land|myhand)} retrace={R}{D(land|myhand)}
text=Flame Jab deals 1 damage to target creature or player. -- Retrace (You may cast this card from your graveyard by discarding a land card in addition to paying its other costs.) text=Flame Jab deals 1 damage to target creature or player. -- Retrace (You may cast this card from your graveyard by discarding a land card in addition to paying its other costs.)
mana={R} mana={R}
type=Sorcery type=Sorcery
@@ -92197,7 +92197,7 @@ toughness=3
[/card] [/card]
[card] [card]
name=Raven's Crime name=Raven's Crime
retrace={B}{S(land|myhand)} retrace={B}{D(land|myhand)}
target=player target=player
auto=ability$!name(discard) target(*|myhand) reject!$ targetedplayer auto=ability$!name(discard) target(*|myhand) reject!$ targetedplayer
text=Target player discards a card. -- Retrace (You may cast this card from your graveyard by discarding a land card in addition to paying its other costs.) text=Target player discards a card. -- Retrace (You may cast this card from your graveyard by discarding a land card in addition to paying its other costs.)
@@ -132370,7 +132370,7 @@ toughness=4
[/card] [/card]
[card] [card]
name=Waves of Aggression name=Waves of Aggression
retrace={3}{RW}{RW}{S(land|myhand)} retrace={3}{RW}{RW}{D(land|myhand)}
auto=nextphasealter(add,combatphaseswithmain,controller,after<this>) auto=nextphasealter(add,combatphaseswithmain,controller,after<this>)
auto=untap all(creature[attacking]) auto=untap all(creature[attacking])
text=Untap all creatures that attacked this turn. After this main phase, there is an additional combat phase followed by an additional main phase. -- Retrace (You may cast this card from your graveyard by discarding a land card in addition to paying its other costs.) text=Untap all creatures that attacked this turn. After this main phase, there is an additional combat phase followed by an additional main phase. -- Retrace (You may cast this card from your graveyard by discarding a land card in addition to paying its other costs.)

View File

@@ -84,6 +84,7 @@ subtype=Ajani
[card] [card]
name=Ajani, Mentor of Heroes name=Ajani, Mentor of Heroes
auto=counter(0/0,4,loyalty) auto=counter(0/0,4,loyalty)
auto=activate transforms((,newability[if type(*[creature;aura;planeswalker;zpos<=4]|myLibrary)~morethan~0 then target(*[creature;aura;planeswalker;zpos<=4]|myLibrary) moveTo(myHand) and!( all(other *[zpos<=4]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )! else all(*[zpos<=4]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! ])) oneshot
auto={C(0/0,1,Loyalty)}:name(+1: Distribute three +1/+1 counters) ability$!counter(1/1,1) target(creature)!$ controller && ability$!counter(1/1,1) target(creature)!$ controller && ability$!counter(1/1,1) target(creature)!$ controller auto={C(0/0,1,Loyalty)}:name(+1: Distribute three +1/+1 counters) ability$!counter(1/1,1) target(creature)!$ controller && ability$!counter(1/1,1) target(creature)!$ controller && ability$!counter(1/1,1) target(creature)!$ controller
auto={C(0/0,1,Loyalty)}:name(+1: Look 4 cards for creature, aura or planeswalker) reveal:4 optionone name(Get a card) target(<1>*[creature;planeswalker;aura]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend auto={C(0/0,1,Loyalty)}:name(+1: Look 4 cards for creature, aura or planeswalker) reveal:4 optionone name(Get a card) target(<1>*[creature;planeswalker;aura]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend
auto={C(0/0,-8,Loyalty)}:name(-8: Gain 100 life) life:100 controller auto={C(0/0,-8,Loyalty)}:name(-8: Gain 100 life) life:100 controller
@@ -141,6 +142,7 @@ subtype=Ajani
[card] [card]
name=Ajani, Valiant Protector name=Ajani, Valiant Protector
auto=counter(0/0,4,loyalty) auto=counter(0/0,4,loyalty)
aicode=activate transforms((,newability[all(*[zpos=findfirsttypecreature]|mylibrary) moveto(myhand) and!( all(*[zpos<=findfirsttypecreature]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )!])) oneshot
auto={C(0/0,2,Loyalty)}:name(+2: Put a loyalty counter) donothing restriction{compare(cantargetcre)~lessthan~1} auto={C(0/0,2,Loyalty)}:name(+2: Put a loyalty counter) donothing restriction{compare(cantargetcre)~lessthan~1}
auto={C(0/0,2,Loyalty)}:name(+2: Put two +1/+1 counters) target(creature|battlefield) counter(1/1,2) restriction{compare(cantargetcre)~morethan~0} auto={C(0/0,2,Loyalty)}:name(+2: Put two +1/+1 counters) target(creature|battlefield) counter(1/1,2) restriction{compare(cantargetcre)~morethan~0}
auto={C(0/0,1,Loyalty)}:name(+1: Reveal until a creature and put it in hand) Reveal:1 revealzone(mylibrary) revealuntil(creature|mylibrary) optionone choice name(Get Card) target(creature|reveal) moveto(myhand) optiononeend optiontwo choice name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend auto={C(0/0,1,Loyalty)}:name(+1: Reveal until a creature and put it in hand) Reveal:1 revealzone(mylibrary) revealuntil(creature|mylibrary) optionone choice name(Get Card) target(creature|reveal) moveto(myhand) optiononeend optiontwo choice name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend
@@ -764,7 +766,7 @@ auto=counter(0/0,5,loyalty)
auto={C(0/0,-1,Loyalty)}:name(-1: Up to two creature gets +2/+1) target (<upto:2>creature|myBattlefield) 2/1 ueot auto={C(0/0,-1,Loyalty)}:name(-1: Up to two creature gets +2/+1) target (<upto:2>creature|myBattlefield) 2/1 ueot
auto={C(0/0,-2,Loyalty)}:name(-2: Create two human soldiers) token(Human Soldier,Creature Human Soldier,1/1,white)*2 auto={C(0/0,-2,Loyalty)}:name(-2: Create two human soldiers) token(Human Soldier,Creature Human Soldier,1/1,white)*2
auto={C(0/0,-6,Loyalty)}:name(-6: Gain 5 life) life:5 controller auto={C(0/0,-6,Loyalty)}:name(-6: Gain 5 life) life:5 controller
autograveyard=name(Escape-{4}{W}{W}, exile four) {4}{W}{W}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}:castcard(normal) retrace={4}{W}{W}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)}{E(other *|myGraveyard)} name(Escape)
text=-1: Up to two target creatures you control each get +2/+1 until end of turn. -- -2: Create two 1/1 white Human Soldier creature tokens. -- -3: You gain 5 life. -- Escape—{4}{W}{W}, Exile four other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.) text=-1: Up to two target creatures you control each get +2/+1 until end of turn. -- -2: Create two 1/1 white Human Soldier creature tokens. -- -3: You gain 5 life. -- Escape—{4}{W}{W}, Exile four other cards from your graveyard. (You may cast this card from your graveyard for its escape cost.)
mana={2}{W}{W} mana={2}{W}{W}
type=Legendary Planeswalker type=Legendary Planeswalker
@@ -1622,6 +1624,7 @@ subtype=Windgrace
[card] [card]
name=Lukka, Coppercoat Outcast name=Lukka, Coppercoat Outcast
auto=counter(0/0,5,Loyalty) auto=counter(0/0,5,Loyalty)
aicode=activate transforms((,newability[all(*[zpos=findfirsttypecreature]|mylibrary) moveto(myBattlefield) and!( all(*[zpos<=findfirsttypecreature]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )!])) oneshot
auto={C(0/0,1,Loyalty)}:name(+1: Exile 3 crads) moveto(exile) and!( transforms((,canplayfromexile)) )! all(*[zpos<=3]|mylibrary) auto={C(0/0,1,Loyalty)}:name(+1: Exile 3 crads) moveto(exile) and!( transforms((,canplayfromexile)) )! all(*[zpos<=3]|mylibrary)
auto={C(0/0,-2,Loyalty)}{E(*[creature]|myBattlefield)}:name(-2: Exile and reveal) reveal:1 revealzone(mylibrary) revealuntil(creature[manacost>storedmanacost]|mylibrary) optionone choice name(Get Card) target(creature[manacost>storedmanacost]|reveal) moveto(myBattlefield) optiononeend optiontwo choice name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend auto={C(0/0,-2,Loyalty)}{E(*[creature]|myBattlefield)}:name(-2: Exile and reveal) reveal:1 revealzone(mylibrary) revealuntil(creature[manacost>storedmanacost]|mylibrary) optionone choice name(Get Card) target(creature[manacost>storedmanacost]|reveal) moveto(myBattlefield) optiononeend optiontwo choice name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend
auto={C(0/0,-7,Loyalty)}:name(-7: Each creature deals damage) lord(creature|myBattlefield) transforms((,newability[all(opponent) dynamicability<!powerstrike!>])) oneshot auto={C(0/0,-7,Loyalty)}:name(-7: Each creature deals damage) lord(creature|myBattlefield) transforms((,newability[all(opponent) dynamicability<!powerstrike!>])) oneshot
@@ -2493,7 +2496,8 @@ subtype=Tezzeret
[card] [card]
name=Tezzeret, Master of Metal name=Tezzeret, Master of Metal
auto=counter(0/0,5,loyalty) auto=counter(0/0,5,loyalty)
auto={C(0/0,1,Loyalty)}:name(+1: Reveal the top until artifact and put on hand) Reveal:1 revealzone(mylibrary) revealuntil(artifact|mylibrary) optionone choice name(Get Artifact) target(artifact|reveal) moveto(myhand) optiononeend optiontwo choice name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend aicode=activate transforms((,newability[all(*[zpos=findfirsttypeartifact]|mylibrary) moveto(myhand) and!( all(*[zpos<=findfirsttypeartifact]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )!])) oneshot
auto={C(0/0,1,Loyalty)}:name(+1: Reveal the top until artifact and put on hand) reveal:1 revealzone(mylibrary) revealuntil(artifact|mylibrary) optionone choice name(Get Artifact) target(artifact|reveal) moveto(myhand) optiononeend optiontwo choice name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend
auto={C(0/0,-3,Loyalty)}:name(-3: Target opponent loses life for each artifact) target(opponent) life:-type:artifact:mybattlefield auto={C(0/0,-3,Loyalty)}:name(-3: Target opponent loses life for each artifact) target(opponent) life:-type:artifact:mybattlefield
auto={C(0/0,-8,Loyalty)}:name(-8: Gain control of all artifacts and creatures) moveto(mybattlefield) all(*[artifact;creature]|opponentbattlefield) auto={C(0/0,-8,Loyalty)}:name(-8: Gain control of all artifacts and creatures) moveto(mybattlefield) all(*[artifact;creature]|opponentbattlefield)
text=+1: Reveal cards from the top of your library until you reveal an artifact card. Put that card into your hand and the rest on the bottom of your library in a random order. -- -3: Target opponent loses life equal to the number of artifacts you control. -- -8: Gain control of all artifacts and creatures target opponent controls. text=+1: Reveal cards from the top of your library until you reveal an artifact card. Put that card into your hand and the rest on the bottom of your library in a random order. -- -3: Target opponent loses life equal to the number of artifacts you control. -- -8: Gain control of all artifacts and creatures target opponent controls.
@@ -2709,8 +2713,9 @@ subtype=Vivien
[card] [card]
name=Vivien, Nature's Avenger name=Vivien, Nature's Avenger
auto=counter(0/0,3,loyalty) auto=counter(0/0,3,loyalty)
aicode=activate transforms((,newability[all(*[zpos=findfirsttypecreature]|mylibrary) moveto(myhand) and!( all(*[zpos<=findfirsttypecreature]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )!])) oneshot
auto={C(0/0,1,Loyalty)}:name(+1: Put three +1/+1 counters on target creature) target(creature) counter(1/1,3) auto={C(0/0,1,Loyalty)}:name(+1: Put three +1/+1 counters on target creature) target(creature) counter(1/1,3)
auto={C(0/0,-1,Loyalty)}:name(-1: Reveal a creature from top and put into your hand) Reveal:1 revealzone(mylibrary) revealuntil(creature|mylibrary) optionone choice name(Get Card) target(creature|reveal) moveto(myhand) optiononeend optiontwo choice name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend auto={C(0/0,-1,Loyalty)}:name(-1: Reveal a creature from top and put into your hand) reveal:1 revealzone(mylibrary) revealuntil(creature|mylibrary) optionone choice name(Get Card) target(creature|reveal) moveto(myhand) optiononeend optiontwo choice name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend
auto={C(0/0,-6,Loyalty)}:name(-6: Target creature gets +10/+10 and trample) target(creature) 10/10 && trample ueot auto={C(0/0,-6,Loyalty)}:name(-6: Target creature gets +10/+10 and trample) target(creature) 10/10 && trample ueot
text=+1: Put three +1/+1 counters on up to one target creature. -- -1: Reveal cards from the top of your library until you reveal a creature card. Put that card into your hand and the rest on the bottom of your library in a random order. -- -6: Target creature gets +10/+10 and gains trample until end of turn. text=+1: Put three +1/+1 counters on up to one target creature. -- -1: Reveal cards from the top of your library until you reveal a creature card. Put that card into your hand and the rest on the bottom of your library in a random order. -- -6: Target creature gets +10/+10 and gains trample until end of turn.
mana={4}{G}{G} mana={4}{G}{G}
@@ -2825,7 +2830,7 @@ auto=counter(0/0,3,loyalty)
auto={C(0/0,1,Loyalty)}:restriction{type(land|mygraveyard)~morethan~0} name(+1: Return target land from graveyard) moveTo(myHand) target(land|myGraveyard) auto={C(0/0,1,Loyalty)}:restriction{type(land|mygraveyard)~morethan~0} name(+1: Return target land from graveyard) moveTo(myHand) target(land|myGraveyard)
auto={C(0/0,1,Loyalty)}:name(+1: Don't return any land) donothing auto={C(0/0,1,Loyalty)}:name(+1: Don't return any land) donothing
auto={C(0/0,-1,Loyalty)}:name(-1: Deals 1 damage to any target) damage:1 target(player,creature,planeswalker) auto={C(0/0,-1,Loyalty)}:name(-1: Deals 1 damage to any target) damage:1 target(player,creature,planeswalker)
auto={C(0/0,-7,Loyalty)}:name(-7: Emblem: Instants and Sorceries have Retrace) emblem transforms((,newability[lord(*[instant;sorcery]|myGraveyard) transforms((,newability[{D(land|myhand)}:name(Discard land) canplayfromgraveyard limit:1]))])) forever dontremove auto={C(0/0,-7,Loyalty)}:name(-7: Emblem: Instants and Sorceries have Retrace) emblem transforms((,newability[lord(*[instant;sorcery]|myGraveyard) transforms((,newability[{D(land|myhand)}:name(Discard land and gain retrace) canplayfromgraveyard limit:1]))])) forever dontremove
text=+1: Return up to one target land card from your graveyard to your hand. -- -1: Wrenn and Six deals 1 damage to any target. -- -7: You get an emblem with "Instant and sorcery cards in your graveyard have retrace." (You may cast instant and sorcery cards from your graveyard by discarding a land card in addition to paying their other costs.) text=+1: Return up to one target land card from your graveyard to your hand. -- -1: Wrenn and Six deals 1 damage to any target. -- -7: You get an emblem with "Instant and sorcery cards in your graveyard have retrace." (You may cast instant and sorcery cards from your graveyard by discarding a land card in addition to paying their other costs.)
mana={R}{G} mana={R}{G}
type=Legendary Planeswalker type=Legendary Planeswalker

View File

@@ -94,10 +94,13 @@ class MTGKickerRule: public MTGPutInPlayRule
public: public:
int isReactingToClick(MTGCardInstance * card, ManaCost * mana = NULL); int isReactingToClick(MTGCardInstance * card, ManaCost * mana = NULL);
int reactToClick(MTGCardInstance * card); int reactToClick(MTGCardInstance * card);
string alternativeName;
virtual ostream& toString(ostream& out) const; virtual ostream& toString(ostream& out) const;
MTGKickerRule(GameObserver* observer, int _id); MTGKickerRule(GameObserver* observer, int _id);
const string getMenuText() const string getMenuText()
{ {
if(alternativeName.size())
return alternativeName.c_str();
return "Pay Kicker"; return "Pay Kicker";
} }
virtual MTGKickerRule * clone() const; virtual MTGKickerRule * clone() const;
@@ -172,10 +175,13 @@ class MTGRetraceRule: public MTGAlternativeCostRule
public: public:
int isReactingToClick(MTGCardInstance * card, ManaCost * mana = NULL); int isReactingToClick(MTGCardInstance * card, ManaCost * mana = NULL);
int reactToClick(MTGCardInstance * card); int reactToClick(MTGCardInstance * card);
string alternativeName;
virtual ostream& toString(ostream& out) const; virtual ostream& toString(ostream& out) const;
MTGRetraceRule(GameObserver* observer, int _id); MTGRetraceRule(GameObserver* observer, int _id);
const string getMenuText() const string getMenuText()
{ {
if(alternativeName.size())
return alternativeName.c_str();
return "Retrace"; return "Retrace";
} }
virtual MTGRetraceRule * clone() const; virtual MTGRetraceRule * clone() const;

View File

@@ -51,6 +51,10 @@ CardPrimitive::CardPrimitive(CardPrimitive * source)
//increasedCost.copy(source->getIncreasedManaCost()); //increasedCost.copy(source->getIncreasedManaCost());
if(source->getManaCost()->getAlternative()) if(source->getManaCost()->getAlternative())
manaCost.getAlternative()->alternativeName = source->getManaCost()->getAlternative()->alternativeName; manaCost.getAlternative()->alternativeName = source->getManaCost()->getAlternative()->alternativeName;
if(source->getManaCost()->getKicker())
manaCost.getKicker()->alternativeName = source->getManaCost()->getKicker()->alternativeName;
if(source->getManaCost()->getRetrace())
manaCost.getRetrace()->alternativeName = source->getManaCost()->getRetrace()->alternativeName;
text = source->text; text = source->text;
formattedText = source->formattedText; formattedText = source->formattedText;

View File

@@ -218,9 +218,19 @@ int MTGAllCards::processConfLine(string &s, MTGCard *card, CardPrimitive * primi
size_t endK = value.find("{",multikick); size_t endK = value.find("{",multikick);
value.erase(multikick, endK - multikick); value.erase(multikick, endK - multikick);
isMultikicker = true; isMultikicker = true;
} }
cost->setKicker(ManaCost::parseManaCost(value)); cost->setKicker(ManaCost::parseManaCost(value));
cost->getKicker()->isMulti = isMultikicker; cost->getKicker()->isMulti = isMultikicker;
size_t name = value.find("name(");
string theName = "";
if(name != string::npos)
{
size_t endName = value.find(")",name);
theName = value.substr(name + 5,endName - name - 5);
value.erase(name, endName - name + 1);
}
if(theName.size())
cost->getKicker()->alternativeName.append(theName);
} }
break; break;
@@ -310,6 +320,16 @@ int MTGAllCards::processConfLine(string &s, MTGCard *card, CardPrimitive * primi
string value = val; string value = val;
std::transform(value.begin(), value.end(), value.begin(), ::tolower); std::transform(value.begin(), value.end(), value.begin(), ::tolower);
cost->setRetrace(ManaCost::parseManaCost(value)); cost->setRetrace(ManaCost::parseManaCost(value));
size_t name = value.find("name(");
string theName = "";
if(name != string::npos)
{
size_t endName = value.find(")",name);
theName = value.substr(name + 5,endName - name - 5);
value.erase(name, endName - name + 1);
}
if(theName.size())
cost->getRetrace()->alternativeName.append(theName);
} }
} }
else if (s.find("rar") != string::npos) else if (s.find("rar") != string::npos)

View File

@@ -636,6 +636,9 @@ int MTGKickerRule::isReactingToClick(MTGCardInstance * card, ManaCost *)
if(!card->getManaCost()->getKicker()) if(!card->getManaCost()->getKicker())
return 0; return 0;
if(card->model->data->getManaCost()->getKicker() && card->model->data->getManaCost()->getKicker()->alternativeName.size())
alternativeName = card->model->data->getManaCost()->getKicker()->alternativeName;
if ((card->hasType(Subtypes::TYPE_INSTANT)) || card->has(Constants::FLASH) || card->has(Constants::ASFLASH) || (card->StackIsEmptyandSorcerySpeed())) if ((card->hasType(Subtypes::TYPE_INSTANT)) || card->has(Constants::FLASH) || card->has(Constants::ASFLASH) || (card->StackIsEmptyandSorcerySpeed()))
{ {
if(card->controller()->epic) if(card->controller()->epic)
@@ -1264,7 +1267,11 @@ int MTGRetraceRule::isReactingToClick(MTGCardInstance * card, ManaCost * mana)
for(unsigned int i = 0; i < retraceCost->extraCosts->costs.size();i++) for(unsigned int i = 0; i < retraceCost->extraCosts->costs.size();i++)
{ {
retraceCost->extraCosts->costs[i]->setSource(card); retraceCost->extraCosts->costs[i]->setSource(card);
} }
if(card->model->data->getManaCost()->getRetrace() && card->model->data->getManaCost()->getRetrace()->alternativeName.size())
alternativeName = card->model->data->getManaCost()->getRetrace()->alternativeName;
return MTGAlternativeCostRule::isReactingToClick( card, mana, retraceCost); return MTGAlternativeCostRule::isReactingToClick( card, mana, retraceCost);
} }