Added some new primitives from BRO set, fixed BRO and BRC card dat files, updated card image url links, added new keyword "prodmana" to count the specific amount of mana spent to cast a card.

This commit is contained in:
Vittorio Alfieri
2023-05-29 18:05:21 +02:00
parent 961f00441f
commit 2e09f489cb
6 changed files with 417 additions and 14 deletions

View File

@@ -62619,14 +62619,14 @@ BRO;583761t;https://cards.scryfall.io/large/front/7/7/772dac39-269b-4a35-aad3-32
BRO;583777t;https://cards.scryfall.io/large/front/7/7/772dac39-269b-4a35-aad3-320279af833f.jpg
BRO;583784t;https://cards.scryfall.io/large/front/4/7/474c8cfe-71ce-46c7-8cf4-dfeae3c0e73b.jpg
BRO;583786t;https://cards.scryfall.io/large/front/4/7/474c8cfe-71ce-46c7-8cf4-dfeae3c0e73b.jpg
BRO;583789t;https://cards.scryfall.io/large/front/d/f/df343bf9-f535-42c7-a2d0-8adfd068b354.jpg
BRO;583789t;https://cards.scryfall.io/large/front/d/4/d45fe4b6-aeaf-4f84-b660-c7b482ed8512.jpg
BRO;583801t;https://cards.scryfall.io/large/front/4/5/4501d15d-d306-4372-9516-bd63cf788f45.jpg
BRO;583805t;https://cards.scryfall.io/large/front/3/7/37da5b54-ec55-46e3-9f0b-565cbbe1ac7a.jpg
BRO;588290t;https://cards.scryfall.io/large/front/3/7/37da5b54-ec55-46e3-9f0b-565cbbe1ac7a.jpg
BRO;583823t;https://cards.scryfall.io/large/front/d/7/d7dbfa72-2025-455c-8cc4-afbf6c8e141a.jpg
BRO;583834t;https://cards.scryfall.io/large/front/e/7/e72e0ddb-3dd4-4db3-aa05-dec8691432a0.jpg
BRO;583823t;https://cards.scryfall.io/large/front/d/4/d45fe4b6-aeaf-4f84-b660-c7b482ed8512.jpg
BRO;583834t;https://cards.scryfall.io/large/front/d/4/d45fe4b6-aeaf-4f84-b660-c7b482ed8512.jpg
BRO;588291t;https://cards.scryfall.io/large/front/7/7/772dac39-269b-4a35-aad3-320279af833f.jpg
BRO;586144t;https://cards.scryfall.io/large/front/d/b/dbb1f21c-60fa-4fcc-844b-25bf5b47fd1f.jpg
BRO;586144t;https://cards.scryfall.io/large/front/d/4/d45fe4b6-aeaf-4f84-b660-c7b482ed8512.jpg
BRO;585674t;https://cards.scryfall.io/large/front/3/4/349e3241-8f9d-4c52-9848-e01b575fd372.jpg
BRO;585675t;https://cards.scryfall.io/large/front/4/5/4501d15d-d306-4372-9516-bd63cf788f45.jpg
BRO;585705t;https://cards.scryfall.io/large/front/0/8/087ab398-474f-4455-bef4-ea42c6913486.jpg
@@ -62640,8 +62640,8 @@ BRO;585747t;https://cards.scryfall.io/large/front/7/4/74de70f2-93b6-4fc5-8c4d-46
BRO;585748t;https://cards.scryfall.io/large/front/7/7/772dac39-269b-4a35-aad3-320279af833f.jpg
BRO;585752t;https://cards.scryfall.io/large/front/7/7/772dac39-269b-4a35-aad3-320279af833f.jpg
BRO;585754t;https://cards.scryfall.io/large/front/4/7/474c8cfe-71ce-46c7-8cf4-dfeae3c0e73b.jpg
BRO;585771t;https://cards.scryfall.io/large/front/e/7/e72e0ddb-3dd4-4db3-aa05-dec8691432a0.jpg
BRO;586065t;https://cards.scryfall.io/large/front/d/b/dbb1f21c-60fa-4fcc-844b-25bf5b47fd1f.jpg
BRO;585771t;https://cards.scryfall.io/large/front/d/4/d45fe4b6-aeaf-4f84-b660-c7b482ed8512.jpg
BRO;586065t;https://cards.scryfall.io/large/front/d/4/d45fe4b6-aeaf-4f84-b660-c7b482ed8512.jpg
BRO;583586;https://cards.scryfall.io/large/front/3/8/38a62bb2-bc33-44d4-9a7e-92c9ea7d3c2c.jpg
BRO;583587;https://cards.scryfall.io/large/front/7/a/7ad55575-6053-43b1-9496-bcb1ea25e2a1.jpg
BRO;583588;https://cards.scryfall.io/large/front/c/f/cfa00c0e-163d-4f59-b8b9-3ee9143d27bb.jpg
@@ -65569,7 +65569,7 @@ ZNR;495100;https://cards.scryfall.io/large/front/1/9/1967d4a8-6cc4-4a4d-9d24-932
ZNR;495101;https://cards.scryfall.io/large/front/3/c/3c6a38dd-e8f5-420f-9576-66937c71286b.jpg
ZNR;495102;https://cards.scryfall.io/large/front/2/b/2b90e88b-60a3-4d1d-bb8c-14633e5005a5.jpg
BRC;588357t;https://cards.scryfall.io/large/front/9/1/914fecab-24c0-4179-84d6-ded78c29134f.jpg
BRC;588406t;https://cards.scryfall.io/large/front/b/9/b9a21809-84cb-45f4-8314-80055983450d.jpg
BRC;588406t;https://cards.scryfall.io/large/front/d/4/d45fe4b6-aeaf-4f84-b660-c7b482ed8512.jpg
BRC;588408t;https://cards.scryfall.io/large/front/0/0/003367c7-6cb8-4451-8349-76ce5d21e367.jpg
BRC;588414t;https://cards.scryfall.io/large/front/c/e/cef0352e-f879-44f1-ac24-71bab8fbf6d5.jpg
BRC;586467t;https://cards.scryfall.io/large/front/e/e/ee793f2e-f5e0-4cdb-b620-6959ff4b6541.jpg
@@ -65578,7 +65578,7 @@ BRC;589544t;https://cards.scryfall.io/large/front/9/1/914fecab-24c0-4179-84d6-de
BRC;588500t;https://cards.scryfall.io/large/front/e/e/ee793f2e-f5e0-4cdb-b620-6959ff4b6541.jpg
BRC;588504t;https://cards.scryfall.io/large/front/9/1/914fecab-24c0-4179-84d6-ded78c29134f.jpg
BRC;588505t;https://cards.scryfall.io/large/front/7/4/74de70f2-93b6-4fc5-8c4d-464f880d3c54.jpg
BRC;588557t;https://cards.scryfall.io/large/front/b/9/b9a21809-84cb-45f4-8314-80055983450d.jpg
BRC;588557t;https://cards.scryfall.io/large/front/d/4/d45fe4b6-aeaf-4f84-b660-c7b482ed8512.jpg
BRC;588559t;https://cards.scryfall.io/large/front/0/0/003367c7-6cb8-4451-8349-76ce5d21e367.jpg
BRC;588565t;https://cards.scryfall.io/large/front/c/e/cef0352e-f879-44f1-ac24-71bab8fbf6d5.jpg
BRC;588682t;https://cards.scryfall.io/large/front/9/1/914fecab-24c0-4179-84d6-ded78c29134f.jpg
Can't render this file because it is too large.

View File

@@ -25,7 +25,7 @@ id=-586467
rarity=T
[/card]
[card]
primitive=Forest Dryad
primitive=Dryad Arbor
id=-586469
rarity=T
[/card]
@@ -45,7 +45,7 @@ id=-588504
rarity=T
[/card]
[card]
primitive=Forest Dryad
primitive=Dryad Arbor
id=-588505
rarity=T
[/card]

View File

