From 96f7072a77f566718fc49c2bfe3b0b192452faf6 Mon Sep 17 00:00:00 2001 From: Eduardo Date: Sat, 13 Nov 2021 22:40:07 -0600 Subject: [PATCH] fixed primitives, several bugs and crashes The Locust God Pest tokens should be black not blue Shabraz, the Skyshark Arlinn Kord Tovolar, Dire Overlord mystic skull golden guardian blink of an eye Got arctic treeline in momir, the only cards that should have rarity=L are basic lands or else you get them in momir since they have basic subtypes storm the festival desc rise of the ants dryad's revival shouldn't be able to retrive itself or play with an empty GY shiny impetus malevolent hermit whirlwind of thought kiora's dismissal description glorious protector Aurora Phoenix is not a partner Bastion Protector auto=lord(creature[iscommander]|mybattlefield) indestructible Golgari Findbroker auto=target(*[-instant;-sorcery]|mygraveyard) moveto(ownerhand) Ulrich's Kindred auto={3}{G}:target(*[wolf;werewolf;attacking]) indestructible ueot Hard Evidence King of the Pride auto=lord(creature[cat]|myBattlefield) 2/1 Lathliss, Dragon Queen auto={1}{R}:all(dragon|myBattlefield) 1/0 ueot --- projects/mtg/bin/Res/sets/KHM/_cards.dat | 40 +++--- .../bin/Res/sets/primitives/borderline.txt | 114 +++++++++--------- projects/mtg/bin/Res/sets/primitives/mtg.txt | 2 +- .../bin/Res/sets/primitives/planeswalkers.txt | 2 +- 4 files changed, 78 insertions(+), 80 deletions(-) diff --git a/projects/mtg/bin/Res/sets/KHM/_cards.dat b/projects/mtg/bin/Res/sets/KHM/_cards.dat index 4b3f790bf..b9f245782 100644 --- a/projects/mtg/bin/Res/sets/KHM/_cards.dat +++ b/projects/mtg/bin/Res/sets/KHM/_cards.dat @@ -1533,12 +1533,12 @@ rarity=U [card] primitive=Alpine Meadow id=503864 -rarity=L +rarity=C [/card] [card] primitive=Arctic Treeline id=503865 -rarity=L +rarity=C [/card] [card] primitive=Axgard Armory @@ -1593,7 +1593,7 @@ rarity=U [card] primitive=Glacial Floodplain id=503876 -rarity=L +rarity=C [/card] [card] primitive=Gnottvold Slumbermound @@ -1618,12 +1618,12 @@ rarity=T [card] primitive=Highland Forest id=503881 -rarity=L +rarity=C [/card] [card] primitive=Ice Tunnel id=503882 -rarity=L +rarity=C [/card] [card] primitive=Immersturm Skullcairn @@ -1643,7 +1643,7 @@ rarity=U [card] primitive=Rimewood Falls id=503886 -rarity=L +rarity=C [/card] [card] primitive=Shimmerdrift Vale @@ -1658,12 +1658,12 @@ rarity=U [card] primitive=Snowfield Sinkhole id=503889 -rarity=L +rarity=C [/card] [card] primitive=Sulfurous Mire id=503890 -rarity=L +rarity=C [/card] [card] primitive=Surtland Frostpyre @@ -1678,12 +1678,12 @@ rarity=R [card] primitive=Volatile Fjord id=503893 -rarity=L +rarity=C [/card] [card] primitive=Woodland Chasm id=503894 -rarity=L +rarity=C [/card] [card] primitive=The World Tree @@ -1693,52 +1693,52 @@ rarity=R [card] primitive=Snow-Covered Plains id=503896 -rarity=L +rarity=C [/card] [card] primitive=Snow-Covered Plains id=503897 -rarity=L +rarity=C [/card] [card] primitive=Snow-Covered Island id=503898 -rarity=L +rarity=C [/card] [card] primitive=Snow-Covered Island id=503899 -rarity=L +rarity=C [/card] [card] primitive=Snow-Covered Swamp id=503900 -rarity=L +rarity=C [/card] [card] primitive=Snow-Covered Swamp id=503901 -rarity=L +rarity=C [/card] [card] primitive=Snow-Covered Mountain id=503902 -rarity=L +rarity=C [/card] [card] primitive=Snow-Covered Mountain id=503903 -rarity=L +rarity=C [/card] [card] primitive=Snow-Covered Forest id=503904 -rarity=L +rarity=C [/card] [card] primitive=Snow-Covered Forest id=503905 -rarity=L +rarity=C [/card] [card] primitive=Valkyrie Harbinger diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index ef27a2784..0575bdb0a 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -4001,7 +4001,7 @@ toughness=2 [/card] [card] name=Aurora Phoenix -abilities=flying,partner +abilities=flying autostack=if casted(this) then cascade:plibrarycount text=Flying -- Cascade (When you cast this spell, exile cards from the top of your library until you exile a nonland card that costs less. You may cast it without paying its mana cost. Put the exiled cards on the bottom of your library in a random order.) -- Whenever you cast a spell with cascade, return Aurora Phoenix from your graveyard to your hand. mana={4}{R}{R} @@ -5214,7 +5214,7 @@ type=Sorcery [card] name=Bastion Protector auto=lord(creature[iscommander]|mybattlefield) 2/2 -auto=lord(*[iscommander]) indestructible +auto=lord(creature[iscommander]|mybattlefield) indestructible text=Commander creatures you control get +2/+2 and have indestructible. mana={2}{W} type=Creature @@ -5675,7 +5675,7 @@ toughness=2 [card] name=Beledros Witherbloom abilities=flying -auto=@each upkeep:name(Create Pest) token(Pest,Creature Pest,1/1,green,blue) and!( transforms((,newability[_DIES_life:1 controller])) forever )! +auto=@each upkeep:name(Create Pest) token(Pest,Creature Pest,1/1,black,green) and!( transforms((,newability[_DIES_life:1 controller])) forever )! text=Flying -- At the beginning of each upkeep, create a 1/1 black and green Pest creature token with "When this creature dies, you gain 1 life." -- Pay 10 life: Untap all lands you control. Activate only once each turn. mana={5}{B}{G} type=Legendary Creature @@ -6727,7 +6727,7 @@ toughness=1 [card] name=Blight Mound auto=lord(pest[attacking]|mybattlefield) transforms((,newability[1/0],newability[menace])) -auto=@movedto(creature[-token]|graveyard) from(mybattlefield):token(Pest,Creature Pest,1/1,green,blue) and!( transforms((,newability[_DIES_life:1 controller])) forever )! +auto=@movedto(creature[-token]|graveyard) from(mybattlefield):token(Pest,Creature Pest,1/1,black,green) and!( transforms((,newability[_DIES_life:1 controller])) forever )! text=Attacking Pests you control get +1/+0 and have menace. -- Whenever a nontoken creature you control dies, create a 1/1 black and green Pest creature token with "When this creature dies, you gain 1 life." mana={2}{B} type=Enchantment @@ -6874,7 +6874,7 @@ name=Blink of an Eye kicker={1}{U} target=*[-land] auto=moveTo(ownerHand) -auto=if paid(kicker) then draw:1 +auto=if paid(kicker) then draw:1 controller text=Kicker {1}{U} (You may pay an additional {1}{U} as you cast this spell.) -- Return target nonland permanent to its owner's hand. If this spell was kicked, draw a card. mana={1}{U} type=Instant @@ -9785,7 +9785,7 @@ toughness=6 [/card] [card] name=Callous Bloodmage -auto=choice name(Create Pest) token(Pest,Creature Pest,1/1,green,blue) and!( transforms((,newability[_DIES_life:1 controller])) forever )! +auto=choice name(Create Pest) token(Pest,Creature Pest,1/1,black,green) and!( transforms((,newability[_DIES_life:1 controller])) forever )! auto=choice name(Draw and lose life) draw:1 controller && life:-1 controller auto=choice name(Exile opponent's graveyard) all(*|opponentgraveyard) moveto(exile) auto=choice name(Exile your graveyard) all(*|mygraveyard) moveto(exile) @@ -14052,7 +14052,7 @@ type=Instant [/card] [card] name=Containment Breach -auto=if type(*[artifact;enchantment;manacost<=2]|battlefield)~morethan~0 then choice name(Destroy artifact or enchantment with manacost 2 or less) name(Destroy artifact or enchantment with manacost 2 or less) target(*[artifact;enchantment;manacost<=2]|battlefield) destroy && token(Pest,Creature Pest,1/1,green,blue) and!( transforms((,newability[_DIES_life:1 controller])) forever )! +auto=if type(*[artifact;enchantment;manacost<=2]|battlefield)~morethan~0 then choice name(Destroy artifact or enchantment with manacost 2 or less) name(Destroy artifact or enchantment with manacost 2 or less) target(*[artifact;enchantment;manacost<=2]|battlefield) destroy && token(Pest,Creature Pest,1/1,black,green) and!( transforms((,newability[_DIES_life:1 controller])) forever )! auto=if type(*[artifact;enchantment;manacost>=3]|battlefield)~morethan~0 then choice name(Destroy artifact or enchantment with manacost 3 or more) name(Destroy artifact or enchantment with manacost 3 or more) target(*[artifact;enchantment;manacost>=3]|battlefield) destroy text=Destroy target artifact or enchantment. If its mana value is 2 or less, create a 1/1 black and green Pest creature token with "When this creature dies, you gain 1 life." mana={2}{G} @@ -20548,7 +20548,8 @@ toughness=4 [card] name=Dryad's Revival flashback={4}{G} -auto=name(Return card to hand) target(*|mygraveyard) moveto(myhand) +target=*|myGraveyard +auto=moveTo(myHand) text=Return target card from your graveyard to your hand. -- Flashback {4}{G} (You may cast this card from your graveyard for its flashback cost. Then exile it.) mana={2}{G} type=Sorcery @@ -29346,7 +29347,7 @@ name=Glorious Protector abilities=foretell,flash,flying autohand={2}:name(Pay 2 and exile face-down) name(Pay 2 and exile face-down) doforetell myturnonly autoexile={2}{W} restriction{compare(canforetellcast)~morethan~0}:name(Cast with foretell) name(Cast with foretell) activate castcard(alternative) -auto=may name(Exile non-angel creatures) target(*[-angel]|mybattlefield) (blink)forsrc +auto=may name(Exile non-angel creatures) target(creature[-angel]|mybattlefield) (blink)forsrc text=Flash -- Flying -- When Glorious Protector enters the battlefield, you may exile any number of non-Angel creatures you control until Glorious Protector leaves the battlefield. mana={2}{W}{W} type=Creature @@ -30203,7 +30204,7 @@ subtype=Food [card] name=Golden Guardian abilities=defender -auto={2}:transforms((,newability[name(Fights another creature you control) name(Fights another creature you control) target(other creature) dynamicability],newability[counter(0/0.1.GoldenFilp)])) ueot +auto={2}:transforms((,newability[name(Fights another creature you control) name(Fights another creature you control) target(other creature|myBattlefield) dynamicability],newability[counter(0/0.1.GoldenFilp)])) ueot auto=@movedto(creature[counter{0/0.1.GoldenFilp}]|mygraveyard) from(battlefield):name(Return Golden Guardian to the battlefield transformed) name(Return Golden Guardian to the battlefield transformed) all(trigger[to]) name(Return Golden Guardian to the battlefield transformed) transforms((,newability[counter(0/0.1.GoldenFilp)])) forever auto=@each endofturn:this(counter{0/0.1.GoldenFilp}>=1) removeallcounters(0/0,1,GoldenFilp) autograveyard=this(counter{0/0.1.GoldenFilp}>=1) flip(Gold-Forge Garrison) forcetype(land) @@ -30336,7 +30337,7 @@ subtype=Equipment [/card] [card] name=Golgari Findbroker -auto=target(*[-instant,-sorcery]|mygraveyard) moveto(ownerhand) +auto=target(*[-instant;-sorcery]|mygraveyard) moveto(ownerhand) text=When Golgari Findbroker enters the battlefield, return target permanent card from your graveyard to your hand. mana={B}{B}{G}{G} type=Creature @@ -32517,7 +32518,7 @@ subtype=Aura [card] name=Hard Evidence auto=name(Create crab) token(Crab) -auto=name(Create clues) token(Clue)*2 +auto=name(Create clues) token(Clue) text=Create a 0/3 blue Crab creature token. -- Investigate. (Create a colorless Clue artifact token with "{2} , Sacrifice this artifact: Draw a card.") mana={U} type=Sorcery @@ -34986,7 +34987,7 @@ type=Sorcery [/card] [card] name=Hunt for Specimens -auto=token(Pest,Creature Pest,1/1,green,blue) and!( transforms((,newability[_DIES_life:1 controller])) forever )! +auto=token(Pest,Creature Pest,1/1,black,green) and!( transforms((,newability[_DIES_life:1 controller])) forever )! auto=name(Learn) transforms((,newability[if type(*[lesson]|mysideboard)~morethan~0 then choice name(Put lesson in hand) name(Put lesson in hand) target(*[lesson]|mysideboard) moveto(myhand)],newability[if type(*|myhand)~morethan~0 then choice name(Discard and draw) name(Discard and draw) target(*|myhand) reject and!(draw:1)!],newability[if type(Retriever Phoenix|mygraveyard)~morethan~0 then choice name(Return a Retriever Phoenix) name(Return a Retriever Phoenix) target(Retriever Phoenix|mygraveyard) moveto(myBattlefield)],newability[choice name(Don't learn) donothing])) oneshot text=Create a 1/1 black and green Pest creature token with "When this creature dies, you gain 1 life." -- Learn. (You may reveal a Lesson card you own from outside the game and put it into your hand, or discard a card to draw a card.) mana={1}{B} @@ -39650,7 +39651,7 @@ subtype=Saga [/card] [card] name=King of the Pride -auto=all(creature[cat]|myBattlefield) 2/1 +auto=lord(creature[cat]|myBattlefield) 2/1 text=Other Cats you control get +2/+1. mana={2}{W} type=Creature @@ -39728,26 +39729,26 @@ toughness=6 name=Kiora's Dismissal abilities=hasnokicker,hasstrive kicker=multi{U} name(Strive) -auto=if compare(kicked)~equalto~0 then name(choose 1 creature) name(choose 1 creature) target(enchantment) moveto(ownerhand) -auto=if compare(kicked)~equalto~1 then name(choose 2 creatures) name(choose 2 creatures) target(enchantment) moveto(ownerhand) -auto=if compare(kicked)~equalto~2 then name(choose 3 creatures) name(choose 3 creatures) target(enchantment) moveto(ownerhand) -auto=if compare(kicked)~equalto~3 then name(choose 4 creatures) name(choose 4 creatures) target(enchantment) moveto(ownerhand) -auto=if compare(kicked)~equalto~4 then name(choose 5 creatures) name(choose 5 creatures) target(enchantment) moveto(ownerhand) -auto=if compare(kicked)~equalto~5 then name(choose 6 creatures) name(choose 6 creatures) target(enchantment) moveto(ownerhand) -auto=if compare(kicked)~equalto~6 then name(choose 7 creatures) name(choose 7 creatures) target(enchantment) moveto(ownerhand) -auto=if compare(kicked)~equalto~7 then name(choose 8 creatures) name(choose 8 creatures) target(enchantment) moveto(ownerhand) -auto=if compare(kicked)~equalto~8 then name(choose 9 creatures) name(choose 9 creatures) target(enchantment) moveto(ownerhand) -auto=if compare(kicked)~equalto~9 then name(choose 10 creatures) name(choose 10 creatures) target(enchantment) moveto(ownerhand) -auto=if compare(kicked)~equalto~10 then name(choose 11 creatures) name(choose 11 creatures) target(enchantment) moveto(ownerhand) -auto=if compare(kicked)~equalto~11 then name(choose 12 creatures) name(choose 12 creatures) target(enchantment) moveto(ownerhand) -auto=if compare(kicked)~equalto~12 then name(choose 13 creatures) name(choose 13 creatures) target(enchantment) moveto(ownerhand) -auto=if compare(kicked)~equalto~13 then name(choose 14 creatures) name(choose 14 creatures) target(enchantment) moveto(ownerhand) -auto=if compare(kicked)~equalto~14 then name(choose 15 creatures) name(choose 15 creatures) target(enchantment) moveto(ownerhand) -auto=if compare(kicked)~equalto~15 then name(choose 16 creatures) name(choose 16 creatures) target(enchantment) moveto(ownerhand) -auto=if compare(kicked)~equalto~16 then name(choose 17 creatures) name(choose 17 creatures) target(enchantment) moveto(ownerhand) -auto=if compare(kicked)~equalto~17 then name(choose 18 creatures) name(choose 18 creatures) target(enchantment) moveto(ownerhand) -auto=if compare(kicked)~equalto~18 then name(choose 19 creatures) name(choose 19 creatures) target(enchantment) moveto(ownerhand) -auto=if compare(kicked)~morethan~18 then name(choose 20 creatures) name(choose 20 creatures) target(enchantment) moveto(ownerhand) +auto=if compare(kicked)~equalto~0 then name(choose 1 enchantment) name(choose 1 enchantment) target(enchantment) moveto(ownerhand) +auto=if compare(kicked)~equalto~1 then name(choose 2 enchantments) name(choose 2 enchantments) target(enchantment) moveto(ownerhand) +auto=if compare(kicked)~equalto~2 then name(choose 3 enchantments) name(choose 3 enchantments) target(enchantment) moveto(ownerhand) +auto=if compare(kicked)~equalto~3 then name(choose 4 enchantments) name(choose 4 enchantments) target(enchantment) moveto(ownerhand) +auto=if compare(kicked)~equalto~4 then name(choose 5 enchantments) name(choose 5 enchantments) target(enchantment) moveto(ownerhand) +auto=if compare(kicked)~equalto~5 then name(choose 6 enchantments) name(choose 6 enchantments) target(enchantment) moveto(ownerhand) +auto=if compare(kicked)~equalto~6 then name(choose 7 enchantments) name(choose 7 enchantments) target(enchantment) moveto(ownerhand) +auto=if compare(kicked)~equalto~7 then name(choose 8 enchantments) name(choose 8 enchantments) target(enchantment) moveto(ownerhand) +auto=if compare(kicked)~equalto~8 then name(choose 9 enchantments) name(choose 9 enchantments) target(enchantment) moveto(ownerhand) +auto=if compare(kicked)~equalto~9 then name(choose 10 enchantments) name(choose 10 enchantments) target(enchantment) moveto(ownerhand) +auto=if compare(kicked)~equalto~10 then name(choose 11 enchantments) name(choose 11 enchantments) target(enchantment) moveto(ownerhand) +auto=if compare(kicked)~equalto~11 then name(choose 12 enchantments) name(choose 12 enchantments) target(enchantment) moveto(ownerhand) +auto=if compare(kicked)~equalto~12 then name(choose 13 enchantments) name(choose 13 enchantments) target(enchantment) moveto(ownerhand) +auto=if compare(kicked)~equalto~13 then name(choose 14 enchantments) name(choose 14 enchantments) target(enchantment) moveto(ownerhand) +auto=if compare(kicked)~equalto~14 then name(choose 15 enchantments) name(choose 15 enchantments) target(enchantment) moveto(ownerhand) +auto=if compare(kicked)~equalto~15 then name(choose 16 enchantments) name(choose 16 enchantments) target(enchantment) moveto(ownerhand) +auto=if compare(kicked)~equalto~16 then name(choose 17 enchantments) name(choose 17 enchantments) target(enchantment) moveto(ownerhand) +auto=if compare(kicked)~equalto~17 then name(choose 18 enchantments) name(choose 18 enchantments) target(enchantment) moveto(ownerhand) +auto=if compare(kicked)~equalto~18 then name(choose 19 enchantments) name(choose 19 enchantments) target(enchantment) moveto(ownerhand) +auto=if compare(kicked)~morethan~18 then name(choose 20 enchantments) name(choose 20 enchantments) target(enchantment) moveto(ownerhand) text=Strive - Kiora's Dismissal costs {U} more to cast for each target beyond the first. -- Return any number of target enchantments to their owners' hands. mana={U} type=Instant @@ -41096,7 +41097,7 @@ toughness=2 name=Lathliss, Dragon Queen abilities=flying auto=@movedTo(Dragon[-token]|myBattlefield):create(dragon:creature dragon:5/5:red:flying) -auto={1}{R}:all(dragons|myBattlefield)) 1/0 ueot +auto={1}{R}:all(dragon|myBattlefield)) 1/0 ueot text=Flying -- Whenever another nontoken Dragon enters the battlefield under your control, create a 5/5 red Dragon creature token with flying. -- {1}{R}: Dragons you control get +1/+0 until end of turn. mana={4}{R}{R} type=Legendary Creature @@ -44026,7 +44027,7 @@ retrace={2}{U} name(Cast with disturb) auto=if paid(retrace) then flip(backside) auto={U}{S}:name(Counter non-creature spell) target(*[-creature]|opponentstack) transforms((,newability[pay[[{3}]] name(pay 3 mana) donothing?fizzle])) forever text={U}, Sacrifice Malevolent Hermit: Counter target noncreature spell unless its controller pays {3}. -- Disturb {2}{U} (You may cast this card from your graveyard transformed for its disturb cost.) // Benevolent Geist -mana={W}{U} +mana={1}{U} type=Creature subtype=Human Wizard power=2 @@ -47430,10 +47431,7 @@ auto={1}{T}:name(Add 1 mana) ability$!name(Choose one) choice name(Add red mana) auto={5}{T}:name(Transform Mystic Skull) flip(backside) text={1}, {T}: Add one mana of any color. -- {5}, {T}: Transform Mystic Skull. // Mystic Monstrosity mana={2} -type=Legendary Creature -subtype=Human Werewolf -power=4 -toughness=4 +type=Artifact [/card] [card] name=Mystic Skyfish @@ -52210,15 +52208,15 @@ toughness=1 [card] name=Pest Infestation auto=thisforeach(variable{halfpaid}>0) ability$!may name(Destroy artifact or enchantment) target(*[artifact;enchantment]|battlefield) destroy!$ controller -auto=thisforeach(X) token(Pest,Creature Pest,1/1,green,blue) and!( transforms((,newability[_DIES_life:1 controller])) forever )! +auto=thisforeach(X) token(Pest,Creature Pest,1/1,black,green) and!( transforms((,newability[_DIES_life:1 controller])) forever )! text=Destroy up to X target artifacts and/or enchantments. Create twice X 1/1 black and green Pest creature tokens with "When this creature dies, you gain 1 life." mana={X}{X}{G} type=Sorcery [/card] [card] name=Pest Summoning -auto=token(Pest,Creature Pest,1/1,green,blue) and!( transforms((,newability[_DIES_life:1 controller])) forever )! -auto=token(Pest,Creature Pest,1/1,green,blue) and!( transforms((,newability[_DIES_life:1 controller])) forever )! +auto=token(Pest,Creature Pest,1/1,black,green) and!( transforms((,newability[_DIES_life:1 controller])) forever )! +auto=token(Pest,Creature Pest,1/1,black,green) and!( transforms((,newability[_DIES_life:1 controller])) forever )! text=Create two 1/1 black and green Pest creature tokens with "When this creature dies, you gain 1 life." mana={1}{BG}{BG} type=Sorcery @@ -52231,7 +52229,7 @@ otherrestriction=can play sorcery,compare(isflipped)~equalto~1 restriction=compare(isflipped)~equalto~0 anyzone={0}:doubleside(Restorative Burst) autostack=if paid(alternative) then transforms((,newability[moveto(myexile)],newability[activate castcard(copied named!:restorative burst:!)])) forever -auto={T}{D(*|myhand)}:name(Create Pest) token(Pest,Creature Pest,1/1,green,blue) and!( transforms((,newability[_DIES_life:1 controller])) forever )! +auto={T}{D(*|myhand)}:name(Create Pest) token(Pest,Creature Pest,1/1,black,green) and!( transforms((,newability[_DIES_life:1 controller])) forever )! auto={1}{T}:deplete:lifegain opponent auto={4}{T} restriction{type(*|mygraveyard)~morethan~3}:name(Exile from your graveyard) transforms((,newability[draw:1 controller],newability[name(Exile from your graveyard) target(<4>*|mygraveyard) moveto(exile)])) oneshot auto={4}{T} restriction{type(*|opponentgraveyard)~morethan~3}:name(Exile from opponent's graveyard) transforms((,newability[draw:1 controller],newability[name(Exile from opponent's graveyard) target(<4>*|opponentgraveyard) moveto(exile)])) oneshot @@ -54351,7 +54349,7 @@ toughness=1 [/card] [card] name=Professor of Zoomancy -auto=token(Pest,Creature Pest,1/1,green,blue) and!( transforms((,newability[_DIES_life:1 controller])) forever )! +auto=token(Pest,Creature Pest,1/1,black,green) and!( transforms((,newability[_DIES_life:1 controller])) forever )! text=When Professor of Zoomancy enters the battlefield, create a 1/1 black and green Pest creature token with "When this creature dies, you gain 1 life." mana={3}{G} type=Creature @@ -58628,8 +58626,8 @@ type=Sorcery [card] name=Rise of the Ants flashback={6}{G}{G} -auto=token(Insect,Creature Insect,3/3,green) -auto=life:3 controller +auto=token(Insect,Creature Insect,3/3,green)*2 +auto=life:2 controller text=Create two 3/3 green Insect creature tokens. You gain 2 life. -- Flashback {6}{G}{G} (You may cast this card from your graveyard for its flashback cost. Then exile it.) mana={4}{G}{G} type=Sorcery @@ -62350,7 +62348,7 @@ type=Sorcery name=Sedgemoor Witch abilities=menace auto=@targeted(this) from(*|opponentstack):choice name(This spell costs 3 life more) name(This spell costs 3 life more) target(*|opponentstack) transforms((,newability[pay[[{L:3}]] name(pay 3 life) donothing?fizzle])) oneshot -auto=@movedto(*[instant;sorcery]|mystack):name(Create Pest) token(Pest,Creature Pest,1/1,green,blue) and!( transforms((,newability[_DIES_life:1 controller])) forever )! +auto=@movedto(*[instant;sorcery]|mystack):name(Create Pest) token(Pest,Creature Pest,1/1,black,green) and!( transforms((,newability[_DIES_life:1 controller])) forever )! text=Menace -- Ward-Pay 3 life. (Whenever this creature becomes the target of a spell or ability an opponent controls, counter it unless that player pays 3 life.) -- Magecraft - Whenever you cast or copy an instant or sorcery spell, create a 1/1 black and green Pest creature token with "When this creature dies, you gain 1 life." mana={2}{B} type=Creature @@ -63108,9 +63106,9 @@ toughness=2 name=Shabraz, the Skyshark abilities=hiddenface,partner auto=may name(Put partner in hand) moveTo(myhand) target(Brallin^ Skyshark Rider|mylibrary) -auto=@drawof(player:all(this) counter(1/1,1) && life:1 controller +auto=@drawof(player):all(this) counter(1/1,1) && life:1 controller auto={WU}:target(creature[Human]) flying ueot -text=Partner with Shabraz, the Skyshark (When this creature enters the battlefield, target player may put Shabraz into their hand from their library, then shuffle.) -- Whenever you discard a card, put a +1/+1 counter on Brallin, Skyshark Rider and it deals 1 damage to each opponent. -- {R}: Target Shark gains trample until end of turn. +text=Partner with Brallin, Skyshark Rider -- Flying -- Whenever you draw a card, put a +1/+1 counter on Shabraz, the Skyshark and you gain 1 life. -- {W/U}: Target Human gains flying until end of turn. mana={3}{W}{U} type=Legendary Creature subtype=Shark Bird @@ -63880,8 +63878,8 @@ name=Shiny Impetus target=creature auto=teach(creature) transforms((,newability[counter(0/0.1.Goaded)],newability[this(counter{0/0.1.Goaded}>0) mustattack],newability[_ATTACKING_token(Treasure Sur)])) auto=2/2 -text=Enchant creature -- Enchanted creature gets +1/+1 and is goaded. (It attacks each combat if able and attacks a player other than you if able.) -- Whenever enchanted creature attacks, each other creature that's attacking one of your opponents gets +1/+1 until end of turn. -mana={2}{W} +text=Enchanted creature gets +2/+2 and is goaded. (It attacks each combat if able and attacks a player other than you if able.) -- Whenever enchanted creature attacks, you create a Treasure token. (It's an artifact with "Tap, Sacrifice this artifact: Add one mana of any color.") +mana={2}{R} type=Enchantment subtype=Aura [/card] @@ -69814,7 +69812,7 @@ type=Sorcery name=Storm the Festival flashback={7}{G}{G}{G} aicode=activate transforms((,newability[target(*[-instant;-sorcery;manacost<=5]|mylibrary) moveto(mybattlefield) and!( all(*[zpos<=5]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )!])) oneshot -auto=name(Look top 5 cards) reveal:5 optionone name(Get Creature) target(*[-instant;-sorcery;manacost<=5]|reveal) moveto(mylibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!( moveTo(myBattlefield) )! afterrevealedend revealend +auto=name(Look top 5 cards) reveal:5 optionone name(Get permanent with mana value 5 or less) target(*[-instant;-sorcery;manacost<=5]|reveal) moveto(mylibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!( moveTo(myBattlefield) )! afterrevealedend revealend text=Look at the top five cards of your library. Put up to two permanent cards with mana value 5 or less from among them onto the battlefield. Put the rest on the bottom of your library in a random order. -- Flashback {7}{G}{G}{G} (You may cast this card from your graveyard for its flashback cost. Then exile it.) mana={3}{G}{G}{G} type=Sorcery @@ -72592,7 +72590,7 @@ toughness=4 [/card] [card] name=Tend the Pests -auto=thisforeach(storedpower>0) token(Pest,Creature Pest,1/1,green,blue) and!( transforms((,newability[_DIES_life:1 controller])) forever )! +auto=thisforeach(storedpower>0) token(Pest,Creature Pest,1/1,black,green) and!( transforms((,newability[_DIES_life:1 controller])) forever )! text=As an additional cost to cast this spell, sacrifice a creature. -- Create X 1/1 black and green Pest creature tokens with "When this creature dies, you gain 1 life," where X is the sacrificed creature's power. mana={B}{G}{S(creature|mybattlefield)} type=Instant @@ -73378,7 +73376,7 @@ subtype=Saga [/card] [card] name=The Locust God -abilities=flying, haste +abilities=flying auto=@drawn(controller):token(Insect,creature Insect,1/1,red,blue,flying,haste) auto={2}{U}{R}:draw:1 && transforms((,newability[target(*|myhand) reject])) forever auto=_DIES_phaseaction[endofturn once] moveTo(ownerhand) ueot @@ -75408,8 +75406,8 @@ text=Whenever a Wolf or Werewolf you control deals combat damage to a player, dr mana={1}{R}{G} type=Legendary Creature subtype=Human Werewolf -power=4 -toughness=4 +power=3 +toughness=3 [/card] [card] name=Tovolar, the Midnight Scourge @@ -81271,7 +81269,7 @@ type=Instant [/card] [card] name=Whirlwind of Thought -auto=@movedto(*[-creature]|myStak):draw:1 controller +auto=@movedto(*[-creature]|myStack):draw:1 controller text=Whenever you cast a noncreature spell, draw a card. mana={1}{U}{R}{W} type=Enchantment diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index bbf4f140e..5f06a31e0 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -125390,7 +125390,7 @@ toughness=6 [card] name=Ulrich's Kindred abilities=trample -auto={3}{G}:target(wolf,werewolf[attacking]) indestructible ueot +auto={3}{G}:target(*[wolf;werewolf;attacking]) indestructible ueot text=Trample -- {3}{G}: Target attacking Wolf or Werewolf gains indestructible until end of turn. mana={2}{R} type=Creature diff --git a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt index a50bdb79d..b78c0755c 100644 --- a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt +++ b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt @@ -226,7 +226,7 @@ auto=counter(0/0,3,loyalty) backside=Arlinn, Embraced by the Moon restriction=compare(isflipped)~equalto~0 anyzone={0}:doubleside(backside) -auto={C(0/0,1,Loyalty)}:name(+1: Put a loyalty counter) donothing restriction{compare(cantargetcre)~lessthan~1} +auto={C(0/0,1,Loyalty)}:name(+1: Put a loyalty counter) donothing auto={C(0/0,1,Loyalty)}:name(+1: Target creature gets +2/+2) target(creature) 2/2 ueot auto={C(0/0,0,Loyalty)}:name(0: Create a Wolf and transform) create(Wolf:Creature Wolf:2/2:green) && flip(backside) text=+1: Until end of turn, up to one target creature gets +2/+2 and gains vigilance and haste. -- 0: Put a 2/2 green Wolf creature token onto the battlefield. Transform Arlinn Kord.