From 605e22b0675732491ab9cac10b8b34c41c2dad75 Mon Sep 17 00:00:00 2001 From: Eduardo MG Date: Sun, 9 Oct 2022 12:48:38 -0500 Subject: [PATCH] Bug fixes in primitives, including cards that require an additional discard to be cast As an additional cost to cast this spell, discard a card needed {D(other *|myhand)} restriction. Ormos, Archive Keeper eyekite Inevitable End sinous striker Workshop Elders dressed to kill Vilis, Broker of Blood pack leader inspiring commander surley badgersaur Shoal Kraken semester's end timmy, power gamer thrill of posibility scourge of the throne Lord of the Forsaken Skyclave Shade Smoke Losheel, Clockwork Schola Midvast Protector Foe-Razer Regent --- .../bin/Res/sets/primitives/borderline.txt | 54 +++++++++---------- projects/mtg/bin/Res/sets/primitives/mtg.txt | 6 +-- .../bin/Res/sets/primitives/planeswalkers.txt | 2 +- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index 1256fb9a7..9778cea77 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -23869,7 +23869,7 @@ toughness=3 [card] name=Eyekite abilities=flying -auto=restriction{compare(pdrewcount)~morethan~1} 2/0 ueot +auto=this(variable{pdrewcount}>1) 2/0 ueot text=Flying -- Eyekite gets +2/+0 as long as you've drawn two or more cards this turn. mana={1}{U} type=Creature @@ -26630,7 +26630,7 @@ type=Artifact [card] name=Foe-Razer Regent abilities=flying -auto=@movedTo(this|mybattlefield) from(myHand):all(trigger[to]) transforms((,newability[choice name(Fight target creature you don't control) dynamicability target(creature|opponentBattlefield)])) forever +auto=may target(creature|opponentbattlefield) dynamicability auto=@lord(creature|mybattlefield) dynamicability target(creature|opponentBattlefield):all(trigger[to]) endofturn:counter(1/1,2) text=Flying -- When Foe-Razer Regent enters the battlefield, you may have it fight target creature you don't control. -- Whenever a creature you control fights, put two +1/+1 counters on it at the beginning of the next end step. mana={5}{G}{G} @@ -30723,7 +30723,7 @@ toughness=2 [/card] [card] name=Gor Muldrak, Amphinologist -auto=protection from(salamanders) +auto=lord(*|mybattlefield) protection from(salamander) auto=preventalldamage to(controller) from(creature[salamander]) auto=@each my endofturn restriction{type(creature|opponentbattlefield)~morethan~type(creature|mybattlefield)}:token(Salamander Warrior,Creature Warrior Salamander,4/3,blue) auto=@each my endofturn restriction{type(creature|opponentbattlefield)~lessthan~type(creature|mybattlefield)}:token(Salamander Warrior,Creature Warrior Salamander,4/3,blue) opponent @@ -36670,7 +36670,7 @@ type=Sorcery [card] name=Inevitable End target=creature -auto=teach(creature) upcost sacrifice +auto=teach(creature) @each controller upkeep:upcost[{S(creature|myBattlefield)}] sacrifice text=Enchant creature -- Enchanted creature has "At the beginning of your upkeep, sacrifice a creature." mana={2}{B} type=Enchantment @@ -37307,7 +37307,7 @@ toughness=2 [/card] [card] name=Inspiring Commander -auto=@movedto(other creature[power<2]|mybattlefield):all(trigger[to]) life:1 controller && draw:1 controller +auto=@movedto(other creature[power<=2]|mybattlefield):all(trigger[to]) life:1 controller && draw:1 controller text=Whenever another creature with power 2 or less enters the battlefield under your control, you gain 1 life and draw a card. mana={4}{W}{W} type=Creature @@ -42129,7 +42129,7 @@ name=Lesser Masticore abilities=persist auto={4}:damage:1 target(creature) text=As an additional cost to cast this spell, discard a card. {4}: Lesser Masticore deals 1 damage to target creature. -- Persist (When this creature 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}{D(*|myhand)} +mana={2}{D(other *|myhand)} type=Artifact Creature subtype=Masticore power=2 @@ -43310,7 +43310,7 @@ toughness=3 [card] name=Lord of the Forsaken abilities=flying,trample -auto={B}{S(other creature|mybattlefield)}:name(Opponent mills 3 cards) deplete:3 opponent +auto={B}{S(other creature|mybattlefield)}:name(Opponent mills 3 cards) deplete:3 target(player) auto=aslongas(*[hasflashback]|mygraveyard) {L:1}:name(Add 1 mana) add{C} auto=aslongas(*[-hasflashback;canplayfromgraveyard]|mygraveyard) {L:1}:name(Add 1 mana) add{C} text=Flying, trample -- {B}, Sacrifice another creature: Target player mills three cards. -- Pay 1 life: Add {C}. Spend this mana only to cast a spell from your graveyard. @@ -43434,7 +43434,7 @@ type=Instant [card] name=Losheel, Clockwork Scholar auto=preventAllCombatDamage to(artifact[attacking]|myBattlefield) -auto=@movedto(artifact[creature]|myBattlefield) restriction{type(artifact[fresh;creature]|mybattlefield)~equalto~1}:draw:1 controller +auto=@movedto(artifact[creature]|myBattlefield) turnlimited:draw:1 text=Prevent all combat damage that would be dealt to attacking artifact creatures you control. -- Whenever one or more artifact creatures enter the battlefield under your control, draw a card. This ability triggers only once each turn. mana={2}{W} type=Legendary Creature @@ -44899,7 +44899,7 @@ type=Enchantment [card] name=Mardu Outrider text=As an additional cost to cast this spell, discard a card. -mana={1}{B}{B}{D(*|myhand)} +mana={1}{B}{B}{D(other *|myhand)} type=Creature subtype=Orc Warrior power=5 @@ -51308,7 +51308,7 @@ toughness=6 name=Ormos, Archive Keeper abilities=flying auto={1}{U}{U}{D(*|myhand)}{D(*|myhand)}{D(*|myhand)}:draw:5 controller -auto=aslongas(*|myHand) replacedraw counter(1/1,5) <1 +auto=aslongas(*|mylibrary) replacedraw counter(1/1,5) <1 text=Flying -- If you would draw a card while your library has no cards in it, instead put five +1/+1 counters on Ormos, Archive Keeper. -- {1}{U}{U}, Discard three cards with different names: Draw five cards. mana={4}{U}{U} type=Legendary Creature @@ -51818,8 +51818,8 @@ toughness=2 [/card] [card] name=Pack Leader -auto=lord(creature[dog]|myBattlefield) 1/1 -auto=_ATTACKING_preventAllcombatDamage to(creature[dog]|myBattlefield) ueot +auto=lord(other dog|myBattlefield) 1/1 +auto=_ATTACKING_preventAllcombatDamage to(dog|myBattlefield) ueot text=Other Dogs you control get +1/+1. -- Whenever Pack Leader attacks, prevent all combat damage that would be dealt this turn to Dogs you control. mana={1}{W} type=Creature @@ -63232,8 +63232,8 @@ toughness=3 [/card] [card] name=Semester's End -target=*[creature;planeswalker]|battlefield -auto=moveto(exile) and!( transforms((,newability[phaseaction[endofturn once checkex] moveTo(ownerbattlefield)],newability[@movedto(this|battlefield) from(exile):if cantargetcard(*[creature]|*) then counter(1/1) else counter(0/0.1.Loyalty)])) ueot +target=*[creature;planeswalker]|mybattlefield +auto=moveto(exile) and!( transforms((,newability[phaseaction[endofturn once checkex] moveTo(ownerbattlefield)],newability[@movedto(this|battlefield) from(exile):if cantargetcard(creature|*) then counter(1/1) else counter(0/0.1.Loyalty)])) ueot text=Exile any number of target creatures and/or planeswalkers you control. At the beginning of the next end step, return each of them to the battlefield under its owner's control. Each of them enters the battlefield with an additional +1/+1 counter on it if it's a creature and an additional loyalty counter on it if it's a planeswalker. mana={3}{W} type=Instant @@ -64574,7 +64574,7 @@ toughness=6 [/card] [card] name=Shoal Kraken -auto=_CONSTELLATION_may draw:1 controller && reject target(*|myhand) controller +auto=_CONSTELLATION_may name(draw & discard) ability$!draw:1 _ choice notatarget(*|myhand) reject)!$ controller text=Constellation -- Whenever an enchantment enters the battlefield under your control, you may draw a card. If you do, discard a card. mana={4}{U} type=Creature @@ -65613,7 +65613,7 @@ type=Sorcery [/card] [card] name=Sinuous Striker -auto={U}:1/1 ueot +auto={U}:1/-1 ueot autograveyard={3}{U}{U}{D(*|myhand)}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery text={U}: Sinuous Striker gets +1/-1 until end of turn. -- Eternalize-{3}{U}{U}, Discard a card. ({3}{U}{U}, Discard a card, Exile this card from your graveyard: Create a token that's a copy of it, except it's a 4/4 black Zombie Naga Warrior with no mana cost. Eternalize only as a sorcery.) mana={2}{U} @@ -66320,7 +66320,6 @@ name=Skyclave Shade abilities=cantblock kicker={2}{B} auto=if paid(kicker) then counter(1/1,2) all(this) -auto={0}:moveto(mygraveyard) autograveyard=@movedTo(land|myBattlefield) restriction{myturnonly}:CanPlayFromGraveyard text=Kicker {2}{B} -- Skyclave Shade can't block -- If Skyclave Shade was kicked, it enters the battlefield with two +1/+1 counters on it. -- Landfall - Whenever a land enters the battlefield under your control, if Skyclave Shade is in your graveyard and it's your turn, you may cast it from your graveyard this turn. mana={1}{B} @@ -66851,8 +66850,7 @@ toughness=1 [/card] [card] name=Smoke -auto=all(creature|mybattlefield) doesnotuntap -auto=all(creature|opponentbattlefield) doesnotuntap +auto=lord(creature) doesnotuntap auto=@each my untap:untap target(creature[tapped]|mybattlefield) auto=@each opponent untap:ability$!name(untap creature) untap notatarget(creature[tapped]|mybattlefield)!$ opponent text=Players can't untap more than one creature during their untap steps. @@ -67996,7 +67994,7 @@ auto=protection from(planeswalker) auto={1}:damage:1 target(planeswalker) auto={3}:indestructible ueot text=As an additional cost to cast this spell, discard a card. -- Protection from planeswalkers -- {1}: Sparkhunter Masticore deals 1 damage to target planeswalker. -- {3}: Sparkhunter Masticore gains indestructible until end of turn. -mana={3}{D(*|myHand)} +mana={3}{D(other *|myhand)} type=Artifact Creature subtype=Masticore power=3 @@ -71520,7 +71518,7 @@ toughness=3 name=Surly Badgersaur auto=@discarded(*[creature]|myHand):all(this) counter(1/1) auto=@discarded(*[land]|myHand):token(Treasure Sur) -auto=@discarded(*[-creature,-land]|myHand):name(Fight target creature you don't control) dynamicability target(creature|opponentBattlefield) +auto=@discarded(*[-creature;-land]|myHand):name(Fight target creature you don't control) dynamicability target(creature|opponentBattlefield) text=Whenever you discard a creature card, put a +1/+1 counter on Surly Badgersaur. -- Whenever you discard a land card, create a treasure token. (it's an artifact with "{T}, Sacrifice this artifact: Add one mana of any color.") -- Whenever you discard a noncreature, nonland card, Surly Badgersaur fights up to one target creature you don't control. mana={3}{R} type=Creature @@ -74681,7 +74679,7 @@ toughness=2 name=Thrill of Possibility auto=draw:2 text=As an additional cost to cast this spell, discard a card. -- Draw two cards. -mana={1}{R}{D} +mana={1}{R}{D(other *|myhand)} type=Instant [/card] [card] @@ -75298,6 +75296,8 @@ text={4}: Put a creature into play from your hand. mana={2}{G}{G} type=Legendary Creature subtype=Human Gamer +power=1 +toughness=1 [/card] [card] name=Timothar, Baron of Bats @@ -77894,7 +77894,7 @@ name=Unexpected Windfall auto=draw:2 controller auto=token(Treasure Sur)*2 text=As an additional cost to cast this spell, discard a card. -- Draw two cards and create two Treasure tokens. (They're artifacts with "{T}, Sacrifice this artifact: Add one mana of any color.") -mana={2}{R}{R}{D(*|myhand)} +mana={2}{R}{R}{D(other *|myhand)} type=Instant [/card] [card] @@ -79819,7 +79819,7 @@ toughness=3 name=Vilis, Broker of Blood abilities=flying auto={B}{L:2}:-1/-1 target(creature) ueot -auto=@damageof(player):draw:thatmuch controller +auto=@lifelostof(player):draw:thatmuch controller text=Flying -- {B}, Pay 2 life: Target creature gets -1/-1 until end of turn. -- Whenever you lose life, draw that many cards. (Damage causes loss of life.) mana={5}{B}{B}{B} type=Legendary Creature @@ -83125,8 +83125,8 @@ type=Enchantment [/card] [card] name=Workshop Elders -auto=@each my combatbegins: may target(*[artifact,-creature]|myBattlefield) transforms((,newability[counter(1/1,4)],Artifact Creature,setpower=0,settoughness=0)) auto=lord(creature[artifact]|myBattlefield) flying +auto=@each my combatbegins: may target(artifact[-creature]|myBattlefield) transforms((Artifact Creature,newability[counter(1/1.4)])) forever text=Artifact creatures you control have flying. -- At the beginning of combat on your turn, you may have target noncreature artifact you control become a 0/0 artifact creature. If you do, put four +1/+1 counters on it. mana={6}{U} type=Creature @@ -84149,8 +84149,8 @@ type=Enchantment [card] name=Zurzoth, Chaos Rider auto=@drawfoeof(player) restriction{myturnonly} turnlimited:name(Create Devil) token(Devil,Creature Devil,1/1,red) and!( transforms((,newability[@movedto(this|mygraveyard):damage:1 target(*[player;creature;planeswalker])])) forever )! -auto=@combat(attacking) source(creature[devil]|myBattlefield) turnlimited:name(Draw and discard) draw:1 && transforms((,newability[target(*|myhand) reject])) oneshot -auto=@combat(attacking) source(creature[devil]|myBattlefield) turnlimited:ability$!name(Draw and discard) name(Draw and discard) draw:1 && transforms((,newability[target(*|myhand) reject])) oneshot!$ opponent +auto=@combat(attacking) source(creature[devil]|myBattlefield) turnlimited:name(Draw and discard) draw:1 and!(discard:1 controller)! oneshot +auto=@combat(attacking) source(creature[devil]|myBattlefield) turnlimited:ability$!name(Draw and discard) name(Draw and discard) draw:1 and!(discard:1)!!$ opponent text=Whenever an opponent draws their first card each turn, if it's not their turn, you create a 1/1 red Devil creature token with "When this creature dies, it deals 1 damage to any target." -- Whenever one or more Devils you control attack one or more players, you and those players each draw a card, then discard a card at random. mana={2}{R} type=Legendary Creature diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index 391541ab4..49cd128d3 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -73598,7 +73598,7 @@ type=Enchantment [/card] [card] name=Midvast Protector -auto=chooseacolor name(choose a creature) target(creature) transforms((,newability[protection from(*[chosencolor])])) ueot chooseend +auto=chooseacolor name(choose a creature) target(creature|myBattlefield) transforms((,newability[protection from(*[chosencolor])])) ueot chooseend text=When Midvast Protector enters the battlefield, target creature you control gains protection from the color of your choice until end of turn. mana={3}{W} type=Creature @@ -100417,8 +100417,8 @@ subtype=Aura [card] name=Scourge of the Throne abilities=dethrone,flying -auto=@combat(attackedalone) source(this) turnlimited restriction{compare(lifetotal)~equalto~compare(opponentlifetotal)}: all(creature[attacking]) untap && nextphasealter(add,combatphases,controller,after) -auto=@combat(attackedalone) source(this) turnlimited restriction{compare(lifetotal)~lessthan~compare(opponentlifetotal)}: all(creature[attacking]) untap && nextphasealter(add,combatphases,controller,after) +auto=@combat(attacking) source(this) turnlimited restriction{compare(lifetotal)~equalto~compare(opponentlifetotal)}: all(creature[attacking]) untap && nextphasealter(add,combatphases,controller,after) +auto=@combat(attacking) source(this) turnlimited restriction{compare(lifetotal)~lessthan~compare(opponentlifetotal)}: all(creature[attacking]) untap && nextphasealter(add,combatphases,controller,after) text=Flying -- Dethrone (Whenever this creature attacks the player with the most life or tied for most life, put a +1/+1 counter on it.) -- Whenever Scourge of the Throne attacks for the first time each turn, if it's attacking the player with the most life or tied for most life, untap all attacking creatures. After this phase, there is an additional combat phase. mana={4}{R}{R} type=Creature diff --git a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt index 4603bcb39..dbc54f732 100644 --- a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt +++ b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt @@ -558,7 +558,7 @@ subtype=Chandra name=Chandra, Dressed to Kill auto=counter(0/0,3,loyalty) auto={C(0/0,1,Loyalty)}:name(+1: Add red mana) add{R} controller -auto={C(0/0,1,Loyalty)}:name(+1: Add red and deal damage) target(creature,planeswalker) damage:1 && add{R} controller +auto={C(0/0,1,Loyalty)}:name(+1: Add red and deal damage) target(player,planeswalker) damage:1 && add{R} controller auto={C(0/0,1,Loyalty)}:name(+1: Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( if cantargetcard(*[red]|*) then canplayfromexile ueot )! auto={C(0/0,-7,Loyalty)}:name(-7: Exile top 5 cards) emblem transforms((,newability[@movedto(*[red]|mystack):all(trigger[to]) transforms((,newability[name(Deals damage) target(player^creature^planeswalker) damage:totmanaspent])) oneshot],newability[all(*[zpos<=5]|mylibrary) moveto(myexile) and!( if cantargetcard(*[red]|*) then canplayfromexile ueot )!])) forever dontremove text=+1: Add {R}. Chandra, Dressed to Kill deals 1 damage to up to one target player or planeswalker. -- +1: Exile the top card of your library. If it's red, you may cast it this turn. -- -7: Exile the top five cards of your library. You may cast red spells from among them this turn. You get an emblem with "Whenever you cast a red spell, this emblem deals X damage to any target, where X is the amount of mana spent to cast that spell."