@@ -80,7 +80,7 @@ id=-583728
rarity=T
[/card]
[card]
primitive=land
primitive=Dryad Arbor
id=-583754
rarity=T
[/card]
@@ -190,7 +190,7 @@ id=-585726
rarity=T
[/card]
[card]
primitive=land
primitive=Dryad Arbor
id=-585747
rarity=T
[/card]

View File

@@ -1,7 +1,7 @@
grade=borderline
#Bordeline Primitives Pack for Wagic the Homebrew.
#Please keep these card alphabetized, and try to have the "name=" line at the top of each card
#I sorted this programmatically - Thanks to Vitty85 28-05-2023
#I sorted this programmatically - Thanks to Vitty85 29-05-2023
[card]
name=+2 Mace
auto={3}:equip
@@ -4481,6 +4481,15 @@ power=3
toughness=1
[/card]
[card]
name=Ashnod's Intervention
target=creature
auto=transforms((,newability[2/0],newability[handdeath],newability[counter(0/0.1.AshnodEffect) notrg],newability[phaseaction[endofturn once sourceinplay] removeallcounters(0/0.1.AshnodEffect) notrg])) ueot
auto=emblem transforms((,newability[@movedto(creature[counter{0/0.1.AshnodEffect}]|exile) from(battlefield):name(Return to hand) all(trigger[to]) moveto(ownerHand)])) ueot
text=Until end of turn, target creature gets +2/+0 and gains "When this creature dies or is put into exile from the battlefield, return it to its owner's hand."
mana={B}
type=Instant
[/card]
[card]
name=Ashnod, Flesh Mechanist
abilities=deathtouch
auto=_ATTACKING_may name(Sacrifice creature) target(creature|myBattlefield) sacrifice and!( token(Powerstone) and!( tap(noevent) )! )!
@@ -8091,6 +8100,27 @@ mana={1}{B}
type=Instant
[/card]
[card]
name=Bladecoil Serpent
auto=if casted(this) then if compare(halfdownusedmanau)~morethan~0 then name(Draw cards) name(Draw cards) draw:halfdownusedmanau controller
auto=if casted(this) then if compare(halfdownusedmanab)~equalto~1 then ability$!name(Discard 1 card) notatarget(*|myhand) reject!$ opponent
auto=if casted(this) then if compare(halfdownusedmanab)~equalto~2 then ability$!name(Discard 2 cards) notatarget(<2>*|myhand) reject!$ opponent
auto=if casted(this) then if compare(halfdownusedmanab)~equalto~3 then ability$!name(Discard 3 cards) notatarget(<3>*|myhand) reject!$ opponent
auto=if casted(this) then if compare(halfdownusedmanab)~equalto~4 then ability$!name(Discard 4 cards) notatarget(<4>*|myhand) reject!$ opponent
auto=if casted(this) then if compare(halfdownusedmanab)~equalto~5 then ability$!name(Discard 5 cards) notatarget(<5>*|myhand) reject!$ opponent
auto=if casted(this) then if compare(halfdownusedmanab)~equalto~6 then ability$!name(Discard 6 cards) notatarget(<6>*|myhand) reject!$ opponent
auto=if casted(this) then if compare(halfdownusedmanab)~equalto~7 then ability$!name(Discard 7 cards) notatarget(<7>*|myhand) reject!$ opponent
auto=if casted(this) then if compare(halfdownusedmanab)~equalto~8 then ability$!name(Discard 8 cards) notatarget(<8>*|myhand) reject!$ opponent
auto=if casted(this) then if compare(halfdownusedmanab)~equalto~9 then ability$!name(Discard 9 cards) notatarget(<9>*|myhand) reject!$ opponent
auto=if casted(this) then if compare(halfdownusedmanab)~morethan~9 then ability$!name(Discard 10 cards) notatarget(<10>*|myhand) reject!$ opponent
auto=if casted(this) then if compare(halfdownusedmanar)~morethan~0 then name(Gets trample and haste) name(Gets trample and haste) transforms((,newability[halfdownusedmanar/0],newability[trample],newability[haste])) ueot
text=When Bladecoil Serpent enters the battlefield, for each {U}{U} spent to cast it, draw a card. -- When Bladecoil Serpent enters the battlefield, for each {B}{B} spent to cast it, each opponent discards a card. -- When Bladecoil Serpent enters the battlefield, for each {R}{R} spent to cast it, it gets +1/+0 and gains trample and haste until end of turn.
mana={X}{6}
type=Artifact Creature
subtype=Serpent
power=5
toughness=4
[/card]
[card]
name=Bladed Ambassador
auto=counter(0/0,1,oil)
auto={1}{C(0/0,-1,oil)}:indestructible ueot
@@ -8148,6 +8178,16 @@ power=6
toughness=6
[/card]
[card]
name=Blanchwood Prowler
auto=name(Mill 3 cards) all(*[zpos<=2]|mylibrary) moveto(mygraveyard) and!( transforms((tobereturn,newability[all(*[zpos=3]|mylibrary) moveto(mygraveyard) and!( transforms((tobereturn,newability[choice name(Return a permanent) target(tobereturn[land]|mygraveyard) moveto(myhand)],newability[choice name(Put 1/1 counter) target(Blanchwood Prowler[fresh]|mybattlefield) counter(1/1)])) ueot )!])) ueot )!
text=When Blanchwood Prowler enters the battlefield, mill three cards. You may put a land card from among the cards milled this way into your hand. If you don't, put a +1/+1 counter on Blanchwood Prowler. (To mill a card, put the top card of your library into your graveyard.)
mana={1}{G}
type=Creature
subtype=Elemental
power=1
toughness=1
[/card]
[card]
name=Blaring Captain
abilities=partner
partner=Blaring Recruiter
@@ -15472,6 +15512,17 @@ type=Enchantment
subtype=Aura
[/card]
[card]
name=Clay Champion
auto=if casted(this) then name(Put 1/1 counters) name(Put 1/1 counters) counter(1/1,halfdownusedmanag) && counter(1/1,halfdownusedmanag) && counter(1/1,halfdownusedmanag)
auto=if casted(this) then name(Put 1/1 counters) name(Put 1/1 counters) target(<upto:2>other creature|mybattlefield) counter(1/1,halfdownusedmanaw)
text=Clay Champion enters the battlefield with three +1/+1 counters on it for each {G}{G} spent to cast it. -- When Clay Champion enters the battlefield, choose up to two other target creatures you control. For each {W}{W} spent to cast Clay Champion, put a +1/+1 counter on each of them.
mana={X}{4}
type=Artifact Creature
subtype=Construct
power=2
toughness=2
[/card]
[card]
name=Clay Golem
auto=this(cantargetcard(*[-monstrous]) {6}:becomes(monstrous) forever && transforms((,newability[name(Roll a d8) rolld8 8 winability counter(1/1.lastrollresult) winabilityend loseability counter(1/1.lastrollresult) loseabilityend rolld8end],newability[name(Destroy permanent) destroy target(*|battlefield)])) forever
text={6}, Roll a d8: Monstrosity X, where X is the result. (If this creature isn't monstrous, put X +1/+1 counters on it and it becomes monstrous.) -- Berserk - When Clay Golem becomes monstrous, destroy target permanent.
@@ -21029,6 +21080,15 @@ power=3
toughness=2
[/card]
[card]
name=Defabricate
#MISSING:counter ability
target=*[artifact;enchantment]|stack
auto=fizzleto(exile)
text=Choose one -- Counter target artifact or enchantment spell. If a spell is countered this way, exile it instead of putting it into its owner's graveyard. -- Counter target activated or triggered ability.
mana={1}{U}
type=Instant
[/card]
[card]
name=Deface
auto=choice name(Destroy target artifact) destroy target(artifact)
auto=choice name(Destroy target creature with defender) destroy target(creature[defender])
@@ -24379,6 +24439,14 @@ text=Dreamroot Cascade enters the battlefield tapped unless you control two or m
type=Land
[/card]
[card]
name=Dreams of Steel and Oil
auto=if type(*[-land]|opponenthand)~morethan~0 then name(Exile artifact or creature) name(Exile artifact or creature) target(*[artifact;creature]|opponenthand) moveto(ownerexile) and!( ability$!name(Exile artifact or creature) name(Exile artifact or creature) target(*[artifact;creature]|opponentgraveyard) moveto(ownerexile)!$ controller )!
auto=if type(*[-land]|opponenthand)~equalto~0 then name(Look opponent hand) name(Look opponent hand) name(Look opponent hand) target(*|opponenthand) moveto(myreveal) and!( moveto(opponenthand) and!( ability$!name(Exile artifact or creature) name(Exile artifact or creature) target(*[artifact;creature]|opponentgraveyard) moveto(ownerexile)!$ controller )! )!
text=Target opponent reveals their hand. You choose an artifact or creature card from it, then choose an artifact or creature card from their graveyard. Exile the chosen cards.
mana={B}
type=Sorcery
[/card]
[card]
name=Dreamshackle Geist
abilities=flying
auto=@each my combatbegins:may name(Choose one) transforms((,newability[choice name(Tap a creature) target(creature) tap],newability[name(Creature doesn't untap) target(creature) frozen])) oneshot
@@ -29820,6 +29888,18 @@ power=2
toughness=1
[/card]
[card]
name=Feldon, Ronom Excavator
abilities=haste,cantblock
aicode=activate transforms((,newability[all(*[zpos<=thatmuch]|mylibrary) moveto(myexile) and!( target(*|exile) transforms((,newability[canplayfromexile uent])) uent )! ])) uent
auto=@damaged(this):name(Exile top card) reveal:thatmuch optionone name(Choose card) target(*|reveal) moveto(ownerexile) and!( transforms((,newability[canplayfromexile uent])) uent )! optiononeend optiontwo name(Exile cards) all(*|reveal) moveto(ownerexile) optiontwoend revealend
text=Haste -- Feldon, Ronom Excavator can't block. -- Whenever Feldon is dealt damage, exile that many cards from the top of your library. Choose one of them. Until the end of your next turn, you may play that card.
mana={1}{R}
type=Legendary Creature
subtype=Human Artificer
power=2
toughness=2
[/card]
[card]
name=Felidar Retreat
auto=_LANDFALL_name(Choose one) ability$!name(Choose one) choice name(Put a +1/+1 counter and vigilance) all(creature|myBattlefield) counter(1/1) && all(creature|myBattlefield) vigilance ueot _ choice name(Create a 2/2 Cat) token(Cat Beast)!$ controller
text=Landfall - Whenever a land enters the battlefield under your control, Choose one -- Create a 2/2 white Cat Beast creature token. -- Put a +1/+1 counter on each creature you control. Those creatures gain vigilance until end of turn.
@@ -32081,6 +32161,14 @@ text={T}: Add {C}. -- {T}: Choose target commander that entered the battlefield
type=Land
[/card]
[card]
name=Forging the Anchor
aicode=activate transforms((,newability[if type(artifact[zpos<=5]|myLibrary)~morethan~0 then all(artifact[zpos<=5]|myLibrary) moveTo(myHand) and!( all(other *[zpos<=5]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )! else all(*[zpos<=5]|mylibrary) moveto(myreveal) and!( bottomoflibrary and!( draw:1 controller)! )! ])) oneshot
auto=name(Look 5 cards) reveal:5 optionone name(Get artifacts) target(<upto:5>artifact|reveal) moveto(myhand) optiononeend optiontwo name(Put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend
text=Look at the top five cards of your library. You may reveal any number of artifact cards from among them and put the revealed cards into your hand. Put the rest on the bottom of your library in a random order.
mana={2}{U}
type=Sorcery
[/card]
[card]
name=Forging the Tyrite Sword
auto=counter(0/0,1,Lore)
auto=@each my firstmain:counter(0/0,1,Lore)
@@ -38508,6 +38596,18 @@ power=2
toughness=3
[/card]
[card]
name=Gwenna, Eyes of Gaea
auto=this(variable{type:creature:myrestrictedcastingzone}>0) {T}:name(Add 2 mana) thisforeach(variable{2}) ability$!name(Choose one) choice name(Add white) add{W} _ choice name(Add black) add{B} _ choice name(Add green) add{G} _ choice name(Add blue) add{U} _ choice name(Add red) add{R}!$ controller
auto=this(variable{type:creature:mybattlefield}>1) {T}:name(Add 2 mana) thisforeach(variable{2}) ability$!name(Choose one) choice name(Add white) add{W} _ choice name(Add black) add{B} _ choice name(Add green) add{G} _ choice name(Add blue) add{U} _ choice name(Add red) add{R}!$ controller
auto=@movedTo(creature[power>=5]|mystack):name(Put 1/1 counter) transforms((,newability[counter(1/1)],newability[untap])) oneshot
text={T}: Add two mana in any combination of colors. Spend this mana only to cast creature spells or activate abilities of a creature or creature card. -- Whenever you cast a creature spell with power 5 or greater, put a +1/+1 counter on Gwenna, Eyes of Gaea and untap it.
mana={2}{G}
type=Legendary Creature
subtype=Elf Druid Scout
power=2
toughness=3
[/card]
[card]
name=Gyome, Master Chef
abilities=trample
auto=@each my end restriction{thisturn(creature[-token]|mybattlefield)~equalto~1}:token(Food)
@@ -41917,6 +42017,19 @@ power=3
toughness=3
[/card]
[card]
name=Hulking Metamorph
other={2}{U}{U} name(prototype)
auto=if paid(alternative) then becomes(,3/3,blue) forever
auto=ifnot paid(alternative) then may name(Copy artifact or creature) name(Copy artifact or creature) target(*[creature;artifact]|battlefield) copy and!( transforms((Artifact Creature,setpower=7,settoughness=7)) forever )!
auto=if paid(alternative) then may name(Copy artifact or creature) name(Copy artifact or creature) target(*[creature;artifact]|battlefield) copy and!( transforms((Artifact Creature,setpower=3,settoughness=3)) forever )!
text=Prototype {2}{U}{U} - 3/3 (You may cast this spell with different mana cost, color, and size. It keeps its abilities and types.) -- You may have Hulking Metamorph enter the battlefield as a copy of an artifact or creature you control, except it's an artifact creature in addition to its other types, and its power and toughness are equal to Hulking Metamorph's power and toughness.
mana={9}
type=Artifact Creature
subtype=Shapeshifter
power=7
toughness=7
[/card]
[card]
name=Hull Breach
auto=choice name(Destroy target artifact) destroy target(artifact) restriction{type(artifact|battlefield)~morethan~0}
auto=choice name(Destroy target enchantment) destroy target(enchantment) restriction{type(enchantment|battlefield)~morethan~0}
@@ -42224,6 +42337,37 @@ power=3
toughness=4
[/card]
[card]
name=Hurkyl's Final Meditation
other={7}{U}{U}{U} name(Cast on opponent turn)
otherrestriction=compare(controllerturn)~equalto~0
restriction=compare(controllerturn)~equalto~1
auto=all(*[-land]|battlefield) moveTo(ownerHand)
auto=emblem transforms((,newability[maxCast(*)0 controller],newability[maxCast(*)0 opponent])) ueot
auto=if compare(controllerturn)~equalto~0 then if compare(currentphase)~equalto~0} then name(End turn) name(End turn) name(End turn) all(*|stack) spellmover(exile) && nextphasealter(remove,untap,opponent) && nextphasealter(remove,upkeep,opponent) && nextphasealter(remove,draw,opponent) && nextphasealter(remove,firstmain,opponent) && nextphasealter(remove,combatbegin,opponent) && nextphasealter(remove,combatattackers,opponent) && nextphasealter(remove,combatblockers,opponent) && nextphasealter(remove,combatdamage,opponent) && nextphasealter(remove,combatend,opponent) && nextphasealter(remove,secondmain,opponent)
auto=if compare(controllerturn)~equalto~0 then if compare(currentphase)~equalto~1} then name(End turn) name(End turn) name(End turn) all(*|stack) spellmover(exile) && nextphasealter(remove,upkeep,opponent) && nextphasealter(remove,draw,opponent) && nextphasealter(remove,firstmain,opponent) && nextphasealter(remove,combatbegin,opponent) && nextphasealter(remove,combatattackers,opponent) && nextphasealter(remove,combatblockers,opponent) && nextphasealter(remove,combatdamage,opponent) && nextphasealter(remove,combatend,opponent) && nextphasealter(remove,secondmain,opponent)
auto=if compare(controllerturn)~equalto~0 then if compare(currentphase)~equalto~2} then name(End turn) name(End turn) name(End turn) all(*|stack) spellmover(exile) && nextphasealter(remove,draw,opponent) && nextphasealter(remove,firstmain,opponent) && nextphasealter(remove,combatbegin,opponent) && nextphasealter(remove,combatattackers,opponent) && nextphasealter(remove,combatblockers,opponent) && nextphasealter(remove,combatdamage,opponent) && nextphasealter(remove,combatend,opponent) && nextphasealter(remove,secondmain,opponent)
auto=if compare(controllerturn)~equalto~0 then if compare(currentphase)~equalto~3} then name(End turn) name(End turn) name(End turn) all(*|stack) spellmover(exile) && nextphasealter(remove,firstmain,opponent) && nextphasealter(remove,combatbegin,opponent) && nextphasealter(remove,combatattackers,opponent) && nextphasealter(remove,combatblockers,opponent) && nextphasealter(remove,combatdamage,opponent) && nextphasealter(remove,combatend,opponent) && nextphasealter(remove,secondmain,opponent)
auto=if compare(controllerturn)~equalto~0 then if compare(currentphase)~equalto~4} then name(End turn) name(End turn) name(End turn) all(*|stack) spellmover(exile) && nextphasealter(remove,combatbegin,opponent) && nextphasealter(remove,combatattackers,opponent) && nextphasealter(remove,combatblockers,opponent) && nextphasealter(remove,combatdamage,opponent) && nextphasealter(remove,combatend,opponent) && nextphasealter(remove,secondmain,opponent)
auto=if compare(controllerturn)~equalto~0 then if compare(currentphase)~equalto~5} then name(End turn) name(End turn) name(End turn) all(*|stack) spellmover(exile) && nextphasealter(remove,combatattackers,opponent) && nextphasealter(remove,combatblockers,opponent) && nextphasealter(remove,combatdamage,opponent) && nextphasealter(remove,combatend,opponent) && nextphasealter(remove,secondmain,opponent)
auto=if compare(controllerturn)~equalto~0 then if compare(currentphase)~equalto~6} then name(End turn) name(End turn) name(End turn) all(*|stack) spellmover(exile) && nextphasealter(remove,combatblockers,opponent) && nextphasealter(remove,combatdamage,opponent) && nextphasealter(remove,combatend,opponent) && nextphasealter(remove,secondmain,opponent)
auto=if compare(controllerturn)~equalto~0 then if compare(currentphase)~equalto~7} then name(End turn) name(End turn) name(End turn) all(*|stack) spellmover(exile) && nextphasealter(remove,combatdamage,opponent) && nextphasealter(remove,combatend,opponent) && nextphasealter(remove,secondmain,opponent)
auto=if compare(controllerturn)~equalto~0 then if compare(currentphase)~equalto~8} then name(End turn) name(End turn) name(End turn) all(*|stack) spellmover(exile) && nextphasealter(remove,combatend,opponent) && nextphasealter(remove,secondmain,opponent)
auto=if compare(controllerturn)~equalto~0 then if compare(currentphase)~equalto~9} then name(End turn) name(End turn) name(End turn) all(*|stack) spellmover(exile) && nextphasealter(remove,secondmain,opponent)
auto=if compare(controllerturn)~equalto~1 then if compare(currentphase)~equalto~0} then name(End turn) name(End turn) name(End turn) all(*|stack) spellmover(exile) && nextphasealter(remove,untap,controller) && nextphasealter(remove,upkeep,controller) && nextphasealter(remove,draw,controller) && nextphasealter(remove,firstmain,controller) && nextphasealter(remove,combatbegin,controller) && nextphasealter(remove,combatattackers,controller) && nextphasealter(remove,combatblockers,controller) && nextphasealter(remove,combatdamage,controller) && nextphasealter(remove,combatend,controller) && nextphasealter(remove,secondmain,controller)
auto=if compare(controllerturn)~equalto~1 then if compare(currentphase)~equalto~1} then name(End turn) name(End turn) name(End turn) all(*|stack) spellmover(exile) && nextphasealter(remove,upkeep,controller) && nextphasealter(remove,draw,controller) && nextphasealter(remove,firstmain,controller) && nextphasealter(remove,combatbegin,controller) && nextphasealter(remove,combatattackers,controller) && nextphasealter(remove,combatblockers,controller) && nextphasealter(remove,combatdamage,controller) && nextphasealter(remove,combatend,controller) && nextphasealter(remove,secondmain,controller)
auto=if compare(controllerturn)~equalto~1 then if compare(currentphase)~equalto~2} then name(End turn) name(End turn) name(End turn) all(*|stack) spellmover(exile) && nextphasealter(remove,draw,controller) && nextphasealter(remove,firstmain,controller) && nextphasealter(remove,combatbegin,controller) && nextphasealter(remove,combatattackers,controller) && nextphasealter(remove,combatblockers,controller) && nextphasealter(remove,combatdamage,controller) && nextphasealter(remove,combatend,controller) && nextphasealter(remove,secondmain,controller)
auto=if compare(controllerturn)~equalto~1 then if compare(currentphase)~equalto~3} then name(End turn) name(End turn) name(End turn) all(*|stack) spellmover(exile) && nextphasealter(remove,firstmain,controller) && nextphasealter(remove,combatbegin,controller) && nextphasealter(remove,combatattackers,controller) && nextphasealter(remove,combatblockers,controller) && nextphasealter(remove,combatdamage,controller) && nextphasealter(remove,combatend,controller) && nextphasealter(remove,secondmain,controller)
auto=if compare(controllerturn)~equalto~1 then if compare(currentphase)~equalto~4} then name(End turn) name(End turn) name(End turn) all(*|stack) spellmover(exile) && nextphasealter(remove,combatbegin,controller) && nextphasealter(remove,combatattackers,controller) && nextphasealter(remove,combatblockers,controller) && nextphasealter(remove,combatdamage,controller) && nextphasealter(remove,combatend,controller) && nextphasealter(remove,secondmain,controller)
auto=if compare(controllerturn)~equalto~1 then if compare(currentphase)~equalto~5} then name(End turn) name(End turn) name(End turn) all(*|stack) spellmover(exile) && nextphasealter(remove,combatattackers,controller) && nextphasealter(remove,combatblockers,controller) && nextphasealter(remove,combatdamage,controller) && nextphasealter(remove,combatend,controller) && nextphasealter(remove,secondmain,controller)
auto=if compare(controllerturn)~equalto~1 then if compare(currentphase)~equalto~6} then name(End turn) name(End turn) name(End turn) all(*|stack) spellmover(exile) && nextphasealter(remove,combatblockers,controller) && nextphasealter(remove,combatdamage,controller) && nextphasealter(remove,combatend,controller) && nextphasealter(remove,secondmain,controller)
auto=if compare(controllerturn)~equalto~1 then if compare(currentphase)~equalto~7} then name(End turn) name(End turn) name(End turn) all(*|stack) spellmover(exile) && nextphasealter(remove,combatdamage,controller) && nextphasealter(remove,combatend,controller) && nextphasealter(remove,secondmain,controller)
auto=if compare(controllerturn)~equalto~1 then if compare(currentphase)~equalto~8} then name(End turn) name(End turn) name(End turn) all(*|stack) spellmover(exile) && nextphasealter(remove,combatend,controller) && nextphasealter(remove,secondmain,controller)
auto=if compare(controllerturn)~equalto~1 then if compare(currentphase)~equalto~9} then name(End turn) name(End turn) name(End turn) all(*|stack) spellmover(exile) && nextphasealter(remove,secondmain,controller)
text=As long as it's not your turn, this spell costs {3} more to cast. -- Return all nonland permanents to their owners' hands. End the turn. (Exile all spells and abilities from the stack, including this card. The player whose turn it is discards down to their maximum hand size. Damage wears off, and "this turn" and "until end of turn" effects end.)
mana={4}{U}{U}{U}
type=Instant
[/card]
[card]
name=Hurl Through Hell
target=creature
auto=if compare(controllerturn)~morethan~0 then name(Exile creature) name(Exile creature) moveto(myexile) and!( transforms((,newability[canplayfromexile uent],newability[anytypeofmana uent],newability[phaseaction[my endofturn next once checkex] moveTo(ownerexile)])) forever )!
@@ -46974,6 +47118,17 @@ power=5
toughness=6
[/card]
[card]
name=Junkyard Genius
auto=name(Create powerstone) token(Powerstone) and!( tap(noevent) )!
auto={1}{B}{R}{S(other *[creature;artifact]|mybattlefield)}:name(Creatures gain 1/0 and menace and haste) all(other *[creature]|mybattlefield) transforms((,newability[1/0],newability[menace],newability[haste])) ueot
text=When Junkyard Genius enters the battlefield, create a tapped Powerstone token. (It's an artifact with "{T}: Add {C}. This mana can't be spent to cast a nonartifact spell.") -- {1}{B}{R}, Sacrifice another creature or artifact: Until end of turn, other creatures you control get +1/+0 and gain menace and haste.
mana={1}{B}{R}
type=Creature
subtype=Human Artificer
power=2
toughness=2
[/card]
[card]
name=Juri, Master of the Revue
auto=@sacrificed(*|mybattlefield):counter(1/1) all(this)
auto=_DIES_damage:power target(player,creature,planeswalker)
@@ -51077,6 +51232,39 @@ mana={4}{R}
type=Sorcery
[/card]
[card]
name=Liberator, Urza's Battlethopter
abilities=flash,flying
auto=lord(artifact|mycastingzone) asflash
auto=lord(*[colorless]|mycastingzone) asflash
auto=@movedTo(*[manacost=0]|mystack) restriction{compare(p)~lessthan~0}:name(Put 1/1 counter) counter(1/1)
auto=@movedTo(*[manacost=1]|mystack) restriction{compare(p)~lessthan~1}:name(Put 1/1 counter) counter(1/1)
auto=@movedTo(*[manacost=2]|mystack) restriction{compare(p)~lessthan~2}:name(Put 1/1 counter) counter(1/1)
auto=@movedTo(*[manacost=3]|mystack) restriction{compare(p)~lessthan~3}:name(Put 1/1 counter) counter(1/1)
auto=@movedTo(*[manacost=4]|mystack) restriction{compare(p)~lessthan~4}:name(Put 1/1 counter) counter(1/1)
auto=@movedTo(*[manacost=5]|mystack) restriction{compare(p)~lessthan~5}:name(Put 1/1 counter) counter(1/1)
auto=@movedTo(*[manacost=6]|mystack) restriction{compare(p)~lessthan~6}:name(Put 1/1 counter) counter(1/1)
auto=@movedTo(*[manacost=7]|mystack) restriction{compare(p)~lessthan~7}:name(Put 1/1 counter) counter(1/1)
auto=@movedTo(*[manacost=8]|mystack) restriction{compare(p)~lessthan~8}:name(Put 1/1 counter) counter(1/1)
auto=@movedTo(*[manacost=9]|mystack) restriction{compare(p)~lessthan~9}:name(Put 1/1 counter) counter(1/1)
auto=@movedTo(*[manacost=10]|mystack) restriction{compare(p)~lessthan~10}:name(Put 1/1 counter) counter(1/1)
auto=@movedTo(*[manacost=11]|mystack) restriction{compare(p)~lessthan~11}:name(Put 1/1 counter) counter(1/1)
auto=@movedTo(*[manacost=12]|mystack) restriction{compare(p)~lessthan~12}:name(Put 1/1 counter) counter(1/1)
auto=@movedTo(*[manacost=13]|mystack) restriction{compare(p)~lessthan~13}:name(Put 1/1 counter) counter(1/1)
auto=@movedTo(*[manacost=14]|mystack) restriction{compare(p)~lessthan~14}:name(Put 1/1 counter) counter(1/1)
auto=@movedTo(*[manacost=15]|mystack) restriction{compare(p)~lessthan~15}:name(Put 1/1 counter) counter(1/1)
auto=@movedTo(*[manacost=16]|mystack) restriction{compare(p)~lessthan~16}:name(Put 1/1 counter) counter(1/1)
auto=@movedTo(*[manacost=17]|mystack) restriction{compare(p)~lessthan~17}:name(Put 1/1 counter) counter(1/1)
auto=@movedTo(*[manacost=18]|mystack) restriction{compare(p)~lessthan~18}:name(Put 1/1 counter) counter(1/1)
auto=@movedTo(*[manacost=19]|mystack) restriction{compare(p)~lessthan~19}:name(Put 1/1 counter) counter(1/1)
auto=@movedTo(*[manacost>=20]|mystack) restriction{compare(p)~lessthan~20}:name(Put 1/1 counter) counter(1/1)
text=Flash -- Flying -- You may cast colorless spells and artifact spells as though they had flash. -- Whenever you cast a spell, if the amount of mana spent to cast that spell is greater than Liberator, Urza's Battlethopter's power, put a +1/+1 counter on Liberator.
mana={3}
type=Legendary Artifact Creature
subtype=Thopter
power=1
toughness=2
[/card]
[card]
name=Library Larcenist
auto=_ATTACKING_draw:1 controller
text=Whenever Library Larcenist attacks, draw a card.
@@ -56354,6 +56542,14 @@ mana={3}{R}
type=Instant
[/card]
[card]
name=Mishra's Research Desk
auto={1}{T}{S}:name(Exile top cards) all(*[zpos=2|mylibrary) moveto(myexile) and!( transforms((tobechosen,newability[all(*[zpos=1|mylibrary) moveto(myexile) and!( transforms((tobechosen,newability[name(Choose exiled card) target(tobechosen|myexile) transforms((,newability[canplayfromexile uent])) uent])) ueot )!])) ueot )!
autograveyard={1}{R}:_UNEARTH_
text={1}, {T}, Sacrifice Mishra's Research Desk: Exile the top two cards of your library. Choose one of them. Until the end of your next turn, you may play that card. -- Unearth {1}{R} ({1}{R}: Return this card from your graveyard to the battlefield. It gains haste. Exile it at the beginning of the next end step or if it would leave the battlefield. Unearth only as a sorcery.)
mana={1}
type=Artifact
[/card]
[card]
name=Mishra's Self-Replicator
auto=_CASTHISTORIC_may pay({1}) name(Pay 1 and clone) clone all(this)
text=Whenever you cast a historic spell, you may pay {1}. If you do, create a token that's a copy of Mishra's Self-Replicator. (Artifacts, legendaries, and Sagas are historic.)
@@ -56392,6 +56588,17 @@ power=2
toughness=1
[/card]
[card]
name=Mishra, Tamer of Mak Fawa
auto=@targeted(*|myBattlefield) from(*|opponentzones):choice name(This spell costs a sacrifice) name(This spell costs a sacrifice) target(*|opponentzones) transforms((,newability[choice name(Counter spell) target(*|mystack) fizzle],newability[if type(*|myBattlefield)~morethan~0 then choice name(Sacrifice a permanent) name(Sacrifice a permanent) target(*|mybattlefield) sacrifice])) oneshot
auto=lord(artifact|mygraveyard) {1}{B}{R}:name(Unearth) moveto(mybattlefield) and!( transforms((,newability[haste],newability[unearth],newability[exiledeath])) forever )! asSorcery
text=Permanents you control have "Ward-Sacrifice a permanent." -- Each artifact card in your graveyard has unearth {1}{B}{R}. ({1}{B}{R}: Return the card from your graveyard to the battlefield. It gains haste. Exile it at the beginning of the next end step or if it would leave the battlefield. Unearth only as a sorcery.)
mana={3}{B}{R}
type=Legendary Creature
subtype=Human Artificer
power=4
toughness=4
[/card]
[card]
name=Mission Briefing
aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus2plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot
auto=name(Surveil 2) reveal:psurveiloffsetplus2plusend optionone name(put in graveyard) target(<upto:psurveiloffsetplus2plusend>*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(<psurveiloffsetplus2plusend>*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed target(*[instant;sorcery;fresh]|mygraveyard) transforms((,newability[canplayfromgraveyard],newability[gainedexiledeath])) ueot && surveil afterrevealedend revealend
@@ -60039,6 +60246,17 @@ mana={2}{U}
type=Instant
[/card]
[card]
name=No One Left Behind
restriction=type(creature|mygraveyard)~morethan~0
otherrestriction=type(creature[manacost<=3]|mygraveyard)~morethan~0
other={1}{B} name(Pay 3 less)
auto=ifnot paid(alternative) then target(creature|mygraveyard) moveTo(mybattlefield)
auto=if paid(alternative) then target(creature[manacost<=3]|mygraveyard) moveTo(mybattlefield)
text=This spell costs {3} less to cast if it targets a creature card with mana value 3 or less. -- Return target creature card from your graveyard to the battlefield.
mana={4}{B}
type=Sorcery
[/card]
[card]
name=No Way Out
auto=ability$!name(Discard 2 cards) name(Discard 2 cards) target(<2>*|myhand) reject!$ opponent
auto=token(Zombie Dec)
@@ -64393,6 +64611,38 @@ mana={2}{U}
type=Sorcery
[/card]
[card]
name=Phyrexian Fleshgorger
abilities=lifelink,menace
other={1}{B}{B} name(Prototype)
auto=if paid(alternative) then becomes(,3/3,black)
auto=@targeted(this) from(*[instant;sorcery]|opponentzones) restriction{compare(p)~equalto~1}:choice name(This spell costs 1 life more) name(This spell costs 1 life more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{L:1}]] name(pay 1 life) donothing?fizzle])) oneshot
auto=@targeted(this) from(*[instant;sorcery]|opponentzones) restriction{compare(p)~equalto~2}:choice name(This spell costs 2 life more) name(This spell costs 2 life more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{L:2}]] name(pay 2 life) donothing?fizzle])) oneshot
auto=@targeted(this) from(*[instant;sorcery]|opponentzones) restriction{compare(p)~equalto~3}:choice name(This spell costs 3 life more) name(This spell costs 3 life more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{L:3}]] name(pay 3 life) donothing?fizzle])) oneshot
auto=@targeted(this) from(*[instant;sorcery]|opponentzones) restriction{compare(p)~equalto~4}:choice name(This spell costs 4 life more) name(This spell costs 4 life more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{L:4}]] name(pay 4 life) donothing?fizzle])) oneshot
auto=@targeted(this) from(*[instant;sorcery]|opponentzones) restriction{compare(p)~equalto~5}:choice name(This spell costs 5 life more) name(This spell costs 5 life more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{L:5}]] name(pay 5 life) donothing?fizzle])) oneshot
auto=@targeted(this) from(*[instant;sorcery]|opponentzones) restriction{compare(p)~equalto~6}:choice name(This spell costs 6 life more) name(This spell costs 6 life more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{L:6}]] name(pay 6 life) donothing?fizzle])) oneshot
auto=@targeted(this) from(*[instant;sorcery]|opponentzones) restriction{compare(p)~equalto~7}:choice name(This spell costs 7 life more) name(This spell costs 7 life more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{L:7}]] name(pay 7 life) donothing?fizzle])) oneshot
auto=@targeted(this) from(*[instant;sorcery]|opponentzones) restriction{compare(p)~equalto~8}:choice name(This spell costs 8 life more) name(This spell costs 8 life more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{L:8}]] name(pay 8 life) donothing?fizzle])) oneshot
auto=@targeted(this) from(*[instant;sorcery]|opponentzones) restriction{compare(p)~equalto~9}:choice name(This spell costs 9 life more) name(This spell costs 9 life more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{L:9}]] name(pay 9 life) donothing?fizzle])) oneshot
auto=@targeted(this) from(*[instant;sorcery]|opponentzones) restriction{compare(p)~equalto~10}:choice name(This spell costs 10 life more) name(This spell costs 10 life more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{L:10}]] name(pay 10 life) donothing?fizzle])) oneshot
auto=@targeted(this) from(*[instant;sorcery]|opponentzones) restriction{compare(p)~equalto~11}:choice name(This spell costs 11 life more) name(This spell costs 11 life more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{L:11}]] name(pay 11 life) donothing?fizzle])) oneshot
auto=@targeted(this) from(*[instant;sorcery]|opponentzones) restriction{compare(p)~equalto~12}:choice name(This spell costs 12 life more) name(This spell costs 12 life more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{L:12}]] name(pay 12 life) donothing?fizzle])) oneshot
auto=@targeted(this) from(*[instant;sorcery]|opponentzones) restriction{compare(p)~equalto~13}:choice name(This spell costs 13 life more) name(This spell costs 13 life more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{L:13}]] name(pay 13 life) donothing?fizzle])) oneshot
auto=@targeted(this) from(*[instant;sorcery]|opponentzones) restriction{compare(p)~equalto~14}:choice name(This spell costs 14 life more) name(This spell costs 14 life more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{L:14}]] name(pay 14 life) donothing?fizzle])) oneshot
auto=@targeted(this) from(*[instant;sorcery]|opponentzones) restriction{compare(p)~equalto~15}:choice name(This spell costs 15 life more) name(This spell costs 15 life more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{L:15}]] name(pay 15 life) donothing?fizzle])) oneshot
auto=@targeted(this) from(*[instant;sorcery]|opponentzones) restriction{compare(p)~equalto~16}:choice name(This spell costs 16 life more) name(This spell costs 16 life more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{L:16}]] name(pay 16 life) donothing?fizzle])) oneshot
auto=@targeted(this) from(*[instant;sorcery]|opponentzones) restriction{compare(p)~equalto~17}:choice name(This spell costs 17 life more) name(This spell costs 17 life more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{L:17}]] name(pay 17 life) donothing?fizzle])) oneshot
auto=@targeted(this) from(*[instant;sorcery]|opponentzones) restriction{compare(p)~equalto~18}:choice name(This spell costs 18 life more) name(This spell costs 18 life more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{L:18}]] name(pay 18 life) donothing?fizzle])) oneshot
auto=@targeted(this) from(*[instant;sorcery]|opponentzones) restriction{compare(p)~equalto~19}:choice name(This spell costs 19 life more) name(This spell costs 19 life more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{L:19}]] name(pay 19 life) donothing?fizzle])) oneshot
auto=@targeted(this) from(*[instant;sorcery]|opponentzones) restriction{compare(p)~morethan~19}:choice name(This spell costs 20 life more) name(This spell costs 20 life more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{L:20}]] name(pay 20 life) donothing?fizzle])) oneshot
text=Prototype {1}{B}{B} - 3/3 (You may cast this spell with different mana cost, color, and size. It keeps its abilities and types.) -- Menace, lifelink -- Ward-Pay life equal to Phyrexian Fleshgorger's power.
mana={7}
type=Artifact Creature
subtype=Phyrexian Wurm
power=7
toughness=5
[/card]
[card]
name=Phyrexian Furnace
auto={T}:name(Exile bottom card from my graveyard) moveTo(myexile) all(*[zpos=type:*:mygraveyard]|mygraveyard)
auto={T}:name(Exile bottom card from opponent's graveyard) moveTo(opponentexile) all(*[zpos=type:*:opponentgraveyard]|opponentgraveyard)
@@ -70593,6 +70843,15 @@ power=1
toughness=3
[/card]
[card]
name=Repair and Recharge
target=*[artifact;enchantment;planeswalker]|mygraveyard
auto=moveTo(mybattlefield)
auto=name(Create powerstone) token(Powerstone) and!( tap(noevent) )!
text=Return target artifact, enchantment, or planeswalker card from your graveyard to the battlefield. Create a tapped Powerstone token. (It's an artifact with "{T}: Add {C}. This mana can't be spent to cast a nonartifact spell.")
mana={3}{W}{W}
type=Sorcery
[/card]
[card]
name=Repeated Reverberation
#The abilities cannot be targeted or activated twice ATM.
auto=emblem transforms((,newability[@movedto(*[instant;sorcery]|mystack) turnlimited:name(Copy spell) all(trigger[to]) transforms((,newability[activate castcard(copied noevent costx!:x:! kicked!:kicked:!)])) oneshot])) ueot
@@ -74783,6 +75042,16 @@ power=1
toughness=1
[/card]
[card]
name=Sardian Cliffstomper
auto=aslongas(mountain|mybattlefield) transforms((,newability[this(variable{controllerturn}>0) type:mountain:mybattlefield/0])) >3
text=As long as it's your turn and you control four or more Mountains, Sardian Cliffstomper gets +X/+0, where X is the number of Mountains you control.
mana={1}{R}
type=Creature
subtype=Minotaur Barbarian
power=0
toughness=4
[/card]
[card]
name=Sarevok's Tome
auto=_INITIATIVE_CONTROLLER_
auto=this(variable{pinitiative}>0) {T}:Add{C}{C}
@@ -74818,6 +75087,17 @@ power=7
toughness=6
[/card]
[card]
name=Sarinth Steelseeker
aicode=activate transforms((,newability[target(land[zpos=1]|mylibrary) moveto(myhand)])) oneshot
auto=@movedto(artifact|mybattlefield):name(Look top card) reveal:1 optionone name(May reveal a land) target(<upto:1>land|reveal) moveto(myhand) optiononeend optiontwo name(Put back or graveyard) target(*|reveal) transforms((,newability[choice name(Put back to library) moveto(mylibrary)],newability[choice name(Put into graveyard) moveto(mygraveyard)])) oneshot optiontwoend revealend
text=Whenever an artifact enters the battlefield under your control, look at the top card of your library. If it's a land card, you may reveal it and put it into your hand. If you don't put the card into your hand, you may put it into your graveyard.
mana={1}{G}
type=Creature
subtype=Human Artificer Scout
power=1
toughness=2
[/card]
[card]
name=Sarkhan's Catharsis
target=player,planeswalker
auto=damage:5
@@ -80557,6 +80837,18 @@ power=3
toughness=3
[/card]
[card]
name=Skyfisher Spider
abilities=reach
auto=may name(Sacrifice another creature) target(other *[creature]|mybattlefield) sacrifice and!( transforms((,newability[name(Destroy nonland permanent) target(*[-land]|battlefield) destroy])) oneshot )!
auto=_DIES_may name(Gain life and exile) all(trigger[to]) transforms((,newability[life:type:creature:mygraveyard controller],newability[moveto(myexile)])) forever
text=Reach -- When Skyfisher Spider enters the battlefield, you may sacrifice another creature. When you do, destroy target nonland permanent. -- When Skyfisher Spider dies, you may gain 1 life for each creature card in your graveyard. If you do, exile Skyfisher Spider from your graveyard.
mana={2}{B}{G}
type=Creature
subtype=Spider
power=3
toughness=3
[/card]
[card]
name=Skyknight Vanguard
abilities=flying
auto=_ATTACKING_token(Soldier,Creature Soldier,1/1,white,battleready)
@@ -80734,6 +81026,16 @@ power=3
toughness=3
[/card]
[card]
name=Slagstone Refinery
auto=_DIES_name(Create powerstone) token(Powerstone) and!( tap(noevent) )!
auto=@movedto(this|exile) from(myBattlefield):name(Create powerstone) token(Powerstone) and!( tap(noevent) )!
auto=@movedto(artifact|graveyard) from(myBattlefield):name(Create powerstone) token(Powerstone) and!( tap(noevent) )!
auto=@movedto(artifact|exile) from(myBattlefield):name(Create powerstone) token(Powerstone) and!( tap(noevent) )!
text=Whenever Slagstone Refinery or another nontoken artifact you control is put into a graveyard from the battlefield or is put into exile from the battlefield, create a tapped Powerstone token. (It's an artifact with "{T}: Add {C}. This mana can't be spent to cast a nonartifact spell.")
mana={4}
type=Artifact
[/card]
[card]
name=Slagwoods Bridge
abilities=indestructible
auto=tap(noevent)
@@ -81860,6 +82162,14 @@ mana={1}{U}{B}
type=Instant
[/card]
[card]
name=Soul Partition
target=*[-land]|battlefield
auto=moveto(exile) and!( transforms((,newability[canplayfromexile],newability[changecost(colorless:2) forcedalive])) forever )!
text=Exile target nonland permanent. For as long as that card remains exiled, its owner may play it. A spell cast by an opponent this way costs {2} more to cast.
mana={1}{W}
type=Instant
[/card]
[card]
name=Soul Read
auto=choice name(counter) target(*|stack) transforms((,newability[pay[[{4}]] name(pay 4 mana) donothing?fizzle])) forever
auto=choice draw:2
@@ -83441,6 +83751,15 @@ power=3
toughness=3
[/card]
[card]
name=Splitting the Powerstone
target=artifact|mybattlefield
auto=sacrifice and!( if cantargetcard(*[legendary]|*) then draw:1 controller )!
auto=name(Create powerstone) token(Powerstone)*2 and!( tap(noevent) )!
text=As an additional cost to cast this spell, sacrifice an artifact. -- Create two tapped Powerstone tokens. If the sacrificed artifact was legendary, draw a card. (The tokens are artifacts with "{T}: Add {C}. This mana can't be spent to cast a nonartifact spell.")
mana={2}{U}
type=Sorcery
[/card]
[card]
name=Spoils of Adventure
abilities=affinityparty
auto=life:3 controller
@@ -90296,6 +90615,16 @@ power=3
toughness=4
[/card]
[card]
name=Thran Power Suit
auto=teach(creature) transforms((,newability[thisforeach(auras > 0) 1/1],newability[thisforeach(gear > 0) 1/1]))
auto=@targeted(mytgt) from(*|opponentzones):choice name(This spell costs 2 more) name(This spell costs 2 more) target(*|opponentzones) transforms((,newability[pay[[{2}]] name(pay 2 mana) donothing?fizzle])) oneshot
auto={2}:equip
text=Equipped creature gets +1/+1 for each Aura and Equipment attached to it and has ward {2}. (Whenever equipped creature becomes the target of a spell or ability an opponent controls, counter it unless that player pays {2}.) -- Equip {2} ({2}: Attach to target creature you control. Equip only as a sorcery.)
mana={2}
type=Artifact
subtype=Equipment
[/card]
[card]
name=Thran Temporal Gateway
auto={4}{T}:notatarget(*[artifact;legendary;saga]|myhand) moveTo(mybattlefield)
text={4}, {T}: You may put a historic permanent card from your hand onto the battlefield. (Artifacts, legendaries, and Sagas are historic.)
@@ -91474,6 +91803,18 @@ mana={2}{W}
type=Enchantment
[/card]
[card]
name=Tocasia, Dig Site Mentor
aicode=activate transforms((,newability[surveil],newability[all(*[zpos<=psurveiloffsetplus1plusend]|mylibrary) transforms((,newability[if compare(genrand2)~equalto~1 then moveto(mygraveyard)])) oneshot])) oneshot
auto=lord(creature|myBattlefield) transforms((,newability[vigilance],newability[{T}:name(Surveil 1) reveal:psurveiloffsetplus1plusend optionone name(put in graveyard) target(<upto:psurveiloffsetplus1plusend>*|reveal) moveto(ownergraveyard) optiononeend optiontwo name(put in library) target(<psurveiloffsetplus1plusend>*|reveal) moveto(ownerlibrary) optiontwoend afterrevealed surveil afterrevealedend revealend]))
autograveyard={2}{G}{G}{W}{W}{U}{U}{E}:name(Return artifacts) target(<anyamount>artifact[manacost<=10]|mygraveyard) moveto(mybattlefield) asSorcery
text=Creatures you control have vigilance and "{T}: Surveil 1." (To surveil 1, look at the top card of your library. You may put that card into your graveyard.) -- {2}{G}{G}{W}{W}{U}{U}, Exile Tocasia, Dig Site Mentor from your graveyard: Return any number of target artifact cards with total mana value 10 or less from your graveyard to the battlefield. Activate only as a sorcery.
mana={1}{G}{W}{U}
type=Legendary Creature
subtype=Human Artificer
power=4
toughness=3
[/card]
[card]
name=Tocatli Honor Guard
abilities=noentertrg
text=Creatures entering the battlefield don't cause abilities to trigger.
@@ -94996,6 +95337,18 @@ power=2
toughness=4
[/card]
[card]
name=Urza, Powerstone Prodigy
abilities=vigilance
auto={1}{T}:name(Draw and discard) draw:1 controller && ability$!name(Discard a card) reject notatarget(*|myhand)!$ controller
auto=@discarded(artifact|myhand) turnlimited:name(Create powerstone) token(Powerstone) and!( tap(noevent) )!
text=Vigilance -- {1}, {T}: Draw a card, then discard a card. -- Whenever you discard one or more artifact cards, create a tapped Powerstone token. This ability triggers only once each turn. (The token is an artifact with "{T}: Add {C}. This mana can't be spent to cast a nonartifact spell.")
mana={2}{U}
type=Legendary Creature
subtype=Human Artificer
power=1
toughness=3
[/card]
[card]
name=Urza, Prince of Kroog
auto=lord(artifact[creature]|myBattlefield) 2/2
auto={6}:target(artifact|myBattlefield) clone and!( transforms((creature Soldier,setpower=1,settoughness=1)) forever )!
@@ -96988,6 +97341,17 @@ mana={4}{W}
type=Sorcery
[/card]
[card]
name=Visions of Phyrexia
auto=@each my upkeep:name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile ueot])) ueot )!
auto=@movedto(*|mybattlefield) from(exile):name(Played card from exile) counter(0/0,1,VisionsEffect) notrg
auto=@movedto(*|mystack) from(exile):name(Played card from exile) counter(0/0,1,VisionsEffect) notrg
auto=@each my endofturn restriction{compare(hascntvisionseffect)~morethan~0}:name(Effect ends) removeallcounters(0/0,1,VisionsEffect) notrg
auto=@each my endofturn restriction{compare(hascntvisionseffect)~equalto~0}:name(Create powerstone) name(Create powerstone) token(Powerstone) and!( tap(noevent) )!
text=At the beginning of your upkeep, exile the top card of your library. You may play that card this turn. -- At the beginning of your end step, if you didn't play a card from exile this turn, create a tapped Powerstone token. (It's an artifact with "{T}: Add {C}. This mana can't be spent to cast a nonartifact spell.")
mana={2}{R}{R}
type=Enchantment
[/card]
[card]
name=Visions of Ruin
auto=ability$! name(Sacrifice an artifact) name(Sacrifice an artifact) target(artifact|mybattlefield) sacrifice and!( token(Treasure Sur) opponent )! !$ opponent
flashback={8}{R}{R}
@@ -98785,6 +99149,16 @@ power=5
toughness=5
[/card]
[card]
name=Weakstone's Subjugation
target=artifact,creature
auto=teach(creature) doesnotuntap
auto=may name(Tap creature) pay({3}) name(Tap creature) teach(creature) freeze
text=Enchant artifact or creature -- When Weakstone's Subjugation enters the battlefield, you may pay {3}. If you do, tap enchanted permanent. -- Enchanted permanent doesn't untap during its controller's untap step.
mana={U}
type=Enchantment
subtype=Aura
[/card]
[card]
name=Weapon Rack
auto=counter(1/1,3)
auto={T}{C(1/1,-1)}:counter(1/1) target(creature) asSorcery

