Fixed several primitives with "castcard" ability, fixed a bug when using "noevent" and "copied" options togheter with "namedcard" option in "castcard" ability, allowed the usage of "and!()!" ability with "namedcard" option in "castcard" ability for permanents, added "daybound" and "nightbound" abilities.
otherrestriction=can play sorcery,compare(isflipped)~equalto~1
restriction=compare(isflipped)~equalto~0
anyzone={0}:doubleside(Echoing Equation)
autostack=if paid(alternative) then transforms((,newability[moveto(mygraveyard)],newability[activate castcard(named!:echoing equation:!)])) forever
autostack=if paid(alternative) then transforms((,newability[moveto(mygraveyard)],newability[activate castcard(copied named!:echoing equation:!)])) forever
auto=aslongas(land|mybattlefield) 5/5 >7
text=Trample -- As long as you control eight or more lands, Augmenter Pugilist gets +5/+5. // Choose target creature you control. Each other creature you control becomes a copy of it until end of turn, except those creatures aren't legendary if the chosen creature is legendary. // {2}{U}{U} Echoing Equation
text=Trample -- As long as you control eight or more lands, Augmenter Pugilist gets +5/+5. // {2}{U}{U} Echoing Equation
mana={1}{G}{G}
type=Creature
subtype=Troll Druid
@@ -6148,10 +6148,10 @@ other={2}{B}{B} name(Search for Blex)
otherrestriction=can play sorcery,compare(isflipped)~equalto~1
restriction=compare(isflipped)~equalto~0
anyzone={0}:doubleside(Search for Blex)
autostack=if paid(alternative) then transforms((,newability[moveto(mygraveyard)],newability[activate castcard(named!:search for blex:!)])) forever
autostack=if paid(alternative) then transforms((,newability[moveto(mygraveyard)],newability[activate castcard(copied named!:search for blex:!)])) forever
text=Other Pests, Bats, Insects, Snakes, and Spiders you control get +1/+1. -- When Blex, Vexing Pest dies, you gain 4 life. // Look at the top five cards of your library. You may put any number of them into your hand and the rest into your graveyard. You lose 3 life for each card you put into your hand this way. // {2}{B}{B} Search for Blex
text=Other Pests, Bats, Insects, Snakes, and Spiders you control get +1/+1. -- When Blex, Vexing Pest dies, you gain 4 life. // {2}{B}{B} Search for Blex
mana={2}{G}
type=Legendary Creature
subtype=Pest
@@ -20880,10 +20880,10 @@ other={6}{B}{R} name(Awaken the Blood Avatar)
otherrestriction=can play sorcery,compare(isflipped)~equalto~1
restriction=compare(isflipped)~equalto~0
anyzone={0}:doubleside(Awaken the Blood Avatar)
autostack=if paid(alternative) then transforms((,newability[moveto(mygraveyard)],newability[activate castcard(named!:awaken the blood avatar:!)])) forever
autohand={4}{B}{R}{S(creature|myBattlefield)} restriction{type(creature|mybattlefield)~morethan~0,can play sorcery,compare(isflipped)~equalto~1}:name(Sacrifice 1) transforms((,newability[activate castcard(named!:awaken the blood avatar:!)],newability[moveto(mygraveyard)])) forever
autohand={2}{B}{R}{S(creature|myBattlefield)}{S(creature|myBattlefield)} restriction{type(creature|mybattlefield)~morethan~1,can play sorcery,compare(isflipped)~equalto~1}:name(Sacrifice 2) transforms((,newability[activate castcard(named!:awaken the blood avatar:!)],newability[moveto(mygraveyard)])) forever
autohand={B}{R}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)} restriction{type(creature|mybattlefield)~morethan~2,can play sorcery,compare(isflipped)~equalto~1}:name(Sacrifice 3) transforms((,newability[activate castcard(named!:awaken the blood avatar:!)],newability[moveto(mygraveyard)])) forever
autostack=if paid(alternative) then transforms((,newability[moveto(mygraveyard)],newability[activate castcard(copied named!:awaken the blood avatar:!)])) forever
autohand={4}{B}{R}{S(creature|myBattlefield)} restriction{type(creature|mybattlefield)~morethan~0,can play sorcery,compare(isflipped)~equalto~1}:name(Sacrifice 1) transforms((,newability[activate castcard(copied named!:awaken the blood avatar:!)],newability[moveto(mygraveyard)])) forever
autohand={2}{B}{R}{S(creature|myBattlefield)}{S(creature|myBattlefield)} restriction{type(creature|mybattlefield)~morethan~1,can play sorcery,compare(isflipped)~equalto~1}:name(Sacrifice 2) transforms((,newability[activate castcard(copied named!:awaken the blood avatar:!)],newability[moveto(mygraveyard)])) forever
autohand={B}{R}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)} restriction{type(creature|mybattlefield)~morethan~2,can play sorcery,compare(isflipped)~equalto~1}:name(Sacrifice 3) transforms((,newability[copied activate castcard(named!:awaken the blood avatar:!)],newability[moveto(mygraveyard)])) forever
text=Double strike -- Magecraft — Whenever you cast or copy an instant or sorcery spell, return target nonlegendary creature card from your graveyard to your hand. // {6}{B}{R} Awaken the Blood Avatar
mana={1}{W}{B}{B}
@@ -23036,7 +23036,7 @@ other={W}{W} name(Revel in Silence)
otherrestriction=compare(isflipped)~equalto~1
restriction=can play creature,compare(isflipped)~equalto~0
anyzone={0}:doubleside(Revel in Silence)
autostack=if paid(alternative) then transforms((,newability[moveto(myexile)],newability[activate castcard(named!:revel in silence:!)])) forever
autostack=if paid(alternative) then transforms((,newability[moveto(myexile)],newability[activate castcard(copied named!:revel in silence:!)])) forever
auto={1}{R}:2/0 ueot
text=Whenever an opponent activates an ability that isn't a mana ability, Flamescroll Celebrant deals 1 damage to that player. -- {1}{R}: Flamescroll Celebrant gets +2/+0 until end of turn. // {W}{W} Revel in Silence
text=Replicate {U} (When you cast this spell, copy it for each time you paid its replicate cost. You may choose new targets for the copies.) -- Tap target permanent.
mana={U}
type=Instant
@@ -33624,7 +33624,7 @@ other={2}{G}{G} name(Journey to the Oracle)
otherrestriction=can play sorcery,compare(isflipped)~equalto~1
restriction=compare(isflipped)~equalto~0
anyzone={0}:doubleside(Journey to the Oracle)
autostack=if paid(alternative) then transforms((,newability[moveto(mygraveyard)],newability[activate castcard(named!:journey to the oracle:!)])) forever
autostack=if paid(alternative) then transforms((,newability[moveto(mygraveyard)],newability[activate castcard(copied named!:journey to the oracle:!)])) forever
auto={D(*|myhand)}:moveto(ownerhand)
auto=@movedto(*[instant;sorcery]|mystack):name(Look top card) reveal:1 optionone target(land|reveal) moveto(mybattlefield) oneshot optiononeend optiontwo name(Cast for 1 or put back) target(*|reveal) moveto(mylibrary) and!( becomes(tobecast) ueot )! optiontwoend afterrevealed all(tobecast|mylibrary) transforms((,newability[pay({1}) name(Cast for 1) activate castcard(normal)])) oneshot afterrevealedend revealend
text=Discard a card: Return Jadzi, Oracle of Arcavios to its owner's hand. -- Magecraft — Whenever you cast or copy an instant or sorcery spell, reveal the top card of your library. If it's a nonland card, you may cast it by paying 1 rather than paying its mana cost. If it's a land card, put it onto the battlefield. // {2}{G}{G} Journey to the Oracle
auto=thisforeach(variable{kicked}>0) ability$!name(Copy Leap of Flame) name(Copy Leap of Flame) activate castcard(named!:Leap of Flame:!)!$ controller
auto=thisforeach(variable{kicked}>0) ability$!name(Copy Leap of Flame) name(Copy Leap of Flame) activate castcard(copied noevent named!:Leap of Flame:!)!$ controller
text=Replicate {U}{R} (When you cast this spell, copy it for each time you paid its replicate cost. You may choose new targets for the copies.) -- Target creature gets +1/+0 and gains flying and first strike until end of turn.
text=Replicate {3}{U} (When you cast this spell, copy it for each time you paid its replicate cost. You may choose new targets for the copies.) -- Choose target permanent an opponent controls. Search that player's library for a card with the same name and put it onto the battlefield under your control. Then that player shuffles his or her library.
text=Transform all Humans. Prevent all combat damage that would be dealt this turn by creatures other than Werewolves and Wolves. (Only double-faced cards can be transformed.)
auto={4}{T} restriction{type(*|mygraveyard)~morethan~3}:name(Exile from your graveyard) transforms((,newability[draw:1 controller],newability[name(Exile from your graveyard) target(<4>*|mygraveyard) moveto(exile)])) oneshot
text=Replicate {1}{R} (When you cast this spell, copy it for each time you paid its replicate cost. You may choose new targets for the copies.) -- Pyromatics deals 1 damage to any target.
otherrestriction=can play sorcery,compare(isflipped)~equalto~1
restriction=compare(isflipped)~equalto~0
anyzone={0}:doubleside(Deadly Vanity)
autostack=if paid(alternative) then transforms((,newability[moveto(mygraveyard)],newability[activate castcard(named!:deadly vanity:!)])) forever
autostack=if paid(alternative) then transforms((,newability[moveto(mygraveyard)],newability[activate castcard(copied named!:deadly vanity:!)])) forever
auto={E}:name(All creatures gain indestructible) all(creature|mybattlefield) transforms((,newability[indestructible])) ueot
text=Exile Selfless Glyphweaver: Creatures you control gain indestructible until end of turn. // Choose a creature or planeswalker, then destroy all other creatures and planeswalkers. // {5}{B}{B}{B} Deadly Vanity
text=Exile Selfless Glyphweaver: Creatures you control gain indestructible until end of turn. // {5}{B}{B}{B} Deadly Vanity
text=Replicate {R} (When you cast this spell, copy it for each time you paid its replicate cost. You may choose new targets for the copies.) -- Destroy target artifact.
auto=thisforeach(variable{kicked}>0) ability$!name(Copy Siege of Towers) name(Copy Siege of Towers) activate castcard(named!:Siege of Towers:!)!$ controller
auto=thisforeach(variable{kicked}>0) ability$!name(Copy Siege of Towers) name(Copy Siege of Towers) activate castcard(copied noevent named!:Siege of Towers:!)!$ controller
text=Replicate {1}{R} (When you cast this spell, copy it for each time you paid its replicate cost. You may choose new targets for the copies.) -- Target Mountain becomes a 3/1 creature. It's still a land.
auto=name(Choose one or both) activate castcard(named!:storvald effect:!)
auto=_ATTACKING_name(Choose one or both) activate castcard(named!:storvald effect:!)
auto=name(Choose one or both) activate castcard(copied noevent named!:storvald effect:!)
auto=_ATTACKING_name(Choose one or both) activate castcard(copied noevent named!:storvald effect:!)
text=Ward {3} -- Other creatures you control have ward {3}. -- Whenever Storvald enters the battlefield or attacks, choose one or both — -- • Target creature has base power and toughness 7/7 until end of turn. -- • Target creature has base power and toughness 1/1 until end of turn.
mana={4}{G}{W}{U}
type=Legendary Creature
@@ -62666,7 +62666,7 @@ target=player
kicker=multi{2}{U}{U} name(Replicate)
auto=name(Mill 2 cars) deplete:2
auto=may name(Return cards form graveyard) target(<upto:4>*|mygraveyard) moveto(mylibrary) and!( shuffle )!
auto=thisforeach(variable{kicked}>0) ability$!name(Copy Stream of Thought) name(Copy Stream of Thought) activate castcard(named!:Stream of Thought:!)!$ controller
auto=thisforeach(variable{kicked}>0) ability$!name(Copy Stream of Thought) name(Copy Stream of Thought) activate castcard(copied noevent named!:Stream of Thought:!)!$ controller
text=Target player puts the top four cards of their library into their graveyard. You shuffle up to four cards from your graveyard into your library. -- Replicate {2}{U}{U} (When you cast this spell, copy it for each time you paid its replicate cost. You may choose new targets for the copies.)
text=Replicate {2}{U} (When you cast this spell, copy it for each time you paid its replicate cost.) -- Create a 3/3 blue Weird creature token with defender and flying. Exile it at the beginning of the next end step.
autocommandzone=@counteradded(0/0,1,Explore) from(Tomb of Annihilation|mycommandzone) restriction{compare(hascntexplore)~equalto~2}:ability$!name(Veils of Fear or Oubliette) transforms((,newability[choice name(Veils of Fear) activate castcard(kicked!:1:! named!:annihilation rooms:!)],newability[if type(*|myhand)~morethan~0 then choice name(Oubliette) name(Oubliette) activate castcard(normal named!:annihilation rooms:!)])) oneshot!$ controller
autocommandzone=@counteradded(0/0,1,Explore) from(Tomb of Annihilation|mycommandzone) restriction{compare(hascntexplore)~equalto~3,compare(hascntoubliette)~equalto~0}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Sandfall Cell) name(Sandfall Cell) transforms((,newability[choice name(Loose 2 life) life:-2 controller],newability[if type(artifact|mybattlefield)~morethan~0 then if type(creature|mybattlefield)~morethan~0 then if type(land|mybattlefield)~morethan~0 then choice name(Sacrifice cards) name(Sacrifice cards) name(Sacrifice cards) name(Sacrifice cards) activate castcard(alternative named!:annihilation rooms:!)])) oneshot!$ controller
autocommandzone=@counteradded(0/0,1,Explore) from(Tomb of Annihilation|mycommandzone) restriction{compare(hascntexplore)~equalto~3,compare(hascntoubliette)~equalto~0}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Sandfall Cell) name(Sandfall Cell) transforms((,newability[choice name(Loose 2 life) life:-2 controller],newability[if type(artifact|mybattlefield)~morethan~0 then if type(creature|mybattlefield)~morethan~0 then if type(land|mybattlefield)~morethan~0 then choice name(Sacrifice cards) name(Sacrifice cards) name(Sacrifice cards) name(Sacrifice cards) activate castcard(alternative named!:annihilation rooms:!)])) oneshot!$ opponent
autocommandzone=@counteradded(0/0,1,Explore) from(Tomb of Annihilation|mycommandzone) restriction{compare(hascntexplore)~equalto~2}:ability$!name(Veils of Fear or Oubliette) transforms((,newability[choice name(Veils of Fear) activate castcard(copied noevent kicked!:1:! named!:annihilation rooms:!)],newability[if type(*|myhand)~morethan~0 then choice name(Oubliette) name(Oubliette) activate castcard(copied noevent normal named!:annihilation rooms:!)])) oneshot!$ controller
autocommandzone=@counteradded(0/0,1,Explore) from(Tomb of Annihilation|mycommandzone) restriction{compare(hascntexplore)~equalto~3,compare(hascntoubliette)~equalto~0}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Sandfall Cell) name(Sandfall Cell) transforms((,newability[choice name(Loose 2 life) life:-2 controller],newability[if type(artifact|mybattlefield)~morethan~0 then if type(creature|mybattlefield)~morethan~0 then if type(land|mybattlefield)~morethan~0 then choice name(Sacrifice cards) name(Sacrifice cards) name(Sacrifice cards) name(Sacrifice cards) activate castcard(copied alternative noevent named!:annihilation rooms:!)])) oneshot!$ controller
autocommandzone=@counteradded(0/0,1,Explore) from(Tomb of Annihilation|mycommandzone) restriction{compare(hascntexplore)~equalto~3,compare(hascntoubliette)~equalto~0}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Sandfall Cell) name(Sandfall Cell) transforms((,newability[choice name(Loose 2 life) life:-2 controller],newability[if type(artifact|mybattlefield)~morethan~0 then if type(creature|mybattlefield)~morethan~0 then if type(land|mybattlefield)~morethan~0 then choice name(Sacrifice cards) name(Sacrifice cards) name(Sacrifice cards) name(Sacrifice cards) activate castcard(copied alternative noevent named!:annihilation rooms:!)])) oneshot!$ opponent
autocommandzone=@counteradded(0/0,1,Explore) from(Tomb of Annihilation|mycommandzone) restriction{compare(hascntexplore)~equalto~3,compare(hascntoubliette)~equalto~1}:choice name(Dungeon completed) all(Tomb of Annihilation|mycommandzone) completedungeon:1 controller
autocommandzone=@counteradded(0/0,1,Explore) from(Tomb of Annihilation|mycommandzone) restriction{compare(hascntexplore)~equalto~3,compare(hascntoubliette)~equalto~1}:thisforeach(variable{type:*[twodngtrg]:myBattlefieldplus1plusend}) ability$!name(Cradle of the Death God) name(Cradle of the Death God) token(The Atropal)!$ controller
autocommandzone=@counteradded(0/0,1,Explore) from(Tomb of Annihilation|mycommandzone) restriction{compare(hascntexplore)~equalto~4}:choice name(Dungeon completed) all(Tomb of Annihilation|mycommandzone) completedungeon:1 controller
auto=if type(*[instant;sorcery:manacost=0]|mygraveyard)~morethan~0 then choice name(Exile instant or sorcery with manacost 0) name(Exile instant or sorcery with manacost 0) target(*[instant;sorcery;manacost=0]|mygraveyard) moveto(myexile)
auto=if type(*[instant;sorcery:manacost=1]|mygraveyard)~morethan~0 then choice name(Exile instant or sorcery with manacost 1) name(Exile instant or sorcery with manacost 1) target(*[instant;sorcery;manacost=1]|mygraveyard) moveto(myexile) and!( all(this) counter(1/1) )!
@@ -67737,7 +67737,7 @@ name=Train of Thought
abilities=hasnokicker,hasreplicate
auto=name(Draw a card) draw:1 controller
kicker=multi{1}{U} name(Replicate)
auto=thisforeach(variable{kicked}>0) ability$!name(Copy Train of Thought) name(Copy Train of Thought) activate castcard(named!:Train of Thought:!)!$ controller
auto=thisforeach(variable{kicked}>0) ability$!name(Copy Train of Thought) name(Copy Train of Thought) activate castcard(copied noevent named!:Train of Thought:!)!$ controller
text=Replicate {1}{U} (When you cast this spell, copy it for each time you paid its replicate cost.) -- Draw a card.
text=Replicate {2}{U} (When you cast this spell, copy it for each time you paid its replicate cost. You may choose new targets for the copies.) -- Return target creature to its owner’s hand.
mana={2}{U}
type=Sorcery
@@ -71916,7 +71916,7 @@ other={3} name(Explore the Vastlands)
otherrestriction=can play sorcery,compare(isflipped)~equalto~1
restriction=compare(isflipped)~equalto~0
anyzone={0}:doubleside(Explore the Vastlands)
autostack=if paid(alternative) then transforms((,newability[moveto(mygraveyard)],newability[activate castcard(named!:explore the vastlands:!)])) forever
autostack=if paid(alternative) then transforms((,newability[moveto(mygraveyard)],newability[activate castcard(copied named!:explore the vastlands:!)])) forever
auto=@movedto(werewolf[hasbackside]|mybattlefield):name(Transforms werewolf) all(trigger[to]) transforms((,newability[if cantargetcard(*[fresh]|*) then may name(Transform Human Werewolf) name(Transform Human Werewolf) flip(backside) limit:1])) forever
auto=@movedto(werewolf[hasbackside;-nightbound;-daybound]|mybattlefield):name(Transforms werewolf) all(trigger[to]) transforms((,newability[if cantargetcard(*[fresh]|*) then may name(Transform Human Werewolf) name(Transform Human Werewolf) flip(backside) limit:1])) forever
text=Whenever a Werewolf enters the battlefield under your control, you may transform it. -- At the beginning of each upkeep, if a player cast two or more spells last turn, transform Vildin-Pack Alpha. // Geier Reach Bandit
text=+1: Until your next turn, whenever an opponent attacks you and/or planeswalkers you control, they discard a card. If they can’t, they sacrifice an attacking creature. -- −2: Accept one of Davriel’s offers, then accept one of Davriel’s conditions. -- −3: Target creature perpetually gets -3/-3.
_target=source->controller()->game->putInZone(theNamedCard,theNamedCard->currentZone,source->controller()->game->stack,noEvent);// Fixed a bug when using noevent option with namedcard option.
if(asCopy)
_target->isToken=1;// Fixed a bug when using copied option with namedcard option.
MTGCardInstance*copy=source->controller()->game->putInZone(theNamedCard,theNamedCard->currentZone,source->controller()->game->stack,noEvent);// Fixed a bug when using noevent option with namedcard option.
if(asCopy)
copy->isToken=1;// Fixed a bug when using copied option with namedcard option.
"showcontrollerhand",//controller plays with his hand revealed.
"hasreplicate",//Kicker cost is a replicate cost (e.g. "Vacuumelt")
"isprey",//Creature has been haunted by some other card.
"hasdisturb"//Retrace cost is a disturb cost (e.g. "Beloved Beggar")
"hasdisturb",//Retrace cost is a disturb cost (e.g. "Beloved Beggar")
"daybound",//Card has daybound (e.g. "Brutal Cathar")
"nightbound"//Card has nightbound (e.g. "Moonrage Brute")
};
map<string,int>Constants::MTGBasicAbilitiesMap;
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.