From d7e9ee7796e318f885158dcdf194cc4c5bce0bd7 Mon Sep 17 00:00:00 2001 From: "solo81@web.de" Date: Thu, 29 Sep 2011 21:16:24 +0000 Subject: [PATCH] Changed the code of all cards with a trigger (@...) and ":aslongas()". Example: Bloodhall Ooze. This is its new code: [card] name=Bloodhall Ooze auto=@each my upkeep restriction{type(*[black]|myBattlefield)~morethan~0}:may counter(1/1) auto=@each my upkeep restriction{type(*[green]|myBattlefield)~morethan~0}:may counter(1/1) text=At the beginning of your upkeep, if you control a black permanent, you may put a +1/+1 counter on Bloodhall Ooze. -- At the beginning of your upkeep, if you control a green permanent, you may put a +1/+1 counter on Bloodhall Ooze. mana={R} type=Creature subtype=Ooze power=1 toughness=1 [/card] This new version, using one of Zeth's latest additions ("restriction{...}"), shows to be a nice improvement concerning the ingame experience: NOW, the trigger will only show up in the interruption window if the restriction is matched. In the old version, it always showed up in the restriction window whenever the trigger potentially could trigger, even if the restriction was not matched. "restriction{}" also gives us more options in coding new cards. This is one of them: [card] name=Library of Alexandria auto={T}:add{1} auto={T}:draw:1 restriction{type(*|myhand)~equalto~7} text={T}: Add {1} to your mana pool. -- {T}: Draw a card. Activate this ability only if you have exactly seven cards in hand. type=Land [/card] A famous and powerful classic! And you can for sure only tap it to draw a card if you have 7 cards in it. Exchanged the Multikicker test for another one. The older one was doing trouble. --- projects/mtg/bin/Res/sets/primitives/mtg.txt | 214 ++++++++++-------- .../bin/Res/sets/primitives/unsupported.txt | 14 -- .../bin/Res/test/Apex_Hawks_MULTIKICKER.txt | 26 +++ .../Lightkeeper_of_Emeria_MULTIKICKER.txt | 18 -- projects/mtg/bin/Res/test/_tests.txt | 2 +- 5 files changed, 145 insertions(+), 129 deletions(-) create mode 100644 projects/mtg/bin/Res/test/Apex_Hawks_MULTIKICKER.txt delete mode 100644 projects/mtg/bin/Res/test/Lightkeeper_of_Emeria_MULTIKICKER.txt diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index e4c1bbca1..a07077757 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -2497,7 +2497,7 @@ toughness=4 name=Apex Hawks abilities=flying auto=kicker counter(1/1,kicked) -kicker=multi{1}{w} +kicker=multi{1}{W} text=Multikicker (You may pay an additional any number of times as you cast this spell.) -- Flying -- Apex Hawks enters the battlefield with a +1/+1 counter on it for each time it was kicked. type=Creature subtype=Bird @@ -5647,7 +5647,7 @@ subtype=Aura [/card] [card] name=Battle of Wits -auto=@each my upkeep:aslongas(*|mylibrary) winGame >199 +auto=@each my upkeep restriction{type(*|mylibrary)~morethan~199}:winGame text=At the beginning of your upkeep, if you have 200 or more cards in your library, you win the game. mana={3}{U}{U} type=Enchantment @@ -7562,8 +7562,8 @@ toughness=2 [/card] [card] name=Bloodhall Ooze -auto=@each my upkeep:aslongas(*[black]|myBattlefield) !=0 may counter(1/1) -auto=@each my upkeep:aslongas(*[green]|myBattlefield) !=0 may counter(1/1) +auto=@each my upkeep restriction{type(*[black]|myBattlefield)~morethan~0}:may counter(1/1) +auto=@each my upkeep restriction{type(*[green]|myBattlefield)~morethan~0}:may counter(1/1) text=At the beginning of your upkeep, if you control a black permanent, you may put a +1/+1 counter on Bloodhall Ooze. -- At the beginning of your upkeep, if you control a green permanent, you may put a +1/+1 counter on Bloodhall Ooze. mana={R} type=Creature @@ -8292,7 +8292,7 @@ toughness=1 name=Boneshard Slasher abilities=flying auto=aslongas(*|mygraveyard) 2/2 >6 -auto=@targeted(this):aslongas(*|mygraveyard) sacrifice >6 +auto=@targeted(this) restriction{type(*|mygraveyard)~morethan~6}:sacrifice text=Flying -- Threshold - As long as seven or more cards are in your graveyard, Boneshard Slasher gets +2/+2 and has "When Boneshard Slasher becomes the target of a spell or ability, sacrifice it." mana={1}{B} type=Creature @@ -9167,8 +9167,8 @@ subtype=Aura [/card] [card] name=Brink of Madness -auto=@each my upkeep:aslongas(*|myhand) sacrifice <1 -auto=@each my upkeep:aslongas(*|myhand) all(*|opponenthand) moveTo(ownergraveyard) <1 +auto=@each my upkeep restriction{type(*|myhand)~lessthan~1}:sacrifice +auto=@each my upkeep restriction{type(*|myhand)~lessthan~1}:all(*|opponenthand) reject text=At the beginning of your upkeep, if you have no cards in hand, sacrifice Brink of Madness. If you do, target opponent discards his or her hand. mana={2}{B}{B} type=Enchantment @@ -13104,17 +13104,17 @@ subtype=Snow [/card] [card] name=Collapsing Borders -auto=@each my upkeep:aslongas(plains|myBattlefield) life:1 controller -auto=@each my upkeep:aslongas(island|myBattlefield) life:1 controller -auto=@each my upkeep:aslongas(swamp|myBattlefield) life:1 controller -auto=@each my upkeep:aslongas(mountain|myBattlefield) life:1 controller -auto=@each my upkeep:aslongas(forest|myBattlefield) life:1 controller +auto=@each my upkeep restriction{type(plains|myBattlefield)~morethan~0:life:1 controller +auto=@each my upkeep restriction{type(island|myBattlefield)~morethan~0:life:1 controller +auto=@each my upkeep restriction{type(swamp|myBattlefield)~morethan~0:life:1 controller +auto=@each my upkeep restriction{type(mountain|myBattlefield)~morethan~0:life:1 controller +auto=@each my upkeep restriction{type(forest|myBattlefield)~morethan~0:life:1 controller auto=@each my upkeep:life:-3 controller -auto=@each opponent upkeep:aslongas(plains|opponentBattlefield) life:1 opponent -auto=@each opponent upkeep:aslongas(island|opponentBattlefield) life:1 opponent -auto=@each opponent upkeep:aslongas(swamp|opponentBattlefield) life:1 opponent -auto=@each opponent upkeep:aslongas(mountain|opponentBattlefield) life:1 opponent -auto=@each opponent upkeep:aslongas(forest|opponentBattlefield) life:1 opponent +auto=@each opponent upkeep restriction{type(plains|myBattlefield)~morethan~0:life:1 opponent +auto=@each opponent upkeep restriction{type(island|myBattlefield)~morethan~0:life:1 opponent +auto=@each opponent upkeep restriction{type(swamp|myBattlefield)~morethan~0:life:1 opponent +auto=@each opponent upkeep restriction{type(mountain|myBattlefield)~morethan~0:life:1 opponent +auto=@each opponent upkeep restriction{type(green|myBattlefield)~morethan~0:life:1 opponent auto=@each opponent upkeep:life:-3 opponent text=Domain - At the beginning of each player's upkeep, that player gains 1 life for each basic land type among lands he or she controls. Then Collapsing Borders deals 3 damage to him or her. mana={3}{R} @@ -13219,7 +13219,7 @@ type=Instant [/card] [card] name=Complex Automaton -auto=@each my upkeep:aslongas(*|myBattlefield) moveTo(myhand) >6 +auto=@each my upkeep restriction{type(*|myBattlefield)~morethan~6:moveTo(myhand) text=At the beginning of your upkeep, if you control seven or more permanents, return Complex Automaton to its owner's hand. mana={4} type=Artifact Creature @@ -17097,7 +17097,9 @@ toughness=1 [card] name=Dega Sanctuary text=At the beginning of your upkeep, if you control a black or red permanent, you gain 2 life. If you control a black permanent and a red permanent, you gain 4 life instead. -auto=@each my upkeep:aslongas(*[red]|mybattlefield) life:2 && aslongas(*[black]|mybattlefield) life:2 +auto=@each my upkeep restriction{type(*[black]|myBattlefield)~morethan~0,type(*[red]|myBattlefield)~lessthan~1}}:life:2 +auto=@each my upkeep restriction{type(*[red]|myBattlefield)~morethan~0,type(*[black]|myBattlefield)~lessthan~1}}:life:2 +auto=@each my upkeep restriction{type(*[black]|myBattlefield)~morethan~0,type(*[red]|myBattlefield)~morethan~0}:life:4 mana={2}{W} type=Enchantment [/card] @@ -18763,7 +18765,7 @@ toughness=1 [/card] [card] name=Dragonmaster Outcast -auto=@each my upkeep:aslongas(land|myBattlefield) token(Dragon,creature dragon, 5/5,flying red) >5 +auto=@each my upkeep restriction{type(land|myBattlefield)~morethan~5:token(Dragon,creature dragon, 5/5,flying red) text=At the beginning of your upkeep, if you control six or more lands, put a 5/5 red Dragon creature token with flying onto the battlefield. mana={R} type=Creature @@ -19055,7 +19057,7 @@ subtype=Aura [/card] [card] name=Dream Prowler -auto=@combat(attacking) source(this):aslongas(creature[attacking]|mybattlefield) all(this) unblockable ueot oneShot <2 +auto=@combat(attacking) source(this) restriction{type(creature[attacking]|myBattlefield)~lessthan~2:all(this) unblockable ueot oneShot text=Dream Prowler is unblockable as long as it's attacking alone. mana={2}{U}{U} type=Creature @@ -19581,7 +19583,7 @@ subtype=Aura [/card] [card] name=Drumhunter -auto=@each my end:aslongas(creature[power>=5]|myBattlefield) may draw:1 +auto=@each my end restriction{type(creature[power>=5]|myBattlefield)~morethan~0:may draw:1 controller auto={T}:Add{1} text=At the beginning of your end step, if you control a creature with power 5 or greater, you may draw a card. -- {T}: Add {1} to your mana pool. mana={3}{G} @@ -20310,7 +20312,7 @@ type=Artifact [/card] [card] name=Ebony Owl Netsuke -auto=@each opponent upkeep:aslongas(*|opponenthand) damage:4 opponent >6 +auto=@each opponent upkeep restriction{type(*|opponenthand)~morethan~6}:damage:4 opponent text=At the beginning of each opponent's upkeep, if that player has seven or more cards in hand, Ebony Owl Netsuke deals 4 damage to him or her. mana={2} type=Artifact @@ -20583,7 +20585,7 @@ auto=lord(creature|myBattlefield) 1/1 auto=lord(creature|mybattlefield) flying auto=lord(creature|mybattlefield) indestructible auto=@each myupkeep:sacrifice notatarget(creature|mybattlefield) -auto=@each myupkeep:aslongas(creature|mybattlefield) sacrifice <1 +auto=@each myupkeep restriction{type(creature|myBattlefield)~lessthan~1}:sacrifice text=Creatures you control get +1/+1, have flying, and are indestructible. -- At the beginning of your upkeep, sacrifice a creature. If you can't, sacrifice Eldrazi Monument. mana={5} type=Artifact @@ -20881,6 +20883,10 @@ toughness=1 [card] name=Elvish Berserker auto=rampage(1/1,0) +auto=@each my upkeep restriction{type(*[red]|myBattlefield)~morethan~0,type(*[green]|myBattlefield)~lessthan~1}:may draw:1 controller && transforms((,newability[target(*|myhand) reject])) forever +auto=@each my upkeep restriction{type(*[green]|myBattlefield)~morethan~0,type(*[red]|myBattlefield)~lessthan~1}:may draw:1 controller && transforms((,newability[target(*|myhand) reject])) forever +auto=@each my upkeep restriction{type(*[red]|myBattlefield)~morethan~0,type(*[green]|myBattlefield)~morethan~0}:may draw:2 controller && transforms((,newability[target(*|myhand) reject])) forever +may draw:1 controller && transforms((,newability[target(*|myhand) reject])) forever text=Whenever Elvish Berserker becomes blocked, it gets +1/+1 until end of turn for each creature blocking it. mana={G} type=Creature @@ -21843,7 +21849,7 @@ subtype=Aura [/card] [card] name=Epic Struggle -auto=@each my upkeep:aslongas(creature|myBattlefield) winGame >19 +auto=@each my upkeep restriction{type(creature|myBattlefield)~morethan~19}:winGame text=At the beginning of your upkeep, if you control twenty or more creatures, you win the game. mana={2}{G}{G} type=Enchantment @@ -22727,7 +22733,7 @@ type=Instant [/card] [card] name=Exuberant Firestoker -auto=@each my endofturn:aslongas(creature[power>=5]|myBattlefield) may damage:2 target(player) +auto=@each my endofturn restriction{type(creature[power>=5]|myBattlefield)~morethan~0}:may damage:2 target(player) auto={T}:Add{1} text=At the beginning of your end step, if you control a creature with power 5 or greater, you may have Exuberant Firestoker deal 2 damage to target player. -- {T}: Add {1} to your mana pool. mana={2}{R} @@ -28011,7 +28017,7 @@ auto={T}:add{U} auto={T}:add{B} auto={T}:add{R} auto={T}:add{G} -auto=@each endofturn:aslongas(artifact|mybattlefield) sacrifice <1 +auto=@each endofturn restriction{type(artifact|myBattlefield)~lessthan~1}:sacrifice text=At the beginning of the end step, if you control no artifacts, sacrifice Glimmervoid. -- {T}: Add one mana of any color to your mana pool. type=Land [/card] @@ -30960,7 +30966,7 @@ type=Instant [card] name=Gutwrencher Oni abilities=trample -auto=@each my upkeep:aslongas(ogre|mybattlefield) reject target(*|myhand) <1 +auto=@each my upkeep restriction{type(ogre|myBattlefield)~lessthan~1}:reject target(*|myhand) text=Trample -- At the beginning of your upkeep, discard a card if you don't control an Ogre. mana={3}{B}{B} type=Creature @@ -32163,7 +32169,7 @@ toughness=0 name=Helix Pinnacle abilities=shroud auto={X}:thisforeach(X) all(this) counter(0/0,1,Tower) -auto=@each my upkeep:aslongas(helix pinnacle[counter{0/0.100.Tower}]|myBattlefield) winGame +auto=@each my upkeep restriction{type(helix pinnacle[counter{0/0.100.Tower}]|myBattlefield)~morethan~0}:winGame text=Shroud -- {X}: Put X tower counters on Helix Pinnacle. -- At the beginning of your upkeep, if there are 100 or more tower counters on Helix Pinnacle, you win the game. mana={G} type=Enchantment @@ -32229,7 +32235,7 @@ type=Sorcery [/card] [card] name=Hellfire Mongrel -auto=@each opponent upkeep:aslongas(*|opponenthand) damage:2 opponent <3 +auto=@each opponent upkeep restriction{type(*|opponenthand)~lessthan~3}:damage:2 opponent text=At the beginning of each opponent's upkeep, if that player has two or fewer cards in hand, Hellfire Mongrel deals 2 damage to him or her. mana={2}{R} type=Creature @@ -32828,10 +32834,8 @@ type=Land [/card] [card] name=Hollowborn Barghest -auto=@each my upkeep:life:-2 opponent -auto=@each my upkeep:aslongas(*|myhand):life:2 opponent -auto=@each opponent upkeep:life:-2 opponent -auto=@each opponent upkeep:aslongas(*|opponenthand):life:2 opponent +auto=@each my upkeep restriction{type(*|myhand)~lessthan~1}:life:-2 opponent +auto=@each opponent upkeep restriction{type(*|opponenthand)~lessthan~1}:life:-2 opponent text=At the beginning of your upkeep, if you have no cards in hand, each opponent loses 2 life. -- At the beginning of each opponent's upkeep, if that player has no cards in hand, he or she loses 2 life. mana={5}{B}{B} type=Creature @@ -34180,7 +34184,7 @@ toughness=3 [/card] [card] name=Imaginary Pet -auto=@each my upkeep:aslongas(*|myhand) moveTo(myHand) +auto=@each my upkeep restriction{type(*|myhand)~morethan~0}:moveTo(myHand) text=At the beginning of your upkeep, if you have a card in hand, return Imaginary Pet to its owner's hand. mana={1}{U} type=Creature @@ -34240,8 +34244,8 @@ toughness=1 [/card] [card] name=Impending Disaster -auto=@each my upkeep:aslongas(land|battlefield) all(land) destroy >3 -auto=@each my upkeep:aslongas(land|battlefield) sacrifice >3 +auto=@each my upkeep restriction{type(land|battlefield)~morethan~6}:all(land) destroy +auto=@each my upkeep restriction{type(land|battlefield)~morethan~6}:sacrifice text=At the beginning of your upkeep, if there are seven or more lands on the battlefield, sacrifice Impending Disaster. If you do, destroy all lands. mana={1}{R} type=Enchantment @@ -35471,7 +35475,7 @@ type=Instant [/card] [card] name=Ivory Crane Netsuke -auto=@each my upkeep:aslongas(*|myhand) life:4 controller >6 +auto=@each my upkeep restriction{type(*|myhand)~morethan~6}:life:4 controller text=At the beginning of your upkeep, if you have seven or more cards in hand, you gain 4 life. mana={2} type=Artifact @@ -37313,7 +37317,7 @@ toughness=5 [/card] [card] name=Kederekt Parasite -auto=@drawn(opponent):aslongas(*[red]|myBattlefield) may damage:1 opponent +auto=@drawn(opponent) restriction{type(*[red]|myBattlefield)~morethan~0}:may damage:1 opponent text=Whenever an opponent draws a card, if you control a red permanent, you may have Kederekt Parasite deal 1 damage to that player. mana={B} type=Creature @@ -37630,7 +37634,7 @@ type=Land [card] name=Kezzerdrix abilities=first strike -auto=@each my upkeep:aslongas(creature|opponentBattlefield) damage:4 controller <1 +auto=@each my upkeep restriction{type(creature|opponentBattlefield)~lessthan~1}:damage:4 controller text=First strike -- At the beginning of your upkeep, if your opponents control no creatures, Kezzerdrix deals 4 damage to you. mana={2}{B}{B} type=Creature @@ -38168,8 +38172,8 @@ toughness=1 name=Kiyomaro, First to Stand auto=foreach(*|myhand) 1/1 auto=aslongas(*|myhand) vigilance >3 -auto=@damaged(player) from(this):aslongas(*|myhand) life:7 controller >6 -auto=@damaged(creature) from(this):aslongas(*|myhand) life:7 controller >6 +auto=@damaged(player) from(this) restriction{type(*|myhand)~morethan~6}:life:7 controller >6 +auto=@damaged(creature) from(this) restriction{type(*|myhand)~morethan~6}:life:7 controller >6 text=Kiyomaro, First to Stand's power and toughness are each equal to the number of cards in your hand. -- As long as you have four or more cards in hand, Kiyomaro has vigilance. -- Whenever Kiyomaro deals damage, if you have seven or more cards in hand, you gain 7 life. mana={3}{W}{W} type=Legendary Creature @@ -38585,10 +38589,9 @@ toughness=2 [/card] [card] name=Kookus -abilities=trample,mustattack -auto=@each my upkeep:damage:3 controller -auto=@each my upkeep:aslongas(Keeper of Kookus|myBattlefield) life:3 controller -auto=@each my upkeep:aslongas(Keeper of Kookus|myBattlefield) -mustattack ueot +abilities=trample +auto=@each my upkeep restriction{type(Keeper of Kookus|myBattlefield)~lessthan~1}:damage:3 controller +auto=@each my upkeep restriction{type(Keeper of Kookus|myBattlefield)~lessthan~1}:mustattack ueot auto={R}:1/0 text=Trample -- At the beginning of your upkeep, if you don't control a creature named Keeper of Kookus, Kookus deals 3 damage to you and attacks this turn if able. -- {R}: Kookus gets +1/+0 until end of turn. mana={3}{R}{R} @@ -39714,7 +39717,7 @@ subtype=Trap [/card] [card] name=Lavaborn Muse -auto=@each opponentupkeep:aslongas(*|opponenthand) damage:3 opponent <2 +auto=@each opponent upkeep restriction{type(*|opponenthand)~lessthan~3}:damage:3 opponent text=At the beginning of each opponent's upkeep, if that player has two or fewer cards in hand, Lavaborn Muse deals 3 damage to him or her. mana={3}{R} type=Creature @@ -40280,6 +40283,13 @@ power=1 toughness=1 [/card] [card] +name=Library of Alexandria +auto={T}:add{1} +auto={T}:draw:1 restriction{type(*|myhand)~equalto~7} +text={T}: Add {1} to your mana pool. -- {T}: Draw a card. Activate this ability only if you have exactly seven cards in hand. +type=Land +[/card] +[card] name=Lich Lord of Unx auto={U}{B}{T}:token(Zombie Wizard,Creature Zombie Wizard,1/1,blue black) auto={U}{U}{B}{B}:foreach(zombie|myBattlefield) life:-1 && foreach(zombie|myBattlefield) deplete:1 target(player) @@ -40320,7 +40330,7 @@ abilities=flying,trample facedown={3} autofacedown={B}{B}{B}{B}:morph auto=@each myupkeep:sacrifice notatarget(other creature|mybattlefield) -auto=@each myupkeep:aslongas(other creature|mybattlefield) damage:7 controller <1 +auto=@each myupkeep restriction{type(creature|myBattlefield)~lessthan~2}:damage:7 controller text=Flying, trample -- At the beginning of your upkeep, sacrifice a creature other than Liege of the Pit. If you can't, Liege of the Pit deals 7 damage to you. -- Morph {B}{B}{B}{B} (You may cast this face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.) mana={5}{B}{B}{B} type=Creature @@ -40461,7 +40471,8 @@ toughness=2 [card] name=Lightkeeper of Emeria abilities=flying -auto=kicker life:kicked && life:kicked +auto=kicker life:kicked +auto=kicker life:kicked kicker=multi{W} text=Multikicker {W} (You may pay an additional {W} any number of times as you cast this spell.) -- Flying -- When Lightkeeper of Emeria enters the battlefield, you gain 2 life for each time it was kicked. mana={3}{W} @@ -41219,7 +41230,7 @@ toughness=3 name=Lord of the Pit abilities=flying,trample auto=@each myupkeep:sacrifice notatarget(other creature|mybattlefield) -auto=@each myupkeep:aslongas(other creature|mybattlefield) damage:7 controller <1 +auto=@each myupkeep restriction{type(creature|myBattlefield)~lessthan~2}:damage:7 controller text=Flying, trample -- At the beginning of your upkeep, sacrifice a creature other than Lord of the Pit. If you can't, Lord of the Pit deals 7 damage to you. mana={4}{B}{B}{B} type=Creature @@ -42295,6 +42306,17 @@ power=2 toughness=4 [/card] [card] +name=Magus of the Library +auto={T}:add{1} +auto={T}:draw:1 restriction{type(*|myhand)~equalto~7} +text={T}: Add {1} to your mana pool. -- {T}: Draw a card. Activate this ability only if you have exactly seven cards in hand. +mana={G}{G} +type=Creature +subtype=Human Wizard +power=1 +toughness=1 +[/card] +[card] name=Magus of the Moat auto=lord(creature[-flying]) cantattack text=Creatures without flying can't attack. @@ -43458,9 +43480,9 @@ toughness=3 [/card] [card] name=Mayael's Aria -auto=@each my upkeep:aslongas(creature[power>=20]|myBattlefield) winGame -auto=@each my upkeep:aslongas(creature[power>=10]|myBattlefield) life:10 -auto=@each my upkeep:aslongas(creature[power>=5]|myBattlefield) all(creature|mybattlefield) counter(1/1,1) +auto=@each my upkeep restriction{type(creature[power>=20]|myBattlefield)~morethan~0}:winGame +auto=@each my upkeep restriction{type(creature[power>=10]|myBattlefield)~morethan~0}:life:10 +auto=@each my upkeep restriction{type(creature[power>=5]|myBattlefield)~morethan~0}:all(creature|mybattlefield) counter(1/1,1) text=At the beginning of your upkeep, put a +1/+1 counter on each creature you control if you control a creature with power 5 or greater. Then you gain 10 life if you control a creature with power 10 or greater. Then you win the game if you control a creature with power 20 or greater. mana={R}{G}{W} type=Enchantment @@ -44761,7 +44783,7 @@ toughness=1 [card] name=Mirror-Sigil Sergeant abilities=trample -auto=@each my upkeep:aslongas(*[blue]|myBattlefield) may token(158598) +auto=@each my upkeep restriction{type(*[blue]|myBattlefield)~morethan~0}:may token(158598) text=Trample -- At the beginning of your upkeep, if you control a blue permanent, you may put a token that's a copy of Mirror-Sigil Sergeant onto the battlefield. mana={5}{W} type=Creature @@ -44793,7 +44815,7 @@ toughness=1 [/card] [card] name=Misers' Cage -auto=@each opponent upkeep:aslongas(*|opponenthand) damage:2 opponent >4 +auto=@each opponent upkeep restriction{type(*|opponenthand)~morethan~4}:damage:2 opponent text=At the beginning of each opponent's upkeep, if that player has five or more cards in hand, Misers' Cage deals 2 damage to him or her. mana={3} type=Artifact @@ -45823,7 +45845,7 @@ toughness=4 [/card] [card] name=Mortal Combat -auto=@each my upkeep:aslongas(creature|mygraveyard) winGame >19 +auto=@each my upkeep restriction{type(creature|mygraveyard)~morethan~19}:winGame text=At the beginning of your upkeep, if twenty or more creature cards are in your graveyard, you win the game. mana={2}{B}{B} type=Enchantment @@ -50067,7 +50089,7 @@ type=Sorcery [/card] [card] name=Oversold Cemetery -auto=@each my upkeep:aslongas(creature|mygraveyard) may target(creature|mygraveyard) moveTo(myhand) >2 +auto=@each my upkeep restriction{type(creature|mygraveyard)~morethan~3}:may target(creature|mygraveyard) moveTo(myhand) text=At the beginning of your upkeep, if you have four or more creature cards in your graveyard, you may return target creature card from your graveyard to your hand. mana={1}{B} type=Enchantment @@ -50102,7 +50124,7 @@ type=Sorcery [/card] [card] name=Overwhelming Instinct -auto=@each my blockers:aslongas(creature[attacking]|mybattlefield) draw:1 >2 +auto=@each my blockers restriction{type(creature[attacking]|myBattlefield)~morethan~0}:draw:1 text=Whenever you attack with three or more creatures, draw a card. mana={2}{G} type=Enchantment @@ -50262,7 +50284,7 @@ toughness=1 [card] name=Painwracker Oni abilities=fear -auto=@each my upkeep:aslongas(ogre|mybattlefield) sacrifice notatarget(creature|mybattlefield) <1 +auto=@each my upkeep restriction{type(ogre|myBattlefield)~lessthan~1}:sacrifice notatarget(creature|mybattlefield) text=Fear (This creature can't be blocked except by artifact creatures and/or black creatures.) -- At the beginning of your upkeep, sacrifice a creature if you don't control an Ogre. mana={3}{B}{B} type=Creature @@ -50813,7 +50835,7 @@ toughness=1 [/card] [card] name=Paupers' Cage -auto=@each opponent upkeep:aslongas(*|opponenthand) damage:2 opponent <3 +auto=@each opponent upkeep restriction{type(*|opponenthand)~lessthan~3}:damage:2 opponent text=At the beginning of each opponent's upkeep, if that player has two or fewer cards in hand, Paupers' Cage deals 2 damage to him or her. mana={3} type=Artifact @@ -51314,8 +51336,8 @@ toughness=1 [/card] [card] name=Pestilence -auto=@each endofturn:aslongas(creature|battlefield) sacrifice <1 -auto={b}:damage:1 all(creature,player) +auto=@each endofturn restriction{type(creature|battlefield)~lessthan~1}:sacrifice +auto={B}:damage:1 all(creature,player) text=At the beginning of the end step, if no creatures are on the battlefield, sacrifice Pestilence. -- {B}: Pestilence deals 1 damage to each creature and each player. mana={2}{B}{B} type=Enchantment @@ -52241,7 +52263,7 @@ type=Land [/card] [card] name=Pious Kitsune -auto=@each my upkeep:aslongas(eight-and-a-half-tails|myBattlefield) thisforeach(counter{0/0.1.Devotion}) life:1 controller +auto=@each my upkeep restriction{type(eight-and-a-half-tails|battlefield)~morethan~0}:thisforeach(counter{0/0.1.Devotion}) life:1 controller auto=@each my upkeep:counter(0/0,1,Devotion) auto={T}{C(0/0,-1,Devotion)}:life:1 text=At the beginning of your upkeep, put a devotion counter on Pious Kitsune. Then if a creature named Eight-and-a-Half-Tails is on the battlefield, you gain 1 life for each devotion counter on Pious Kitsune. -- {T}, Remove a devotion counter from Pious Kitsune: You gain 1 life. @@ -52570,8 +52592,8 @@ type=Sorcery [/card] [card] name=Planar Collapse -auto=@each my upkeep:aslongas(creature|battlefield) all(creature) bury >3 -auto=@each my upkeep:aslongas(creature|battlefield) sacrifice >3 +auto=@each my upkeep restriction{type(creature|battlefield)~morethan~3}:all(creature) bury +auto=@each my upkeep restriction{type(creature|battlefield)~morethan~3}:sacrifice text=At the beginning of your upkeep, if there are four or more creatures on the battlefield, sacrifice Planar Collapse. If you do, destroy all creatures. They can't be regenerated. mana={1}{W} type=Enchantment @@ -54261,7 +54283,7 @@ type=Sorcery [card] name=Pyrohemia auto={R}:damage:1 all(creature,player) -auto=@each endofturn:aslongas(creature|battlefield) sacrifice <1 +auto=@each endofturn restriction{type(creature|battlefield)~lessthan~1}:sacrifice text=At the beginning of the end step, if no creatures are on the battlefield, sacrifice Pyrohemia. -- {R}: Pyrohemia deals 1 damage to each creature and each player. mana={2}{R}{R} type=Enchantment @@ -55744,7 +55766,7 @@ toughness=3 [card] name=Raving Oni-Slave auto=aslongas(demon|mybattlefield) life:-3 controller <1 oneshot -auto=@movedTo(this|graveyard) from(battlefield):aslongas(demon|mybattlefield) life:-3 controller <1 oneshot +auto=@movedTo(this|graveyard) from(battlefield) restriction{type(demon|myBattlefield)~lessthan~1}:life:-3 controller text=When Raving Oni-Slave enters the battlefield or leaves the battlefield, you lose 3 life if you don't control a Demon. mana={1}{B} type=Creature @@ -56179,7 +56201,7 @@ type=Instant [/card] [card] name=Reclusive Wight -auto=@each my upkeep:aslongas(other *[-land]|mybattlefield) moveTo(mygraveyard) +auto=@each my upkeep restriction{type(*[-land]|myBattlefield)~morethan~1}:sacrifice text=At the beginning of your upkeep, if you control another nonland permanent, sacrifice Reclusive Wight. mana={3}{B} type=Creature @@ -59760,7 +59782,7 @@ toughness=2 [card] name=Sarcomancy auto=token(Zombie,Creature Zombie,2/2,black) -auto=@each my upkeep:aslongas(zombie|myBattlefield) damage:1 controller <1 +auto=@each my upkeep restriction{type(zombie|battlefield)~lessthan~1}:damage:1 controller text=When Sarcomancy enters the battlefield, put a 2/2 black Zombie creature token onto the battlefield. -- At the beginning of your upkeep, if there are no Zombies on the battlefield, Sarcomancy deals 1 damage to you. mana={B} type=Enchantment @@ -60013,7 +60035,7 @@ type=Land [/card] [card] name=Scalding Tongs -auto=@each my upkeep:aslongas(*|myhand) damage:1 opponent <4 +auto=@each my upkeep restriction{type(*|myhand)~lessthan~4}:damage:1 opponent text=At the beginning of your upkeep, if you have three or fewer cards in hand, Scalding Tongs deals 1 damage to target opponent. mana={2} type=Artifact @@ -60483,7 +60505,7 @@ toughness=6 [/card] [card] name=Scourge of Numai -auto=@each my upkeep:aslongas(ogre|myBattlefield) life:-2 <1 +auto=@each my upkeep restriction{type(ogre|myBattlefield)~lessthan~1}:life:-2 text=At the beginning of your upkeep, you lose 2 life if you don't control an Ogre. mana={3}{B} type=Creature @@ -60636,7 +60658,7 @@ toughness=2 [card] name=Screeching Silcaw abilities=flying -auto=@combatdamaged(player) from(this):aslongas(artifact|myBattlefield) deplete:4 opponent >2 +auto=@combatdamaged(player) from(this) restriction{type(artifact|myBattlefield)~morethan~2}:deplete:4 opponent text=Flying -- Metalcraft - Whenever Screeching Silcaw deals combat damage to a player, if you control three or more artifacts, that player puts the top four cards of his or her library into his or her graveyard. mana={1}{U} type=Creature @@ -60716,7 +60738,7 @@ type=Artifact [/card] [card] name=Scute Mob -auto=@each myupkeep:aslongas(land|mybattlefield) counter(1/1,4) >4 +auto=@each my upkeep restriction{type(land|myBattlefield)~morethan~4}:counter(1/1,4) text=At the beginning of your upkeep, if you control five or more lands, put four +1/+1 counters on Scute Mob. type=Creature subtype=Insect @@ -62376,9 +62398,9 @@ type=Instant [/card] [card] name=Sheltered Valley -auto=moveto(ownergraveyard) all(other sheltered valley|mybattlefield) +auto=sacrifice all(other sheltered valley|mybattlefield) auto={T}:Add{1} -auto=@each my upkeep:aslongas(land|mybattlefield) life:1 <4 +auto=@each my upkeep restriction{type(land|myBattlefield)~lessthan~4}:life:1 text=If Sheltered Valley would enter the battlefield, instead sacrifice each other permanent named Sheltered Valley you control, then put Sheltered Valley onto the battlefield. -- At the beginning of your upkeep, if you control three or fewer lands, you gain 1 life. -- {T}: Add {1} to your mana pool. type=Land [/card] @@ -62928,7 +62950,7 @@ toughness=4 [/card] [card] name=Shoreline Salvager -auto=@combatdamaged(player) from(this):aslongas(island|myBattlefield) may draw:1 controller +auto=@combatdamaged(player) from(this) restriction{type(island|myBattlefield)~morethan~0}:may draw:1 controller text=Whenever Shoreline Salvager deals combat damage to a player, if you control an Island, you may draw a card. mana={3}{B} type=Creature @@ -64367,8 +64389,8 @@ type=Artifact [/card] [card] name=Skullcage -auto=@each opponent upkeep:aslongas(*|opponenthand) damage:2 opponent >4 -auto=@each opponent upkeep:aslongas(*|opponenthand) damage:2 opponent <3 +auto=@each opponent upkeep restriction{type(*|opponenthand)~morethan~4}:damage:2 opponent +auto=@each opponent upkeep restriction{type(*|opponenthand)~lessthan~3}:damage:2 opponent text=At the beginning of each opponent's upkeep, Skullcage deals 2 damage to that player unless he or she has exactly three or exactly four cards in hand. mana={4} type=Artifact @@ -64928,7 +64950,7 @@ type=Instant [/card] [card] name=Slaughterhouse Bouncer -autograveyard=@movedTo(this|mygraveyard) from(battlefield):aslongas(*|myhand) target(creature) -3/-3 <1 +autograveyard=@movedTo(this|mygraveyard) from(battlefield) restriction{type(*|myhand)~lessthan~1}:target(creature) -3/-3 ueot text=Hellbent - When Slaughterhouse Bouncer dies, if you have no cards in hand, target creature gets -3/-3 until end of turn. mana={4}{B} type=Creature @@ -66669,7 +66691,7 @@ type=Sorcery [/card] [card] name=Spectral Bears -auto=@each mycombatdamage:aslongas(*[black]|opponentbattlefield) all(spectral bears[attacking]|mybattlefield) frozen <1 +auto=@each my combatdamage restriction{type(*[black]|opponentbattlefield)~lessthan~1}:frozen text=Whenever Spectral Bears attacks, if defending player controls no black nontoken permanents, it doesn't untap during your next untap step. mana={1}{G} type=Creature @@ -66699,7 +66721,7 @@ subtype=Aura [card] name=Spectral Force abilities=trample -auto=@each mycombatdamage:aslongas(*[black]|opponentbattlefield) all(spectral force[attacking]|mybattlefield) frozen <1 +auto=@each my combatdamage restriction{type(*[black]|opponentbattlefield)~lessthan~1}:frozen text=Trample -- Whenever Spectral Force attacks, if defending player controls no black permanents, it doesn't untap during your next untap step. mana={3}{G}{G} type=Creature @@ -67336,7 +67358,7 @@ subtype=Aura [card] name=Spirit Mirror auto={0}:destroy target(reflection) -auto=@each my upkeep:aslongas(reflection|myBattlefield) token(Reflection,Creature Reflection,2/2,white) <1 +auto=@each my upkeep restriction{type(creature[reflection]|battlefield)~lessthan~1}:token(Reflection,Creature Reflection,2/2,white) text=At the beginning of your upkeep, if there are no Reflection tokens on the battlefield, put a 2/2 white Reflection creature token onto the battlefield. -- {0}: Destroy target Reflection. mana={2}{W}{W} type=Enchantment @@ -67436,8 +67458,8 @@ toughness=4 [/card] [card] name=Spiritual Sanctuary -auto=@each my upkeep:aslongas(plains|myBattlefield) life:1 controller -auto=@each opponent upkeep:aslongas(plains|opponentBattlefield) life:1 opponent +auto=@each my upkeep restriction{type(plains|myBattlefield)~morethan~0}:life:1 controller +auto=@each opponent upkeep restriction{type(plains|myBattlefield)~morethan~0}:life:1 opponent text=At the beginning of each player's upkeep, if that player controls a Plains, he or she gains 1 life. mana={2}{W}{W} type=Enchantment @@ -68596,7 +68618,7 @@ type=Sorcery [card] name=Stenchskipper abilities=flying -auto=@each endofturn:aslongas(goblin|mybattlefield) sacrifice <1 +auto=@each endofturn restriction{type(goblin|myBattlefield)~lessthan~1}:sacrifice text=Flying -- At the beginning of the end step, if you control no Goblins, sacrifice Stenchskipper. mana={3}{B} type=Creature @@ -70003,7 +70025,7 @@ type=Sorcery [/card] [card] name=Sunseed Nurturer -auto=@each my end:aslongas(creature[power>=5]|myBattlefield) may life:2 controller +auto=@each my end restriction{type(creature[power>=5]|myBattlefield)~morethan~0}:may life:2 controller auto={T}:Add{1} text=At the beginning of your end step, if you control a creature with power 5 or greater, you may gain 2 life. -- {T}: Add {1} to your mana pool. mana={2}{W} @@ -70893,8 +70915,8 @@ toughness=1 [/card] [card] name=Takenuma Bleeder -auto=@combat(attacking) source(this):aslongas(demon|mybattlefield) life:1 controller <1 -auto=@combat(blocking) source(this):aslongas(demon|mybattlefield) life:1 controller <1 +auto=@combat(attacking) source(this) restriction{type(demon|myBattlefield)~lessthan~1}:life:-1 controller +auto=@combat(blocking) source(this) restriction{type(demon|myBattlefield)~lessthan~1}:life:-1 controller text=Whenever Takenuma Bleeder attacks or blocks, you lose 1 life if you don't control a Demon. mana={2}{B} type=Creature @@ -72631,8 +72653,8 @@ toughness=3 [card] name=Thopter Assembly abilities=flying -auto=@each my upkeep:aslongas(thopter|mybattlefield) token(Thopter,Artifact Creature,1/1,flying)*5 <2 -auto=@each my upkeep:aslongas(thopter|mybattlefield) moveTo(ownerhand) <2 +auto=@each my upkeep restriction{type(other thopter|myBattlefield)~lessthan~1}:token(Thopter,Artifact Creature,1/1,flying)*5 +auto=@each my upkeep restriction{type(other thopter|myBattlefield)~lessthan~1}:moveTo(ownerhand) text=Flying -- At the beginning of your upkeep, if you control no Thopters other than Thopter Assembly, return Thopter Assembly to its owner's hand and put five 1/1 colorless Thopter artifact creature tokens with flying onto the battlefield. mana={6} type=Artifact Creature @@ -72942,7 +72964,7 @@ auto={T}:add{U} auto={T}:add{B} auto={T}:add{R} auto={T}:add{G} -auto=@each endofturn:aslongas(creature|mybattlefield) sacrifice <1 +auto=@each endofturn restriction{type(creature|myBattlefield)~lessthan~1}:sacrifice text=At the beginning of the end step, if you control no creatures, sacrifice Thran Quarry. -- {T}: Add one mana of any color to your mana pool. type=Land [/card] @@ -73109,7 +73131,7 @@ toughness=4 [/card] [card] name=Thumbscrews -auto=@each my upkeep:aslongas(*|myhand) damage:1 opponent >4 +auto=@each my upkeep restriction{type(*|myhand)~morethan~4}: damage:1 opponent text=At the beginning of your upkeep, if you have five or more cards in hand, Thumbscrews deals 1 damage to target opponent. mana={2} type=Artifact @@ -80560,7 +80582,7 @@ abilities=flying,vigilance auto=aslongas(*|mygraveyard) trample >6 auto=aslongas(*|mygraveyard) 3/3 >6 auto=aslongas(*|mygraveyard) transforms((,black)) >6 -auto=@each my upkeep:aslongas(*|mygraveyard) upcost[{S(creature|myBattlefield)}] sacrifice >6 +auto=@each my upkeep restriction{type(*|mygraveyard)~morethan~6}:upcost[{S(creature|myBattlefield)}] sacrifice text=Flying, vigilance -- Threshold - As long as seven or more cards are in your graveyard, Wayward Angel gets +3/+3, is black, has trample, and has "At the beginning of your upkeep, sacrifice a creature." mana={4}{W}{W} type=Creature @@ -80764,14 +80786,14 @@ toughness=1 [/card] [card] name=Well of Discovery -auto=@each my endofturn:aslongas(land[-tapped]|mybattlefield) draw:1 <1 +auto=@each my endofturn restriction{type(land[-tapped]|myBattlefield)~lessthan~1}:draw:1 text=At the beginning of your end step, if you control no untapped lands, draw a card. mana={6} type=Artifact [/card] [card] name=Well of Life -auto=@each my endofturn:aslongas(land[-tapped]|mybattlefield) life:2 <1 +auto=auto=@each my endofturn restriction{type(land[-tapped]|myBattlefield)~lessthan~1}:life:2 <1 text=At the beginning of your end step, if you control no untapped lands, you gain 2 life. mana={4} type=Artifact @@ -81989,7 +82011,7 @@ type=Instant [card] name=Withering Wisps auto={B}:damage:1 all(creature,player) limit:type:swamp[snow]:mybattlefield -auto=@each endofturn:aslongas(creature|battlefield) sacrifice <1 +auto=@each endofturn restriction{type(creature|battlefield)~lessthan~1}:sacrifice text=At the beginning of the end step, if no creatures are on the battlefield, sacrifice Withering Wisps. -- {B}: Withering Wisps deals 1 damage to each creature and each player. Activate this ability no more times each turn than the number of snow Swamps you control. mana={1}{B}{B} type=Enchantment diff --git a/projects/mtg/bin/Res/sets/primitives/unsupported.txt b/projects/mtg/bin/Res/sets/primitives/unsupported.txt index bd5d291b7..df6e311b1 100644 --- a/projects/mtg/bin/Res/sets/primitives/unsupported.txt +++ b/projects/mtg/bin/Res/sets/primitives/unsupported.txt @@ -12463,11 +12463,6 @@ mana={1} type=Artifact [/card] [card] -name=Library of Alexandria -text={T}: Add {1} to your mana pool. -- {T}: Draw a card. Activate this ability only if you have exactly seven cards in hand. -type=Land -[/card] -[card] name=Library of Lat-Nam text=An opponent chooses one - You draw three cards at the beginning of the next turn's upkeep; or you search your library for a card, put that card into your hand, then shuffle your library. mana={4}{U} @@ -13178,15 +13173,6 @@ power=3 toughness=3 [/card] [card] -name=Magus of the Library -text={T}: Add {1} to your mana pool. -- {T}: Draw a card. Activate this ability only if you have exactly seven cards in hand. -mana={G}{G} -type=Creature -subtype=Human Wizard -power=1 -toughness=1 -[/card] -[card] name=Magus of the Mirror text={T}, Sacrifice Magus of the Mirror: Exchange life totals with target opponent. Activate this ability only during your upkeep. mana={4}{B}{B} diff --git a/projects/mtg/bin/Res/test/Apex_Hawks_MULTIKICKER.txt b/projects/mtg/bin/Res/test/Apex_Hawks_MULTIKICKER.txt new file mode 100644 index 000000000..924580c8f --- /dev/null +++ b/projects/mtg/bin/Res/test/Apex_Hawks_MULTIKICKER.txt @@ -0,0 +1,26 @@ +#Testing Apex Hawks: "Multikicker (You may pay an additional any number of times as you cast this spell.)" +#"Apex Hawks enters the battlefield with a +1/+1 counter on it for each time it was kicked." +[INIT] +FIRSTMAIN +[PLAYER1] +hand:Apex Hawks +inplay:Fervor +manapool:{W}{W}{W}{W}{W}{W}{W} +[PLAYER2] +life:20 +[DO] +Apex Hawks +choice 1 +next +next +Apex Hawks +next +next +[ASSERT] +COMBATDAMAGE +[PLAYER1] +inplay:Apex Hawks,Fervor +manapool:{0} +[PLAYER2] +life:17 +[END] \ No newline at end of file diff --git a/projects/mtg/bin/Res/test/Lightkeeper_of_Emeria_MULTIKICKER.txt b/projects/mtg/bin/Res/test/Lightkeeper_of_Emeria_MULTIKICKER.txt deleted file mode 100644 index 28320e78a..000000000 --- a/projects/mtg/bin/Res/test/Lightkeeper_of_Emeria_MULTIKICKER.txt +++ /dev/null @@ -1,18 +0,0 @@ -#Testing Lightkeeper of Emeria: "Multikicker {R} (You may pay an additional {R} any number of times as you cast this spell.) -- When Deathforge Shaman enters the battlefield, it deals damage to target player equal to twice the number of times it was kicked." -#"Multikicker {W} (You may pay an additional {W} any number of times as you cast this spell.) -- Flying -- When Lightkeeper of Emeria enters the battlefield, you gain 2 life for each time it was kicked." -[INIT] -FIRSTMAIN -[PLAYER1] -hand:Lightkeeper of Emeria -manapool:{3}{W}{W}{W} -life:20 -[PLAYER2] -[DO] -Lightkeeper of Emeria -[ASSERT] -FIRSTMAIN -[PLAYER1] -inplay:Lightkeeper of Emeria -life:24 -[PLAYER2] -[END] \ No newline at end of file diff --git a/projects/mtg/bin/Res/test/_tests.txt b/projects/mtg/bin/Res/test/_tests.txt index 8e56f4fae..6df7f5b85 100644 --- a/projects/mtg/bin/Res/test/_tests.txt +++ b/projects/mtg/bin/Res/test/_tests.txt @@ -128,6 +128,7 @@ animated_legendaries1_i221.txt animated_legendaries2_i221.txt animated_legendaries3_i221.txt ankh_of_mishra.txt +Apex_Hawks_MULTIKICKER.txt arcanis_the_omnipotent.txt arcanis_the_omnipotent2.txt arcbound.txt @@ -415,7 +416,6 @@ lhurgoyf.txt liability.txt lifeforce.txt lifetap.txt -Lightkeeper_of_Emeria_MULTIKICKER.txt lightmine_field1.txt lightmine_field2.txt living_artifact_i169.txt