View File

@@ -1,6 +1,6 @@
#Planeswalkers Primitives Pack for Wagic the Homebrew.
#Please keep these card alphabetized, and try to have the "name=" line at the top of each card
#We sorted this in alphabetical order - Luruz & Vitty85 28-05-2023
#We sorted this in alphabetical order - Luruz & Vitty85 29-05-2023
[card]
name=Abian, Luvion Usurper
auto=counter(0/0,5,loyalty)
@@ -2473,6 +2473,17 @@ type=Legendary Planeswalker
subtype=Rowan
[/card]
[card]
name=Saheeli, Filigree Master
auto=counter(0/0,3,loyalty)
auto={C(0/0,1,Loyalty)}:name(+1: Scry 1) scry:1 scrycore delayed transforms((,newability[if type(artifact|mybattlefield)~morethan~0 then choice name(Don't tap artifact) name(Don't tap artifact) donothing],newability[if type(artifact|mybattlefield)~morethan~0 then choice name(Tap artifact) name(Tap artifact) target(artifact|mybattlefield) tap && draw:1 controller])) oneshot scrycoreend scryend
auto={C(0/0,-2,Loyalty)}:name(-2: Create thopters) token(Thopter,Artifact Creature Thopter,1/1,flying)*2 and!( transforms((,newability[haste])) ueot )!
auto={C(0/0,-4,Loyalty)}:name(-4: Emblem for artifact creatures) emblem transforms((,newability[lord(creature[artifact]|mybattlefield) 1/1],newability[lord(artifact|mycastingzone) changecost(colorless:-1) forcedalive])) forever dontremove
text=[+1]: Scry 1. You may tap an untapped artifact you control. If you do, draw a card. -- [2]: Create two 1/1 colorless Thopter artifact creature tokens with flying. They gain haste until end of turn. -- [4]: You get an emblem with "Artifact creatures you control get +1/+1" and "Artifact spells you cast cost {1} less to cast."
mana={2}{U}{R}
type=Legendary Planeswalker
subtype=Saheeli
[/card]
[card]
name=Saheeli Rai
auto=counter(0/0,3,loyalty)
aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot

