diff --git a/projects/mtg/bin/Res/sets/5DN/_cards.dat b/projects/mtg/bin/Res/sets/5DN/_cards.dat index 0dee174ef..44f9e0c32 100644 --- a/projects/mtg/bin/Res/sets/5DN/_cards.dat +++ b/projects/mtg/bin/Res/sets/5DN/_cards.dat @@ -9,7 +9,7 @@ mana={3}{U}{U} type=Sorcery [/card] [card] -text={U}: Advanced Hoverguard gains shroud until end of turn. (It can't be the target of spells or abilities.) +text=Flying -- {U}: Advanced Hoverguard gains shroud until end of turn. (It can't be the target of spells or abilities.) id=50144 name=Advanced Hoverguard rarity=C @@ -35,6 +35,7 @@ toughness=3 [/card] [card] text=Reach (This creature can block creatures with flying.) +abilities=reach id=51230 name=Arachnoid rarity=U @@ -47,7 +48,7 @@ toughness=6 [card] text=Protection from black and from red Whenever another creature enters the battlefield, you may gain 1 life. id=72921 -auto=@movedTo(creature|battlefield):may life:1 +auto=@movedTo(creature|battlefield):may life:1 controller name=Auriok Champion rarity=R mana={W}{W} @@ -58,8 +59,21 @@ toughness=1 abilities=protection from black,protection from red [/card] [card] +id=39667 +name=Avarice Totem +mana={1} +type=Artifact +text={5}: Exchange control of Avarice Totem and target nonland permanent. +# Note: The term all(this) is a workaround for a current parser +# limitation. We cannot chain effects on a target card to effects +# on "this" - if we do it, the the parser confuses and ignores +# targets. But we CAN chain "target"ed effects to "all()" effects. +auto={5}:moveto(mybattlefield) target(*[-land]|opponentbattlefield) && moveto(opponentbattlefield) all(this) +rarity=U +[/card] +[card] text=Battered Golem doesn't untap during your untap step. Whenever an artifact enters the battlefield, you may untap Battered Golem. -auto=@movedTo(creature|battlefield):untap +auto=@movedTo(artifact|battlefield):may untap id=73932 name=Battered Golem rarity=C @@ -72,10 +86,10 @@ abilities=doesnotuntap [/card] [card] text=Put a 1/1 green Insect creature token onto the battlefield for each Forest you control. Shuffle Beacon of Creation into its owner's library. -alias=135262 id=51613 name=Beacon of Creation auto=foreach(forest|mybattlefield) token(Insect,Creature insect,1/1,green) +auto=moveto(mylibrary) && shuffle rarity=R mana={3}{G} type=Sorcery @@ -86,6 +100,7 @@ id=51612 name=Beacon of Destruction target=creature,player auto=damage:5 +alias=135262 rarity=R mana={3}{R}{R} type=Instant @@ -93,6 +108,7 @@ type=Instant [card] text=Double target player's life total. Shuffle Beacon of Immortality into its owner's library. id=50141 +alias=130553 target=player name=Beacon of Immortality rarity=R @@ -133,10 +149,9 @@ power=3 toughness=3 [/card] [card] -text={T}: Target player loses 1 life. +text=Flying -- {T}: Target player loses 1 life. id=73597 -auto={T}:life-1 controller -auto={T}:life-1 opponent +auto={T}:life:-1 target(player) name=Cackling Imp rarity=C mana={2}{B}{B} @@ -168,15 +183,6 @@ power=4 toughness=4 [/card] [card] -text=You may play land cards from your graveyard. -auto={0}:may moveTo(myBattlefield) target(land|mygraveyard) limit:1 myTurnOnly -id=51133 -name=Crucible of Worlds -rarity=R -mana={3} -type=Artifact -[/card] -[card] text=Destroy target creature. It can't be regenerated. You lose life equal to that creature's toughness. id=50210 target=creature @@ -223,6 +229,23 @@ power=2 toughness=1 [/card] [card] +id=50171 +name=Fangren Pathcutter +mana={4}{G}{G} +type=Creature +subtype=Beast +power=4 +toughness=6 +text=Whenever Fangren Pathcutter attacks, attacking creatures gain trample until end of turn. +# Note: Coded as a triggered conditional "all" effect. This +# makes sure that the effect doesn't get removed if Fangren +# Pathcutter leaves play. +auto=@each combatblockers:aslongas(Fangren Pathcutter[attacking]) all(creature[attacking]) Trample ueot +# Note: above line does not give the Trample bonus when Fangren +# Pathcutter leaves play before the combatblockers step starts. +rarity=U +[/card] +[card] text=Feedback Bolt deals damage to target player equal to the number of artifacts you control. id=46108 name=Feedback Bolt @@ -270,6 +293,15 @@ toughness=2 abilities=first strike [/card] [card] +id=48215 +name=Goblin Cannon +mana={4} +type=Artifact +text={2}: Goblin Cannon deals 1 damage to target creature or player. Sacrifice Goblin Cannon. +auto={2}{S}:damage:1 target(creature,player) +rarity=U +[/card] +[card] text={T}, Sacrifice an artifact: Target player puts the top three cards of his or her library into his or her graveyard. Whenever an artifact enters the battlefield, you may untap Grinding Station auto=@movedTo(artifact|battlefield):may untap auto={T}{S(artifact|myBattlefield)}:deplete:3 target(player) @@ -309,7 +341,7 @@ toughness=1 [/card] [card] text=Sacrifice an artifact: Add {2} to your mana pool. -auto={T}{S(artifact|myBattlefield)}:Add:{2} +auto={S(artifact|myBattlefield)}:Add:{2} id=51633 name=Krark-Clan Ironworks rarity=U @@ -324,7 +356,7 @@ rarity=C mana={3}{R}{R} type=Creature subtype=Ogre -auto={T}{S(artifact|myBattlefield)}:cantblock target(creature) +auto={R}{S(artifact|myBattlefield)}:cantblock target(creature) power=3 toughness=3 [/card] @@ -332,7 +364,7 @@ toughness=3 text=Vigilance {W}: Loxodon Stalwart gets +0/+1 until end of turn. id=73567 name=Loxodon Stalwart -abilities=vigilance +abilities=Vigilance rarity=U mana={3}{W}{W} type=Creature @@ -391,7 +423,7 @@ toughness=1 text=You draw two cards and you lose 2 life. id=51178 name=Night's Whisper -auto=draw:2 +auto=draw:2 controller auto=life:-2 controller rarity=U mana={1}{B} @@ -468,6 +500,7 @@ type=Sorcery text=Target creature gets +5/+0 and gains haste until end of turn. id=51148 name=Screaming Fury +target=creature auto=5/0 auto=haste rarity=C @@ -475,6 +508,29 @@ mana={2}{R} type=Sorcery [/card] [card] +id=73598 +name=Silent Arbiter +mana={4} +type=Artifact Creature +subtype=Construct +power=1 +toughness=5 +text=No more than one creature can attack each combat. No more than one creature can block each combat. +auto=aslongas(creature[attacking]|battlefield) lord(creature[-attacking]|battlefield) cantattack +auto=aslongas(creature[blocking]|battlefield) lord(creature[-blocking]|battlefield) cantblock +rarity=R +[/card] +[card] +id=73926 +name=Skullcage +mana={4} +type=Artifact +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. +auto=@each opponent upkeep:aslongas(*|opponenthand) damage:2 opponent >4 +auto=@each opponent upkeep:aslongas(*|opponenthand) damage:2 opponent <3 +rarity=U +[/card] +[card] text=Flying, vigilance (This creature can't be blocked except by creatures with flying or reach, and attacking doesn't cause this creature to tap.) id=50136 name=Skyhunter Prowler @@ -496,7 +552,7 @@ type=Creature subtype=Cat Knight power=1 toughness=1 -abilities=flying,doublestrike +abilities=flying,double strike [/card] [card] text=Trample, haste (If this creature would deal enough combat damage to its blockers to destroy them, you may have it deal the rest of its damage to defending player. This creature can attack and {T} as soon as it comes under your control.) At end of turn, sacrifice Spark Elemental. @@ -512,7 +568,7 @@ toughness=1 abilities=trample,haste [/card] [card] -text={1}: Untap Staff of Domination. {2}, {T}: You gain 1 life. {3}, {T}: Untap target creatur {4}, {T}: Tap target creature. {5}, {T}: Draw a card. +text={1}: Untap Staff of Domination. {2}, {T}: You gain 1 life. {3}, {T}: Untap target creature {4}, {T}: Tap target creature. {5}, {T}: Draw a card. auto={1}:untap auto={2}{T}:life:1 controller auto={3}{T}:untap target(creature) @@ -527,7 +583,7 @@ type=Artifact [card] text={T}, Put a 2/2 colorless Pincher creature token onto the battlefield. Whenever an artifact is put into a graveyard from the battlefield, you may untap Summoning Station. auto=@movedTo(artifact|graveyard) from(battlefield):may untap -auto={T}:token(Pincher,creature artifact pincher, 2/2, artifact) +auto={T}:token(Pincher,creature artifact pincher,2/2,artifact) id=72858 name=Summoning Station rarity=R @@ -536,6 +592,8 @@ type=Artifact [/card] [card] text=Whenever Tangle Asp blocks or becomes blocked by a creature, destroy that creature at end of combat. +# Note: The alias isn't entirely correct since the Cockatrice's +# ability doesn't affect walls, but Tangle Asp's should. alias=1238 id=50203 name=Tangle Asp @@ -571,6 +629,21 @@ power=2 toughness=2 [/card] [card] +id=73570 +name=Thought Courier +mana={1}{U} +type=Creature +subtype=Human Wizard +power=1 +toughness=1 +text={T}: Draw a card, then discard a card. +# Note: Following line is not entirely correct. The game +# requires you to discard a card *before* you can draw +# then new one. +auto={T}:draw:1 controller && moveto(mygraveyard) target(*|myhand) +rarity=U +[/card] +[card] text={1}{G}: Tyrranax gets -1/+1 until end of turn. id=50191 name=Tyrranax diff --git a/projects/mtg/bin/Res/sets/5DN/todo.dat b/projects/mtg/bin/Res/sets/5DN/todo.dat index 4ef6394c7..0ea4bd1e6 100644 --- a/projects/mtg/bin/Res/sets/5DN/todo.dat +++ b/projects/mtg/bin/Res/sets/5DN/todo.dat @@ -3,18 +3,10 @@ id=50164 name=Abuna's Chant mana={3}{W} type=Instant -text=Choose one :EYou gain 5 life; or prevent the next 5 damage that would be dealt to target creature this turn. Entwine {2} (Choose both if you pay the entwine cost.) +text=Choose one: You gain 5 life; or prevent the next 5 damage that would be dealt to target creature this turn. Entwine {2} (Choose both if you pay the entwine cost.) rarity=C [/card] [card] -id=51088 -name=Acquire -mana={3}{U}{U} -type=Sorcery -text=Search target opponent's library for an artifact card and put that card onto the battlefield under your control. Then that player shuffles his or her library. -rarity=R -[/card] -[card] id=51221 name=All Suns' Dawn mana={4}{G} @@ -30,7 +22,7 @@ type=Artifact Creature subtype=Golem power=0 toughness=0 -text=Modular—Sunburst (This enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.) +text=Modular -- Sunburst (This enters the battlefield with a +1/+1 counter on it for each color of mana spent to cast it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.) rarity=U [/card] [card] @@ -72,14 +64,6 @@ text=Flying {T}: Attach target Equipment you control to target creature you cont rarity=R [/card] [card] -id=39667 -name=Avarice Totem -mana={1} -type=Artifact -text={5}: Exchange control of Avarice Totem and target nonland permanent. -rarity=U -[/card] -[card] id=51375 name=Baton of Courage mana={3} @@ -88,14 +72,6 @@ text=Flash Sunburst (This enters the battlefield with a charge counter on it for rarity=C [/card] [card] -id=50141 -name=Beacon of Immortality -mana={5}{W} -type=Instant -text=Double target player's life total. Shuffle Beacon of Immortality into its owner's library. -rarity=R -[/card] -[card] id=51610 name=Beacon of Tomorrows mana={6}{U}{U} @@ -172,6 +148,12 @@ name=Chimeric Coils mana={1} type=Artifact text={X}{1}: Chimeric Coils becomes an X/X Construct artifact creature. Sacrifice it at the beginning of the next end step. +# Following line does not work: card does not become a creature +auto={X}{1}:becomes(construct artifact Creature,X/X) +# Following line does not work: we cannot chain triggers to paid abilities +auto={X}{1}:becomes(construct artifact Creature,X/X) && @next endofturn:bury +# Following line would be a very dirty & hackish replacement for the line above: +auto=@each endofturn:bury all(chimeric coils[construct]) rarity=U [/card] [card] @@ -196,6 +178,10 @@ name=Clock of Omens mana={4} type=Artifact text=Tap two untapped artifacts you control: Untap target artifact. +# Following line does not work: Can't have several singular targets in one auto line +##auto={0}:tap target(artifact[-tapped]|myinplay) && tap target(artifact[-tapped]|myinplay) && untap target(artifact[tapped]) +# Following line does not work: Can't specify tap targets in cost segment +auto={T(artifact[-tapped]|myinplay)}{T(artifact[-tapped]|myinplay)}:untap target(artifact[tapped]) rarity=U [/card] [card] @@ -212,6 +198,8 @@ name=Conjurer's Bauble mana={1} type=Artifact text={T}, Sacrifice Conjurer's Bauble: Put up to one target card from your graveyard on the bottom of your library. Draw a card. +# Following line does not work: Cards added to library are always added on top +auto={T}{S}:moveto(ownerlibrary) target(*|mygraveyard) && draw:1 controller rarity=C [/card] [card] @@ -235,6 +223,21 @@ text=Equipped creature gets +1/+0 for each artifact you control. {B}{B}: Attach rarity=C [/card] [card] +text=You may play land cards from your graveyard. +# Following line does not work: "May moveto" from graveyards does +# not work due to interface issues. The "limit:1" doesn't work +# here either. Even if both worked, then the card would allow +# you to play lands *in addition* to the 1 land you can play per +# turn. Instead it should just give you the option to play this +# 1 land from your hand or your graveyard. +auto={0}:may moveTo(myBattlefield) target(land|mygraveyard) limit:1 myTurnOnly +id=51133 +name=Crucible of Worlds +rarity=R +mana={3} +type=Artifact +[/card] +[card] id=51222 name=Dawn's Reflection mana={3}{G} @@ -252,6 +255,10 @@ subtype=Elemental power=8 toughness=8 text=Fear (This creature can't be blocked except by artifact creatures and/or black creatures.) Whenever a player casts a spell, sacrifice a creature. +# Following line does not work: triggered effects can't choose +# targets. (Also the effect could probably be canceled.) +auto=@movedto(*|stack):bury target(creature|mybattlefield) +abilities=Fear rarity=R [/card] [card] @@ -348,17 +355,6 @@ text=Whenever you cast an instant or sorcery spell, you may pay {1}. If you do, rarity=U [/card] [card] -id=50171 -name=Fangren Pathcutter -mana={4}{G}{G} -type=Creature -subtype=Beast -power=4 -toughness=6 -text=Whenever Fangren Pathcutter attacks, attacking creatures gain trample until end of turn. -rarity=U -[/card] -[card] id=51617 name=Ferocious Charge mana={2}{G} @@ -395,7 +391,7 @@ rarity=R [/card] [card] id=51631 -name=Fold into ÁEher +name=Fold into AEther mana={2}{U}{U} type=Instant text=Counter target spell. If that spell is countered this way, its controller may put a creature card from his or her hand onto the battlefield. @@ -410,14 +406,6 @@ text={2}: Put a charge counter on Gemstone Array. Remove a charge counter from G rarity=U [/card] [card] -id=48215 -name=Goblin Cannon -mana={4} -type=Artifact -text={2}: Goblin Cannon deals 1 damage to target creature or player. Sacrifice Goblin Cannon. -rarity=U -[/card] -[card] id=50927 name=Grafted Wargear mana={3} @@ -521,6 +509,12 @@ subtype=Goblin Artificer power=2 toughness=2 text={R}, Sacrifice two artifacts: Destroy target artifact. +# Following line doesn't work, or expects an extremely unintuitive +# input sequence. It would work with *one* sacrifice, the user +# then has to click on Engineers -> then target to destroy -> +# then artifavt to sacrifice. However I can't find a way to +# sacrifice *two* artifacts. +auto={R}{S(artifact|mybattlefield)}{S(artifact|mybattlefield)}:destroy target(artifact) rarity=U [/card] [card] @@ -622,17 +616,6 @@ text={3}: Switch Myr Quadropod's power and toughness until end of turn. rarity=C [/card] [card] -id=50179 -name=Myr Servitor -mana={1} -type=Artifact Creature -subtype=Myr -power=1 -toughness=1 -text=At the beginning of your upkeep, if Myr Servitor is on the battlefield, each player returns all cards named Myr Servitor from his or her graveyard to the battlefield. -rarity=C -[/card] -[card] id=51183 name=Neurok Stealthsuit mana={2} @@ -710,10 +693,12 @@ id=51190 name=Rain of Rust mana={3}{R}{R} type=Instant -text=Choose one  EDestroy target artifact; or destroy target land. Entwine {3}{R} (Choose both if you pay the entwine cost.) +text=Choose one: Destroy target artifact; or destroy target land. Entwine {3}{R} (Choose both if you pay the entwine cost.) rarity=C [/card] [card] +# Note: Following card is currently implemented in _cards.dat, +# but will need to be updated once Equipment is implemented. id=73569 name=Raksha Golden Cub mana={5}{W}{W} @@ -768,14 +753,9 @@ name=Rite of Passage mana={2}{G} type=Enchantment text=Whenever a creature you control is dealt damage, put a +1/+1 counter on it. (The damage is dealt before the counter is put on.) -rarity=R -[/card] -[card] -id=51080 -name=Roar of Reclamation -mana={5}{W}{W} -type=Sorcery -text=Each player returns all artifact cards from his or her graveyard to the battlefield. +# Following line doesn't work: game tries to put the counter on +# Rite of Passage, not on the damaged creature. +auto=@damaged(creature|mybattlefield):counter(1/1) rarity=R [/card] [card] @@ -822,25 +802,6 @@ text=Target opponent reveals his or her hand. You choose an artifact card from i rarity=U [/card] [card] -id=73598 -name=Silent Arbiter -mana={4} -type=Artifact Creature -subtype=Construct -power=1 -toughness=5 -text=No more than one creature can attack each combat. No more than one creature can block each combat. -rarity=R -[/card] -[card] -id=73926 -name=Skullcage -mana={4} -type=Artifact -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. -rarity=U -[/card] -[card] id=51374 name=Skyreach Manta mana={5} @@ -983,17 +944,6 @@ text=Destroy target artifact. Scry 2. (To scry 2, look at the top two cards of y rarity=U [/card] [card] -id=73570 -name=Thought Courier -mana={1}{U} -type=Creature -subtype=Human Wizard -power=1 -toughness=1 -text={T}: Draw a card, then discard a card. -rarity=U -[/card] -[card] id=51161 name=Tornado Elemental mana={5}{G}{G} @@ -1021,6 +971,8 @@ name=Vedalken Orrery mana={4} type=Artifact text=You may cast nonland cards as though they had flash. +# Following line does not work: Lords cannot affect hand/stack? +auto=lord(-land|myhand) Flash rarity=R [/card] [card] diff --git a/projects/mtg/bin/Res/test/_tests.txt b/projects/mtg/bin/Res/test/_tests.txt index d764f7e1b..7487d8a40 100644 --- a/projects/mtg/bin/Res/test/_tests.txt +++ b/projects/mtg/bin/Res/test/_tests.txt @@ -84,10 +84,13 @@ ascendant_evincar3.txt ashen_firebeast.txt ashen_firebeast2.txt aura_mutation.txt +avarice_totem.txt baneslayer_angel.txt baneslayer_angel2.txt barbed_sliver.txt basal_sliver.txt +beacon_of_creation.txt +beacon_of_destruction.txt beacon_of_unrest.txt belligerent_hatchling.txt benalish_knight.txt @@ -161,6 +164,7 @@ elvish_promenade.txt emblem_of_the_warmind.txt enervate.txt erg_raiders_i157.txt +fangren_pathcutter.txt farhaven_elf.txt farmstead.txt fastbond.txt @@ -292,6 +296,7 @@ shivan_hellkite.txt shock.txt shock2.txt siege_gang_commander.txt +silent_arbiter.txt slate_of_ancestry.txt sleeper_agent.txt slith_bloodletter.txt @@ -317,6 +322,7 @@ terror.txt terror2.txt threaten.txt throne_of_bone.txt +thought_courier.txt titanic_ultimatum.txt torture.txt tranquil_domain.txt diff --git a/projects/mtg/bin/Res/test/avarice_totem.txt b/projects/mtg/bin/Res/test/avarice_totem.txt new file mode 100644 index 000000000..45cf8f265 --- /dev/null +++ b/projects/mtg/bin/Res/test/avarice_totem.txt @@ -0,0 +1,20 @@ +#NAME: Avarice Totem +#DESC: {5}: Exchange control of Avarice Totem +#DESC: and target nonland permanent. +[INIT] +firstmain +[PLAYER1] +inplay:Avarice Totem +manapool:{5} +[PLAYER2] +inplay:Grizzly Bears +[DO] +Avarice Totem +Grizzly Bears +[ASSERT] +firstmain +[PLAYER1] +inplay:Grizzly Bears +[PLAYER2] +inplay:Avarice Totem +[END] diff --git a/projects/mtg/bin/Res/test/beacon_of_creation.txt b/projects/mtg/bin/Res/test/beacon_of_creation.txt new file mode 100644 index 000000000..5d92d7670 --- /dev/null +++ b/projects/mtg/bin/Res/test/beacon_of_creation.txt @@ -0,0 +1,21 @@ +#NAME: Beacon of Creation +#DESC: "Put a 1/1 green Insect creature token +#DESC: onto the battlefield for each Forest +#DESC: you control. Shuffle Beacon of Creation +#DESC: into its owner's library" +[INIT] +firstmain +[PLAYER1] +inplay:1386,1387 +hand:51613 +manapool:{3}{G} +[PLAYER2] +[DO] +51613 +[ASSERT] +firstmain +[PLAYER1] +inplay:1386,1387,-51613,-51613 +library:51613 +[PLAYER2] +[END] diff --git a/projects/mtg/bin/Res/test/beacon_of_destruction.txt b/projects/mtg/bin/Res/test/beacon_of_destruction.txt new file mode 100644 index 000000000..38c5b6a35 --- /dev/null +++ b/projects/mtg/bin/Res/test/beacon_of_destruction.txt @@ -0,0 +1,21 @@ +#NAME: Beacon of Destruction +#DESC: "deals 5 damage to target creature +#DESC: or player. Shuffle Beacon of +#DESC: Destruction into its owner's library." +[INIT] +firstmain +[PLAYER1] +hand:51612 +manapool:{3}{R}{R} +[PLAYER2] +inplay:Earth Elemental +[DO] +51612 +Earth Elemental +[ASSERT] +firstmain +[PLAYER1] +library:51612 +[PLAYER2] +graveyard:Earth Elemental +[END] diff --git a/projects/mtg/bin/Res/test/bugs/skullcage0_i239.txt b/projects/mtg/bin/Res/test/bugs/skullcage0_i239.txt new file mode 100644 index 000000000..764744d85 --- /dev/null +++ b/projects/mtg/bin/Res/test/bugs/skullcage0_i239.txt @@ -0,0 +1,24 @@ +#NAME: Skull Cage 0 +#DESC: "At the beginning of each opponent's upkeep, +#DESC: Skullcage deals 2 damage to that player +#DESC: unless he or she has exactly three or +#DESC: exactly four cards in hand." +#DESC: This script tests whether the player will +#DESC: correctly suffer 2 damage if he has no cards +#DESC: in hand. +#DESC: http://code.google.com/p/wagic/issues/detail?id=239 +[INIT] +untap +[PLAYER1] +[PLAYER2] +inplay:Skullcage +[DO] +next +next +[ASSERT] +draw +[PLAYER1] +life:18 +[PLAYER2] +inplay:Skullcage +[END] diff --git a/projects/mtg/bin/Res/test/bugs/skullcage1_i239.txt b/projects/mtg/bin/Res/test/bugs/skullcage1_i239.txt new file mode 100644 index 000000000..229363993 --- /dev/null +++ b/projects/mtg/bin/Res/test/bugs/skullcage1_i239.txt @@ -0,0 +1,26 @@ +#NAME: Skull Cage 1 +#DESC: "At the beginning of each opponent's upkeep, +#DESC: Skullcage deals 2 damage to that player +#DESC: unless he or she has exactly three or +#DESC: exactly four cards in hand." +#DESC: This script tests whether the player will +#DESC: correctly suffer 2 damage if he has 1 card +#DESC: in hand. +#DESC: http://code.google.com/p/wagic/issues/detail?id=239 +[INIT] +untap +[PLAYER1] +hand:Forest +[PLAYER2] +inplay:Skullcage +[DO] +next +next +[ASSERT] +draw +[PLAYER1] +hand:Forest +life:18 +[PLAYER2] +inplay:Skullcage +[END] diff --git a/projects/mtg/bin/Res/test/bugs/skullcage2_i239.txt b/projects/mtg/bin/Res/test/bugs/skullcage2_i239.txt new file mode 100644 index 000000000..482accaa7 --- /dev/null +++ b/projects/mtg/bin/Res/test/bugs/skullcage2_i239.txt @@ -0,0 +1,26 @@ +#NAME: Skull Cage 2 +#DESC: "At the beginning of each opponent's upkeep, +#DESC: Skullcage deals 2 damage to that player +#DESC: unless he or she has exactly three or +#DESC: exactly four cards in hand." +#DESC: This script tests whether the player will +#DESC: correctly suffer 2 damage if he has 2 cards +#DESC: in hand. +#DESC: http://code.google.com/p/wagic/issues/detail?id=239 +[INIT] +untap +[PLAYER1] +hand:Forest,Island +[PLAYER2] +inplay:Skullcage +[DO] +next +next +[ASSERT] +draw +[PLAYER1] +hand:Forest,Island +life:18 +[PLAYER2] +inplay:Skullcage +[END] diff --git a/projects/mtg/bin/Res/test/bugs/skullcage3_i239.txt b/projects/mtg/bin/Res/test/bugs/skullcage3_i239.txt new file mode 100644 index 000000000..aa0d5ddc6 --- /dev/null +++ b/projects/mtg/bin/Res/test/bugs/skullcage3_i239.txt @@ -0,0 +1,25 @@ +#NAME: Skull Cage 3 +#DESC: "At the beginning of each opponent's upkeep, +#DESC: Skullcage deals 2 damage to that player +#DESC: unless he or she has exactly three or +#DESC: exactly four cards in hand." +#DESC: This script tests whether the player will +#DESC: correctly suffer no damage if he has 3 cards +#DESC: in hand. +#DESC: http://code.google.com/p/wagic/issues/detail?id=239 +[INIT] +untap +[PLAYER1] +hand:Forest,Island,Mountain +[PLAYER2] +inplay:Skullcage +[DO] +next +next +[ASSERT] +draw +[PLAYER1] +hand:Forest,Island,Mountain +[PLAYER2] +inplay:Skullcage +[END] diff --git a/projects/mtg/bin/Res/test/bugs/skullcage4_i239.txt b/projects/mtg/bin/Res/test/bugs/skullcage4_i239.txt new file mode 100644 index 000000000..f2fb1d8f4 --- /dev/null +++ b/projects/mtg/bin/Res/test/bugs/skullcage4_i239.txt @@ -0,0 +1,25 @@ +#NAME: Skull Cage 4 +#DESC: "At the beginning of each opponent's upkeep, +#DESC: Skullcage deals 2 damage to that player +#DESC: unless he or she has exactly three or +#DESC: exactly four cards in hand." +#DESC: This script tests whether the player will +#DESC: correctly suffer no damage if he has 4 cards +#DESC: in hand. +#DESC: http://code.google.com/p/wagic/issues/detail?id=239 +[INIT] +untap +[PLAYER1] +hand:Forest,Island,Mountain,Plains +[PLAYER2] +inplay:Skullcage +[DO] +next +next +[ASSERT] +draw +[PLAYER1] +hand:Forest,Island,Mountain,Plains +[PLAYER2] +inplay:Skullcage +[END] diff --git a/projects/mtg/bin/Res/test/bugs/skullcage5_i239.txt b/projects/mtg/bin/Res/test/bugs/skullcage5_i239.txt new file mode 100644 index 000000000..d53be015c --- /dev/null +++ b/projects/mtg/bin/Res/test/bugs/skullcage5_i239.txt @@ -0,0 +1,26 @@ +#NAME: Skull Cage 5 +#DESC: "At the beginning of each opponent's upkeep, +#DESC: Skullcage deals 2 damage to that player +#DESC: unless he or she has exactly three or +#DESC: exactly four cards in hand." +#DESC: This script tests whether the player will +#DESC: correctly suffer 2 damage if he has 5 cards +#DESC: in hand. +#DESC: http://code.google.com/p/wagic/issues/detail?id=239 +[INIT] +untap +[PLAYER1] +hand:Forest,Island,Mountain,Plains,Swamp +[PLAYER2] +inplay:Skullcage +[DO] +next +next +[ASSERT] +draw +[PLAYER1] +hand:Forest,Island,Mountain,Plains,Swamp +life:18 +[PLAYER2] +inplay:Skullcage +[END] diff --git a/projects/mtg/bin/Res/test/bugs/skullcage6_i239.txt b/projects/mtg/bin/Res/test/bugs/skullcage6_i239.txt new file mode 100644 index 000000000..af926dfea --- /dev/null +++ b/projects/mtg/bin/Res/test/bugs/skullcage6_i239.txt @@ -0,0 +1,26 @@ +#NAME: Skull Cage 6 +#DESC: "At the beginning of each opponent's upkeep, +#DESC: Skullcage deals 2 damage to that player +#DESC: unless he or she has exactly three or +#DESC: exactly four cards in hand." +#DESC: This script tests whether the player will +#DESC: correctly suffer 2 damage if he has 6 cards +#DESC: in hand. +#DESC: http://code.google.com/p/wagic/issues/detail?id=239 +[INIT] +untap +[PLAYER1] +hand:Forest,Island,Mountain,Plains,Swamp,Grizzly Bears +[PLAYER2] +inplay:Skullcage +[DO] +next +next +[ASSERT] +draw +[PLAYER1] +hand:Forest,Island,Mountain,Plains,Swamp,Grizzly Bears +life:18 +[PLAYER2] +inplay:Skullcage +[END] diff --git a/projects/mtg/bin/Res/test/bugs/skullcage7_i239.txt b/projects/mtg/bin/Res/test/bugs/skullcage7_i239.txt new file mode 100644 index 000000000..0efcc6307 --- /dev/null +++ b/projects/mtg/bin/Res/test/bugs/skullcage7_i239.txt @@ -0,0 +1,26 @@ +#NAME: Skull Cage 7 +#DESC: "At the beginning of each opponent's upkeep, +#DESC: Skullcage deals 2 damage to that player +#DESC: unless he or she has exactly three or +#DESC: exactly four cards in hand." +#DESC: This script tests whether the player will +#DESC: correctly suffer 2 damage if he has 7 cards +#DESC: in hand. +#DESC: http://code.google.com/p/wagic/issues/detail?id=239 +[INIT] +untap +[PLAYER1] +hand:Forest,Island,Mountain,Plains,Swamp,Grizzly Bears,Craw Wurm +[PLAYER2] +inplay:Skullcage +[DO] +next +next +[ASSERT] +draw +[PLAYER1] +hand:Forest,Island,Mountain,Plains,Swamp,Grizzly Bears,Craw Wurm +life:18 +[PLAYER2] +inplay:Skullcage +[END] diff --git a/projects/mtg/bin/Res/test/fangren_pathcutter.txt b/projects/mtg/bin/Res/test/fangren_pathcutter.txt new file mode 100644 index 000000000..98aace7cc --- /dev/null +++ b/projects/mtg/bin/Res/test/fangren_pathcutter.txt @@ -0,0 +1,28 @@ +#NAME: Fangren Pathcutter 1 +#DESC: Verifies that Fangren Pathcutter +#DESC: gives Trample to itself and +#DESC: other attacking creatures. +[INIT] +combatattackers +[PLAYER1] +inplay:Fangren Pathcutter,Craw Wurm +[PLAYER2] +inplay:Grizzly Bears,Raging Goblin +[DO] +Fangren Pathcutter +Craw Wurm +next +Grizzly Bears +Raging Goblin +Raging Goblin +next +next +next +[ASSERT] +combatend +[PLAYER1] +inplay:Fangren Pathcutter,Craw Wurm +[PLAYER2] +graveyard:Grizzly Bears,Raging Goblin +life:13 +[END] diff --git a/projects/mtg/bin/Res/test/silent_arbiter.txt b/projects/mtg/bin/Res/test/silent_arbiter.txt new file mode 100644 index 000000000..14cd64f82 --- /dev/null +++ b/projects/mtg/bin/Res/test/silent_arbiter.txt @@ -0,0 +1,25 @@ +#NAME: Silent Arbiter +#DESC: "No more than one creature can attack each combat. +#DESC: No more than one creature can block each combat." +[INIT] +combatattackers +[PLAYER1] +inplay:Silent Arbiter,Grizzly Bears +[PLAYER2] +inplay:Raging Goblin,Earth Elemental +[DO] +Grizzly Bears +Silent Arbiter +next +Raging Goblin +Earth Elemental +next +next +[ASSERT] +combatend +[PLAYER1] +inplay:Silent Arbiter,Grizzly Bears +[PLAYER2] +inplay:Earth Elemental +graveyard:Raging Goblin +[END] diff --git a/projects/mtg/bin/Res/test/thought_courier.txt b/projects/mtg/bin/Res/test/thought_courier.txt new file mode 100644 index 000000000..9935e7568 --- /dev/null +++ b/projects/mtg/bin/Res/test/thought_courier.txt @@ -0,0 +1,23 @@ +#NAME: Thought Courier +#DESC: Verifies that Thought Courier +#DESC: can draw and discard a card. +#DESC: Does not check whether it can +#DESC: discard the card it just drew. +[INIT] +firstmain +[PLAYER1] +inplay:Thought Courier +hand:Island +library:Plains +[PLAYER2] +[DO] +Thought Courier +Island +[ASSERT] +firstmain +[PLAYER1] +inplay:Thought Courier +hand:Plains +graveyard:Island +[PLAYER2] +[END]