From a6fe4a5de67a582e0e34fc202207e6e5587c80d8 Mon Sep 17 00:00:00 2001 From: Eduardo MG Date: Wed, 31 Jan 2024 17:22:57 -0600 Subject: [PATCH] White vampire token macro, bug fixes and new cards # White Vampire with lifelink Token #AUTO_DEFINE _WHITEVAMPIRE_ create(vampire:creature vampire:1/1:white:lifelink) Added Uchbenbak, the Great Mistake and other cards from WOE and LCI Bug fixes to: Aethershield Artificer Shirei, Shizo's Caretaker still needs some work The Scarab God Corpsejack Menace Lightning Javelin Furious Bellow Enemy of Enlightenment Orcish Captain Sun-Crested Pterodon moonlight bargain Haunted One Criminal Past Scion of Halaster Moldgraf Monstrosity Ashiok, Nightmare Muse Thran Spider Icon of Ancestry Shark Typhoon Farid, Enterprising Salvager Over the Top --- .../mtg/bin/Res/sets/primitives/_macros.txt | 3 + .../bin/Res/sets/primitives/borderline.txt | 478 +++++++++++++++--- projects/mtg/bin/Res/sets/primitives/mtg.txt | 6 +- .../bin/Res/sets/primitives/planeswalkers.txt | 8 +- 4 files changed, 406 insertions(+), 89 deletions(-) diff --git a/projects/mtg/bin/Res/sets/primitives/_macros.txt b/projects/mtg/bin/Res/sets/primitives/_macros.txt index df24d77fa..aa0f26a0c 100644 --- a/projects/mtg/bin/Res/sets/primitives/_macros.txt +++ b/projects/mtg/bin/Res/sets/primitives/_macros.txt @@ -278,5 +278,8 @@ # Wolf Token #AUTO_DEFINE _WOLFTOKEN_ create(Wolf:creature Wolf:2/2:green) +# White Vampire with lifelink Token +#AUTO_DEFINE _WHITEVAMPIRE_ create(vampire:creature vampire:1/1:white:lifelink) + # Zombie Token #AUTO_DEFINE _ZOMBIETOKEN_ create(zombie:creature zombie:2/2:black) \ No newline at end of file diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index ce4d11854..aa2bebf6b 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -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 14-01-2024 +#I sorted this programmatically - Thanks to Vitty85 31-01-2024 [card] name=+2 Mace auto={3}:equip @@ -459,7 +459,7 @@ toughness=1 [card] name=Adanto, the First Fort auto={T}:add{W} -auto={2}{W}{T}:token(Vampire,creature Vampire,1/1,white,lifelink) +auto={2}{W}{T}:_WHITEVAMPIRE_ text=(Transforms from Legion's Landing.) -- {T}: Add {W} to your mana pool. -- {2}{W}, {T}: Create a 1/1 white Vampire creature token with lifelink. type=Legendary Land [/card] @@ -919,7 +919,7 @@ toughness=2 [/card] [card] name=Aethershield Artificer -auto=@each my combatbegins:target(artifact[creature]|myBattlefield) 2/2 && indestructible ueot +auto=@each my combatbegins:target(artifact[creature]|myBattlefield) transforms((,newability[2/2],newability[indestructible])) ueot text=At the beginning of combat on your turn, target artifact creature you control gets +2/+2 and gains indestructible until end of turn. (Damage and effects that say "destroy" don't destroy it.) mana={3}{W} type=Creature @@ -8345,6 +8345,16 @@ mana={1}{R}{R} type=Sorcery [/card] [card] +name=Bestial Bloodline +target=creature +auto=teach(creature) +2/+2 +autograveyard={4}{G}:moveTo(myHand) +text=Enchant creature -- Enchanted creature gets +2/+2. -- {4}{G}: Return Bestial Bloodline from your graveyard to your hand. +mana={1}{G} +type=Enchantment +subtype=Aura +[/card] +[card] name=Betrayal of Flesh other={5}{B}{S(land|myBattlefield)}{S(land|myBattlefield)}{S(land|myBattlefield)} name(Entwine) otherrestriction=type(land|mybattlefield)~morethan~2 @@ -13550,7 +13560,7 @@ type=Instant [/card] [card] name=Call to the Feast -auto=token(Vampire,creature Vampire,1/1,white,lifelink)*3 +auto=_WHITEVAMPIRE_*3 text=Create three 1/1 white Vampire creature tokens with lifelink. mana={2}{W}{B} type=Sorcery @@ -15954,6 +15964,17 @@ power=4 toughness=2 [/card] [card] +name=Charging Hooligan +auto=_ATTACKING_foreach(creature[attacking]) 1/0 ueot +auto=aslongas(*[Rat&attacking]|mybattlefield) trample ueot +text=Whenever Charging Hooligan attacks, it gets +1/+0 until end of turn for each attacking creature. If a Rat is attacking, Charging Hooligan gains trample until end of turn. +mana={3}{R} +type=Creature +subtype=Human Peasant +power=3 +toughness=3 +[/card] +[card] name=Charging Monstrosaur abilities=trample, haste text=Trample, haste @@ -19003,6 +19024,13 @@ type=Enchantment subtype=Aura [/card] [card] +name=Consuming Sepulcher +auto=@each my upkeep:life:-1 opponent && life:1 +text=At the beginning of your upkeep, each opponent loses 1 life and you gain 1 life. +color=black +type=Artifact +[/card] +[card] name=Consuming Tide auto=name(Choose a nonland permanent) target(*[-land]|mybattlefield) transforms((,newability[all(other *[-land]|mybattlefield) moveto(ownerhand)])) oneshot auto=ability$!name(Choose a nonland permanent) name(Choose a nonland permanent) target(*[-land]|mybattlefield) transforms((,newability[all(other *[-land]|mybattlefield) moveto(ownerhand)])) oneshot!$ opponent @@ -19303,7 +19331,7 @@ toughness=2 [/card] [card] name=Corpsejack Menace -auto=@totalcounteradded(1/1) from(creature|battlefield) duplicate(all):ability$!name(Double the counter) donothing!$ controller +auto=@totalcounteradded(1/1) from(creature|myBattlefield) duplicate(all):ability$!name(Double the counter) donothing!$ controller text=If one or more +1/+1 counters would be placed on a creature you control, twice that many +1/+1 counters are placed on it instead. mana={2}{B}{G} type=Creature @@ -19909,7 +19937,7 @@ abilities=trample aicode=activate moveTo(myHand) target(mountain|myLibrary) autohand={2}{cycle}:name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>mountain|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend auto=name(This creature) target(this) counter(1/1,2) -auto=name(Target other creature) target(other creature) transforms((,newability[counter(1/1,2)],newability[trample])) ueot +auto=name(Target other creature) target(other creature) transforms((,newability[counter(1/1.2)],newability[trample])) ueot text=Mountaincycling {2} ({2}, Discard this card: Search your library for a Mountain card, reveal it, put it into your hand, then shuffle.) -- Backup 2 (When this creature enters the battlefield, put two +1/+1 counters on target creature. If that's another creature, it gains the following ability until end of turn.) -- Trample mana={4}{R}{R} type=Creature @@ -20179,7 +20207,8 @@ type=Sorcery [/card] [card] name=Criminal Past -auto=lord(creature[iscommander]|mybattlefield) transforms((,newability[menace],newability[type:creature:mygraveyard/type:creature:mygraveyard nonstatic])) +auto=lord(creature[iscommander]|mybattlefield) menace +auto=lord(creature[iscommander]|mybattlefield) foreach(creature|myGraveyard) 1/0 text=Commander creatures you own have menace and "This creature gets +X/+0, where X is the number of creature cards in your graveyard." (A creature with menace can't be blocked except by two or more creatures.) mana={2}{B} type=Legendary Enchantment @@ -20889,6 +20918,17 @@ power=3 toughness=3 [/card] [card] +name=Curious Altisaur +abilities=reach,vigilance +auto=@combatdamaged(player) from(Dinosaur|myBattlefield):draw:1 +text=Vigilance, reach -- Whenever a Dinosaur you control deals combat damage to a player, draw a card. +mana={3}{G} +type=Creature +subtype=Dinosaur +power=2 +toughness=5 +[/card] +[card] name=Curious Herd target=opponent auto=token(Beast Cur)*type:artifact:opponentBattlefield @@ -24709,6 +24749,17 @@ mana={5}{R}{R} type=Sorcery [/card] [card] +name=Discerning Financier +auto=@each my upkeep restriction{control less lands}:create(Treasure) +auto={2}{W}:moveTo(opponentBattlefield) target(treasure|myBattlefield) && draw:1 controller +text=At the beginning of your upkeep, if an opponent controls more lands than you, create a Treasure token. (It's an artifact with "{T}, Sacrifice this artifact: Add one mana of any color.") -- {2}{W}: Choose another player. That player gains control of target Treasure you control. You draw a card. +mana={2}{W} +type=Creature +subtype=Human Noble +power=2 +toughness=3 +[/card] +[card] name=Discerning Taste aicode=activate target(*[zpos<=4]|mylibrary) moveto(myhand) and!( transforms((,newability[life:power:highest:creature[zpos<=4]:mylibrary controller],newability[all(*[zpos<=4]|mylibrary) moveto(mygraveyard)])) oneshot )! auto=name(Look top 4 cards) reveal:4 optionone name(Get a Card) target(*|reveal) moveto(myhand) and!( life:power:highest:creature:reveal controller )! optiononeend optiontwo name(put in grave) all(*|reveal) moveto(mygraveyard) optiontwoend revealend @@ -27339,6 +27390,17 @@ power=2 toughness=2 [/card] [card] +name=Dusk Legion Sergeant +abilities=menace +auto={1}{B}{S}:all(vampire[-token]|myBattlefield) persist ueot +text=Menace -- {1}{B}, Sacrifice Dusk Legion Sergeant: Each nontoken Vampire creature you control gains persist until end of turn. (When it dies, if it had no -1/-1 counters on it, return it to the battlefield under its owner's control with a -1/-1 counter on it.) +mana={1}{B} +type=Creature +subtype=Vampire Soldier +power=2 +toughness=2 +[/card] +[card] name=Dusk Legion Zealot auto=draw:1 auto=life:-1 @@ -28261,6 +28323,14 @@ mana={3} type=Artifact [/card] [card] +name=Eerie Interference +auto=preventalldamage to(controller) from(creature) ueot +auto=preventalldamage to(creature|myBattlefield) from(creature) ueot +text=Prevent all damage that would be dealt to you and creatures you control this turn by creatures. +mana={2}{W} +type=Instant +[/card] +[card] name=Eerie Soultender auto=deplete:3 autograveyard={4}{B}{E}:other target(creature|mygraveyard) moveto(ownerhand) @@ -28624,19 +28694,31 @@ mana={3} type=Artifact [/card] [card] +name=Elenda's Hierophant +abilities=flying +auto=@lifeof(player) from(*[-lifefaker]|*):counter(1/1) +auto=_DIES__WHITEVAMPIRE_*power +text=Flying -- Whenever you gain life, put a +1/+1 counter on Elenda's Hierophant. -- When Elenda's Hierophant dies, create X 1/1 white Vampire creature tokens with lifelink, where X is its power. +mana={2}{W} +type=Creature +subtype=Vampire Cleric +power=1 +toughness=1 +[/card] +[card] name=Elenda, the Dusk Rose abilities=lifelink auto=@movedTo(other creature|graveyard) from(battlefield):counter(1/1) -auto=@movedTo(myGraveyard) from(this|battlefield):this(power=1) create(Vampire:creature Vampire:1/1:white:lifelink) controller -auto=@movedTo(myGraveyard) from(this|battlefield):this(power=2) create(Vampire:creature Vampire:1/1:white:lifelink)*2 controller -auto=@movedTo(myGraveyard) from(this|battlefield):this(power=3) create(Vampire:creature Vampire:1/1:white:lifelink)*3 controller -auto=@movedTo(myGraveyard) from(this|battlefield):this(power=4) create(Vampire:creature Vampire:1/1:white:lifelink)*4 controller -auto=@movedTo(myGraveyard) from(this|battlefield):this(power=5) create(Vampire:creature Vampire:1/1:white:lifelink)*5 controller -auto=@movedTo(myGraveyard) from(this|battlefield):this(power=6) create(Vampire:creature Vampire:1/1:white:lifelink)*6 controller -auto=@movedTo(myGraveyard) from(this|battlefield):this(power=7) create(Vampire:creature Vampire:1/1:white:lifelink)*7 controller -auto=@movedTo(myGraveyard) from(this|battlefield):this(power=8) create(Vampire:creature Vampire:1/1:white:lifelink)*8 controller -auto=@movedTo(myGraveyard) from(this|battlefield):this(power=9) create(Vampire:creature Vampire:1/1:white:lifelink)*9 controller -auto=@movedTo(myGraveyard) from(this|battlefield):this(power=10) create(Vampire:creature Vampire:1/1:white:lifelink)*10 controller +auto=@movedTo(myGraveyard) from(this|battlefield):this(power=1) _WHITEVAMPIRE_ controller +auto=@movedTo(myGraveyard) from(this|battlefield):this(power=2) _WHITEVAMPIRE_*2 controller +auto=@movedTo(myGraveyard) from(this|battlefield):this(power=3) _WHITEVAMPIRE_*3 controller +auto=@movedTo(myGraveyard) from(this|battlefield):this(power=4) _WHITEVAMPIRE_*4 controller +auto=@movedTo(myGraveyard) from(this|battlefield):this(power=5) _WHITEVAMPIRE_*5 controller +auto=@movedTo(myGraveyard) from(this|battlefield):this(power=6) _WHITEVAMPIRE_*6 controller +auto=@movedTo(myGraveyard) from(this|battlefield):this(power=7) _WHITEVAMPIRE_*7 controller +auto=@movedTo(myGraveyard) from(this|battlefield):this(power=8) _WHITEVAMPIRE_*8 controller +auto=@movedTo(myGraveyard) from(this|battlefield):this(power=9) _WHITEVAMPIRE_*9 controller +auto=@movedTo(myGraveyard) from(this|battlefield):this(power=10) _WHITEVAMPIRE_*10 controller text=Lifelink -- Whenever another creature dies, put a +1/+1 counter on Elenda, the Dusk Rose. -- When Elenda dies, create X 1/1 white Vampire creature tokens with lifelink, where X is Elenda's power. mana={2}{W}{B} type=Legendary Creature @@ -29035,7 +29117,7 @@ name=Elvish Impersonators auto=all(this) transforms((Creature Summon Elves,setpower=1,settoughness=1)) forever auto=all(this) rolld6 6 winability lastrollresultminus1minusend/0 winabilityend loseability lastrollresultminus1minusend/0 loseabilityend rolld6end auto=all(this) rolld6 6 winability 0/lastrollresultminus1minusend winabilityend loseability 0/lastrollresultminus1minusend loseabilityend rolld6end -text=When you play Elvish Impersonators, roll two six-sided dice one after the other. Elvish Impersonators comes into play with power equal to the first die roll and toughness equal to the second. +text=As Elvish Impersonators enters the battlefield, roll a six-sided die twice. Its base power becomes the first result and its base toughness becomes the second result. mana={3}{G} type=Creature subtype=Elves @@ -29646,7 +29728,7 @@ toughness=2 name=Enemy of Enlightenment abilities=flying auto=foreach(*|opponenthand) -1/-1 -auto=@each my upkeep:target(opponent) ability$!name(discard) target(<1>*|myhand) reject !$ targetedplayer +auto=@each my upkeep:name(discard) transforms((,newability[ability$!name(discard) notatarget(*|myhand) reject!$ controller],newability[ability$!name(discard) notatarget(*|myhand) reject!$ opponent])) ueot text=Flying -- Enemy of Enlightenment gets -1/-1 for each card in your opponents' hands. -- At the beginning of your upkeep, each player discards a card. mana={5}{B} type=Enchantment Creature @@ -32897,7 +32979,7 @@ toughness=1 [/card] [card] name=Farid, Enterprising Salvager -auto=@movedto(artifact[-token]|graveyard) from(battlefield):name(Create Scrap) token(Srcap,Artifact Scrap,0/0) +auto=@movedto(artifact[-token]|graveyard) from(myBattlefield):name(Create Scrap) token(Srcap,Artifact Scrap,0/0) auto={1}{R}{S(artifact|myBattlefield)}:name(Put 1/1 counter) counter(1/1) auto={1}{R}{S(artifact|myBattlefield)}:name(Goad creature) _GOAD_ target(creature|battlefield) auto={1}{R}{S(artifact|myBattlefield)}:name(Discard and draw) target(*|myhand) reject and!( draw:1 controller )! @@ -36749,6 +36831,7 @@ toughness=5 name=Furious Bellow target=creature auto=3/0 && _SCRY1_ +auto=first strike text=Target creature gets +3/+0 and gains first strike until end of turn. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={1}{R} type=Instant @@ -39704,7 +39787,7 @@ abilities=menace aicode=activate moveTo(myHand) target(swamp|myLibrary) autohand={2}{cycle}:name(search card) reveal:plibrarycount optionone name(choose card) target(<1>swamp|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveto(myhand))! afterrevealedend revealend auto=name(This creature) target(this) counter(1/1,2) -auto=name(Target other creature) target(other creature) transforms((,newability[counter(1/1,2)],newability[menace])) ueot +auto=name(Target other creature) target(other creature) transforms((,newability[counter(1/1.2)],newability[menace])) ueot text=Swampcycling {2} ({2}, Discard this card: Search your library for a Swamp card, reveal it, put it into your hand, then shuffle.) -- Backup 2 (When this creature enters the battlefield, put two +1/+1 counters on target creature. If that's another creature, it gains the following ability until end of turn.) -- Menace mana={5}{B}{B} type=Creature @@ -44428,7 +44511,7 @@ subtype=Swamp Forest [/card] [card] name=Haunted One -auto=@tapped(*[iscommander]|myBattlefield):name(Gains 2/0 and undying) all(trigger) transforms((,newability[undying],newability[2/0],newability[name(Other creature gains 2/0 and undying) target(other *[creature;share!subtypes!]|myBattlefield) transforms((,newability[2/0],newability[undying])) ueot ])) ueot +auto=@tapped(*[iscommander]|myBattlefield):name(Gains 2/0 and undying) all(trigger) transforms((,newability[undying],newability[2/0],newability[name(Other creatures gains 2/0 and undying) all(other *[creature;share!subtypes!]|myBattlefield) transforms((,newability[2/0],newability[undying])) ueot ])) ueot text=Commander creatures you own have "Whenever this creature becomes tapped, it and other creatures you control that share a creature type with it each get +2/+0 and gain undying until end of turn." (When a creature with undying dies, if it had no +1/+1 counters on it, return it to the battlefield under its owner's control with a +1/+1 counter on it.) mana={2}{B} type=Legendary Enchantment @@ -47784,7 +47867,7 @@ toughness=3 [/card] [card] name=Icon of Ancestry -auto=chooseatype lord(creature[chosentype]) 1/1 chooseend +auto=chooseatype lord(creature[chosentype]|myBattlefield) 1/1 chooseend aicode=activate target(creature[chosentype;zpos<=3]|mylibrary) moveto(myhand) auto={3}{T}:name(look) reveal:3 optionone name(Get Creature) target(creature[chosentype]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<3>*|reveal) bottomoflibrary optiontwoend revealend text=As Icon of Ancestry enters the battlefield, choose a creature type. -- Creatures you control of the chosen type get +1/+1. -- {3}, {T}: Look at the top three cards of your library. You may reveal a creature card of the chosen type from among them and put it into your hand. Put the rest on the bottom of your library in a random order. @@ -48116,6 +48199,19 @@ power=2 toughness=1 [/card] [card] +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) +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 +subtype=Golem +power=2 +toughness=2 +[/card] +[card] name=Ilysian Caryatid auto={T}:if type(creature[power>=4]|myBattlefield)~morethan~0 then name(Add green mana) name(Add green mana) add{G}{G} else add{G} auto={T}:if type(creature[power>=4]|myBattlefield)~morethan~0 then name(Add white mana) name(Add white mana) add{W}{W} else add{W} @@ -56603,7 +56699,7 @@ type=Sorcery [/card] [card] name=Legion's Landing -auto=token(Vampire,creature Vampire,1/1,white,lifelink) +auto=_WHITEVAMPIRE_ auto=@combat(attacking) source(creature) restriction{type(other creature[attacking]|myBattlefield)~morethan~2}:flip(Adanto, the First Fort) text=When Legion's Landing enters the battlefield, create a 1/1 white Vampire creature token with lifelink. -- When you attack with three or more creatures, transform Legion's Landing. mana={W} @@ -58345,6 +58441,18 @@ power=6 toughness=6 [/card] [card] +name=Lord Skitter's Butcher +auto=choice create(rat:creature rat:1/1:black:cantblock) +auto=choice target(other creature|myBattlefield) sacrifice and!( scry:2 scrycore delayed draw:1 controller scrycoreend scryend )! +auto=choice all(other creature|myBattlefield) menace +text=When Lord Skitter's Butcher enters the battlefield, choose one - -- - Create a 1/1 black Rat creature token with "This creature can't block." -- - You may sacrifice another creature. If you do, scry 2, then draw a card. -- - Creatures you control gain menace until end of turn. +mana={2}{B} +type=Creature +subtype=Rat Peasant +power=2 +toughness=3 +[/card] +[card] name=Lord Skitter, Sewer King auto=@movedTo(Rat|myBattlefield):may target(*|opponentgraveyard) moveto(exile) auto=@each my combatbegins:create(rat:creature rat:1/1:black:cantblock) @@ -60105,7 +60213,7 @@ toughness=4 [card] name=Mangara, the Diplomat abilities=lifelink -auto=@combat(attacking) source(creature|opponentBattlefield) if type(creature[attacking]|opponentBattlefield)~morethan~1 turnlimited:draw:1 controller +auto=@combat(attacking) source(creature|opponentBattlefield) if type(creature[attacking]|opponentBattlefield)~morethan~1 then turnlimited:draw:1 controller auto=@movedto(*|opponentStack) restriction{thisturn(*|opponentStack)~equalto~1}:draw:1 controller text=Lifelink -- Whenever an opponent attacks with creatures, if two or more of those creatures are attacking you and/or planeswalkers you control, draw a card. -- Whenever an opponent casts their second spell each turn, draw a card. mana={3}{W} @@ -60692,7 +60800,7 @@ toughness=1 [card] name=Martyr of Dusk abilities=lifelink -auto=_DIES_token(Vampire,creature Vampire,1/1,white,lifelink) +auto=_DIES__WHITEVAMPIRE_ text=When Martyr of Dusk dies, create a 1/1 white Vampire creature token with lifelink. mana={1}{W} type=Creature @@ -61122,7 +61230,7 @@ toughness=3 [/card] [card] name=Mavren Fein, Dusk Apostle -auto=@combat(attacking) source(vampire[-token]|mybattlefield):token(Vampire,creature Vampire,1/1,white,lifelink) +auto=@combat(attacking) source(vampire[-token]|mybattlefield):_WHITEVAMPIRE_ text=Whenever one or more nontoken Vampires you control attack, create a 1/1 white Vampire creature token with lifelink. mana={2}{W} type=Legendary Creature @@ -62656,7 +62764,8 @@ auto=@targeted(this) from(*|opponentzones) restriction{compare(hascntexperience) auto=@targeted(this) from(*|opponentzones) restriction{compare(hascntexperience)~equalto~19}:choice name(This spell costs 19 more) name(This spell costs 19 more) target(*|opponentzones) transforms((,newability[pay[[19]] name(pay 19 mana) donothing?fizzle])) oneshot auto=@targeted(this) from(*|opponentzones) restriction{compare(hascntexperience)~morethan~19}:choice name(This spell costs 20 more) name(This spell costs 20 more) target(*|opponentzones) transforms((,newability[pay[[20]] name(pay 20 mana) donothing?fizzle])) oneshot auto=@each my endofturn restriction{revolt}:name(Put experience counter) counter(0/0,1,Experience) -auto=thisforeach(counter{0/0.1.Experience}) lord(other creature|mybattlefield) 1/0 +auto=@each my endofturn restriction{revolt}:alterexperience:1 +auto=thisforeach(counter{0/0.1.Experience}) lord(other creature|mybattlefield) 1/0 pexperience text=Ward {X}, where X is the number of experience counters you have. -- At the beginning of your end step, if a permanent you controlled left the battlefield this turn, you get an experience counter. -- Creatures you control get +1/+0 for each experience counter you have. mana={2}{W}{B} type=Legendary Creature @@ -62676,7 +62785,7 @@ toughness=1 [/card] [card] name=Miracle Worker -auto={T}:destroy target(aura) +auto={T}:destroy target(aura|myBattlefield) text={T}: Destroy target Aura attached to a creature you control. mana={W} type=Creature @@ -63394,6 +63503,19 @@ mana={U}{U} type=Instant [/card] [card] +name=Mist Dancer +abilities=flying +auto=lord(other merfolk|myBattlefield) 1/0 +auto=lord(other merfolk|myBattlefield) flying +autograveyard={5}{U}{U}:name(Activate Encore) name(Activate Encore) moveto(exile) and!(clone with(treason,haste,mustattack))! asSorcery +text=Flying -- Other Merfolk you control get +1/+0 and have flying. -- Encore {5}{U}{U} ({5}{U}{U}, 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={4}{U} +type=Creature +subtype=Merfolk Wizard +power=3 +toughness=3 +[/card] +[card] name=Mist-Cloaked Herald abilities=unblockable text=Mist-Cloaked Herald can't be blocked. @@ -66831,6 +66953,15 @@ power=3 toughness=1 [/card] [card] +name=Night of the Sweets' Revenge +auto=create(Food) +auto=lord(Food|myBattlefield) {T}:Add{G} +auto={5}{G}{G}{S}:all(creature|myBattlefield) type:Food:mybattlefield/type:Food:mybattlefield asSorcery +text=When Night of the Sweets' Revenge enters the battlefield, create a Food token. (It's an artifact with "{2}, {T}, Sacrifice this artifact: You gain 3 life.") -- Foods you control have "{T}: Add {G}." -- {5}{G}{G}, Sacrifice Night of the Sweets' Revenge: Creatures you control get +X/+X until end of turn, where X is the number of Foods you control. Activate only as a sorcery. +mana={3}{G} +type=Enchantment +[/card] +[card] name=Nighthawk Scavenger abilities=flying,deathtouch,lifelink auto=aslongas(land|opponentGraveyard) 1/0 @@ -66848,17 +66979,6 @@ power=1 toughness=3 [/card] [card] -name=Nightmare Nig -auto=_ATTACKING_ingest:2 opponent -auto=@combat(blocking) source(this):ingest:2 opponent -text=Whenever this creature attacks or blocks, each opponent exiles the top two cards of their library. -type=Creature -subtype=Nightmare -color=blue,black -power=2 -toughness=3 -[/card] -[card] name=Nightmare Shepherd abilities=flying auto=@movedto(mygraveyard) from(other creature[-token]|myBattlefield):may all(trigger) clone and!( transforms((Nigthmare,setpower=1,settoughness=1)) forever )! && moveTo(exile) all(trigger) @@ -69904,6 +70024,18 @@ power=2 toughness=2 [/card] [card] +name=Order of Sacred Dusk +abilities=flying,haste,lifelink,exalted +other={convoke} name(Convoke) +auto=lord(other vampire|myBattlefield) transforms((,newability[@combat(attackedalone) source(creature|mybattlefield):all(trigger) 1/1 ueot])) +text=Convoke (Your creatures can help cast this spell. Each creature you tap while casting this spell pays for {1} or one mana of that creature's color.) -- Flying, lifelink, haste -- Exalted (Whenever a creature you control attacks alone, that creature gets +1/+1 until end of turn.) -- Other Vampires you control have exalted. +mana={6}{W}{B} +type=Creature +subtype=Vampire Knight +power=5 +toughness=5 +[/card] +[card] name=Order of the Alabaster Host auto=@combat(blocked) source(this) from(creature):all(trigger[from]) -1/-1 ueot text=Whenever Order of the Alabaster Host becomes blocked by a creature, that creature gets -1/-1 until end of turn. @@ -70413,12 +70545,12 @@ type=Instant [/card] [card] name=Over the Top -auto=all(*[-instant&-sorcery&zpos<=type:*:mybattlefield]|mylibrary) moveto(mybattlefield) -auto=all(instant[zpos<=type:*:mybattlefield]|mylibrary) moveto(mygraveyard) -auto=all(sorcery[zpos<=type:*:mybattlefield]|mylibrary) moveto(mygraveyard) -auto=all(*[-instant&-sorcery&zpos<=type:*:opponentbattlefield]|opponentlibrary) moveto(opponentbattlefield) -auto=all(instant[zpos<=type:*:opponentbattlefield]|opponentlibrary) moveto(opponentgraveyard) -auto=all(sorcery[zpos<=type:*:opponentbattlefield]|opponentlibrary) moveto(opponentgraveyard) +auto=all(*[-instant&-sorcery&zpos<=type:*[-land]:mybattlefield]|mylibrary) moveto(mybattlefield) +auto=all(instant[zpos<=type:*[-land]:mybattlefield]|mylibrary) moveto(mygraveyard) +auto=all(sorcery[zpos<=type:*[-land]:mybattlefield]|mylibrary) moveto(mygraveyard) +auto=all(*[-instant&-sorcery&zpos<=type:*[-land]:opponentbattlefield]|opponentlibrary) moveto(opponentbattlefield) +auto=all(instant[zpos<=type:*[-land]:opponentbattlefield]|opponentlibrary) moveto(opponentgraveyard) +auto=all(sorcery[zpos<=type:*[-land]:opponentbattlefield]|opponentlibrary) moveto(opponentgraveyard) text=Each player reveals a number of cards from the top of their library equal to the number of nonland permanents they control, puts all permanent cards they revealed this way onto the battlefield, and puts the rest into their graveyard. mana={5}{R}{R} type=Sorcery @@ -70955,7 +71087,7 @@ toughness=7 [/card] [card] name=Paladin of the Bloodstained -auto=token(Vampire,creature Vampire,1/1,white,lifelink) +auto=_WHITEVAMPIRE_ text=When Paladin of the Bloodstained enters the battlefield, create a 1/1 white Vampire creature token with lifelink. mana={3}{W} type=Creature @@ -76105,7 +76237,7 @@ toughness=2 [/card] [card] name=Queen's Commission -auto=token(Vampire,creature Vampire,1/1,white,lifelink)*2 +auto=_WHITEVAMPIRE_*2 text=Create two 1/1 white Vampire creature tokens with lifelink. mana={2}{W} type=Sorcery @@ -77191,6 +77323,17 @@ power=4 toughness=4 [/card] [card] +name=Rampaging Spiketail +auto=target(creature|myBattlefield) transforms((,newability[2/0],newability[indestructible])) ueot +autohand={2}{cycle}:name(search swamp) target(swamp|myLibrary) moveTo(myHand) and!( shuffle )! +text=When Rampaging Spiketail enters the battlefield, target creature you control gets +2/+0 and gains indestructible until end of turn. -- Swampcycling {2} ({2}, Discard this card: Search your library for a Swamp card, reveal it, put it into your hand, then shuffle.) +mana={4}{B}{B} +type=Creature +subtype=Dinosaur +power=5 +toughness=6 +[/card] +[card] name=Rampaging War Mammoth abilities=trample autohand={X}{2}{R}{cycle}:name(Cycling) draw:1 controller && ability$!may name(Destroy artifacts) name(Destroy artifacts) target(artifact|battlefield) destroy!$ controller @@ -77480,6 +77623,13 @@ power=2 toughness=1 [/card] [card] +name=Rat Out +auto=create(rat:creature rat:1/1:black:cantblock) and!(may target(creature) -1/-1 ueot)! +text=Up to one target creature gets -1/-1 until end of turn. You create a 1/1 black Rat creature token with "This creature can't block." +mana={B} +type=Instant +[/card] +[card] name=Ratadrabik of Urborg abilities=vigilance auto=_WARD_(2) @@ -78483,6 +78633,17 @@ mana={U}{U} type=Instant [/card] [card] +name=Redtooth Vanguard +abilities=trample +autograveyard=@movedTo(enchantment|myBattlefield):may pay({2}) moveto(myhand) +text=Trample -- Whenever an enchantment enters the battlefield under your control, you may pay {2}. If you do, return Redtooth Vanguard from your graveyard to your hand. +mana={1}{G} +type=Creature +subtype=Elf Warrior +power=3 +toughness=1 +[/card] +[card] name=Reduce // Rubble abilities=hasaftermath flashback={2}{R} name(Rubble) @@ -82115,6 +82276,19 @@ power=3 toughness=3 [/card] [card] +name=Ruby, Daring Tracker +abilities=haste +auto=@combat(attacking) source(this) restriction{type(creature[power>=4]|myBattlefield)~morethan~0}:2/2 ueot +auto={T}:Add{R} +auto={T}:Add{G} +text=Haste -- Whenever Ruby, Daring Tracker attacks while you control a creature with power 4 or greater, Ruby gets +2/+2 until end of turn. -- {T}: Add {R} or {G}. +mana={R}{G} +type=Legendary Creature +subtype=Human Scout +power=1 +toughness=2 +[/card] +[card] name=Rug of Smothering abilities=flying auto=@movedTo(*|mystack) restriction{thisturn(*[instant;sorcery]|mystack)~equalto~1}:name(Loose 1 life) life:-1 controller @@ -84634,7 +84808,7 @@ type=Instant [card] name=Scarecrow Guide abilities=reach -auto=activatechooseacolor add{chosencolor} activatechooseend limit:1 +auto={1}:activatechooseacolor add{chosencolor} activatechooseend limit:1 text=Reach -- {1}: Add one mana of any color. Activate only once each turn. mana={2} type=Artifact Creature @@ -84868,6 +85042,16 @@ power=3 toughness=3 [/card] [card] +name=Scion of Calamity +auto=@combatdamaged(player) from(this):destroy target(*[artifact;enchantment]|opponentbattlefield) +text=Myriad (Whenever this creature attacks, for each opponent other than defending player, you may create a token that's a copy of this creature that's tapped and attacking that player or a planeswalker they control. Exile the tokens at end of combat.) -- Whenever Scion of Calamity deals combat damage to a player, destroy target artifact or enchantment that player controls. +mana={3}{G}{G} +type=Creature +subtype=Dinosaur +power=5 +toughness=5 +[/card] +[card] name=Scion of Draco abilities=flying,affinitytwobasiclandtypes auto=lord(creature[white]|myBattlefield) vigilance @@ -84885,7 +85069,7 @@ toughness=4 [card] name=Scion of Halaster aicode=activate transforms((,newability[target(*[zpos<=2]|mylibrary) moveto(myhand) and!( all(*[zpos<=2]|mylibrary) moveto(myreveal) and!( moveto(mygraveyard) )! )!])) oneshot -auto=this(variable{pdrewcount}=0) lord(creature[iscommander]|mybattlefield) transforms((,newability[replacedraw reveal:2 optionone name(Put into graveyard) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo name(Put back on top) all(*|reveal) moveto(mylibrary) optiontwoend afterrevealed draw:1 controller afterrevealedend revealend])) +auto=this(variable{pdrewcount}=0) lord(creature[iscommander]|mybattlefield) transforms((,newability[replacedraw reveal:2 optionone name(Put into graveyard) target(*|reveal) moveto(mygraveyard) optiononeend optiontwo name(Put back on top) all(*|reveal) moveto(mylibrary) optiontwoend afterrevealed transforms((,newability[draw:1 noreplace])) oneshot afterrevealedend revealend])) text=Commander creatures you own have "The first time you would draw a card each turn, instead look at the top two cards of your library. Put one of them into your graveyard and the other back on top of your library. Then draw a card." mana={1}{B} type=Legendary Enchantment @@ -87335,8 +87519,7 @@ type=Instant name=Shark Typhoon abilities=cycling auto=@movedto(*[-creature]|mystack):all(trigger[to]) transforms((,newability[create(Shark:Creature Shark:manacost/manacost:blue:flying)])) oneshot -autohand=__CYCLING__({X}{1}{U}) -autohand=@cycled(this|hand):create(Shark:Creature Shark:X/X:blue:flying) +autohand={X}{1}{U}{cycle}:create(Shark:Creature Shark:X/X:blue:flying) && draw:1 controller text=Whenever you cast a noncreature spell, create an X/X blue Shark creature token with flying, where X is that spell's mana value. -- Cycling {X}{1}{U} ({X}{1}{U}, Discard this card: Draw a card.) -- When you cycle Shark Typhoon, create an X/X blue Shark creature token with flying. mana={5}{U} type=Enchantment @@ -88010,7 +88193,7 @@ type=Land [/card] [card] name=Shirei, Shizo's Caretaker -auto=@movedTo(creature[power<=1]|mygraveyard) from(battlefield):phaseaction[endofturn once] aslongas(Shirei, Shizo's Caretaker|mybattlefield) may moveto(mybattlefield) target(creature[power<=1]|mygraveyard) +auto=@movedTo(mygraveyard) from(creature[power<=1]|battlefield):all(trigger[to]) transforms((,newability[@my next endofturn:may moveTo(mybattlefield)])) forever text=Whenever a creature with power 1 or less is put into your graveyard from the battlefield, you may return that card to the battlefield under your control at the beginning of the next end step if Shirei, Shizo's Caretaker is still on the battlefield. mana={4}{B} type=Legendary Creature @@ -93451,7 +93634,7 @@ type=Instant name=Spite // Malice other={3}{B} name(Malice) auto=if paid(alternative) then bury target(creature[-black]) -auto=ifnot paid(alternative) then fizzle target(*[-creature]) +auto=ifnot paid(alternative) then fizzle target(*[-creature]|stack) text=Counter target noncreature spell. // Destroy target nonblack creature. It can't be regenerated. mana={3}{U} type=Instant @@ -94069,7 +94252,7 @@ name=Squire's Devotion target=creature auto=1/1 auto=lifelink -auto=token(Vampire,creature Vampire,1/1,white,lifelink) +auto=_WHITEVAMPIRE_ text=Enchant creature -- Enchanted creature gets +1/+1 and has lifelink. -- When Squire's Devotion enters the battlefield, create a 1/1 white Vampire creature token with lifelink. mana={2}{W} type=Enchantment @@ -94962,6 +95145,16 @@ power=1 toughness=1 [/card] [card] +name=Stockpiling Celebrant +auto=may name(Return nonland) target(other *[-land]|myBattlefield) moveto(ownerhand) and!( _SCRY2_ )! +text=When Stockpiling Celebrant enters the battlefield, you may return another target nonland permanent you control to its owner's hand. If you do, scry 2. +mana={2}{W} +type=Creature +subtype=Dwarf Knight +power=3 +toughness=2 +[/card] +[card] name=Stoic Angel abilities=flying,vigilance auto=all(creature|mybattlefield) doesnotuntap @@ -95562,6 +95755,18 @@ power=2 toughness=2 [/card] [card] +name=Storyteller Pixie +abilities=flying +auto=@movedTo(instant[adventure]|mystack):draw:1 +auto=@movedTo(sorcery[adventure]|mystack):draw:1 +text=Flying -- Whenever you cast an Adventure spell, draw a card. +mana={3}{U} +type=Creature +subtype=Faerie Wizard +power=3 +toughness=3 +[/card] +[card] name=Storyweave auto=if type(creature|mybattlefield)~morethan~0 then choice name(Put 1/1 counters) name(Put 1/1 counters) target(creature|mybattlefield) counter(1/1,2) auto=if type(enchantment[saga]|mybattlefield)~morethan~0 then choice name(Put lore counters) name(Put lore counters) emblem transforms((,newability[@movedto(creature[enchantment]|mybattlefield):name(Put 1/1 counters) all(trigger[to]) counter(1/1.2)],newability[name(Put lore counters) name(Put lore counters) target(enchantment[saga]|mybattlefield) counter(0/0.2.Lore)])) ueot @@ -96292,7 +96497,7 @@ toughness=2 [card] name=Sun-Crested Pterodon abilities=flying -auto=aslongas(dinosaur|myBattlefield) vigilance +auto=aslongas(other dinosaur|myBattlefield) vigilance text=Flying -- Sun-Crested Pterodon has vigilance as long as you control another Dinosaur. mana={4}{W} type=Creature @@ -97712,6 +97917,21 @@ power=2 toughness=2 [/card] [card] +name=Syr Ginger, the Meal Ender +auto=aslongas(planeswalker|opponentbattlefield) trample +auto=aslongas(planeswalker|opponentbattlefield) hexproof +auto=aslongas(planeswalker|opponentbattlefield) haste +auto=@movedto(other artifact|graveyard) from(mybattlefield):_SCRY1_ +auto=@movedto(other artifact|graveyard) from(mybattlefield):counter(1/1) +auto={2}{T}{S}:life:power +text=Syr Ginger, the Meal Ender has trample, hexproof, and haste as long as an opponent controls a planeswalker. -- Whenever another artifact you control is put into a graveyard from the battlefield, put a +1/+1 counter on Syr Ginger and scry 1. -- {2}, {T}, Sacrifice Syr Ginger: You gain life equal to its power. +mana={2} +type=Legendary Artifact Creature +subtype=Food Knight +power=3 +toughness=1 +[/card] +[card] name=Syr Gwyn, Hero of Ashvale abilities=vigilance,menace auto=@combat(attacking) source(creature[geared]|mybattlefield):draw:1 && life:-1 controller @@ -100817,8 +101037,8 @@ type=Legendary Artifact name=The Scarab God aicode=activate transforms((,newability[all(*[zpos<=type:zombie:mybattlefield]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto={2}{U}{B}:target(creature|graveyard) clone and!( transforms((Zombie,setpower=4,settoughness=4,black)) forever )! && moveTo(exile) -auto=@each my upkeep:name(Opponent looses life) foreach(zombie|mybattlefield) life:-1 opponent -auto=@each my upkeep:name(Scry cards) scry:type:zombie:mybattlefield scrycore delayed scrycoreend scryend +auto=@each my upkeep:scry:type:zombie:mybattlefield scrycore delayed dontshow donothing scrycoreend scryend +auto=@each my upkeep:foreach(zombie|mybattlefield) life:-1 opponent auto=_DIES_phaseaction[endofturn once] moveTo(ownerhand) ueot text=At the beginning of your upkeep, each opponent loses X life and you scry X, where X is the number of Zombies you control. -- {2}{U}{B}: Exile target creature card from a graveyard. Create a token that's a copy of it, except it's a 4/4 black Zombie. -- When The Scarab God dies, return it to its owner's hand at the beginning of the next end step. mana={3}{U}{B} @@ -101381,6 +101601,26 @@ power=2 toughness=2 [/card] [card] +name=Thousand Moons Crackshot +auto=_ATTACKING_pay({2}{W}) tap target(creature) +text=Whenever Thousand Moons Crackshot attacks, you may pay {2}{W}. When you do, tap target creature. +mana={1}{W} +type=Creature +subtype=Human Soldier +power=2 +toughness=2 +[/card] +[card] +name=Thousand Moons Infantry +auto=@each opponent upkeep:untap +text=Untap Thousand Moons Infantry during each other player's untap step. +mana={2}{W} +type=Creature +subtype=Human Soldier +power=2 +toughness=4 +[/card] +[card] name=Thousand-Faced Shadow abilities=flying autohand={2}{U}{U}{N}:transforms((,newability[ninjutsu],newability[name(Copy attacking creature) name(Copy attacking creature) target(other creature[attacking]|mybattlefield) clone with(battleready)])) forever @@ -101454,7 +101694,7 @@ abilities=reach aicode=activate transforms((,newability[if type(artifact[zpos<=4]|myLibrary)~morethan~0 then target(artifact[zpos<=4]|myLibrary) moveTo(myHand) and!( all(other *[zpos<=4]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )! else all(*[zpos<=4]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! ])) oneshot auto={7}:name(Look top 4 cards) reveal:4 optionone name(Get an artifact) target(artifact|reveal) moveto(myhand) optiononeend optiontwo name(Put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend auto=name(Create powerstone) token(Powerstone) and!( tap(noevent) )! -auto=ability$!name(Create powerstone) token(Powerstone) and!( tap(noevent) )! !$ opponent +auto=ability$!name(Create powerstone) token(Powerstone) and!( tap(noevent) )! opponent !$ text=Reach -- When Thran Spider enters the battlefield, you and target opponent each create a tapped Powerstone token. -- {7}: Look at the top four cards of your library. You may reveal an artifact card from among them and put it into your hand. Put the rest on the bottom of your library in a random order. mana={3} type=Artifact Creature @@ -102402,6 +102642,14 @@ power=0 toughness=3 [/card] [card] +name=Tinker's Tote +auto=create(gnome artifact:creature gnome artifact:1/1:colorless:)*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} +type=Artifact +[/card] +[card] name=Tinybones, Trinket Thief auto=@discarded(*|opponenthand):draw:1 controller && life:-1 controller limit:1 auto={4}{B}{B}:if type(*|opponenthand)~lessthan~1 then life:-10 opponent @@ -102647,6 +102895,17 @@ power=4 toughness=5 [/card] [card] +name=Tithing Blade +backside=Consuming Sepulcher +restriction=compare(isflipped)~equalto~0 +anyzone={0}:doubleside(backside) +auto=ability$! sacrifice notatarget(creature|mybattlefield) !$ opponent +auto={4}{B}{E}{E(creature|myBattlefield,myGraveyard)}:flip(backside) forcetype(Artifact) +text=When Tithing Blade enters the battlefield, each opponent sacrifices a creature. -- Craft with creature {4}{B} ({4}{B}, Exile this artifact, Exile a creature you control or a creature card from your graveyard: Return this card transformed under its owner's control. Craft only as a sorcery.) +mana={1}{B} +type=Artifact +[/card] +[card] name=Tivash, Gloom Summoner abilities=lifelink auto=@each my end restriction{compare(lifegain)~morethan~0}:pay({L:lifegain}) name(Pay life and create demon) token(Demon,Creature Demon,lifegain/lifegain,black,flying) @@ -103371,6 +103630,18 @@ mana={2}{W} type=Enchantment [/card] [card] +name=Tough Cookie +auto=create(Food) +auto={2}{G}:target(artifact[-creature]|myBattlefield) transforms((Artifact Creature,setpower=4,settoughness=4)) ueot +auto={2}{T}{S}:life:3 +text=When Tough Cookie enters the battlefield, create a Food token. (It's an artifact with "{2}, {T}, Sacrifice this artifact: You gain 3 life.") -- {2}{G}: Target noncreature artifact you control becomes a 4/4 artifact creature until end of turn. -- {2}, {T}, Sacrifice Tough Cookie: You gain 3 life. +mana={1}{G} +type=Artifact Creature +subtype=Food Golem +power=2 +toughness=2 +[/card] +[card] name=Tourach's Canticle auto=name(Discard a card) target(*|opponenthand) transforms((,newability[reject],newability[discard:1 controller])) forever text=Target opponent reveals their hand. You choose a card from it. That player discards that card, then discards a card at random. @@ -104155,6 +104426,18 @@ mana={2}{R} type=Enchantment [/card] [card] +name=Tributary Instructor +auto=mentor +auto=_ATTACKING_ name(Choose attacking creature) transforms((,newability[target(other creature[attacking;power<=pminus1minusend]|myBattlefield) counter(1/1)])) oneshot +auto=@movedto(creature[counter{1/1}]|graveyard) from(mybattlefield):name(Draw card) draw:1 +text=Mentor (Whenever this creature attacks, put a +1/+1 counter on target attacking creature with lesser power.) -- Whenever a creature you control with a +1/+1 counter on it dies, draw a card. +mana={3}{G} +type=Creature +subtype=Merfolk Shaman +power=4 +toughness=4 +[/card] +[card] name=Tribute Mage aicode=activate target(artifact[manacost=2]|mylibrary) moveto(myhand) auto=Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(<1>artifact[manacost=2]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend @@ -105126,6 +105409,17 @@ mana={4} type=Artifact [/card] [card] +name=Uchbenbak, the Great Mistake +abilities=menace,vigilance +autograveyard={4}{U}{B} restriction{type(*[-instant;-sorcery]|myGraveyard)~morethan~7}:moveto(mybattlefield) and!( transforms((,newability[counter(0/0.1.finality)],newability[this(counter{0/0.1.finality}>=1) exiledeath]))) forever asSorcery +text=Vigilance, menace -- Descend 8 - {4}{U}{B}: Return Uchbenbak, the Great Mistake from your graveyard to the battlefield with a finality counter on it. Activate only if there are eight or more permanent cards in your graveyard and only as a sorcery. (If a creature with a finality counter on it would die, exile it instead.) +mana={3}{U}{B} +type=Legendary Creature +subtype=Skeleton Horror +power=6 +toughness=4 +[/card] +[card] name=Uchuulon anyzone=type:*[Crab;Ooze;Horror]:mybattlefield/4 cdaactive auto=@each my endofturn:may name(Horrific Symbiosis) moveto(opponentexile) target(creature|opponentgraveyard) && all(this) clone @@ -108173,7 +108467,7 @@ type=Sorcery [/card] [card] name=Victory Chimes -auto=@each upkeep:untap +auto=@each opponent upkeep:untap auto={T}:target(player) add{c} text=Untap Victory Chimes during each other player's untap step. -- {T}: A player of your choice adds {C}. mana={3} @@ -108658,26 +108952,26 @@ type=Sorcery [card] name=Vitality Hunter abilities=lifelink -auto=this(cantargetcard(*[-monstrous]) {1}{W}{W}:name(X=1) all(this) becomes(monstrous) forever && target(<1>creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever -auto=this(cantargetcard(*[-monstrous]) {2}{W}{W}:name(X=2) all(this) becomes(monstrous) forever && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever -auto=this(cantargetcard(*[-monstrous]) {3}{W}{W}:name(X=3) all(this) becomes(monstrous) forever && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever -auto=this(cantargetcard(*[-monstrous]) {4}{W}{W}:name(X=4) all(this) becomes(monstrous) forever && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever -auto=this(cantargetcard(*[-monstrous]) {5}{W}{W}:name(X=5) all(this) becomes(monstrous) forever && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever -auto=this(cantargetcard(*[-monstrous]) {6}{W}{W}:name(X=6) all(this) becomes(monstrous) forever && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever -auto=this(cantargetcard(*[-monstrous]) {7}{W}{W}:name(X=7) all(this) becomes(monstrous) forever && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever -auto=this(cantargetcard(*[-monstrous]) {8}{W}{W}:name(X=8) all(this) becomes(monstrous) forever && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever -auto=this(cantargetcard(*[-monstrous]) {9}{W}{W}:name(X=9) all(this) becomes(monstrous) forever && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever -auto=this(cantargetcard(*[-monstrous]) {10}{W}{W}:name(X=10) all(this) becomes(monstrous) forever && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever -auto=this(cantargetcard(*[-monstrous]) {11}{W}{W}:name(X=11) all(this) becomes(monstrous) forever && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever -auto=this(cantargetcard(*[-monstrous]) {12}{W}{W}:name(X=12) all(this) becomes(monstrous) forever && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever -auto=this(cantargetcard(*[-monstrous]) {13}{W}{W}:name(X=13) all(this) becomes(monstrous) forever && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever -auto=this(cantargetcard(*[-monstrous]) {14}{W}{W}:name(X=14) all(this) becomes(monstrous) forever && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever -auto=this(cantargetcard(*[-monstrous]) {15}{W}{W}:name(X=15) all(this) becomes(monstrous) forever && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever -auto=this(cantargetcard(*[-monstrous]) {16}{W}{W}:name(X=16) all(this) becomes(monstrous) forever && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever -auto=this(cantargetcard(*[-monstrous]) {17}{W}{W}:name(X=17) all(this) becomes(monstrous) forever && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever -auto=this(cantargetcard(*[-monstrous]) {18}{W}{W}:name(X=18) all(this) becomes(monstrous) forever && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever -auto=this(cantargetcard(*[-monstrous]) {19}{W}{W}:name(X=19) all(this) becomes(monstrous) forever && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever -auto=this(cantargetcard(*[-monstrous]) {20}{W}{W}:name(X=20) all(this) becomes(monstrous) forever && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever +auto=this(cantargetcard(*[-monstrous]) {1}{W}{W}:name(X=1) all(this) becomes(monstrous) forever && counter(1/1,1) && target(<1>creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever +auto=this(cantargetcard(*[-monstrous]) {2}{W}{W}:name(X=2) all(this) becomes(monstrous) forever && counter(1/1,2) && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever +auto=this(cantargetcard(*[-monstrous]) {3}{W}{W}:name(X=3) all(this) becomes(monstrous) forever && counter(1/1,3) && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever +auto=this(cantargetcard(*[-monstrous]) {4}{W}{W}:name(X=4) all(this) becomes(monstrous) forever && counter(1/1,4) && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever +auto=this(cantargetcard(*[-monstrous]) {5}{W}{W}:name(X=5) all(this) becomes(monstrous) forever && counter(1/1,5) && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever +auto=this(cantargetcard(*[-monstrous]) {6}{W}{W}:name(X=6) all(this) becomes(monstrous) forever && counter(1/1,6) && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever +auto=this(cantargetcard(*[-monstrous]) {7}{W}{W}:name(X=7) all(this) becomes(monstrous) forever && counter(1/1,7) && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever +auto=this(cantargetcard(*[-monstrous]) {8}{W}{W}:name(X=8) all(this) becomes(monstrous) forever && counter(1/1,8) && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever +auto=this(cantargetcard(*[-monstrous]) {9}{W}{W}:name(X=9) all(this) becomes(monstrous) forever && counter(1/1,9) && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever +auto=this(cantargetcard(*[-monstrous]) {10}{W}{W}:name(X=10) all(this) becomes(monstrous) forever && counter(1/1,10) && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever +auto=this(cantargetcard(*[-monstrous]) {11}{W}{W}:name(X=11) all(this) becomes(monstrous) forever && counter(1/1,11) && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever +auto=this(cantargetcard(*[-monstrous]) {12}{W}{W}:name(X=12) all(this) becomes(monstrous) forever && counter(1/1,12) && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever +auto=this(cantargetcard(*[-monstrous]) {13}{W}{W}:name(X=13) all(this) becomes(monstrous) forever && counter(1/1,13) && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever +auto=this(cantargetcard(*[-monstrous]) {14}{W}{W}:name(X=14) all(this) becomes(monstrous) forever && counter(1/1,14) && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever +auto=this(cantargetcard(*[-monstrous]) {15}{W}{W}:name(X=15) all(this) becomes(monstrous) forever && counter(1/1,15) && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever +auto=this(cantargetcard(*[-monstrous]) {16}{W}{W}:name(X=16) all(this) becomes(monstrous) forever && counter(1/1,16) && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever +auto=this(cantargetcard(*[-monstrous]) {17}{W}{W}:name(X=17) all(this) becomes(monstrous) forever && counter(1/1,17) && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever +auto=this(cantargetcard(*[-monstrous]) {18}{W}{W}:name(X=18) all(this) becomes(monstrous) forever && counter(1/1,18) && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever +auto=this(cantargetcard(*[-monstrous]) {19}{W}{W}:name(X=19) all(this) becomes(monstrous) forever && counter(1/1,19) && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever +auto=this(cantargetcard(*[-monstrous]) {20}{W}{W}:name(X=20) all(this) becomes(monstrous) forever && counter(1/1,20) && target(creature|Battlefield) transforms((,newability[counter(0/0.1.Lifelink)],newability[this(counter{0/0.1.Lifelink}>=1) lifelink])) forever text=Lifelink -- {X}{W}{W}: Monstrosity X. (If this creature isn't monstrous, put X +1/+1 counters on it and it becomes monstrous.) -- When Vitality Hunter becomes monstrous, put a lifelink counter on each of up to X target creatures. mana={3}{W} type=Creature @@ -109187,7 +109481,7 @@ toughness=1 name=Voldaren Thrillseeker auto={1}{S}:name(Deal damage) target(anytarget) damage:p auto=name(This creature) target(this) counter(1/1,2) -auto=name(Target other creature) target(other creature) transforms((,newability[counter(1/1,2)],newability[{1}{S}:name(Deal damage) target(anytarget) damage:p])) ueot +auto=name(Target other creature) target(other creature) transforms((,newability[counter(1/1.2)],newability[{1}{S}:name(Deal damage) target(anytarget) damage:p])) ueot text=Backup 2 (When this creature enters the battlefield, put two +1/+1 counters on target creature. If that's another creature, it gains the following ability until end of turn.) -- {1}, Sacrifice this creature: It deals damage equal to its power to any target. mana={2}{R} type=Creature @@ -110403,7 +110697,7 @@ toughness=2 [/card] [card] name=Watchers of the Dead -auto=ability$!target(*|mygraveyard) (blink) && moveto(exile) all(*|mygraveyard)!$ opponent +auto={E}:ability$!target(*|mygraveyard) (blink) && moveto(exile) all(*|mygraveyard)!$ opponent text=Exile Watchers of the Dead: Each opponent chooses two cards in his or her graveyard and exiles the rest. mana={2} type=Artifact Creature @@ -110513,6 +110807,13 @@ power=2 toughness=2 [/card] [card] +name=Wave Goodbye +auto=all(creature[-counter{1/1}]) moveto(ownerhand) +text=Return each creature without a +1/+1 counter on it to its owner's hand. +mana={2}{U}{U} +type=Sorcery +[/card] +[card] name=Wave of Vitriol auto=all(artifact|battlefield) sacrifice auto=all(enchantment|battlefield) sacrifice @@ -112848,6 +113149,18 @@ power=2 toughness=2 [/card] [card] +name=Xolatoyac, the Smiling Flood +auto=target(land) transforms((,newability[counter(0/0.1.Flood)],newability[this(counter{0/0.1.Flood}>=1)while becomes(Island)])) forever +auto=_ATTACKING_ target(land) transforms((,newability[counter(0/0.1.Flood)],newability[this(counter{0/0.1.Flood}>=1)while becomes(Island)])) forever +auto=@each my endofturn:untap all(*[counter{any}]|myBattlefield) +text=Whenever Xolatoyac, the Smiling Flood enters the battlefield or attacks, put a flood counter on target land. That land is an Island in addition to its other types for as long as it has a flood counter on it. -- At the beginning of your end step, untap each permanent you control with a counter on it. +mana={4}{G}{U} +type=Legendary Creature +subtype=Salamander Serpent +power=6 +toughness=6 +[/card] +[card] name=Xorn auto=@tokencreated(treasure|myBattlefield):token(Treasure,notrigger) text=If you would create one or more Treasure tokens, instead create those tokens plus an additional Treasure token. @@ -113659,6 +113972,7 @@ subtype=Equipment [card] name=Zephyr Gull abilities=flying +text=Flying mana={U} type=Creature subtype=Bird diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index f588054f0..54d5fcb12 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -67275,7 +67275,7 @@ name=Lightning Javelin target=anytarget auto=damage:3 aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot -auto=_SCRY1_ +auto=_SCRY1_ controller text=Lightning Javelin deals 3 damage to target creature or player. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) mana={3}{R} type=Sorcery @@ -75715,7 +75715,7 @@ subtype=Aura [card] name=Moldgraf Monstrosity abilities=trample -auto=_DIES_moveto(exile) && moverandom(creature) from(mygraveyard) to(myhand) && moverandom(creature) from(mygraveyard) to(myhand) +auto=_DIES_moveto(exile) && moverandom(creature) from(mygraveyard) to(myBattlefield) && moverandom(creature) from(mygraveyard) to(myBattlefield) text=Trample -- When Moldgraf Monstrosity dies, exile it, then return two creature cards at random from your graveyard to the battlefield. mana={4}{G}{G}{G} type=Creature @@ -82935,7 +82935,7 @@ toughness=3 [/card] [card] name=Orcish Captain -auto={1}:flipacoin winability 2/0 winabilityend loseability 0/-2 loseabilityend flipend +auto={1}:flipacoin winability 2/0 ueot winabilityend loseability 0/-2 ueot loseabilityend flipend text={1}: Flip a coin. If you win the flip, target Orc creature gets +2/+0 until end of turn. If you lose the flip, it gets -0/-2 until end of turn. mana={R} type=Creature diff --git a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt index 2aa576ec6..68f08c965 100644 --- a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt +++ b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt @@ -310,9 +310,9 @@ subtype=Ashiok [card] name=Ashiok, Nightmare Muse auto=counter(0/0,5,loyalty) -auto={C(0/0,1,Loyalty)}:name(+1: Create a Blue black nightmare) token(Nightmare Nig) -auto={C(0/0,-3,Loyalty)}:name(-3: Return target nonland and exiles) moveTo(ownerhand) target(*[-land]) && moveTo(exile) NotATarget(*|opponenthand) -auto={C(0/0,-7,Loyalty)}:name(-7: Cast up to three cards from exile) castcard(normal) target(*|opponentExile) && castcard(normal) target(*|opponentExile) && castcard(normal) target(*|opponentExile) +auto={C(0/0,1,Loyalty)}:name(+1: Create a Blue black nightmare) create(Nightmare:Nightmare creature:2/3:blue:black) and!( transforms((,newability[@combat(attacking) source(this):ingest:2 opponent],newability[@combat(blocking) source(this):ingest:2 opponent])) forever )! +auto={C(0/0,-3,Loyalty)}:name(-3: Return target nonland and exiles) moveTo(ownerhand) target(*[-land]) && ability$! moveto(exile) notATarget(*|myhand)!$ targetcontroller +auto={C(0/0,-7,Loyalty)}:name(-7: Cast up to three cards from exile) castcard(normal) target(*|opponentExile) text=+1: Create a 2/3 blue and black Nightmare creature token with "Whenever this creature attacks or blocks, each opponent exiles the top two cards of their library." -- -3: Return target nonland permanent to its owner's hand, then that player exiles a card from their hand. -- -7: You may cast up to three face-up cards your opponents own from exile without paying their mana costs. mana={3}{U}{B} type=Legendary Planeswalker @@ -2071,7 +2071,7 @@ name=Liliana, Untouched by Death auto=counter(0/0,4,loyalty) auto={C(0/0,1,Loyalty)}:name(+1: Put the top three cards of your library...) ability$!name(Damage opponent) if type(zombie[zpos<=3]|myLibrary)~morethan~0 then life:-2 opponent!$ controller && ability$!name(Gain life) if type(zombie[zpos<=3]|myLibrary)~morethan~0 then life:2 controller!$ controller && ability$!name(Put in graveyard) deplete:3 controller!$ controller auto={C(0/0,-2,Loyalty)}:name(-2: Target creature gets -X/-X until end...) target(creature) foreach(zombie) -1/-1 -auto={C(0/0,-3,Loyalty)}:name(-3: Yoy may cast Zombie cards...) all(creature[zombie]|myGraveyard) CanPlayFromGraveyard +auto={C(0/0,-3,Loyalty)}:name(-3: You may cast Zombie cards...) all(creature[zombie]|myGraveyard) CanPlayFromGraveyard text=+1: Put the top three cards of your library into your graveyard. If at least one of them is a Zombie card, each opponent loses 2 life and you gain 2 life. -- -2: Target creature gets -X/-X until end of turn, where X is the number of Zombies you control. -- -3: You may cast Zombie cards from your graveyard this turn. mana={2}{B}{B} type=Legendary Planeswalker