View File

@@ -1601,6 +1601,24 @@ void WParsedInt::extendedParse(string s, Spell * spell, MTGCardInstance * card)
intValue = card->getProducedMana()->getConvertedCost();
}
}
else if(s.find("usedmana") != string::npos){
intValue = 0;
string manatocheck = s.substr(8);
if(card->getManaCost() && card->getManaCost()->getManaUsedToCast()){
if(manatocheck == "g")
intValue = card->getManaCost()->getManaUsedToCast()->getManaSymbols(Constants::MTG_COLOR_GREEN);
else if(manatocheck == "u")
intValue = card->getManaCost()->getManaUsedToCast()->getManaSymbols(Constants::MTG_COLOR_BLUE);
else if(manatocheck == "r")
intValue = card->getManaCost()->getManaUsedToCast()->getManaSymbols(Constants::MTG_COLOR_RED);
else if(manatocheck == "b")
intValue = card->getManaCost()->getManaUsedToCast()->getManaSymbols(Constants::MTG_COLOR_BLACK);
else if(manatocheck == "w")
intValue = card->getManaCost()->getManaUsedToCast()->getManaSymbols(Constants::MTG_COLOR_WHITE);
else if(manatocheck == "tot")
intValue = card->getManaCost()->getManaUsedToCast()->getConvertedCost();
}
}
else if(!intValue)//found nothing, try parsing a atoi
{
intValue = atoi(s.c_str());