From 967931a3852589ea69eb4396ab75f91f3cfb6ad0 Mon Sep 17 00:00:00 2001 From: Eduardo MG Date: Fri, 12 May 2023 00:31:44 -0600 Subject: [PATCH] Macros replacements _SPECTACLE_ _THOPTERTOKEN_ _AFTERLIFETOKEN_ --- .../mtg/bin/Res/sets/primitives/_macros.txt | 2 +- .../bin/Res/sets/primitives/borderline.txt | 95 ++++++++++--------- projects/mtg/bin/Res/sets/primitives/mtg.txt | 6 +- .../bin/Res/sets/primitives/planeswalkers.txt | 4 +- 4 files changed, 54 insertions(+), 53 deletions(-) diff --git a/projects/mtg/bin/Res/sets/primitives/_macros.txt b/projects/mtg/bin/Res/sets/primitives/_macros.txt index d6938e95e..76be1dc53 100644 --- a/projects/mtg/bin/Res/sets/primitives/_macros.txt +++ b/projects/mtg/bin/Res/sets/primitives/_macros.txt @@ -160,7 +160,7 @@ # Learn #AUTO_DEFINE _LEARN_ name(Learn) transforms((,newability[if type(*[lesson]|mysideboard)~morethan~0 then choice name(Put lesson in hand) name(Put lesson in hand) target(*[lesson]|mysideboard) moveto(myhand)],newability[if type(*|myhand)~morethan~0 then choice name(Discard and draw) name(Discard and draw) target(*|myhand) reject and!(draw:1)!],newability[if type(Retriever Phoenix|mygraveyard)~morethan~0 then choice name(Return a Retriever Phoenix) name(Return a Retriever Phoenix) target(Retriever Phoenix|mygraveyard) moveto(myBattlefield)],newability[choice name(Don't learn) donothing])) oneshot -# Spectacle, not implemented +# Spectacle, if an opponent lost life this turn #AUTO_DEFINE _SPECTACLE_ compare(oplifelost)~morethan~0 # Extort diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index 142e4f806..bc887c94e 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -4056,7 +4056,7 @@ type=Instant [/card] [card] name=Arrogant Outlaw -auto=if compare(oplifelost)~morethan~0 then life:-2 opponent && life:2 controller +auto=if _SPECTACLE_ then life:-2 opponent && life:2 controller text=When Arrogant Outlaw enters the battlefield, if an opponent lost life this turn, each opponent loses 2 life and you gain 2 life. mana={2}{B} type=Creature @@ -5188,7 +5188,7 @@ toughness=4 [/card] [card] name=Aviation Pioneer -auto=create(thopter artifact:creature thopter artifact:1/1:colorless:flying) +auto=_THOPTERTOKEN_ text=When Aviation Pioneer enters the battlefield, create a 1/1 colorless Thopter artifact creature token with flying. mana={2}{U} type=Creature @@ -6068,7 +6068,7 @@ type=Instant name=Barbed Spike auto={2}:equip auto=teach(creature) 1/0 -auto=livingweapontoken(Thopter,Artifact Creature Thopter,1/1,flying) +auto=livingweapon_THOPTERTOKEN_ text=When Barbed Spike enters the battlefield, create a 1/1 colorless Thopter artifact creature token with flying, then attach Barbed Spike to it. -- Equipped creature gets +1/+0. -- Equip {2} mana={1}{W} type=Artifact @@ -6404,7 +6404,7 @@ type=Enchantment [/card] [card] name=Bat Whisperer -auto=if compare(oplifelost)~morethan~0 then token(Bat,Creature Bat,1/1,flying,black) +auto=if _SPECTACLE_ then token(Bat,Creature Bat,1/1,flying,black) text=When Bat Whisperer enters the battlefield, if an opponent lost life this turn, create a 1/1 black Bat creature token with flying. mana={3}{B} type=Creature @@ -6938,8 +6938,8 @@ type=Instant [card] name=Belbe, Corrupted Observer text=At the beginning of each player's postcombat main phase, that player adds {C}{C} for each of your opponents who lost life this turn. (Damage causes loss of life.) -auto=@each my secondmain restriction{compare(oplifelost)~morethan~0}:add{C}{C} -auto=@each opponent secondmain restriction{compare(oplifelost)~morethan~0}:add{C}{C} opponent +auto=@each my secondmain restriction{_SPECTACLE_}:add{C}{C} +auto=@each opponent secondmain restriction{_SPECTACLE_}:add{C}{C} opponent mana={B}{G} type=Legendary Creature subtype=Phyrexian Zombie Elf @@ -7811,7 +7811,7 @@ auto=damage:1 controller auto=draw:1 text=Spectacle {2}{B} (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.) -- When Blade Juggler enters the battlefield, it deals 1 damage to you and you draw a card. other={2}{B} name(Spectacle) -otherrestriction=compare(oplifelost)~morethan~0 +otherrestriction=_SPECTACLE_ mana={4}{B} type=Creature subtype=Human Rogue @@ -9021,7 +9021,7 @@ toughness=3 [card] name=Bloodtithe Collector abilities=flying -auto=if compare(oplifelost)~morethan~0 then ability$!name(Discard a card) name(Discard a card) target(*|myhand) reject!$ opponent +auto=if _SPECTACLE_ then ability$!name(Discard a card) name(Discard a card) target(*|myhand) reject!$ opponent text=Flying -- When Bloodtithe Collector enters the battlefield, if an opponent lost life this turn, each opponent discards a card. mana={4}{B} type=Creature @@ -10570,7 +10570,7 @@ type=Land [/card] [card] name=Breya's Apprentice -auto=token(Thopter,Artifact Creature Thopter,1/1,flying) +auto=_THOPTERTOKEN_ auto={T}{S(artifact|myBattlefield)}:name(Exile top card) emblem transforms((,newability[all(*[zpos=1]|myLibrary) moveto(exile) and!( transforms((,newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then removeallcounters(0/0.1.PlayExile)])) forever )!],newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent auto={T}{S(artifact|myBattlefield)}:name(Creature gets 2/0) target(creature) 2/0 ueot text=When Breya's Apprentice enters the battlefield, create a 1/1 colorless Thopter artifact creature token with flying. -- {T}, Sacrifice an artifact: Choose one -- Exile the top card of your library. Until the end of your next turn, you may play that card. -- Target creature gets +2/+0 until end of turn. @@ -19815,7 +19815,7 @@ target=creature|mygraveyard auto=moveTo(ownerHand) text=Spectacle {1}{B} (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.) -- Return up to two target creature cards from your graveyard to your hand. other={1}{B} name(Spectacle) -otherrestriction=compare(oplifelost)~morethan~0 +otherrestriction=_SPECTACLE_ mana={3}{B} type=Sorcery [/card] @@ -20975,7 +20975,7 @@ name=Depose // Deploy other={2}{W}{U} name(Deploy) auto=ifnot paid(alternative) then draw:1 controller auto=ifnot paid(alternative) then target(creature) tap(noevent) -auto=if paid(alternative) then token(Thopter,Artifact Creature Thopter,1/1,flying)*2 +auto=if paid(alternative) then _THOPTERTOKEN_*2 auto=if paid(alternative) then life:type:creature:mybattlefield controller text=Tap target creature. -- Draw a card. // Create two 1/1 colorless Thopter artifact creature tokens with flying, then you gain 1 life for each creature you control. mana={1}{WU} @@ -23889,7 +23889,7 @@ target=player auto=name(Choose and discard) target(*[-land]|targetedpersonshand) reject text=Spectacle {B} (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.) -- Target player reveals their hand. You choose a nonland card from it. That player discards that card. other={B} name(Spectacle) -otherrestriction=compare(oplifelost)~morethan~0 +otherrestriction=_SPECTACLE_ mana={2}{B} type=Sorcery [/card] @@ -27077,7 +27077,7 @@ toughness=4 [/card] [card] name=Etherium Spinner -auto=@movedto(*[manacost>=4]|myStack):name(Create Thopter) token(Thopter,Artifact Creature Thopter,1/1,flying) +auto=@movedto(*[manacost>=4]|myStack):name(Create Thopter) _THOPTERTOKEN_ text=Whenever you cast a spell with mana value 4 or greater, create a 1/1 colorless Thopter artifact creature token with flying. mana={2}{U} type=Artifact Creature @@ -28245,7 +28245,7 @@ toughness=3 [/card] [card] name=Fairgrounds Patrol -autograveyard={1}{W}{E}:name(Create Thopter) token(Thopter,Artifact Creature Thopter,1/1,flying) asSorcery +autograveyard={1}{W}{E}:name(Create Thopter) _THOPTERTOKEN_ asSorcery text={1}{W}, Exile Fairgrounds Patrol from your graveyard: Create a 1/1 colorless Thopter artifact creature token with flying. Activate only as a sorcery. mana={1}{W} type=Creature @@ -28383,7 +28383,7 @@ toughness=1 [/card] [card] name=Falkenrath Pit Fighter -auto={1}{R}{D(*|myhand)}{S(vampire|myBattlefield)}:name(Draw 2 cards) draw:2 controller restriction{compare(oplifelost)~morethan~0} +auto={1}{R}{D(*|myhand)}{S(vampire|myBattlefield)}:name(Draw 2 cards) draw:2 controller restriction{_SPECTACLE_} text={1}{R}, Discard a card, sacrifice a Vampire: Draw two cards. Activate this ability only if an opponent lost life this turn. type=Creature subtype=Vampire Warrior @@ -28509,7 +28509,7 @@ toughness=2 [/card] [card] name=Famished Foragers -auto=if compare(oplifelost)~morethan~0 then add{R}{R}{R} +auto=if _SPECTACLE_ then add{R}{R}{R} auto={2}{R}:name(Draw a card) draw:1 controller text=When Famished Foragers enters the battlefield, if an opponent lost life this turn, add {R}{R}{R}. -- {2}{R}, Discard a card: Draw a card. type=Creature @@ -30833,7 +30833,7 @@ type=Sorcery name=Florian, Voldaren Scion abilities=first strike aicode=activate target(*[zpos<=oplifelost]|mylibrary) moveto(myhand) and!( transforms((,newability[canplayfromexile],newability[all(*[zpos<=oplifelost]|myLibrary) moveto(myreveal) and!( bottomoflibrary )!])) ueot )! -auto=@each my secondmain restriction{compare(oplifelost)~morethan~0}:name(Look top card) reveal:oplifelost optionone name(Exile 1 card) target(*|reveal) moveto(myexile) and!( transforms((,newability[canplayfromexile])) ueot )! optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|myreveal) bottomoflibrary )! optiontwoend revealend +auto=@each my secondmain restriction{_SPECTACLE_}:name(Look top card) reveal:oplifelost optionone name(Exile 1 card) target(*|reveal) moveto(myexile) and!( transforms((,newability[canplayfromexile])) ueot )! optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|myreveal) bottomoflibrary )! optiontwoend revealend text=First strike -- At the beginning of your postcombat main phase, look at the top X cards of your library, where X is the total amount of life your opponents lost this turn. Exile one of those cards and put the rest on the bottom of your library in a random order. You may play the exiled card this turn. type=Legendary Creature subtype=Vampire Noble @@ -37603,7 +37603,7 @@ toughness=3 [card] name=Gutterbones auto=tap -autograveyard={1}{B}:moveTo(myhand) asSorcery restriction{compare(oplifelost)~morethan~0} +autograveyard={1}{B}:moveTo(myhand) asSorcery restriction{_SPECTACLE_} text=Gutterbones enters the battlefield tapped. -- {1}{B}: Return Gutterbones from your graveyard to your hand. Activate this ability only during your turn and only if an opponent lost life this turn. mana={B} type=Creature @@ -37732,7 +37732,7 @@ auto={B}:deathtouch auto={R}:+2/-2 text=Spectacle {B}{R} (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.) -- {B}: Hackrobat gains deathtouch until end of turn. -- {R}: Hackrobat gets +2/-2 until end of turn. other={B}{R} name(Spectacle) -otherrestriction=compare(oplifelost)~morethan~0 +otherrestriction=_SPECTACLE_ mana={1}{B}{R} type=Creature subtype=Human Rogue @@ -49433,7 +49433,7 @@ auto=name(Exile top 2 cards) all(*[zpos<=2]|mylibrary) moveto(exile) and!( trans auto=emblem transforms((,newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent text=Spectacle {R} (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.) -- Exile the top two cards of your library. Until the end of your next turn, you may play those cards. other={R} name(Spectacle) -otherrestriction=compare(oplifelost)~morethan~0 +otherrestriction=_SPECTACLE_ mana={2}{R} type=Sorcery [/card] @@ -50720,7 +50720,7 @@ toughness=3 [card] name=Loyal Apprentice abilities=haste -auto=@each my combatbegins restriction{type(*[iscommander]|mybattlefield)~morethan~0}:token(Thopter,Artifact Creature Thopter,1/1,flying) and!( transforms((,newability[haste])) ueot )! +auto=@each my combatbegins restriction{type(*[iscommander]|mybattlefield)~morethan~0}:_THOPTERTOKEN_ and!( transforms((,newability[haste])) ueot )! text=Haste -- Lieutenant - At the beginning of combat on your turn, if you control your commander, create a 1/1 colorless Thopter artifact creature token with flying. That token gains haste until end of turn. mana={1}{R} type=Creature @@ -50871,8 +50871,8 @@ type=Sorcery [card] name=Ludevic, Necro-Alchemist abilities=partner -auto=@each my end restriction{compare(oplifelost)~morethan~0}:may draw:1 controller -auto=@each opponent end restriction{compare(oplifelost)~morethan~0}:may draw:1 controller +auto=@each my end restriction{_SPECTACLE_}:may draw:1 controller +auto=@each opponent end restriction{_SPECTACLE_}:may draw:1 controller text=At the beginning of each player's end step, that player may draw a card if a player other than you lost life this turn. -- Partner (You can have two commanders if both have partner.) mana={1}{U}{R} type=Legendary Creature @@ -55461,7 +55461,7 @@ toughness=3 [card] name=Mounted Dreadknight abilities=trample -auto=if compare(oplifelost)~morethan~0 then counter(1/1) +auto=if _SPECTACLE_ then counter(1/1) text=Trample -- Mounted Dreadknight enters the battlefield with a +1/+1 counter on it if an opponent lost life this turn. type=Creature subtype=Vampire Knight @@ -65837,7 +65837,7 @@ name=Rafter Demon auto=if paid(alternative) then ability$!name(discard) target(*|myhand) reject!$ opponent text=Spectacle {3}{B}{R} (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.) -- When Rafter Demon enters the battlefield, if its spectacle cost was paid, each opponent discards a card. other={3}{B}{R} name(Spectacle) -otherrestriction=compare(oplifelost)~morethan~0 +otherrestriction=_SPECTACLE_ mana={2}{B}{R} type=Creature subtype=Demon @@ -66207,7 +66207,7 @@ toughness=3 [card] name=Rakdos, Lord of Riots abilities=flying,trample -restriction=compare(oplifelost)~morethan~0 +restriction=_SPECTACLE_ auto=lord(creature|myhand,myCommandzone,mygraveyard,myexile) transforms((,newability[thisforeach(variable{oplifelost}>0) changecost(colorless:-1)])) text=You can't cast Rakdos, Lord of Riots unless an opponent lost life this turn. -- Flying, trample -- Creature spells you cast cost {1} less to cast for each 1 life your opponents have lost this turn. mana={B}{B}{R}{R} @@ -68567,7 +68567,7 @@ toughness=2 name=Retrofitter Foundry auto={3}:untap auto={2}{T}:_SERVOTOKEN_ -auto={1}{T}{S(Servo|myBattlefield)}:create(thopter:artifact creature thopter:1/1:flying) +auto={1}{T}{S(Servo|myBattlefield)}:_THOPTERTOKEN_ auto={T}{S(Thopter|myBattlefield)}:create(construct:artifact creature construct:4/4) text={3}: Untap Retrofitter Foundry. -- {2}, {T}: Create a 1/1 colorless Servo artifact creature token. -- {1}, {T}, Sacrifice a Servo: Create a 1/1 colorless Thopter artifact creature token with flying. -- {T}, Sacrifice a Thopter: Create a 4/4 colorless Construct artifact creature token. mana={1} @@ -69885,7 +69885,7 @@ auto=if paid(alternative) then reject all(*|myhand) && draw:3 auto=ifnot paid(alternative) then if type(*|myhand)~morethan~0 then ability$! _DISCARD&DRAW_ !$ controller text=Spectacle {2}{B}{R} (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.) -- When Rix Maadi Reveler enters the battlefield, discard a card, then draw a card. If Rix Maadi Reveler's spectacle cost was paid, instead discard your hand, then draw three cards. other={2}{B}{R} name(Spectacle) -otherrestriction=compare(oplifelost)~morethan~0 +otherrestriction=_SPECTACLE_ mana={1}{R} type=Creature subtype=Human Shaman @@ -71604,7 +71604,7 @@ toughness=3 [/card] [card] name=Sai, Master Thopterist -auto=@movedTo(artifact|mystack):create(thopter artifact:creature thopter artifact:1/1:colorless:flying) +auto=@movedTo(artifact|mystack):_THOPTERTOKEN_ auto={1}{U}{S(artifact|myBattlefield)}{S(artifact|myBattlefield)}:draw:1 text=Whenever you cast an artifact spell, create a 1/1 colorless Thopter artifact creature token with flying. -- {1}{U}, Sacrifice two artifacts: Draw a card. mana={2}{U} @@ -72474,7 +72474,7 @@ type=Instant [card] name=Savage Gorger abilities=flying -otherrestriction=compare(oplifelost)~morethan~0 +otherrestriction=_SPECTACLE_ auto=@each my endofturn:counter(1/1) text=Flying -- At the beginning of your end step, if an opponent lost life this turn, put a +1/+1 counter on Savage Gorger. (Damage causes loss of life.) mana={1}{B}{B} @@ -75486,7 +75486,8 @@ toughness=3 [card] name=Shield Mare auto=cantbeblockedby(creature[red creatures]) -auto=targeted(this|mybattlefield) from(*|opponentbattlefield,opponenthand,opponentstack,opponentgraveyard,opponentexile,opponentlibrary):life:3 +auto=life:3 +auto=@targeted(this|mybattlefield) from(*|opponentbattlefield,opponenthand,opponentstack,opponentgraveyard,opponentexile,opponentlibrary):life:3 text=Shield Mare can't be blocked by red creatures. -- When Shield Mare enters the battlefield or becomes the target of a spell or ability an opponent controls, you gain 3 life. mana={1}{W}{W} type=Creature @@ -77345,7 +77346,7 @@ target=player,creature,planeswalker auto=damage:3 text=Spectacle {R} (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.) -- Skewer the Critics deals 3 damage to any target. other={R} name(Spectacle) -otherrestriction=compare(oplifelost)~morethan~0 +otherrestriction=_SPECTACLE_ mana={2}{R} type=Sorcery [/card] @@ -78573,7 +78574,7 @@ toughness=1 name=Snow Day target=creature auto=freeze -auto=draw:2 && transforms((,newability[target(*|myhand) reject])) forever +auto=draw:2 controller && transforms((,newability[target(*|myhand) reject])) forever text=Tap up to two target creatures. Those creatures don't untap during their controller's next untap step. -- Draw two cards, then discard a card. mana={4}{U}{U} type=Instant @@ -79683,7 +79684,7 @@ abilities=flying, trample auto=@each my upkeep:damage:1 controller && damage:1 opponent && if compare(lifetotal)~lessthan~10 then counter(1/1) text=Spectacle {1}{B}{B} (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.) -- Flying, trample -- At the beginning of your upkeep, Spawn of Mayhem deals 1 damage to each player. Then if you have 10 or less life, put a +1/+1 counter on Spawn of Mayhem. other={1}{B}{B} name(Spectacle) -otherrestriction=compare(oplifelost)~morethan~0 +otherrestriction=_SPECTACLE_ mana={2}{B}{B} type=Creature subtype=Demon @@ -80351,7 +80352,7 @@ type=Sorcery name=Spikewheel Acrobat text=Spectacle {2}{R} (You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.) other={2}{R} name(Spectacle) -otherrestriction=compare(oplifelost)~morethan~0 +otherrestriction=_SPECTACLE_ mana={3}{R} type=Creature subtype=Human Rogue @@ -82613,7 +82614,7 @@ toughness=2 [card] name=Strefan, Maurer Progenitor abilities=flying -auto=@each my endofturn restriction{compare(oplifelost)~morethan~0}:name(Create Blood) token(Blood) +auto=@each my endofturn restriction{_SPECTACLE_}:name(Create Blood) token(Blood) auto=@each my endofturn restriction{compare(plifelost)~morethan~0}:name(Create Blood) token(Blood) auto=@combat(attacking) source(this) restriction{type(blood|mybattlefield)~morethan~1}:may name(Sacrifice 2 blood) target(<2>blood|myBattlefield) sacrifice && all(this) transforms((,newability[name(Put vampire in play) target(vampire|myhand) moveto(myBattlefield) and!( transforms((,newability[ninjutsu],newability[indestructible])) ueot )!])) oneshot text=Flying -- We the beginning of your end step, create a Blood token for each player who lost life this turn. -- Whenever Strefan, Maurer Progenitor attacks, you may sacrifice two Blood tokens. If you do, you may put a Vampire card from your hand onto the battlefield tapped and attacking. It gains indestructible until end of turn. @@ -82717,7 +82718,7 @@ type=Artifact [/card] [card] name=Stromkirk Bloodthief -auto=@each my endofturn restriction{compare(oplifelost)~morethan~0}:target(vampire|myBattlefield) counter(1/1) +auto=@each my endofturn restriction{_SPECTACLE_}:target(vampire|myBattlefield) counter(1/1) text=At the beginning of your end step, if an opponent lost life this turn, put a +1/+1 counter on target Vampire you control. mana={2}{B} type=Creature @@ -83880,7 +83881,7 @@ toughness=5 [/card] [card] name=Sweep the Skies -auto=token(Thopter,Artifact Creature Thopter,1/1,flying)*converge +auto=_THOPTERTOKEN_*converge text=Converge - Create a 1/1 colorless Thopter artifact creature token with flying for each color of mana spent to cast this spell. mana={X}{U}{U} type=Sorcery @@ -86291,7 +86292,7 @@ auto=@each my firstmain:counter(0/0,1,Lore) auto=name(Incubate 2 five times) token(Incubator^Artifact^0/0)*5 and!( transforms((,newability[_DIES_:all(Brimaz^ Blight of Oreskos|mybattlefield) name(Phyrexian died) counter(0/0.1.BrimazEffect) notrg],newability[counter(1/1.2)],newability[{2}:name(Becomes creature) becomes(Creature^Phyrexian) forever],newability[name(Becomes creature) becomes(Creature^Phyrexian) forever])) forever )! auto=name(Transform all incubators) all(incubator[-creature]|mybattlefield) transforms((,newability[name(Becomes creature) becomes(Creature^Phyrexian) forever])) forever auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}=) name(Creatures gain 1/1) all(creature|mybattlefield) transforms((,newability[1/1],newability[double strike])) ueot -auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) name(Destroy all prermanents) all(other *[-land;-phyrexian;-artifact) destroy +auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) name(Destroy all prermanents) all(other *[-land;-phyrexian;-artifact]) destroy auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) name(Exile and return) moveto(myexile) and!( moveto(mybattlefield) )! text=(As this Saga enters and after your draw step, add a lore counter.) -- I — Incubate 2 five times, then transform all Incubator tokens you control. -- II — Creatures you control get +1/+1 and gain double strike until end of turn. -- III — Destroy all other permanents except for artifacts, lands, and Phyrexians. Exile The Argent Etchings, then return it to the battlefield (front face up). type=Enchantment @@ -87044,7 +87045,7 @@ toughness=2 name=Thieving Skydiver abilities=flying,hasotherkicker other={X}{1}{U} name(Pay kicker) -auto=this(X>0) if paid(alternative) then choice name(Choose artifact) name(Choose artifact) name(Choose artifact) target(artifact[manacost<=X]|battlefield) moveTo(myBattlefield) and!( transforms((,newability[if cantargetcard(equipment|*) then name(Attach to Thieving Skydiver) name(Attach to Thieving Skydiver) rehook target(creature|myBattlefield)])) forever )! +auto=this(X>0) if paid(alternative) then choice name(Choose artifact) name(Choose artifact) name(Choose artifact) target(artifact[manacost<=X]|battlefield) moveTo(myBattlefield) and!( transforms((,newability[if cantargetcard(equipment|*) then name(Attach to Thieving Skydiver) name(Attach to Thieving Skydiver) rehook target(Thieving Skydiver[fresh]|myBattlefield)])) forever )! text=Kicker {X}. X can't be 0. (You may pay an additional {X} as you cast this spell.) -- Flying -- When Thieving Skydiver enters the battlefield, if it was kicked, gain control of target artifact with mana value X or less. If that artifact is an Equipment, attach it to Thieving Skydiver. mana={1}{U} type=Creature @@ -87128,7 +87129,7 @@ toughness=3 [card] name=Thopter Mechanic auto=_SECOND_DRAW_counter(1/1) -auto=_DIES_create(thopter artifact:creature thopter artifact:1/1:colorless:flying) +auto=_DIES__THOPTERTOKEN_ text=Whenever you draw your second card each turn, put a +1/+1 counter on Thopter Mechanic. -- When Thopter Mechanic dies, create a 1/1 colorless Thopter artifact creature token with flying. mana={1}{U} type=Creature @@ -87139,14 +87140,14 @@ toughness=1 [card] name=Thopter Shop auto=@movedto(artifact[creature]|graveyard) from(myBattlefield) turnlimited:draw:1 -auto={2}{W}{T}:create(thopter:artifact creature thopter:1/1:flying) +auto={2}{W}{T}:_THOPTERTOKEN_ text=Whenever one or more artifact creatures you control die, draw a card. This ability triggers only once each turn. -- {2}{W}, {T}: Create a 1/1 colorless Thopter artifact creature token with flying. mana={3} type=Artifact [/card] [card] name=Thopter Spy Network -auto=@each my upkeep:if type(artifact|mybattlefield)~morethan~0 then token token(Thopter,Artifact Creature Thopter,1/1,flying) +auto=@each my upkeep:if type(artifact|mybattlefield)~morethan~0 then _THOPTERTOKEN_ auto=@each combatdamage restriction{opponentdamagedbycombat}:draw:1 controller limit:1 text=At the beginning of your upkeep, if you control an artifact, put a 1/1 colorless Thopter artifact creature token with flying onto the battlefield. -- Whenever one or more artifact creatures you control deal combat damage to a player, draw a card. mana={2}{U}{U} @@ -88437,7 +88438,7 @@ type=Enchantment [card] name=Tithe Taker auto=this(variable{controllerturn}>0) lord(*|opponentcastingzone) altercost(colorless,+1) -auto=_DIES_token(Spirit,Creature Spirit,1/1,white,black,flying) +auto=_DIES__AFTERLIFETOKEN_ text=During your turn, spells your opponents cast cost {1} more to cast and abilities your opponents activate cost {1} more to activate unless they're mana abilities. -- Afterlife 1 (When this creature dies, create a 1/1 white and black Spirit creature token with flying.) mana={1}{W} type=Creature @@ -92300,8 +92301,8 @@ toughness=2 [card] name=Vampire Socialite abilities=menace -auto=if compare(oplifelost)~morethan~0 then name(All vampires get 1/1 counter) name(All vampires get 1/1 counter) all(other *[vampire]|myBattlefield) counter(1/1) -auto=@movedto(other *[vampire]|mybattlefield) restriction{compare(oplifelost)~morethan~0}:name(Put 1/1 counter) all(trigger[to]) name(Put 1/1 counter) counter(1/1) +auto=if _SPECTACLE_ then name(All vampires get 1/1 counter) name(All vampires get 1/1 counter) all(other *[vampire]|myBattlefield) counter(1/1) +auto=@movedto(other *[vampire]|mybattlefield) restriction{_SPECTACLE_}:name(Put 1/1 counter) all(trigger[to]) name(Put 1/1 counter) counter(1/1) text=Menace (This creature can't be blocked except by two or more creatures.) -- When Vampire Socialite enters the battlefield, if an opponent lost life this turn, put a +1/+1 counter on each other Vampire you control. -- As long as an opponent lost life this turn, each other Vampire you control enters the battlefield with an additional +1/+1 counter on it. type=Creature subtype=Vampire Noble @@ -94327,7 +94328,7 @@ type=Sorcery [/card] [card] name=Voldaren Ambusher -auto=if compare(oplifelost)~morethan~0 then may name(Damage creature or planeswalker) damage:type:vampire:mybattlefield target(creature,planeswalker) +auto=if _SPECTACLE_ then may name(Damage creature or planeswalker) damage:type:vampire:mybattlefield target(creature,planeswalker) text=When Voldaren Ambusher enters the battlefield, if an opponent lost life this turn, it deals X damage to up to one target creature or planeswalker, where X is the number of Vampires you control. mana={2}{R} type=Creature diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index 76c530a80..fb0025449 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -10163,7 +10163,7 @@ toughness=3 name=Beckon Apparition target=*|graveyard auto=moveTo(exile) -auto=token(Spirit,Creature Spirit,1/1,white,black,flying) +auto=_AFTERLIFETOKEN_ text=Exile target card from a graveyard. Put a 1/1 white and black Spirit creature token with flying onto the battlefield. mana={WB} type=Instant @@ -96109,7 +96109,7 @@ toughness=5 name=Rix Maadi Guildmage auto={B}{R}:name(target creature -1/-1) target(creature[blocking]) -1/-1 ueot auto={B}{R}:name(target controller life -1) target(controller) life:-1 restriction{compare(lifelost)~morethan~0} -auto={B}{R}:name(target opponent life -1) target(opponent) life:-1 restriction{compare(oplifelost)~morethan~0} +auto={B}{R}:name(target opponent life -1) target(opponent) life:-1 restriction{_SPECTACLE_} text={B}{R}: Target blocking creature gets -1/-1 until end of turn. -- {B}{R}: Target player who lost life this turn loses 1 life. mana={B}{R} type=Creature @@ -119436,7 +119436,7 @@ toughness=3 name=Teysa, Envoy of Ghosts abilities=Vigilance auto=protection from(creature) -auto=@combatdamaged(player) from(creature|opponentBattlefield):all(trigger[from]) destroy && token(Spirit,Creature Spirit,1/1,white,black,flying) +auto=@combatdamaged(player) from(creature|opponentBattlefield):all(trigger[from]) destroy && _AFTERLIFETOKEN_ text=Vigilance, protection from creatures -- Whenever a creature deals combat damage to you, destroy that creature. Create a 1/1 white and black Spirit creature token with flying. mana={5}{W}{B} type=Legendary Creature diff --git a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt index fbe5177b9..5e8dc727a 100644 --- a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt +++ b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt @@ -783,7 +783,7 @@ name=Dovin, Grand Arbiter auto=counter(0/0,3,loyalty) aicode=activate target(*[zpos<=10]|mylibrary) moveto(myhand) auto={C(0/0,1,Loyalty)}:name(+1: Whenever a creature combat damage, put loyalty counter) all(creature|myBattlefield) transforms((,newability[@combatdamaged(player) from(this):counter(0/0,1,Loyalty) notAtarget(Dovin^ Grand Arbiter|myBattlefield)])) ueot oneshot -auto={C(0/0,-1,Loyalty)}:name(-1: Create a 1/1 Thopter and gain 1 life) token(Thopter,Artifact Creature Thopter,1/1,flying) && life:1 controller +auto={C(0/0,-1,Loyalty)}:name(-1: Create a 1/1 Thopter and gain 1 life) _THOPTERTOKEN_ && life:1 controller auto={C(0/0,-7,Loyalty)}:name(-7: Look at the top ten and put three in your hand) name(Look ten cards from top of your Library) reveal:10 optionone name(Get three cards) target(<3>*|reveal) moveto(hand) optiononeend optiontwo all(*|reveal) bottomoflibrary optiontwoend revealend text=+1: Until end of turn, whenever a creature you control deals combat damage to a player, put a loyalty counter on Dovin, Grand Arbiter. -- −1: Create a 1/1 colorless Thopter artifact creature token with flying. You gain 1 life. -- −7: Look at the top ten cards of your library. Put three of them into your hand and the rest on the bottom of your library in a random order. mana={1}{W}{U} @@ -2890,7 +2890,7 @@ subtype=Tezzeret [card] name=Tezzeret, Artifice Master auto=counter(0/0,5,loyalty) -auto={C(0/0,1,Loyalty)}:name(+1: Create a 1/1 Thopter) token(Thopter,Artifact Creature Thopter,1/1,flying) +auto={C(0/0,1,Loyalty)}:name(+1: Create a 1/1 Thopter) _THOPTERTOKEN_ auto={C(0/0,0,Loyalty)}:name(+0: Draw a card or two) if type(artifact|myBattlefield)~morethan~2 then draw:2 controller else draw:1 controller auto={C(0/0,-9,Loyalty)}:name(-9: Emblem: Each end of turn search a permanent) emblem transforms((,newability[@each my endofturn:moveTo(myBattlefield) target(*[-instant;-sorcery]|myLibrary) && shuffle controller])) forever dontremove text=+1: Create a 1/1 colorless Thopter artifact creature token with flying. -- 0: Draw a card. If you control three or more artifacts, draw two cards instead. -- −9: You get an emblem with "At the beginning of your end step, search your library for a permanent card, put it onto the battlefield, then shuffle your library."