diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index 17dab8740..ca22508d4 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -744,7 +744,7 @@ toughness=3 [/card] [card] name=Aeve, Progenitor Ooze -auto=counter(1/1,type:*[ooze]:mybattlefield) +auto=foreach(other ooze|mybattlefield) counter(1/1) auto=if cantargetcard(*[-token]) then thisforeach(variable{pstormcount}>=2) clone options(nolegend) text=Storm (When you cast this spell, copy it for each spell cast before it this turn. Copies become tokens.) -- Aeve, Progenitor Ooze isn't legendary if it's a token. -- Aeve enters the battlefield with a +1/+1 counter on it for each other Ooze you control. mana={2}{G}{G}{G} @@ -2170,7 +2170,7 @@ toughness=3 name=Anje's Ravager abilities=madness,mustattack autoexile=restriction{discarded} pay({1}{r}) name(pay 1R to cast) activate name(pay 1R to cast) castcard(normal)?name(put in graveyard) moveto(ownergraveyard) -auto=@combat(attacking) reject all(*|myhand) && draw:3 +auto=_ATTACKING_reject all(*|myhand) && draw:3 text=Anje's Ravager attacks each combat if able. -- Whenever Anje's Ravager attacks, discard your hand, then draw three cards. -- Madness {1}{R} (If you discard this card, discard it into exile. When you do, cast it for its madness cost or put it into your graveyard.) mana={2}{R} type=Creature @@ -12598,10 +12598,12 @@ subtype=Clamfolk [card] name=Clambassadors auto=@damaged(player) from(this):target(*[creature;artifact;land]|mybattlefield) moveTo(opponentbattlefield) -text=If Clambassadors damages any player, choose an artifact, creature, or land you control. That player gains control of that artifact, creature, or land. +text=Whenever Clambassadors deals damage to a player, choose an artifact, creature, or land you control. That player gains control of that permanent. mana={3}{U} type=Creature subtype=Clamfolk +power=4 +toughness=4 [/card] [card] name=Clamor Shaman @@ -14628,7 +14630,7 @@ auto={T}:Add{U}{U}{U} auto={T}:Add{B}{B}{B} auto={T}:Add{R}{R}{R} auto={T}:Add{G}{G}{G} -auto=@combat(notblocked) source(creature|opponentBattlefield):untap(this) && draw:3 opponent && moveTo(opponentBattlefield) from(myBattlefield):this +auto=@combat(notblocked) source(creature|opponentBattlefield) turnlimited:untap(this) && draw:3 opponent && moveTo(opponentBattlefield) from(myBattlefield):this text=When Coveted Jewel enters the battlefield, draw three cards. -- {T}: Add three mana of any one color. -- Whenever one or more creatures an opponent controls attack you and aren't blocked, that player draws three cards and gains control of Coveted Jewel. Untap it. mana={6} type=Artifact @@ -16939,7 +16941,7 @@ toughness=2 [/card] [card] name=Deadeye Tormentor -auto=if raid then ability$!discard(*|myhand)!$ opponent +auto=if raid then target(opponent) ability$!name(discard) target(*|myhand) reject!$ targetedplayer text=Raid - When Deadeye Tormentor enters the battlefield, if you attacked with a creature this turn, target opponent discards a card. mana={2}{B} type=Creature @@ -20037,7 +20039,7 @@ toughness=2 [/card] [card] name=Drannith Magistrate -auto=maxCast(*|opponentbattlefield,opponentstack,opponentgraveyard,opponentlibrary,opponentexile])0 opponent +auto=maxCast(*|opponentbattlefield,opponentstack,opponentgraveyard,opponentlibrary,opponentexile)0 opponent text=Your opponents can't cast spells from anywhere other than their hands. mana={1}{W} type=Creature @@ -28585,7 +28587,7 @@ type=Artifact [/card] [card] name=Geosurge -auto=this(variable{type:*[creature;artifact]:myrestrictedcastingzone}>0) {T}:add{R}{R}{R}{R}{R}{R}{R} +auto=this(variable{type:*[creature;artifact]:myrestrictedcastingzone}>0) add{R}{R}{R}{R}{R}{R}{R} text=Add {R}{R}{R}{R}{R}{R}{R} to your mana pool. Spend this mana only to cast artifact or creature spells. mana={R}{R}{R}{R} type=Sorcery @@ -31370,7 +31372,7 @@ toughness=2 [/card] [card] name=Grenzo, Havoc Raiser -auto=@combatdamagefoeof(player) from(creature|mybattlefield) restriction{type(creature|opponentBattlefield)~morethan~0}:ability$!name(Choose one) choice name(Exile top card) all(*[zpos=1]|opponentlibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[phaseaction[endofturn once] moveTo(ownerexile)])) ueot )! _ choice name(Goad opponent creature) _GOAD_!$ controller +auto=@combatdamagefoeof(player) from(creature|mybattlefield) restriction{type(creature|opponentBattlefield)~morethan~0}:ability$!name(Choose one) choice name(Exile top card) all(*[zpos=1]|opponentlibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[phaseaction[endofturn once] moveTo(ownerexile)])) ueot )! _ choice name(Goad opponent creature) target(creature|opponentBattlefield) _GOAD_!$ controller auto=@combatdamagefoeof(player) from(creature|mybattlefield) restriction{type(creature|opponentBattlefield)~equalto~0}:name(Exile top card) all(*[zpos=1]|opponentlibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana],newability[phaseaction[endofturn once] moveTo(ownerexile)])) ueot )! auto=@combatdamageof(player) from(creature|mybattlefield) restriction{type(creature|mybattlefield)~morethan~0}:ability$!name(Choose one) choice name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana])) ueot )! _ choice name(Goad your creature) target(creature|myBattlefield) _GOAD_!$ controller auto=@combatdamageof(player) from(creature|mybattlefield) restriction{type(creature|mybattlefield)~equalto~0}:name(Exile top card) all(*[zpos=1]|mylibrary) moveto(myexile) and!( transforms((,newability[canplayfromexile],newability[anytypeofmana])) ueot )! @@ -32434,7 +32436,7 @@ toughness=3 [card] name=Halana, Kessig Ranger abilities=reach,partner -auto=@movedTo(other creature|mybattlefield):may pay({2}) name(Pay 2) all(trigger[to]) transforms((,newability[name(Damage creature) dynamicability target(creature)])) oneshot +auto=@movedTo(other creature|mybattlefield):pay({2}) name(Pay 2) all(trigger[to]) transforms((,newability[dynamicability target(creature)])) oneshot text=Reach -- Whenever another creature enters the battlefield under your control, you may pay {2}. When you do, that creature deals damage equal to its power to target creature. -- Partner (You can have two commanders if both have partner.) mana={3}{G} type=Legendary Creature @@ -37823,7 +37825,7 @@ toughness=5 [/card] [card] name=Island Sanctuary -auto=replacedraw ability$!name(Choose one) choice name(Skip draw and become unattackable) lord(creature[-flying;-islandwalk]|opponentBattlefield) cantattack uynt _ choice name(Draw card) draw:1 controller!$ controller +auto=replacedraw turnlimited ability$!name(Choose one) choice name(Skip draw and become unattackable) lord(creature[-flying;-islandwalk]|opponentBattlefield) cantattack uynt _ choice name(Draw card) draw:1 noreplace controller!$ controller text=If you would draw a card during your draw step, instead you may skip that draw. If you do, until your next turn, you can't be attacked except by creatures with flying and/or islandwalk. mana={1}{W} type=Enchantment @@ -56983,7 +56985,7 @@ name=Ravenous Squirrel auto=@sacrificed(*[creature;artifact]|mybattlefield):counter(1/1) all(this) auto={1}{B}{G}{S(*[creature;artifact]|mybattlefield)}:name(Gain life and draw) life:1 controller && draw:1 controller text=Whenever you sacrifice an artifact or creature, put a +1/+1 counter on Ravenous Squirrel. -- {1}{B}{G}, Sacrifice an artifact or creature: You gain 1 life and draw a card. -mana={B or G} +mana={BG} type=Creature subtype=Squirrel power=1 @@ -57977,7 +57979,7 @@ toughness=1 [card] name=Renegade Krasis auto=evolve -auto=@counteradded(1/1) from(this):all(creature[counter{1/1.1}]|mybattlefield) counter(1/1) +auto=@counteradded(1/1) from(this):all(other creature[counter{1/1.1}]|mybattlefield) counter(1/1) text=Evolve (Whenever a creature enters the battlefield under your control, if that creature has greater power or toughness than this creature, put a +1/+1 counter on this creature.) -- Whenever Renegade Krasis evolves, put a +1/+1 counter on each other creature you control with a +1/+1 counter on it. mana={1}{G}{G} type=Creature @@ -61530,9 +61532,9 @@ type=Instant [/card] [card] name=Sarkhan's Dragonfire -aicode=activate target(*[red;zpos<=5]|mylibrary) moveto(myhand) -auto=name(look) reveal:5 optionone name(Get red card) target(*[red]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend -auto=ability$!name(Choose one) choice name(Damage player) damage:3 target(player) _ choice name(Damage creature) damage:3 target(creature) _ choice name(Damage planeswalker) damage:3 target(planeswalker)!$ controller +target=player,creature,planeswalker +auto=damage:3 +auto=name(Look at the top five) reveal:5 optionone name(reveal a red card) target(*[red]|reveal) moveto(myhand) optiononeend optiontwo name(Put on the bottom of your library) all(<5>*|reveal) bottomoflibrary optiontwoend revealend text=Sarkhan's Dragonfire deals 3 damage to any target. -- Look at the top five cards of your library. You may reveal a red 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}{R}{R} type=Sorcery @@ -62381,7 +62383,7 @@ type=Sorcery [card] name=Scourge of Nel Toth abilities=flying -flashback={B}{B}{S(creature|mybattlefield)}{S(creature|mybattlefield)} restriction{type(creature|myBattlefield)~morethan~1} +flashback=restriction{type(creature|myBattlefield)~morethan~2} {B}{B}{S(creature|mybattlefield)}{S(creature|mybattlefield)} text=Flying -- You may cast Scourge of Nel Toth from your graveyard by paying {B}{B} and sacrificing two creatures rather than paying its mana cost. mana={5}{B}{B} type=Creature @@ -63593,8 +63595,8 @@ subtype=Aura [card] name=Sethron, Hurloon General auto=token(Minotaur,Creature Minotaur,2/3,red) -auto=@movedto(other minotoaur[-token]|mybattlefield):token(Minotaur,Creature Minotaur,2/3,red) -auto={2}{BR}:all(creature[minotoaur]|mybattlefield) transforms((,newability[1/0 ueot],newability[menace ueot],newability[haste ueot])) ueot +auto=@movedto(other Minotaur[-token]|mybattlefield):token(Minotaur,Creature Minotaur,2/3,red) +auto={2}{BR}:all(Minotaur|mybattlefield) transforms((,newability[1/0 ueot],newability[menace ueot],newability[haste ueot])) ueot text=Whenever Sethron, Hurloon General or another nontoken Minotaur enters the battlefield under your control, create a 2/3 red Minotaur creature token. -- {2}{B} or {R}: Minotaurs you control get +1/+0 and gain menace and haste until end of turn. ( {B} or {R} can be paid with either {B} or {R}.) mana={3}{R}{R} type=Legendary Creature @@ -69309,7 +69311,7 @@ toughness=3 [card] name=Squad Captain abilities=vigilance -auto=foreach(other creature|mybattlefield)counter(1/1) +auto=foreach(other creature|mybattlefield) counter(1/1) text=Vigilance (Attacking doesn't cause this creature to tap.) -- Squad Captain enters the battlefield with a +1/+1 counter on it for each other creature you control. mana={4}{W} type=Creature @@ -69715,8 +69717,9 @@ type=Sorcery [/card] [card] name=Static Orb -auto=@each my beginofturn sourcenottap:lord(*|battlefield) doesnotuntap && target(*)*2 untap -auto=@each opponent beginofturn sourcenottap:lord(*|battlefield) doesnotuntap && target(*)*2 untap +auto=aslongas sourcenottap:lord(*) doesnotuntap +auto=@each my untap:untap notatarget(*[tapped]|mybattlefield) +auto=@each opponent untap:ability$!name(untap land) untap notatarget(*[tapped]|mybattlefield)!$ opponent text=As long as Static Orb is untapped, players can't untap more than two permanents during their untap steps. mana={3} type=Artifact @@ -72189,7 +72192,7 @@ toughness=4 [/card] [card] name=Syr Faren, the Hengehammer -auto=_ATTACKING_target(creature[attacking]) power/power ueot +auto=_ATTACKING_target(other creature[attacking]) power/power ueot text=Whenever Syr Faren, the Hengehammer attacks, another target attacking creature gets +X/+X until end of turn, where X is Syr Faren's power. mana={G}{G} type=Legendary Creature @@ -79758,7 +79761,7 @@ toughness=5 [card] name=Vigorspore Wurm abilities=oneblocker -auto=foreach(creature|mygraveyard) target(creature) 1/1 && vigilance ueot +auto=target(creature) transforms((,newability[vigilance],newability[type:creature:mygraveyard/type:creature:mygraveyard]) ueot text=Undergrowth - When Vigorspore Wurm enters the battlefield, target creature gains vigilance and gets +X/+X until end of turn, where X is the number of creature cards in your graveyard. -- Vigorspore Wurm can't be blocked by more than one creature. mana={5}{G} type=Creature diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index 191957afd..26ea4fa85 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -25867,7 +25867,7 @@ type=Instant [card] name=Dark Salvation target=player -auto=_ZOMBIETOKEN_*xx targetedplayer && ability$!name(Choose one) choice name(Don't target any creature) donothing _ choice name(Target opponent's creature) target(creature|opponentBattlefield) -type:zombie:opponentBattlefield/-type:zombie:opponentBattlefield ueot _ choice name(Target your creature) target(creature|myBattlefield) -type:zombie:myBattlefield/-type:zombie:myBattlefield ueot!$ controller +auto=_ZOMBIETOKEN_*xx targetedplayer && ability$!name(Choose one) choice name(Don't target any creature) donothing _ choice name(Target creature) target(creature) transforms((,newability[-3/-3])) ueot!$ controller text=Target player puts X 2/2 black Zombie creature tokens onto the battlefield, then up to one target creature gets -1/-1 until end of turn for each Zombie that player controls. mana={X}{X}{B} type=Sorcery @@ -29669,7 +29669,7 @@ toughness=2 [/card] [card] name=Diregraf Colossus -auto=foreach(zombie|mygraveyard)counter(1/1) +auto=foreach(zombie|mygraveyard) counter(1/1) auto=@movedto(zombie|mystack):_ZOMBIETOKEN_ and!( tap(noevent) )! text=Diregraf Colossus enters the battlefield with a +1/+1 counter on it for each Zombie card in your graveyard. -- Whenever you cast a Zombie spell, put a 2/2 black Zombie creature token onto the battlefield tapped. mana={2}{B} @@ -39967,14 +39967,14 @@ subtype=Aura [/card] [card] name=Fertile Imagination -auto=choice name(Artifact) target(opponent) Reveal:type:*:opponenthand revealzone(opponenthand) revealtype(*|opponenthand) optionone choice name(Spawn) foreach(artifact|reveal) _SAPROLINGTOKEN_*2 optiononeend optiontwo name(Put Back) target(*|reveal) transforms((,newability[all(*|reveal) moveto(ownerhand)])) ueot optiontwoend revealend -auto=choice name(creature) target(opponent) Reveal:type:*:opponenthand revealzone(opponenthand) revealtype(*|opponenthand) optionone choice name(Spawn) foreach(creature|reveal) _SAPROLINGTOKEN_*2 optiononeend optiontwo name(Put Back) target(*|reveal) transforms((,newability[all(*|reveal) moveto(ownerhand)])) ueot optiontwoend revealend -auto=choice name(enchantment) target(opponent) Reveal:type:*:opponenthand revealzone(opponenthand) revealtype(*|opponenthand) optionone choice name(Spawn) foreach(enchantment|reveal) _SAPROLINGTOKEN_*2 optiononeend optiontwo name(Put Back) target(*|reveal) transforms((,newability[all(*|reveal) moveto(ownerhand)])) ueot optiontwoend revealend -auto=choice name(instant) target(opponent) Reveal:type:*:opponenthand revealzone(opponenthand) revealtype(*|opponenthand) optionone choice name(Spawn) foreach(instant|reveal) _SAPROLINGTOKEN_*2 optiononeend optiontwo name(Put Back) target(*|reveal) transforms((,newability[all(*|reveal) moveto(ownerhand)])) ueot optiontwoend revealend -auto=choice name(land) target(opponent) Reveal:type:*:opponenthand revealzone(opponenthand) revealtype(*|opponenthand) optionone choice name(Spawn) foreach(land|reveal) _SAPROLINGTOKEN_*2 optiononeend optiontwo name(Put Back) target(*|reveal) transforms((,newability[all(*|reveal) moveto(ownerhand)])) ueot optiontwoend revealend -auto=choice name(planeswalker) target(opponent) Reveal:type:*:opponenthand revealzone(opponenthand) revealtype(*|opponenthand) optionone choice name(Spawn) foreach(planeswalker|reveal) _SAPROLINGTOKEN_*2 optiononeend optiontwo name(Put Back) target(*|reveal) transforms((,newability[all(*|reveal) moveto(ownerhand)])) ueot optiontwoend revealend -auto=choice name(sorcery) target(opponent) Reveal:type:*:opponenthand revealzone(opponenthand) revealtype(*|opponenthand) optionone choice name(Spawn) foreach(sorcery|reveal) _SAPROLINGTOKEN_*2 optiononeend optiontwo name(Put Back) target(*|reveal) transforms((,newability[all(*|reveal) moveto(ownerhand)])) ueot optiontwoend revealend -auto=choice name(tribal) target(opponent) Reveal:type:*:opponenthand revealzone(opponenthand) revealtype(*|opponenthand) optionone choice name(Spawn) foreach(tribal|reveal) _SAPROLINGTOKEN_*2 optiononeend optiontwo name(Put Back) target(*|reveal) transforms((,newability[all(*|reveal) moveto(ownerhand)])) ueot optiontwoend revealend +auto=choice name(Artifact) target(opponent) Reveal:type:*:opponenthand revealzone(opponenthand) revealtype(*|opponenthand) optionone choice name(Spawn) foreach(artifact|reveal) _SAPROLINGTOKEN_*2 optiononeend optiontwo name(Put Back) all(*|reveal) transforms((,newability[all(*|reveal) moveto(ownerhand)])) ueot optiontwoend revealend +auto=choice name(creature) target(opponent) Reveal:type:*:opponenthand revealzone(opponenthand) revealtype(*|opponenthand) optionone choice name(Spawn) foreach(creature|reveal) _SAPROLINGTOKEN_*2 optiononeend optiontwo name(Put Back) all(*|reveal) transforms((,newability[all(*|reveal) moveto(ownerhand)])) ueot optiontwoend revealend +auto=choice name(enchantment) target(opponent) Reveal:type:*:opponenthand revealzone(opponenthand) revealtype(*|opponenthand) optionone choice name(Spawn) foreach(enchantment|reveal) _SAPROLINGTOKEN_*2 optiononeend optiontwo name(Put Back) all(*|reveal) transforms((,newability[all(*|reveal) moveto(ownerhand)])) ueot optiontwoend revealend +auto=choice name(instant) target(opponent) Reveal:type:*:opponenthand revealzone(opponenthand) revealtype(*|opponenthand) optionone choice name(Spawn) foreach(instant|reveal) _SAPROLINGTOKEN_*2 optiononeend optiontwo name(Put Back) all(*|reveal) transforms((,newability[all(*|reveal) moveto(ownerhand)])) ueot optiontwoend revealend +auto=choice name(land) target(opponent) Reveal:type:*:opponenthand revealzone(opponenthand) revealtype(*|opponenthand) optionone choice name(Spawn) foreach(land|reveal) _SAPROLINGTOKEN_*2 optiononeend optiontwo name(Put Back) all(*|reveal) transforms((,newability[all(*|reveal) moveto(ownerhand)])) ueot optiontwoend revealend +auto=choice name(planeswalker) target(opponent) Reveal:type:*:opponenthand revealzone(opponenthand) revealtype(*|opponenthand) optionone choice name(Spawn) foreach(planeswalker|reveal) _SAPROLINGTOKEN_*2 optiononeend optiontwo name(Put Back) all(*|reveal) transforms((,newability[all(*|reveal) moveto(ownerhand)])) ueot optiontwoend revealend +auto=choice name(sorcery) target(opponent) Reveal:type:*:opponenthand revealzone(opponenthand) revealtype(*|opponenthand) optionone choice name(Spawn) foreach(sorcery|reveal) _SAPROLINGTOKEN_*2 optiononeend optiontwo name(Put Back) all(*|reveal) transforms((,newability[all(*|reveal) moveto(ownerhand)])) ueot optiontwoend revealend +auto=choice name(tribal) target(opponent) Reveal:type:*:opponenthand revealzone(opponenthand) revealtype(*|opponenthand) optionone choice name(Spawn) foreach(tribal|reveal) _SAPROLINGTOKEN_*2 optiononeend optiontwo name(Put Back) all(*|reveal) transforms((,newability[all(*|reveal) moveto(ownerhand)])) ueot optiontwoend revealend text=Choose a card type. Target opponent reveals his or her hand. Put two 1/1 green Saproling creature tokens onto the battlefield for each card of the chosen type revealed this way. (Artifact, creature, enchantment, instant, land, planeswalker, sorcery, and tribal are card types.) mana={2}{G}{G} type=Sorcery @@ -91550,7 +91550,7 @@ type=Artifact [card] name=Rakdos the Defiler abilities=flying,trample -auto=_ATTACKING_choice target(*|mybattlefield) sacrifice cdaactive +auto=_ATTACKING_choice target(*|mybattlefield) sacrifice cdaactive auto=@combatdamagefoeof(player) from(this):ability$!name(sacrifice) target(*|mybattlefield) sacrifice!$ opponent auto=@combatdamageof(player) from(this):ability$!name(sacrifice) target(*|mybattlefield) sacrifice!$ controller text=Flying, trample -- Whenever Rakdos the Defiler attacks, sacrifice half the non-Demon permanents you control, rounded up. -- Whenever Rakdos deals combat damage to a player, that player sacrifices half the non-Demon permanents he or she controls, rounded up. @@ -110828,7 +110828,6 @@ type=Artifact name=Sphinx of Jwar Isle abilities=flying,opponentshroud alias=185709 -aicode=activate name(look) donothing auto={0}:name(Look) reveal:1 optionone name(look) target(<1>*|reveal) moveto(mylibrary) optiononeend optiontwo name(put it back) all(*|reveal) moveto(mylibrary) optiontwoend revealend text=Flying, shroud -- You may look at the top card of your library. (You may do this at any time.) mana={4}{U}{U} @@ -125401,8 +125400,8 @@ name=Ulrich of the Krallenhorde backside=Ulrich, Uncontested Alpha restriction=compare(isflipped)~equalto~0 anyzone={0}:doubleside(backside) +auto=4/4 target(creature) ueot auto=@each upkeep restriction{lastturn(*|stack)~lessthan~1}:name(Transform Human Werewolf) flip(backside) -auto=target(creature) 4/4 ueot text=Whenever this creature enters the battlefield or transforms into Ulrich of the Krallenhorde, target creature gets +4/+4 until end of turn. -- At the beginning of each upkeep, if no spells were cast last turn, transform Ulrich of the Krallenhorde. // Ulrich, Uncontested Alpha mana={3}{R}{G} type=Legendary Creature