From 9bdf0e0690d0904af3468a929f5df0b6769c7708 Mon Sep 17 00:00:00 2001 From: Eduardo Date: Sun, 25 Jul 2021 14:09:40 -0500 Subject: [PATCH] Fixes to primitives and useless comments removed stingerfling spider cliffhaven kitesail Enlarge The Akroan War second ability does nothing Silas Renn, you still have to pay the cost Urza's Saga shouldn't lose previous abilities Rocky Tar Pit and similar fetchlands got interrupted Grand Architect didn't turn creature blue component pouch scrapyard recombiner Harmony of Nature porcuparrot didn't work with (player,creature,planeswalker), other cards seems to work with that syntaxis Taranika, Akroan Veteran Elspeth Conquers Death Phyrexian Ingester can exile opponents cards Taborax, Hope's Demise (never use "another" to specify "other" target) Inniaz, the Gale Force doesn't fly frost titan Gustrider Exuberant flying Kasmina, Enigmatic Mentor crashes the game when the AI tries to use it --- .../bin/Res/sets/primitives/borderline.txt | 82 ++++++++++++------- projects/mtg/bin/Res/sets/primitives/mtg.txt | 60 ++++---------- .../bin/Res/sets/primitives/planeswalkers.txt | 6 +- 3 files changed, 71 insertions(+), 77 deletions(-) diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index a70bf4aa0..545cad59c 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -4090,8 +4090,8 @@ type=Enchantment [/card] [card] name=Ayula, Queen Among Bears -auto=@movedTo(another creature[bear]|myBattlefield):choice target(creature[bear]) counter(1/1,2) -auto=@movedTo(another creature[bear]|myBattlefield):choice target(creature[bear]) transforms((,newability[target(creature|opponentbattlefield) dynamicability])) ueot +auto=@movedTo(other creature[bear]|myBattlefield):choice target(creature[bear]) counter(1/1,2) +auto=@movedTo(other creature[bear]|myBattlefield):choice target(creature[bear]) transforms((,newability[target(creature|opponentbattlefield) dynamicability])) ueot text=Whenever another Bear enters the battlefield under your control, choose one — -- • Put two +1/+1 counters on target Bear. -- • Target Bear you control fights target creature you don't control. mana={1}{G} type=Legendary Creature @@ -6522,7 +6522,7 @@ toughness=1 [/card] [card] name=Bloodmist Infiltrator -auto=@combat(attacking) source(this):may name(Sacrifice) sacrifice notatarget(another creature|mybattlefield) && transforms((,newability[unblockable])) forever +auto=@combat(attacking) source(this):may name(Sacrifice) sacrifice notatarget(other creature|mybattlefield) && transforms((,newability[unblockable])) forever text=Whenever Bloodmist Infiltrator attacks, you may sacrifice another creature. If you do, Bloodmist Infiltrator can't be blocked this turn. mana={2}{B} type=Creature @@ -10955,7 +10955,7 @@ auto=aslongas(parents) name(Attach to creature) rehook target(creature|myBattlef auto=teach(creature) flying auto={2}:equip text=When Cliffhaven Kitesail enters the battlefield, attach it to target creature you control. -- Equipped creature has flying. -- Equip {2} ({2}: Attach to target creature you control. Equip only as a sorcery) -mana={2} +mana={1} type=Artifact subtype=Equipment [/card] @@ -11727,7 +11727,16 @@ type=Instant [card] name=Component Pouch auto={T}:name(Roll a d20) rolld20 20 winability counter(0/0.2.component) winabilityend loseability if compare(lastrollresult)~lessthan~10 then counter(0/0.1.component) else counter(0/0.2.component) loseabilityend rolld20end -auto={T}{C(0/0.-1.component)}:name(Add 2 mana) thisforeach(variable{2}) ability$!name(Choose one) choice name(Add white) add{W} _ choice name(Add blue) add{U} _ choice name(Add red) add{R} _ choice name(Add green) add{G} _ choice name(Add black) add{B}!$ controller +auto={T}{C(0/0.-1.component)}:Add{W}{U} +auto={T}{C(0/0.-1.component)}:Add{W}{B} +auto={T}{C(0/0.-1.component)}:Add{W}{R} +auto={T}{C(0/0.-1.component)}:Add{W}{G} +auto={T}{C(0/0.-1.component)}:Add{U}{B} +auto={T}{C(0/0.-1.component)}:Add{U}{R} +auto={T}{C(0/0.-1.component)}:Add{U}{G} +auto={T}{C(0/0.-1.component)}:Add{B}{R} +auto={T}{C(0/0.-1.component)}:Add{B}{G} +auto={T}{C(0/0.-1.component)}:Add{R}{G} text={T}, Remove a component counter from Component Pouch: Add two mana of different colors. -- {T}: Roll a d20. -- 1-9 | Put a component counter on Component Pouch. -- 10-20 | Put two component counters on Component Pouch. mana={3} type=Artifact @@ -11811,7 +11820,7 @@ target=player auto=choice name(1 Player, 2, 3 Creature) damage:1 && damage:2 target(creature) && ability$!name(damage) choice target(other creature) damage:3!$ controller auto=choice name(2 Player, 1, 3 Creature) damage:2 && damage:1 target(creature) && ability$!name(damage) choice target(other creature) damage:3!$ controller auto=choice name(3 Player, 1, 2 Creature) damage:3 && damage:1 target(creature) && ability$!name(damage) choice target(other creature) damage:2!$ controller -auto=choice name(0 Player, 1, 2, 3 Creature) damage:1 target(creature) && ability$!name(damage) choice target(another creature) damage:2!$ controller && ability$!name(damage) choice target(another creature) damage:3!$ controller +auto=choice name(0 Player, 1, 2, 3 Creature) damage:1 target(creature) && ability$!name(damage) choice target(other creature) damage:2!$ controller && ability$!name(damage) choice target(other creature) damage:3!$ controller text=Cone of Flame deals 1 damage to target creature or player, 2 damage to another target creature or player, and 3 damage to a third target creature or player. mana={3}{R}{R} type=Sorcery @@ -12103,7 +12112,7 @@ type=Enchantment name=Consume Strength target=creature auto=2/2 ueot -auto=target(another creature) -2/-2 ueot +auto=target(other creature) -2/-2 ueot text=Target creature gets +2/+2 until end of turn. Another target creature gets -2/-2 until end of turn. mana={1}{B}{G} type=Instant @@ -12835,6 +12844,7 @@ subtype=Aura name=Crown-Hunter Hireling auto=becomesmonarch controller auto=this(variable{omonarch}<1) cantattack +auto=this(variable{omonarch}<1) cantpwattack text=When Crown-Hunter Hireling enters the battlefield, you become the monarch. -- Crown-Hunter Hireling can't attack unless defending player is the monarch. mana={4}{R} type=Creature @@ -15146,6 +15156,7 @@ subtype=Desert name=Desert's Hold target=creature auto=cantattack +auto=cantpwattack auto=cantblock auto=noactivatedability auto=aslongas(Desert|mybattlefield,myGraveyard) life:3 controller @@ -18457,7 +18468,9 @@ auto=moveTo(Exile) target(*[manacost>=3]|opponentbattlefield) auto=counter(0/0,1,Lore) auto=@each my firstmain:counter(0/0,1,Lore) auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}) all(*[-creature]|opponentcastingzone) altercost(colorless, +2) uynt -auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) moveTo(mybattlefield) target(creature,planeswalker|mygraveyard) if type(creature|myGraveyard)~morethan~0 then all(this) counter(1/1,1) else counter(0/0.1.Loyalty) && sacrifice(this) +auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) choice name(Planeswalker) target(planeswalker|mygraveyard) transforms((,newability[moveTo(mybattlefield)],newability[counter(0/0.1.loyalty)])) +auto=@counteradded(0/0,1,Lore) from(this): this(counter{0/0.3.Lore}) choice name(Creature) target(creature|mygraveyard) transforms((,newability[moveTo(mybattlefield)],newability[counter(1/1)])) +auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) sacrifice(this) text=(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.) -- I - Exile target permanent an opponent controls with converted mana cost 3 or greater. -- II - Noncreature spells your opponents cast cost {2} more to cast until your next turn. -- III - Return target creature or planeswalker card from your graveyard to the battlefield. Put a +1/+1 counter or a loyalty counter on it. mana={3}{W}{W} type=Enchantment @@ -18480,7 +18493,8 @@ auto=destroy target (creature[power<=2]) auto=counter(0/0,1,Lore) auto=@each my firstmain:counter(0/0,1,Lore) auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}) target(opponent) reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(choose discards) notatarget(<1>*[-creature;-land]|reveal) transforms((,newability[moveto(ownerhand) all(other *|reveal)],newability[moveto(ownerhand) and!(reject)!])) ueot optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend -auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) moveTo(exile) all(*|opponentGraveyard) && sacrifice(this) +auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) moveTo(exile) all(*|opponentGraveyard) +auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) sacrifice(this) text=I - Destroy target creature an opponent controls with power 2 or less. -- II - Target opponent reveals their hand. You choose a noncreature, nonland card from it. That player discards that card. -- III - Exile target opponent’s graveyard. mana={2}{B} type=Enchantment @@ -19099,7 +19113,7 @@ type=Enchantment [/card] [card] name=Enlarge -target=creates +target=creature auto=trample ueot auto=7/7 ueot auto=transform((,newability[@combat(attacking) source(this): all(creature|opponentbattlefield) mustblock ueot])) ueot @@ -23346,8 +23360,8 @@ type=Snow Instant [card] name=Frost Titan auto=@targeted(this) from(opponent):transforms((,newability[pay[[{2}]] name(pay 2 mana) donothing?fizzle])) oneshot -auto=frozen target(*) -auto=@combat(attacking) source(this): frozen target (*) +auto=target(*) transforms((,newability[tap],newability[frozen])) +auto=@combat(attacking) source(this):target(*) transforms((,newability[tap],newability[frozen])) text=Whenever Frost Titan becomes the target of a spell or ability an opponent controls, counter that spell or ability unless its controller pays {2}. -- Whenever Frost Titan enters the battlefield or attacks, tap target permanent. It doesn’t untap during its controller’s next untap step. mana={4}{U}{U} type=Creature @@ -24610,6 +24624,7 @@ toughness=1 name=Giant Turtle auto=@each my combatends restriction{didattack}:transforms((,newability[counter(0/0.1.TurtleEffect)],newability[@each my end restriction{didntattack}:counter(0/0.-1.TurtleEffect)])) forever auto=this(counter{0/0.1.TurtleEffect}>0) cantattack +auto=this(counter{0/0.1.TurtleEffect}>0) cantpwattack text=Giant Turtle can't attack if it attacked during your last turn. mana={1}{G}{G} type=Creature @@ -28409,6 +28424,7 @@ type=Instant name=Hazoret the Fervent abilities=indestructible, haste auto=aslongas(*|myhand) cantattack >1 +auto=aslongas(*|myhand) cantpwattack >1 auto=aslongas(*|myhand) cantblock >1 auto={2}{R}{D(*|myhand)}:damage:2 opponent text=Indestructible, haste -- Hazoret the Fervent can't attack or block unless you have one or fewer cards in hand. -- {2}{R}, Discard a card: Hazoret deals 2 damage to each opponent. @@ -29760,7 +29776,7 @@ type=Instant [/card] [card] name=Hour of Promise -auto=aslongas(Desert|mybattlefield,myGraveyard) token(Zombie,creature Zombie,2/2,black)*2 >2 +auto=aslongas(Desert|mybattlefield) token(Zombie,creature Zombie,2/2,black)*2 >2 auto=moveto(mybattlefield) target(land|mylibrary) and!(tap(noevent))! #auto=transforms((,newability[if type(desert|mybattlefield)~morethan~2 then token(Zombie,creature Zombie,2/2,black)])) ueot text=Search your library for up to two land cards, put them onto the battlefield tapped, then shuffle your library. Then if you control three or more Deserts, create two 2/2 black Zombie creature tokens. @@ -31646,6 +31662,7 @@ subtype=Aura [/card] [card] name=Inniaz, the Gale Force +abilities=flying auto={2}{WU}:all(creature[attacking]) flying ueot && 1/1 ueot auto=@each my blockers restriction{type(creature[attacking;flying]|myBattlefield)~morethan~2}:moveto(myBattlefield) target(*[-land]|opponentbattlefield) auto=@each my blockers restriction{type(creature[attacking;flying]|myBattlefield)~morethan~2}:ability$!moveto(myBattlefield) notatarget(*[-land]|opponentbattlefield)!$ opponent @@ -33849,8 +33866,9 @@ toughness=1 [/card] [card] name=Kefnet the Mindful -abilities=flying, indestructible +abilities=flying,indestructible auto=aslongas(*|myhand) cantattack <7 +auto=aslongas(*|myhand) cantpwattack <7 auto=aslongas(*|myhand) cantblock <7 auto={3}{U}:draw:1 && transforms((,newability[may moveto(myhand) target(land|mybattlefield)])) ueot text=Flying, indestructible -- Kefnet the Mindful can't attack or block unless you have seven or more cards in hand. -- {3}{U}: Draw a card, then you may return a land you control to its owner's hand. @@ -41145,7 +41163,7 @@ type=Instant [card] name=Mythos of Vadrok auto=if casted(this) then ifnot spent({W}{U}) then thisforeach(variable{5}) ability$!name(Deal 1 damage) name(Deal 1 damage) target(creature,planewsalker) damage:1!$ controller -auto=if casted(this) then if spent({W}{U}) then thisforeach(variable{5}) ability$!name(Deal 1 damage) name(Deal 1 damage) target(creature,planewsalker) transforms((,newability[damage:1],newability[cantattack],newability[cantblock],newability[noactivatedability])) uynt!$ controller +auto=if casted(this) then if spent({W}{U}) then thisforeach(variable{5}) ability$!name(Deal 1 damage) name(Deal 1 damage) target(creature,planewsalker) transforms((,newability[damage:1],newability[cantattack],newability[cantpwattack],newability[cantblock],newability[noactivatedability])) uynt!$ controller text=Mythos of Vadrok deals 5 damage divided as you choose among any number of target creatures and/or planeswalkers. If {W}{U} was spent to cast this spell, until your next turn, those permanents can't attack or block and their activated abilities can't be activated. mana={2}{R}{R} type=Sorcery @@ -43250,7 +43268,8 @@ type=Instant [card] name=Oketra the True abilities=double strike,indestructible -auto=aslongas(creature|mybattlefield) cantattack <4 +auto=aslongas(creature|mybattlefield) cantattack <4 +auto=aslongas(creature|mybattlefield) cantpwattack <4 auto=aslongas(creature|mybattlefield) cantblock <4 auto={3}{W}:token(Warrior,creature Warrior,1/1,white,vigilance) text=Double strike, indestructible -- Oketra the True can't attack or block unless you control at least three other creatures. -- {3}{W}: Create a 1/1 white Warrior creature token with vigilance. @@ -44402,7 +44421,7 @@ toughness=4 [/card] [card] name=Overgrowth Elemental -auto=target(another creature[elemental]) counter(1/1,1) +auto=target(other creature[elemental]) counter(1/1,1) auto=@movedto(other creature[elemental]|graveyard) from(mybattlefield):counter(1/1,1) auto=@movedto(other creature|graveyard) from(mybattlefield):life:1 text=When Overgrowth Elemental enters the battlefield, put a +1/+1 counter on another target Elemental you control. -- Whenever another creature you control dies, you gain 1 life. If that creature was an Elemental, put a +1/+1 counter on Overgrowth Elemental. @@ -45097,6 +45116,7 @@ type=Instant [card] name=Peace Talks auto=lord(creature|battlefield) transforms((,newability[cantattack])) uynt +auto=lord(creature|battlefield) transforms((,newability[cantpwattack])) uynt auto=lord(*|battlefield) transforms((,newability[shroud],newability[controllershroud])) uynt text=This turn and next turn, creatures can't attack, and players and permanents can't be the targets of spells or activated abilities. mana={1}{W} @@ -45522,7 +45542,7 @@ type=Artifact [/card] [card] name=Phyrexian Ingester -other={6}{U}{E(creature[-token]|mybattlefield)} name(Imprint) +other={6}{U}{E(creature[-token]|battlefield)} name(Imprint) auto=if paid(alternative) then storedpower/storedtoughness text=Imprint — When Phyrexian Ingester enters the battlefield, you may exile target nontoken creature. -- Phyrexian Ingester gets +X/+Y, where X is the exiled creature card's power and Y is its toughness. mana={6}{U} @@ -45731,6 +45751,7 @@ name=Pious Interdiction target=creature auto=life:2 controller auto=cantattack +auto=cantpwattack auto=cantblock text=Enchant creature -- When Pious Interdiction enters the battlefield, you gain 2 life. -- Enchanted creature can't attack or block. mana={3}{W} @@ -46252,7 +46273,7 @@ auto=@movedTo(mytgt|library) from(battlefield):all(this) moveTo(myLibrary) auto=@movedTo(mytgt|sideboard) from(battlefield):all(this) moveTo(mySideboard) auto={9999}:equip other={2}{R} name(Mutate) -auto=transforms((,newability[name(damage target) {T}:name(damage target) thisforeach(mutations) damage:1 target(player,creature,planeswalker)])) +auto=transforms((,newability[name(damage target) {T}:name(damage target) thisforeach(mutations) damage:1 target(*)])) auto=if paid(alternative) then name(Mutate Over) this(mutations<1) name(Mutate Over) choice name(Mutate Over) mutateover target(other creature[-human]|mybattlefield) auto=if paid(alternative) then name(Mutate Over) this(mutations<1) name(Mutate Under) choice name(Mutate Under) mutateunder target(other creature[-human]|mybattlefield) text=Mutate {2}{R} (If you cast this spell for its mutate cost, put it over or under target non-Human creature you own. They mutate into the creature on top plus all abilities from under it.) -- {T}: This creature deals X damage to any target, where X is the number of times this creature has mutated. @@ -50228,6 +50249,7 @@ toughness=2 name=Rhonas the Indomitable abilities=deathtouch, indestructible auto=aslongas(other creature[power>=4]|mybattlefield) cantattack <1 +auto=aslongas(other creature[power>=4]|mybattlefield) cantpwattack <1 auto=aslongas(other creature[power>=4]|mybattlefield) cantblock <1 auto={2}{G}:target(other creature|mybattlefield) 2/0 && trample ueot text=Deathtouch, indestructible -- Rhonas the Indomitable can't attack or block unless you control another creature with power 4 or greater. -- {2}{G}: Another target creature gets +2/+0 and gains trample until end of turn. @@ -50977,6 +50999,7 @@ toughness=3 name=River Serpent abilities=cycling auto=aslongas(type(*|mygraveyard)~lessthen~5) cantattack +auto=aslongas(type(*|mygraveyard)~lessthen~5) cantpwattack autohand=__CYCLING__({U}) text=River Serpent can't attack unless there are five or more cards in your graveyard. -- Cycling {U} ({U}, Discard this card: Draw a card.) mana={5}{U} @@ -52690,6 +52713,7 @@ toughness=4 [card] name=Sandwurm Convergence auto=lord(creature[flying]|opponentbattlefield) cantattack +auto=lord(creature[flying]|opponentbattlefield) cantpwattack auto=@each my endofturn:token(Wurm,creature Wurm,5/5,green) text=Creatures with flying can't attack you or planeswalkers you control. -- At the beginning of your end step, create a 5/5 green Wurm creature token. mana={6}{G}{G} @@ -53596,6 +53620,7 @@ toughness=* [/card] [card] name=Scrapyard Recombiner +abilities=modular modular=2 auto={T}{S(artifact|myBattlefield)}:moveto(myhand) target(creature[construct]|mylibrary) text=Modular 2 (This creature enters the battlefield with two +1/+1 counters on it. When it dies, you may put its +1/+1 counters on target artifact creature.) -- {T}, Sacrifice an artifact: Search your library for a Construct card, reveal it, put it into your hand, then shuffle your library. @@ -55945,7 +55970,7 @@ toughness=2 [card] name=Silas Renn, Seeker Adept abilities=deathtouch,partner -auto=@combatdamaged(player) from(this):may name(cast card) castcard(normal) target(*[artifact]|mygraveyard) +auto=@combatdamaged(player) from(this):name(target artifact) target(artifact[-land]|mygraveyard) canplayfromgraveyard ueot text=Deathtouch -- Whenever Silas Renn, Seeker Adept deals combat damage to a player, choose target artifact card in your graveyard. You may cast that card this turn. -- Partner (You can have two commanders if both have partner.) mana={1}{U}{B} type=Legendary Artifact Creature @@ -57312,7 +57337,7 @@ toughness=8 name=Slippery Scoundrel auto=_ASCEND_ auto=@movedTo(*|myBattlefield):_ASCEND_ -auto=_CITY'S_BLESSING_ transforms((,newability[cantattack],newability[opponentshroud])) +auto=_CITY'S_BLESSING_ transforms((,newability[unblockable],newability[opponentshroud])) text=Ascend (If you control ten or more permanents, you get the city's blessing for the rest of the game.) -- As long as you have the city's blessing, Slippery Scoundrel has hexproof and can't be blocked. mana={2}{U} type=Creature @@ -62198,8 +62223,8 @@ type=Instant name=Taborax, Hope's Demise abilities=flying auto=this(counter{1/1.1}>4) lifelink -auto=@movedTo(another cleric[-token]|myGraveyard) from(Battlefield):may draw:1 controller && life:-1 controller -auto=@movedTo(another creature[-token]|myGraveyard) from(Battlefield):counter(1/1,1) all(this) +auto=@movedTo(other cleric[-token]|myGraveyard) from(Battlefield):may draw:1 controller && life:-1 controller +auto=@movedTo(other creature[-token]|myGraveyard) from(Battlefield):counter(1/1,1) all(this) text=Flying -- Taborax, Hope's Demise has lifelink as long as it has five or more +1/+1 counters on it. -- Whenever another nontoken creature you control dies, put a +1/+1 counter on Taborax. If that creature was a Cleric, you may draw a card. If you do, you lose 1 life. mana={2}{B} type=Legendary Creature @@ -62562,7 +62587,7 @@ toughness=4 [card] name=Taranika, Akroan Veteran abilities=vigilance -auto=@combat(attacking) source(this): untap target(creature|myBattlefield) && transforms((creature,setpower=4,settoughness=4,indestructible)) ueot +auto=@combat(attacking) source(this):target(other creature|myBattlefield) transforms((,setpower=4,settoughness=4,newability[untap],newability[indestructible])) ueot text=Vigilance -- Whenever Taranika, Akroan Veteran attacks, untap another target creature you control. Until end of turn, that creature has base power and toughness 4/4 and gains indestructible. mana={1}{W}{W} type=Legendary Creature @@ -63435,7 +63460,7 @@ name=The Akroan War auto=name(Gain control of creature) target(creature|opponentbattlefield) steal auto=counter(0/0,1,Lore) auto=@each my firstmain:counter(0/0,1,Lore) -auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}) all(creature|opponentbattlefield) mustattack uynt +auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}) lord(creature|opponentbattlefield) mustattack uynt auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) all(creature[tapped]) dynamicability && sacrifice(this) text=(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.) -- I — Gain control of target creature for as long as The Akroan War remains on the battlefield. -- II — Until your next turn, creatures your opponents control attack each combat if able. -- III — Each tapped creature deals damage to itself equal to its power. mana={3}{R} @@ -67553,8 +67578,8 @@ type=Legendary Sorcery name=Urza's Saga auto=counter(0/0,1,Lore) auto=@each my firstmain:counter(0/0,1,Lore) -auto=this(counter{0/0.1.Lore}=) transforms((,newability[{T}:add{C}])) oneshot -auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}=) transforms((,newability[{2}{T}:token(Construct)])) oneshot +auto=this(counter{0/0.1.Lore}) transforms((,newability[{T}:add{C}])) +auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}=) transforms((,newability[{2}{T}:token(Construct)])) auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) name(Search artifact) target(artifact[manacost<=1]|mylibrary) moveto(mybattlefield) and!( shuffle )! auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) sacrifice(this) text=(As this Saga enters and after your draw step, add a lore counter. Sacrifice after III.) -- I — Urza's Saga gains "{T}: Add {C}." -- II — Urza's Saga gains "{2}, {T}: Create a 0/0 colorless Construct artifact creature token with 'This creature gets +1/+1 for each artifact you control.'" -- III — Search your library for an artifact card with mana cost {0} or {1}, put it onto the battlefield, then shuffle. @@ -68055,6 +68080,7 @@ name=Varchild, Betrayer of Kjeldor auto=@combatdamaged(player) from(this):create(Survivor:Creature Survivor:1/1:red)*thatmuch opponent auto=lord(survivor|opponentBattlefield) cantblock auto=lord(survivor|opponentBattlefield) cantattack +auto=lord(survivor|opponentBattlefield) cantpwattack auto=@movedTo(this|nonbattlezone) from(mybattlefield):moveTo(myBattlefield) all(survivor) text=Whenever Varchild, Betrayer of Kjeldor deals combat damage to a player, that player creates that many 1/1 red Survivor creature tokens. -- Survivors your opponents control can't block, and they can't attack you or a planeswalker you control. -- When Varchild leaves the battlefield, gain control of all Survivors. mana={2}{R} @@ -69939,7 +69965,7 @@ toughness=3 [/card] [card] name=Wanted Scoundrels -auto=_DIES_token(435451)*2 +auto=_DIES_token(435451)*2 opponent text=When Wanted Scoundrels dies, target opponent creates two colorless Treasure artifact tokens with "{T}, Sacrifice this artifact: Add one mana of any color to your mana pool." mana={1}{B} type=Creature diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index a2adb85c8..288cff43f 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -5685,8 +5685,6 @@ toughness=5 [card] name=Arid Mesa auto={L:1}{T}{S}:moveTo(myBattlefield) target(*[mountain;plains]|myLibrary) -#aicode=activate moveTo(myBattlefield) target(*[mountain;plains]|myLibrary) -#auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[mountain;plains]|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(ownerbattlefield))! afterrevealedend revealend text={T}, Pay 1 life, Sacrifice Arid Mesa: Search your library for a Mountain or Plains card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -8280,8 +8278,7 @@ type=Enchantment [card] name=Bad River auto=tap(noevent) -aicode=activate moveTo(myBattlefield) target(*[island;swamp]|myLibrary) -auto={T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[island;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(ownerbattlefield))! afterrevealedend revealend +auto={L:1}{T}{S}:moveTo(myBattlefield) target(*[island;swamp]|myLibrary) text=Bad River enters the battlefield tapped. -- {T}, Sacrifice Bad River: Search your library for an Island or Swamp card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -11157,10 +11154,9 @@ toughness=1 [card] name=Blades of Velis Vel abilities=changeling -target=creature +target=creature auto=2/0 auto=transforms((allsubtypes)) ueot -auto=may 2/0 target(creature) && transforms((allsubtypes)) ueot text=Changeling (This card is every creature type at all times.) -- Up to two target creatures each get +2/+0 and gain all creature types until end of turn. mana={1}{R} type=Tribal Instant @@ -12720,8 +12716,6 @@ toughness=2 [card] name=Bloodstained Mire auto={L:1}{T}{S}:moveTo(myBattlefield) target(*[swamp;mountain]|myLibrary) -#aicode=activate moveTo(myBattlefield) target(*[swamp;mountain]|myLibrary) -#auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[swamp;mountain]|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(ownerbattlefield))! afterrevealedend revealend text={T}, Pay 1 life, Sacrifice Bloodstained Mire: Search your library for a Swamp or Mountain card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -37556,8 +37550,7 @@ type=Enchantment [/card] [card] name=Evolving Wilds -aicode=activate moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|myLibrary) -auto={T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(land[basic]|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(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend +auto={T}{S}:moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|myLibrary) text={T}, Sacrifice Evolving Wilds: Search your library for a basic land card and put it onto the battlefield tapped. Then shuffle your library. type=Land [/card] @@ -41911,8 +41904,7 @@ toughness=2 [card] name=Flood Plain auto=tap(noevent) -aicode=activate moveTo(myBattlefield) target(*[island;plains]|myLibrary) -auto={T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[island;plains]|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(ownerbattlefield))! afterrevealedend revealend +auto={L:1}{T}{S}:activate moveTo(myBattlefield) target(*[island;plains]|myLibrary) text=Flood Plain enters the battlefield tapped. -- {T}, Sacrifice Flood Plain: Search your library for a Plains or Island card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -41959,8 +41951,6 @@ type=Enchantment [card] name=Flooded Strand auto={L:1}{T}{S}:moveTo(myBattlefield) target(*[island;plains]|myLibrary) -#aicode=activate moveTo(myBattlefield) target(*[island;plains]|myLibrary) -#auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[island;plains]|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(ownerbattlefield))! afterrevealedend revealend text={T}, Pay 1 life, Sacrifice Flooded Strand: Search your library for a Plains or Island card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -49218,7 +49208,7 @@ toughness=3 [card] name=Grand Architect auto=lord(other creature[blue]|myBattlefield) 1/1 -auto={U}:target(creature[artifact]) becomes(blue) +auto={U}:name(becomes blue) target(creature[artifact]) transforms((,newcolors[blue])) ueot auto={T(creature[blue]|mybattlefield)}:if type(artifact|myhand,mybattlefield,mycommandzone)~morethan~0 then add{C}{C} text=Other blue creatures you control get +1/+1. -- {U}:Target artifact creature becomes blue until end of turn. -- Tap an untapped blue creature you control: Add {C}{C}. Spend this mana only to cast artifact spells or activate abilities of artifacts. mana={1}{U}{U} @@ -49378,8 +49368,7 @@ toughness=4 [card] name=Grasslands auto=tap(noevent) -aicode=activate moveTo(myBattlefield) target(*[forest;plains]|myLibrary) -auto={T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[forest;plains]|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(ownerbattlefield))! afterrevealedend revealend +auto={L:1}{T}{S}:moveTo(myBattlefield) target(*[forest;plains]|myLibrary) text=Grasslands enters the battlefield tapped. -- {T}, Sacrifice Grasslands: Search your library for a Forest or Plains card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -51495,6 +51484,7 @@ toughness=3 [/card] [card] name=Gustrider Exuberant +abilities=flying auto={S}:all(creature[power>=5]|myBattlefield) flying ueot text=Flying -- Sacrifice Gustrider Exuberant: Creatures you control with power 5 or greater gain flying until end of turn. mana={2}{W} @@ -52364,7 +52354,7 @@ type=Sorcery [/card] [card] name=Harmony of Nature -target=creature[-tapped] +target=creature[-tapped]|myBattlefield auto=tap && life:4 text=Tap any number of untapped creatures you control. You gain 4 life for each creature tapped this way. mana={2}{G} @@ -63529,7 +63519,6 @@ toughness=2 name=Knight of the Reliquary auto=foreach(land|mygraveyard) 1/1 auto={T}{S(forest,plains|myBattlefield)}:moveTo(myBattlefield) target(land|myLibrary) -#auto={T}{S(forest,plains|myBattlefield)}:name(search card) reveal:plibrarycount optionone name(choose card) target(land|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(myBattlefield))! afterrevealedend revealend text=Knight of the Reliquary gets +1/+1 for each land card in your graveyard. -- {T}, Sacrifice a Forest or Plains: Search your library for a land card, put it onto the battlefield, then shuffle your library. mana={1}{G}{W} type=Creature @@ -64617,7 +64606,6 @@ name=Krosan Verge auto=tap(noevent) auto={T}:Add{1} auto={2}{T}{S}:name(sacrifice to search) transforms((,newability[ability$! notatarget(forest|mylibrary) moveto(ownerbattlefield) and!(tap(noevent))! !$ controller],newability[ability$! notatarget(plains|mylibrary) moveto(ownerbattlefield) and!(tap(noevent))! !$ controller])) oneshot -#auto={2}{T}{S}:name(sacrifice to search) transforms((,newability[ability$! name(search forest) notatarget(forest|mylibrary) moveto(ownerbattlefield) and!(tap(noevent))! !$ controller],newability[ability$! name(search plains) notatarget(plains|mylibrary) moveto(ownerbattlefield) and!(tap(noevent))! !$ controller])) oneshot text=Krosan Verge enters the battlefield tapped. -- {T}: Add {1} to your mana pool. -- {2}, {T}, Sacrifice Krosan Verge: Search your library for a Forest card and a Plains card and put them onto the battlefield tapped. Then shuffle your library. type=Land [/card] @@ -71272,8 +71260,6 @@ toughness=4 [card] name=Marsh Flats auto={L:1}{T}{S}:moveTo(myBattlefield) target(*[swamp;plains]|myLibrary) -#aicode=activate moveTo(myBattlefield) target(*[swamp;plains]|myLibrary) -#auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[swamp;plains]|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(ownerbattlefield))! afterrevealedend revealend text={T}, Pay 1 life, Sacrifice Marsh Flats: Search your library for a Plains or Swamp card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -75070,8 +75056,6 @@ type=Artifact [card] name=Misty Rainforest auto={L:1}{T}{S}:moveTo(myBattlefield) target(*[forest;island]|myLibrary) -#aicode=activate moveTo(myBattlefield) target(*[forest;island]|myLibrary) -#auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[forest;island]|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(ownerbattlefield))! afterrevealedend revealend text={T}, Pay 1 life, Sacrifice Misty Rainforest: Search your library for a Forest or Island card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -76657,8 +76641,7 @@ toughness=2 [card] name=Mountain Valley auto=tap(noevent) -aicode=activate moveTo(myBattlefield) target(*[mountain;forest]|myLibrary) -auto={T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[mountain;forest]|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(myBattlefield))! afterrevealedend revealend +auto={L:1}{T}{S}:moveTo(myBattlefield) target(*[mountain;forest]|myLibrary) text=Mountain Valley enters the battlefield tapped. -- {T}, Sacrifice Mountain Valley: Search your library for a Mountain or Forest card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -87474,9 +87457,7 @@ toughness=3 [/card] [card] name=Polluted Delta -aicode=activate moveTo(myBattlefield) target(*[island;swamp]|myLibrary) auto={T}{L:1}{S}:moveTo(myBattlefield) target(*[island;swamp]|myLibrary) -#auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[island;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(ownerbattlefield))! afterrevealedend revealend text={T}, Pay 1 life, Sacrifice Polluted Delta: Search your library for an Island or Swamp card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -92797,7 +92778,7 @@ type=Enchantment [/card] [card] name=Reciprocate -target=*[controllerdamager] +target=creature[controllerdamager] auto=moveto(exile) text=Exile target creature that dealt damage to you this turn. mana={W} @@ -96151,8 +96132,7 @@ toughness=1 [card] name=Rocky Tar Pit auto=tap(noevent) -aicode=activate moveTo(myBattlefield) target(*[mountain;swamp]|myLibrary) -auto={T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[mountain;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(myBattlefield))! afterrevealedend revealend +auto={L:1}{T}{S}:moveTo(myBattlefield) target(*[mountain;swamp]|myLibrary) text=Rocky Tar Pit enters the battlefield tapped. -- {T}, Sacrifice Rocky Tar Pit: Search your library for a Swamp or Mountain card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -99484,8 +99464,6 @@ toughness=1 [card] name=Scalding Tarn auto={L:1}{T}{S}:moveTo(myBattlefield) target(*[island;mountain]|myLibrary) -#aicode=activate moveTo(myBattlefield) target(*[island;mountain]|myLibrary) -#auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[island;mountain]|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(ownerbattlefield))! afterrevealedend revealend text={T}, Pay 1 life, Sacrifice Scalding Tarn: Search your library for an Island or Mountain card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -101076,7 +101054,6 @@ type=Enchantment [/card] [card] name=Sealed Fate -#target=opponent Game crashes when AI plays a card with cost {X} and that targets a player auto=name(Look) reveal:x revealzone(opponentlibrary) optionone name(exile a card) target(<1>*|reveal) moveto(ownerexile) optiononeend optiontwo target(<60>*|reveal) moveto(ownerlibrary) optiontwoend revealend text=Look at the top X cards of target opponent's library. Exile one of those cards and put the rest back on top of that player's library in any order. mana={X}{U}{B} @@ -101946,7 +101923,6 @@ type=Artifact [card] name=Self-Assembler auto=notatarget(creature[Assembly-Worker]|mylibrary) moveTo(ownerhand) -#auto=name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) revealtype(creature[Assembly-Worker]|mylibrary) optionone name(choose card) target(creature[Assembly-Worker]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(myhand)])) optiononeend revealend text=When Self-Assembler enters the battlefield, you may search your library for an Assembly-Worker creature card, reveal it, put it into your hand, then shuffle your library. mana={5} type=Artifact Creature @@ -107706,7 +107682,6 @@ name=Sleep target=player auto=lord(creature|targetedpersonsbattlefield) tap auto=lord(creature|targetedpersonsbattlefield) frozen -#auto=choice frozen all(creature|targetedpersonsBattlefield) ueot && tap all(creature|targetedpersonsBattlefield) text=Tap all creatures target player controls. Those creatures don't untap during that player's next untap step. mana={2}{U}{U} type=Sorcery @@ -108871,7 +108846,6 @@ toughness=2 [card] name=Solemn Simulacrum auto=moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|myLibrary) -#auto=name(search card) reveal:plibrarycount optionone name(choose card) target(land[basic]|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(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend auto=_DIES_may draw:1 controller text=When Solemn Simulacrum enters the battlefield, you may search your library for a basic land card and put that card onto the battlefield tapped. If you do, shuffle your library. -- When Solemn Simulacrum dies, you may draw a card. mana={4} @@ -113276,7 +113250,7 @@ toughness=1 [card] name=Stingerfling Spider abilities=reach -auto=destroy target(creature[flying]) +auto=may destroy target(creature[flying]) text=Reach -- When Stingwebbing Spider enters the battlefield, you may destroy target creature with flying. mana={4}{G} type=Creature @@ -119082,8 +119056,7 @@ type=Land [/card] [card] name=Terramorphic Expanse -aicode=activate moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|myLibrary) -auto={T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(land[basic]|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(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend +auto={T}{S}:moveTo(myBattlefield) and!(tap(noevent))! target(land[basic]|myLibrary) text={T}, Sacrifice Terramorphic Expanse: Search your library for a basic land card and put it onto the battlefield tapped. Then shuffle your library. type=Land [/card] @@ -127607,6 +127580,7 @@ name=Veiled Serpent abilities=cycling autohand=__CYCLING__({2}) auto=aslongas(island|opponentbattlefield) cantattack <1 +auto=aslongas(island|opponentbattlefield) cantpwattack <1 auto=@movedto(*|opponentstack) once:transforms((removetypes)) forever && transforms((Serpent Creature,setpower=4,settoughness=4)) forever text=When an opponent casts a spell, if Veiled Serpent is an enchantment, Veiled Serpent becomes a 4/4 Serpent creature that can't attack unless defending player controls an Island. -- Cycling {2} ({2}, Discard this card: Draw a card.) mana={2}{U} @@ -127932,8 +127906,6 @@ toughness=2 [card] name=Verdant Catacombs auto={L:1}{T}{S}:moveTo(myBattlefield) target(*[forest;swamp]|myLibrary) -#aicode=activate moveTo(myBattlefield) target(*[forest;swamp]|myLibrary) -#auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[forest;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(ownerbattlefield))! afterrevealedend revealend text={T}, Pay 1 life, Sacrifice Verdant Catacombs: Search your library for a Swamp or Forest card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -134326,8 +134298,6 @@ type=Instant [card] name=Windswept Heath auto={L:1}{T}{S}:moveTo(myBattlefield) target(*[forest;plains]|myLibrary) -#aicode=activate moveTo(myBattlefield) target(*[forest;plains]|myLibrary) -#auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[forest;plains]|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(ownerbattlefield))! afterrevealedend revealend text={T}, Pay 1 life, Sacrifice Windswept Heath: Search your library for a Forest or Plains card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -135238,8 +135208,6 @@ type=Land [card] name=Wooded Foothills auto={L:1}{T}{S}:moveTo(myBattlefield) target(*[mountain;forest]|myLibrary) -#aicode=activate moveTo(myBattlefield) target(*[mountain;forest]|myLibrary) -#auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[mountain;forest]|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(ownerbattlefield))! afterrevealedend revealend text={T}, Pay 1 life, Sacrifice Wooded Foothills: Search your library for a Mountain or Forest card and put it onto the battlefield. Then shuffle your library. type=Land [/card] diff --git a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt index 597c80ce5..e4bb8115b 100644 --- a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt +++ b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt @@ -190,7 +190,7 @@ subtype=Aminatou name=Angrath, Captain of Chaos auto=counter(0/0,5,loyalty) auto=lord(creature|myBattlefield) menace -auto={C(0/0,-2,Loyalty)}:name(-2: Amass 2) if type(creature[Army]|myBattlefield)~morethan~0 then counter(1/1,2) target(creature[Army]|myBattlefield) else token(Zombie Army,Creature Zombie Army,0/0,black) and!(counter(1/1,2))! +auto={C(0/0,-2,Loyalty)}:name(-2: Amass 2) _AMASS_(2) text=Creatures you control have menace. -- -2: Amass 2. (Put two +1/+1 counters on an Army you control. If you don't control one, create a 0/0 black Zombie Army creature token first.) mana={2}{BR}{BR} type=Legendary Planeswalker @@ -1479,7 +1479,7 @@ subtype=Kasmina name=Kasmina, Enigmatic Mentor auto=counter(0/0,5,loyalty) auto=@targeted(*[creature;planeswalker]|myBattlefield) from(*[instant;sorcery]|opponentzones):choice name(This spell costs 2 more) name(This spell costs 2 more) target(*[instant;sorcery]|opponentzones) transforms((,newability[pay[[{2}]] name(pay 2 mana) donothing?fizzle])) oneshot -auto={C(0/0,-2,Loyalty)}:name(-2: Create a 2/2 Wizard, draw and discard a card) token(Wizard,Creature Wizard,2/2,blue) && ability$!name(Draw a card) draw:1!$ controller && ability$!name(discard a card) notatarget(*|myhand) reject!$ controller +auto={C(0/0,-2,Loyalty)}:name(-2: Create a 2/2 Wizard, draw and discard a card) token(Wizard,Creature Wizard,2/2,blue) && draw:1 && transforms((,newability[target(*|myhand) reject])) forever text=Spells your opponents cast that target a creature or planeswalker you control cost {2} more to cast. -- −2: Create a 2/2 blue Wizard creature token. Draw a card, then discard a card. mana={3}{U} type=Legendary Planeswalker @@ -2649,7 +2649,7 @@ subtype=Szat [/card] [card] name=Teyo, the Shieldmage -abilities=opponentshroud +abilities=playershroud auto=counter(0/0,5,loyalty) auto={C(0/0,-2,Loyalty)}:name(-2: Create a 0/3 Wall with defender) create(Wall:Creature Wall:0/3:white:defender) text=You have hexproof. (You can't be the target of spells or abilities your opponents control.) -- -2: Create a 0/3 white Wall creature token with defender.