diff --git a/projects/mtg/bin/Res/sets/primitives/_macros.txt b/projects/mtg/bin/Res/sets/primitives/_macros.txt index b32e537f5..c1897be04 100644 --- a/projects/mtg/bin/Res/sets/primitives/_macros.txt +++ b/projects/mtg/bin/Res/sets/primitives/_macros.txt @@ -251,6 +251,9 @@ # Goblin Token #AUTO_DEFINE _GOBLINTOKEN_ create(Goblin:Creature Goblin:1/1:red) +# Gnome Token +#AUTO_DEFINE _GNOMETOKEN_ create(gnome artifact:creature gnome artifact:1/1) + # Insect Token #AUTO_DEFINE _INSECTTOKEN_ create(Insect:Creature Insect:1/1:green) diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index 458861f16..7d2fee5f6 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -1,6 +1,6 @@ #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 06-05-2024 +#I sorted this programmatically - Thanks to Vitty85 13-05-2024 [card] name=+2 Mace auto={3}:equip @@ -2548,6 +2548,18 @@ power=5 toughness=4 [/card] [card] +name=Angel of Indemnity +abilities=flying,lifelink +auto=target(*[-instant;-sorcery;manacost<=4]|myGraveyard) moveTo(mybattlefield) +autograveyard={6}{W}{W}:name(Activate Encore) name(Activate Encore) moveto(exile) and!(clone with(treason,haste,mustattack))! asSorcery +text=Flying, lifelink -- When Angel of Indemnity enters the battlefield, return target permanent card with mana value 4 or less from your graveyard to the battlefield. -- Encore {6}{W}{W} ({6}{W}{W}, Exile this card from your graveyard: For each opponent, create a token copy that attacks that opponent this turn if able. They gain haste. Sacrifice them at the beginning of the next end step. Activate only as a sorcery.) +mana={5}{W} +type=Creature +subtype=Angel Warrior +power=5 +toughness=5 +[/card] +[card] name=Angel of Salvation abilities=flash,flying other={convoke} name(Convoke) @@ -2790,6 +2802,19 @@ power=4 toughness=4 [/card] [card] +name=Angelic Sell-Sword +abilities=flying,vigilance +auto=create(mercenary:creature mercenary:1/1:red) and!( transforms((,newability[{T}:target(creature|myBattlefield) 1/0 asSorcery])) forever )! +auto=@movedTo(other creature[-token]|myBattlefield):create(mercenary:creature mercenary:1/1:red) and!( transforms((,newability[{T}:target(creature|myBattlefield) 1/0 asSorcery])) forever )! +auto=_ATTACKING_aslongas(Angelic Sell-Sword[attacking;power>=6]|myBattlefield):draw:1 +text=Flying, vigilance -- Whenever Angelic Sell-Sword or another nontoken creature enters the battlefield under your control, create a 1/1 red Mercenary creature token with "{T}: Target creature you control gets +1/+0 until end of turn. Activate only as a sorcery." -- Whenever Angelic Sell-Sword attacks, if its power is 6 or greater, draw a card. +mana={4}{W} +type=Creature +subtype=Angel Mercenary +power=4 +toughness=4 +[/card] +[card] name=Angelic Sleuth abilities=flying auto=@movedto(other *[counter{any}]|nonbattlezone) from(mybattlefield):name(Create clue) token(Clue) controller @@ -4682,7 +4707,7 @@ type=Instant [/card] [card] name=Arrogant Outlaw -auto=if _SPECTACLE_ then life:-2 opponent && life:2 controller +auto=if compare(oplifelost)~morethan~0 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 @@ -7557,7 +7582,7 @@ type=Enchantment [/card] [card] name=Bat Whisperer -auto=if _SPECTACLE_ then token(Bat,Creature Bat,1/1,flying,black) +auto=if compare(oplifelost)~morethan~0 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 @@ -8165,8 +8190,8 @@ subtype=Saga [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{_SPECTACLE_}:add{C}{C} -auto=@each opponent secondmain restriction{_SPECTACLE_}:add{C}{C} opponent +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 mana={B}{G} type=Legendary Creature subtype=Phyrexian Zombie Elf @@ -9278,7 +9303,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=_SPECTACLE_ +otherrestriction=compare(oplifelost)~morethan~0 mana={4}{B} type=Creature subtype=Human Rogue @@ -10634,7 +10659,7 @@ subtype=Equipment [card] name=Bloodtithe Collector abilities=flying -auto=if _SPECTACLE_ then ability$!name(Discard a card) name(Discard a card) target(*|myhand) reject!$ opponent +auto=if compare(oplifelost)~morethan~0 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 @@ -13703,6 +13728,20 @@ mana={5}{B}{B} type=Enchantment [/card] [card] +name=Cactus Preserve +auto=tapped +auto=this(variable{plandw}>0) {T}:out{W} +auto=this(variable{plandu}>0) {T}:out{U} +auto=this(variable{plandb}>0) {T}:out{B} +auto=this(variable{plandr}>0) {T}:out{R} +auto=this(variable{plandg}>0) {T}:out{G} +auto=this(variable{plandc}>0) {T}:out{1} +auto={3}:becomes(Plant Creature,convertedcost:highest:*[iscommander]:myBattlefield/convertedcost:highest:*[iscommander]:myBattlefield,gren,reach) ueot +text=Cactus Preserve enters the battlefield tapped. -- {T}: Add one mana of any type that a land you control could produce. -- {3}: Until end of turn, Cactus Preserve becomes an X/X green Plant creature with reach, where X is the greatest mana value among your commanders. It's still a land. +type=Land +subtype=Desert +[/card] +[card] name=Cactusfolk Sureshot abilities=reach auto=_WARD_(2) @@ -22840,6 +22879,14 @@ mana={R} type=Instant [/card] [card] +name=Dead Before Sunrise +auto=all(Assassin,Mercenary,Pirate,Rogue,Warlock|mybattlefield) 1/0 +auto=all(Assassin,Mercenary,Pirate,Rogue,Warlock|mybattlefield) transforms((,newability[{T}:target(creature) dynamicability])) ueot +text=Until end of turn, outlaw creatures you control get +1/+0 and gain "{T}: This creature deals damage equal to its power to target creature." (Assassins, Mercenaries, Pirates, Rogues, and Warlocks are outlaws.) +mana={3}{R} +type=Instant +[/card] +[card] name=Dead Man's Chest target=creature|opponentbattlefield auto=@movedTo(mytgt|graveyard) from(battlefield):all(*[-land;zpos<=p]|opponentlibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile forever],newability[anytypeofmana forever])) forever )! @@ -22863,7 +22910,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=_SPECTACLE_ +otherrestriction=compare(oplifelost)~morethan~0 mana={3}{B} type=Sorcery [/card] @@ -26813,7 +26860,7 @@ color=blue [card] name=Drakuseth, Maw of Flames abilities=flying -auto=_ATTACKING_may name(Deals 3 damages to each of up to two other targets) name(Deals 3 damages to each of up to two other targets) damage:3 target(<2>anytarget) +auto=_ATTACKING_may name(Deals 3 damages to each of up to two other targets) name(Deals 3 damages to each of up to two other targets) damage:3 target(anytarget) auto=_ATTACKING_name(Deals 4 damages to any target) name(Deals 4 damage to any target) damage:4 target(anytarget) text=Flying -- Whenever Drakuseth, Maw of Flames attacks, it deals 4 damage to any target and 3 damage to each of up to two other targets. mana={4}{R}{R}{R} @@ -27463,7 +27510,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=_SPECTACLE_ +otherrestriction=compare(oplifelost)~morethan~0 mana={2}{B} type=Sorcery [/card] @@ -30758,7 +30805,7 @@ subtype=Lesson [/card] [card] name=Envoy of Okinec Ahau -auto={4}{W}:create(gnome artifact:creature gnome artifact:1/1:colorless) +auto={4}{W}:_GNOMETOKEN_ text={4}{W}: Create a 1/1 colorless Gnome artifact creature token. mana={2}{W} type=Creature @@ -33419,7 +33466,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{_SPECTACLE_} +auto={1}{R}{D(*|myhand)}{S(vampire|myBattlefield)}:name(Draw 2 cards) draw:2 controller restriction{compare(oplifelost)~morethan~0} 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 @@ -33603,7 +33650,7 @@ toughness=2 [/card] [card] name=Famished Foragers -auto=if _SPECTACLE_ then add{R}{R}{R} +auto=if compare(oplifelost)~morethan~0 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 @@ -36194,7 +36241,7 @@ type=Sorcery name=Florian, Voldaren Scion abilities=first strike aicode=activate target(*[zpos<=oplifelost]|mylibrary) moveto(ownerHand) and!( transforms((,newability[canplayfromexile],newability[all(*[zpos<=oplifelost]|myLibrary) moveto(myreveal) and!( bottomoflibrary )!])) ueot )! -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 +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 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 @@ -38971,6 +39018,18 @@ power=1 toughness=4 [/card] [card] +name=Generous Plunderer +abilities=menace +auto=@each my upkeep:may create(Treasure) && target(opponent) ability$!create(Treasure) and!( tap(noevent) )! opponent!$ +auto=_ATTACKING_damage:type:artifact:opponentBattlefield opponent +text=Menace -- At the beginning of your upkeep, you may create a Treasure token. When you do, target opponent creates a tapped Treasure token. -- Whenever Generous Plunderer attacks, it deals damage to defending player equal to the number of artifacts they control. +mana={1}{R} +type=Creature +subtype=Human Rogue +power=2 +toughness=2 +[/card] +[card] name=Generous Soul backside=Beloved Beggar abilities=flying,vigilance,exiledeath @@ -39380,18 +39439,6 @@ type=Artifact subtype=Equipment [/card] [card] -name=Ghost of Ramirez DePietro -abilities=partner -auto=cantbeblockedby(creature[power>=3]) -auto=@combatdamaged(player) from(this):target(*[fresh]|graveyard) moveto(ownerhand) -text=Ghost of Ramirez DePietro can't be blocked by creatures with toughness 3 or greater. -- Whenever Ghost of Ramirez DePietro deals combat damage to a player, choose up to one target card in a graveyard that was discarded or put there from a library this turn. Put that card into its owner's hand. -- Partner (You can have two commanders if both have partner.) -mana={2}{U} -type=Legendary Creature -subtype=Spirit Pirate -power=2 -toughness=3 -[/card] -[card] name=Ghost-Lit Drifter abilities=flying autohand={1}{U}{D}:name(1 creature gains flying) target(creature|battlefield) transforms((,newability[flying])) ueot @@ -41096,7 +41143,7 @@ toughness=5 [/card] [card] name=Gnome-Made Engine -auto=token(Gnome,Artifact Creature Gnome,1/1) +auto=_GNOMETOKEN_ text=When this creature enters the battlefield, create a 1/1 colorless Gnome artifact creature token. mana={4} type=Host Artifact Creature @@ -44315,7 +44362,7 @@ toughness=3 [card] name=Gutterbones auto=tap -autograveyard={1}{B}:moveto(ownerHand) asSorcery restriction{_SPECTACLE_} +autograveyard={1}{B}:moveto(ownerHand) asSorcery restriction{compare(oplifelost)~morethan~0} 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 @@ -44491,7 +44538,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=_SPECTACLE_ +otherrestriction=compare(oplifelost)~morethan~0 mana={1}{B}{R} type=Creature subtype=Human Rogue @@ -45491,6 +45538,18 @@ mana={2}{G} type=Sorcery [/card] [card] +name=Harvester of Misery +abilities=menace +auto=all(other creature) -2/-2 +autohand={1}{B}{discard}:target(creature) -2/-2 ueot +text=Menace -- When Harvester of Misery enters the battlefield, other creatures get -2/-2 until end of turn. -- {1}{B}, Discard Harvester of Misery: Target creature gets -2/-2 until end of turn. +mana={3}{B}{B} +type=Creature +subtype=Spirit +power=5 +toughness=4 +[/card] +[card] name=Harvesttide Assailant abilities=trample,nightbound backside=Harvesttide Infiltrator @@ -47993,6 +48052,17 @@ text={T}: Add {C}. -- {1}, {T}, Sacrifice a creature: Put a soul counter on Host type=Land [/card] [card] +name=Hostile Investigator +auto=name(discard) target(opponent) ability$!name(discard) target(*|myhand) reject!$ targetedplayer +auto=@discarded(*|hand) turnLimited:create(Clue) +text=When Hostile Investigator enters the battlefield, target opponent discards a card. -- Whenever one or more players discard one or more cards, investigate. This ability triggers only once each turn. (Create a Clue token. It's an artifact with "{2}, Sacrifice this artifact: Draw a card.") +mana={3}{B} +type=Creature +subtype=Ogre Rogue Detective +power=4 +toughness=3 +[/card] +[card] name=Hostile Minotaur abilities=haste text=Haste (This creature can attack and {T} as soon as it comes under your control.) @@ -49417,7 +49487,7 @@ name=Illustrious Wanderglyph auto=_ASCEND_ auto=@movedTo(*|myBattlefield) restriction{type(City's Blessing|mybattlefield)~equalto~0}:_ASCEND_ auto=_CITY'S_BLESSING_ lord(other creature|myBattlefield) +2/+2 -auto=@each upkeep:create(gnome artifact:creature gnome artifact:1/1:colorless) +auto=@each upkeep:_GNOMETOKEN_ text=Ascend (If you control ten or more permanents, you get the city's blessing for the rest of the game.) -- Other artifact creatures you control get +2/+2 as long as you have the city's blessing. -- At the beginning of each upkeep, create a 1/1 colorless Gnome artifact creature token. mana={4}{W} type=Artifact Creature @@ -58042,6 +58112,14 @@ power=2 toughness=2 [/card] [card] +name=Legion Extruder +auto=damage:2 target(anyTarget) +auto={2}{T}{S(other artifact|mybattlefield)}:create(golem:creature golem artifact:3/3) +text=When Legion Extruder enters the battlefield, it deals 2 damage to any target. -- {2}, {T}, Sacrifice another artifact: Create a 3/3 colorless Golem artifact creature token. +mana={1}{R} +type=Artifact +[/card] +[card] name=Legion Guildmage auto={5}{R}{T}:damage:3 each opponent auto={2}{W}{T}:tap target(other creature) @@ -58744,7 +58822,7 @@ name=Light Up the Stage auto=name(Exile top 2 cards) all(*[zpos<=2]|mylibrary) moveto(exile) and!( transforms((,newability[canplayfromexile uent])) 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=_SPECTACLE_ +otherrestriction=compare(oplifelost)~morethan~0 mana={2}{R} type=Sorcery [/card] @@ -60113,6 +60191,18 @@ mana={1}{U} type=Enchantment [/card] [card] +name=Lost Jitte +auto=@combatdamaged(anytarget) from(mytgt):counter(0/0,1,Charge) all(this) +autoskill={C(0/0,-1,Charge)}:untap target(land) +autoskill={C(0/0,-1,Charge)}:target(creature) cantblock ueot +autoskill={C(0/0,-1,Charge)}:counter(1/1) +auto={1}:equip +text=Whenever equipped creature deals combat damage, put a charge counter on Lost Jitte. -- Remove a charge counter from Lost Jitte: Choose one - -- - Untap target land. -- - Target creature can't block this turn. -- - Put a +1/+1 counter on equipped creature. -- Equip {1} +mana={1} +type=Legendary Artifact +subtype=Equipment +[/card] +[card] name=Lost Legion aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=_SCRY2_ @@ -60210,6 +60300,22 @@ text=Hexproof -- Lotus Field enters the battlefield tapped. -- When Lotus Field type=Land [/card] [card] +name=Lotus Ring +abilities=indestructible +auto=teach(creature) 3/3 +auto=teach(creature) vigilance +auto=teach(creature) transforms((,newability[{T}{S}:add{W}{W}{W}])) +auto=teach(creature) transforms((,newability[{T}{S}:add{U}{U}{U}])) +auto=teach(creature) transforms((,newability[{T}{S}:add{B}{B}{B}])) +auto=teach(creature) transforms((,newability[{T}{S}:add{R}{R}{R}])) +auto=teach(creature) transforms((,newability[{T}{S}:add{G}{G}{G}])) +auto={3}:equip +text=Indestructible -- Equipped creature gets +3/+3 and has vigilance and "{T}, Sacrifice this creature: Add three mana of any one color." -- Equip {3} +mana={3} +type=Artifact +subtype=Equipment +[/card] +[card] name=Lounge auto=tapped auto={T}:Add{B} @@ -60440,8 +60546,8 @@ type=Sorcery [card] name=Ludevic, Necro-Alchemist abilities=partner -auto=@each my end restriction{_SPECTACLE_}:may draw:1 controller -auto=@each opponent end restriction{_SPECTACLE_}:may draw:1 controller +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 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 @@ -62340,8 +62446,8 @@ toughness=1 [/card] [card] name=Martyr of Bones -auto={1}{S}:name(exile from my graveyard) moveto(myexile) target(|mygraveyard) -auto={1}{S}:name(exile from opponent graveyard) moveto(opponentexile) target(|opponentgraveyard) +auto={1}{S}:name(exile from my graveyard) foreach(*[black]|myhand) ability$! moveto(exile) target(*|mygraveyard) !$ controller +auto={1}{S}:name(exile from opponent graveyard) foreach(*[black]|myhand) ability$! moveto(exile) target(*|opponentgraveyard) !$ controller text={1}, Reveal X black cards from your hand, Sacrifice Martyr of Bones: Exile up to X target cards from a single graveyard. mana={B} type=Creature @@ -65569,6 +65675,14 @@ mana={X}{R}{R} type=Sorcery [/card] [card] +name=Molten Duplication +target=creature,artifact|myBattlefield +auto=clone with(treason,haste) addtype(artifact) +text=Create a token that's a copy of target artifact or creature you control, except it's an artifact in addition to its other types. It gains haste until end of turn. Sacrifice it at the beginning of the next end step. +mana={1}{R} +type=Sorcery +[/card] +[card] name=Molten Echoes auto=chooseatype transforms((,newability[@movedTo(creature[chosentype;-token]|myBattlefield):all(trigger[to]) clone with(unearth,haste)])) chooseend text=As Molten Echoes enters the battlefield, choose a creature type. -- Whenever a nontoken creature of the chosen type enters the battlefield under your control, create a token that's a copy of that creature. That token gains haste. Exile it at the beginning of the next end step. @@ -66342,7 +66456,7 @@ toughness=3 [card] name=Mounted Dreadknight abilities=trample -auto=if _SPECTACLE_ then counter(1/1) +auto=if compare(oplifelost)~morethan~0 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 @@ -70885,7 +70999,7 @@ toughness=4 [card] name=Oltec Cloud Guard abilities=flying -auto=create(gnome artifact:creature gnome artifact:1/1:colorless) +auto=_GNOMETOKEN_ text=Flying -- When Oltec Cloud Guard enters the battlefield, create a 1/1 colorless Gnome artifact creature token. mana={3}{W} type=Creature @@ -70894,6 +71008,17 @@ power=3 toughness=2 [/card] [card] +name=Oltec Matterweaver +auto=@movedTo(creature|mystack):choice name(Create Gnome) _GNOMETOKEN_ +auto=@movedTo(creature|mystack) restriction{type(artifact[token]|myBattlefield)~morethan~0}:choice name(Copy artifact) target(artifact[token]|myBattlefield) clone +text=Whenever you cast a creature spell, choose one - -- - Create a 1/1 colorless Gnome artifact creature token. -- - Create a token that's a copy of target artifact token you control. +mana={2}{W} +type=Creature +subtype=Human Artificer +power=2 +toughness=4 +[/card] +[card] name=Omarthis, Ghostfire Initiate auto=counter(1/1,halfpaid) auto=@movedto(this|graveyard) from(battlefield) restriction{compare(hascntanycnt)~equalto~1}:name(Manifest 1 card) manifest all(*[zpos<=1]|mylibrary) @@ -73938,6 +74063,14 @@ power=5 toughness=6 [/card] [card] +name=Pest Control +auto=destroy all(*[-land;manacost<=1]) +autohand=__CYCLING__({2}) +text=Destroy all nonland permanents with mana value 1 or less. -- Cycling {2} ({2}, Discard this card: Draw a card.) +mana={W}{B} +type=Sorcery +[/card] +[card] name=Pest Infestation auto=thisforeach(variable{halfpaid}>0) ability$!may name(Destroy artifact or enchantment) target(*[artifact;enchantment]|battlefield) destroy!$ controller auto=thisforeach(X) token(Pest,Creature Pest,1/1,black,green) and!( transforms((,newability[_DIES_life:1 controller])) forever )! @@ -78578,7 +78711,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=_SPECTACLE_ +otherrestriction=compare(oplifelost)~morethan~0 mana={2}{B}{R} type=Creature subtype=Demon @@ -78963,7 +79096,7 @@ toughness=3 [card] name=Rakdos, Lord of Riots abilities=flying,trample -restriction=_SPECTACLE_ +restriction=compare(oplifelost)~morethan~0 auto=lord(creature|mycastingzone) transforms((,newability[affinity(variable{oplifelost}) reduce({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} @@ -83398,7 +83531,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=_SPECTACLE_ +otherrestriction=compare(oplifelost)~morethan~0 mana={1}{R} type=Creature subtype=Human Shaman @@ -84322,8 +84455,7 @@ type=Enchantment name=Rubble Reading target=land auto=destroy -aicode=activate transforms((,newability[all(*[zpos<=2]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY2_ +auto=_SCRY2_ controller text=Destroy target land. Scry 2. mana={3}{R} type=Sorcery @@ -85970,6 +86102,17 @@ power=4 toughness=4 [/card] [card] +name=Sandstorm Salvager +auto=create(golem:creature golem artifact:3/3) +auto={2}{T}:all(creature[token]|myBattlefield) transforms((,newability[counter(1/1)],newability[trample ueot])) ueot +text=When Sandstorm Salvager enters the battlefield, create a 3/3 colorless Golem artifact creature token. -- {2}, {T}: Put a +1/+1 counter on each creature token you control. They gain trample until end of turn. +mana={2}{G} +type=Creature +subtype=Human Artificer +power=1 +toughness=1 +[/card] +[card] name=Sandstorm Verge auto={T}:Add{C} auto={3}{T}:target(creature) cantblock ueot asSorcery @@ -86630,7 +86773,7 @@ type=Instant [card] name=Savage Gorger abilities=flying -auto=@each my endofturn restriction{_SPECTACLE_}:counter(1/1) +auto=@each my endofturn restriction{compare(oplifelost)~morethan~0}: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} type=Creature @@ -91683,6 +91826,14 @@ power=0 toughness=1 [/card] [card] +name=Simulacrum Synthesizer +auto=_SCRY2_ +auto=@movedTo(other artifact[manacost>=3]|myBattlefield):create(construct) +text=When Simulacrum Synthesizer enters the battlefield, scry 2. -- Whenever another artifact with mana value 3 or greater enters the battlefield under your control, create a 0/0 colorless Construct artifact creature token with "This creature gets +1/+1 for each artifact you control." +mana={2}{U} +type=Artifact +[/card] +[card] name=Sin Prodder abilities=menace auto=@each my upkeep:name(Reveal top card) all(*[zpos=1]|mylibrary) moveto(opponenthand) and!( transforms((,newability[choice name(Put in opponent hand) moveto(opponenthand)],newability[choice name(put in opponent graveyard) moveto(opponentgraveyard) and!( damage:manacost controller)!])) oneshot )! @@ -92145,7 +92296,7 @@ target=anytarget 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=_SPECTACLE_ +otherrestriction=compare(oplifelost)~morethan~0 mana={2}{R} type=Sorcery [/card] @@ -95040,7 +95191,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=_SPECTACLE_ +otherrestriction=compare(oplifelost)~morethan~0 mana={2}{B}{B} type=Creature subtype=Demon @@ -95713,7 +95864,7 @@ type=Instant 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=_SPECTACLE_ +otherrestriction=compare(oplifelost)~morethan~0 mana={3}{R} type=Creature subtype=Human Rogue @@ -98261,7 +98412,7 @@ toughness=2 [card] name=Strefan, Maurer Progenitor abilities=flying -auto=@each my endofturn restriction{_SPECTACLE_}:name(Create Blood) token(Blood) +auto=@each my endofturn restriction{compare(oplifelost)~morethan~0}: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[readytofight],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. @@ -98383,7 +98534,7 @@ type=Instant [/card] [card] name=Stromkirk Bloodthief -auto=@each my endofturn restriction{_SPECTACLE_}:target(vampire|myBattlefield) counter(1/1) +auto=@each my endofturn restriction{compare(oplifelost)~morethan~0}: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 @@ -102311,7 +102462,7 @@ toughness=4 [card] name=Teysa, Opulent Oligarch abilities=deathtouch -auto=@each my endofturn:if _SPECTACLE_ then create(Clue) +auto=@each my endofturn:if compare(oplifelost)~morethan~0 then create(Clue) auto=@movedTo(graveyard) from(Clue|myBattlefield) turnlimited:create(spirit:creature spirit:1/1:white:black:flying) text=Deathtouch -- At the beginning of your end step, investigate for each opponent who lost life this turn. -- Whenever a Clue you control is put into a graveyard from the battlefield, create a 1/1 white and black Spirit creature token with flying. This ability triggers only once each turn. mana={1}{W}{B} @@ -103387,8 +103538,7 @@ subtype=Sphere name=The Mycotyrant abilities=trample anyzone=type:*[Fungus;Saproling]:myBattlefield/type:*[Fungus;Saproling]:myBattlefield cdaactive -auto=lord(other creature|myBattlefield) -auto=@each my endofturn:foreach(*[-instant;-sorcery;fresh]|mygraveyard) create(fungus:creature fungus:1/1:black:cantblock) +auto=@each my endofturn:foreach(*[-instant;-sorcery&fresh]|mygraveyard) create(fungus:creature fungus:1/1:black:cantblock) text=Trample -- The Mycotyrant's power and toughness are each equal to the number of creatures you control that are Fungi and/or Saprolings. -- At the beginning of your end step, create X 1/1 black Fungus creature tokens with "This creature can't block," where X is the number of times you descended this turn. (You descend each time a permanent card is put into your graveyard from anywhere.) mana={1}{B}{G} type=Legendary Creature @@ -104327,8 +104477,8 @@ toughness=2 [card] name=Threefold Thunderhulk auto=counter(1/1,3) -auto=thisforeach(power>=1) create(gnome artifact:creature gnome artifact:1/1) -auto=_ATTACKING_thisforeach(power>=1) create(gnome artifact:creature gnome artifact:1/1) +auto=thisforeach(power>=1) _GNOMETOKEN_ +auto=_ATTACKING_thisforeach(power>=1) _GNOMETOKEN_ auto={2}{S(other artifact|mybattlefield)}:counter(1/1) text=Threefold Thunderhulk enters the battlefield with three +1/+1 counters on it. -- Whenever Threefold Thunderhulk enters the battlefield or attacks, create a number of 1/1 colorless Gnome artifact creature tokens equal to its power. -- {2}, Sacrifice another artifact: Put a +1/+1 counter on Threefold Thunderhulk. mana={7} @@ -105176,7 +105326,7 @@ toughness=3 [/card] [card] name=Tinker's Tote -auto=create(gnome artifact:creature gnome artifact:1/1:colorless:)*2 +auto=_GNOMETOKEN_*2 auto={W}{S}:life:3 text=When Tinker's Tote enters the battlefield, create two 1/1 colorless Gnome artifact creature tokens. -- {W}, Sacrifice Tinker's Tote: You gain 3 life. mana={2}{W} @@ -109887,8 +110037,8 @@ toughness=2 [card] name=Vampire Socialite abilities=menace -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) +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) 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 @@ -110572,6 +110722,15 @@ mana={4}{R}{G} type=Sorcery [/card] [card] +name=Vengeful Regrowth +target=land|myGraveyard +auto=moveTo(battlefield) and!(tap(noevent))! && create(Plant Warrior:creature Plant Warrior:4/2:green:reach) +flashback={6}{G}{G} +text=Return up to three target land cards from your graveyard to the battlefield tapped. Create that many 4/2 green Plant Warrior creature tokens with reach. -- Flashback {6}{G}{G} (You may cast this card from your graveyard for its flashback cost. Then exile it.) +mana={4}{G}{G} +type=Sorcery +[/card] +[card] name=Vengeful Strangler abilities=cantblock backside=Strangling Grasp @@ -112165,7 +112324,7 @@ type=Sorcery [/card] [card] name=Voldaren Ambusher -auto=if _SPECTACLE_ then may name(Damage creature or planeswalker) damage:type:vampire:mybattlefield target(creature,planeswalker) +auto=if compare(oplifelost)~morethan~0 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 fde846560..a5f19b2d6 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -1734,7 +1734,7 @@ toughness=2 [/card] [card] name=Aggravated Assault -auto={3}{R}{R}:untap all(creature[attacking]) && nextphasealter(add,combatphaseswithmain,controller,after) asSorcery +auto={3}{R}{R}:untap all(creature) && nextphasealter(add,combatphaseswithmain,controller,after) asSorcery text={3}{R}{R}: Untap all creatures you control. After this main phase, there is an additional combat phase followed by an additional main phase. Activate this ability only any time you could cast a sorcery. mana={2}{R} type=Enchantment @@ -22789,7 +22789,7 @@ toughness=3 [/card] [card] name=Corrupt Court Official -auto=name(discard) target(opponent) ability$!name(discard) target(*|myhand) reject!$ targetedplayer MyTurnOnly +auto=name(discard) target(opponent) ability$!name(discard) target(*|myhand) reject!$ targetedplayer text=When Corrupt Court Official enters the battlefield, target opponent discards a card. mana={1}{B} type=Creature @@ -73520,9 +73520,9 @@ type=Artifact [/card] [card] name=Metrognome -autograveyard=while(restriction{discardbyopponent}) token(Gnome,Artifact Creature Gnome,1/1)*4 -autoexile=while(restriction{discardbyopponent}) token(Gnome,Artifact Creature Gnome,1/1)*4 -auto={4}{T}:token(Gnome,Artifact Creature Gnome,1/1) +autograveyard=while(restriction{discardbyopponent}) _GNOMETOKEN_*4 +autoexile=while(restriction{discardbyopponent}) _GNOMETOKEN_*4 +auto={4}{T}:_GNOMETOKEN_ text=When a spell or ability an opponent controls causes you to discard Metrognome, put four 1/1 colorless Gnome artifact creature tokens onto the battlefield. -- {4}, {T}: Put a 1/1 colorless Gnome artifact creature token onto the battlefield. mana={4} type=Artifact @@ -83971,16 +83971,6 @@ mana={1}{B} type=Instant [/card] [card] -name=Pact of Negation -target=*|stack -auto=fizzle -auto=if casted(this) then transforms((,newability[upcost[{3}{U}{U};next upkeep] wingame opponent])) forever -color=blue -text=Pact of Negation is blue. -- Counter target spell. -- At the beginning of your next upkeep, pay {3}{U}{U}. If you don't, you lose the game. -mana={0} -type=Instant -[/card] -[card] name=Pact of the Titan auto=token(Giant,Creature Giant,4/4,red) auto=if casted(this) then transforms((,newability[upcost[{4}{R};next upkeep] wingame opponent])) forever @@ -96170,7 +96160,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{_SPECTACLE_} +auto={B}{R}:name(target opponent life -1) target(opponent) life:-1 restriction{compare(oplifelost)~morethan~0} 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 @@ -107810,16 +107800,6 @@ power=2 toughness=2 [/card] [card] -name=Slaughter Pact -target=creature[-black] -auto=destroy -auto=if casted(this) then transforms((,newability[upcost[{2}{B};next upkeep] wingame opponent])) forever -color=black -text=Slaughter Pact is black. -- Destroy target nonblack creature. -- At the beginning of your next upkeep, pay {2}{B}. If you don't, you lose the game. -mana={0} -type=Instant -[/card] -[card] name=Slaughter target=creature[-black] auto=bury @@ -112219,11 +112199,11 @@ toughness=2 [/card] [card] name=Springleaf Drum -auto={T}{T(other creature|myBattlefield)}:Add{W} -auto={T}{T(other creature|myBattlefield)}:Add{U} -auto={T}{T(other creature|myBattlefield)}:Add{B} -auto={T}{T(other creature|myBattlefield)}:Add{R} -auto={T}{T(other creature|myBattlefield)}:Add{G} +auto=aslongas(creature[-tapped]|mybattlefield) {T}{T(other creature|myBattlefield)}:Add{W} +auto=aslongas(creature[-tapped]|mybattlefield) {T}{T(other creature|myBattlefield)}:Add{U} +auto=aslongas(creature[-tapped]|mybattlefield) {T}{T(other creature|myBattlefield)}:Add{B} +auto=aslongas(creature[-tapped]|mybattlefield) {T}{T(other creature|myBattlefield)}:Add{R} +auto=aslongas(creature[-tapped]|mybattlefield) {T}{T(other creature|myBattlefield)}:Add{G} text={T}, Tap an untapped creature you control: Add one mana of any color to your mana pool. mana={1} type=Artifact