diff --git a/projects/mtg/bin/Res/test/_tests.txt b/projects/mtg/bin/Res/test/_tests.txt index 56e57fd12..125fcca79 100644 --- a/projects/mtg/bin/Res/test/_tests.txt +++ b/projects/mtg/bin/Res/test/_tests.txt @@ -25,6 +25,7 @@ generic/persist3.txt generic/phases.txt generic/rampage.txt generic/rampage2.txt +generic/rampage_vs_first_strike.txt generic/regenerate.txt generic/regenerate_wither_i146.txt generic/sacrifice.txt @@ -173,9 +174,11 @@ lifetap.txt living_lands.txt lord_of_the_pit.txt lord_of_the_pit2.txt +master_decoy.txt master_of_etherium.txt memory_erosion.txt millstone.txt +misc01.txt #mind_rot.txt moat.txt mobile_fort.txt @@ -246,16 +249,22 @@ telekinetic_sliver.txt terror.txt terror2.txt threaten.txt +throne_of_bone.txt titanic_ultimatum.txt torture.txt tranquil_domain.txt +unstable_mutation2.txt unwilling_recruit.txt -volcanic_island.txt unstable_mutation.txt +unstable_mutation2.txt +vampiric_link.txt +volcanic_eruption.txt +walking_wall.txt wall_of_diffusion.txt wall_of_diffusion2.txt welkin_hawk.txt white_knight1.txt +windswept_heath.txt wrath_of_god.txt wrath_of_god2.txt zombie_master.txt diff --git a/projects/mtg/bin/Res/test/bugs/ability_stacking_i175.txt b/projects/mtg/bin/Res/test/bugs/ability_stacking_i175.txt new file mode 100644 index 000000000..522d88a02 --- /dev/null +++ b/projects/mtg/bin/Res/test/bugs/ability_stacking_i175.txt @@ -0,0 +1,31 @@ +#NAME: Ability Stacking +#DESC: Auras/effects that add an ability / +#DESC: remove it don't correctly stack. +#DESC: Example: casting Pacifism on a Blind- +#DESC: Spot Giant, then having a giant coming +#DESC: into play, will have the BSG ignore +#DESC: the Pacifism. +#DESC: See http://code.google.com/p/wagic/issues/detail?id=175 +[INIT] +firstmain +[PLAYER1] +inplay:Blind-Spot Giant +hand:Pacifism,Axegrinder Giant +manapool:{W}{W}{R}{R}{R}{R}{R}{R} +[PLAYER2] +[DO] +Pacifism +Blind-Spot Giant +Axegrinder Giant +next +next +Blind-Spot Giant +next +next +next +[ASSERT] +combatend +[PLAYER1] +inplay:Blind-Spot Giant,Pacifism,Axegrinder Giant +[PLAYER2] +[END] diff --git a/projects/mtg/bin/Res/test/bugs/crystal_rod_i172.txt b/projects/mtg/bin/Res/test/bugs/crystal_rod_i172.txt new file mode 100644 index 000000000..799e7f403 --- /dev/null +++ b/projects/mtg/bin/Res/test/bugs/crystal_rod_i172.txt @@ -0,0 +1,26 @@ +#NAME: Crystal Rod +#DESC: Checks whether Crystal Rod can +#DESC: correctly give 1 life +#DESC: See http://code.google.com/p/wagic/issues/detail?id=172 +[INIT] +firstmain +[PLAYER1] +hand:Air Elemental +manapool:{U}{U}{U}{U}{U} +[PLAYER2] +inplay:Crystal Rod,Island +[DO] +Air Elemental +no +yes +Island +Crystal Rod +endinterruption +[ASSERT] +firstmain +[PLAYER1] +inplay:Air Elemental +[PLAYER2] +inplay:Crystal Rod,Island +life:21 +[END] diff --git a/projects/mtg/bin/Res/test/bugs/dragon_whelp_i154.txt b/projects/mtg/bin/Res/test/bugs/dragon_whelp_i154.txt new file mode 100644 index 000000000..a28b6e021 --- /dev/null +++ b/projects/mtg/bin/Res/test/bugs/dragon_whelp_i154.txt @@ -0,0 +1,49 @@ +#NAME: Dragon Whelp +#DESC: Dragon Whelp should be destroyed at +#DESC: end of turn if its pumping ability was +#DESC: used at least 4 times this turn, but +#DESC: should survive otherwise +#DESC: The script first tests "safe" pumping x3, +#DESC: then tests "lethal" pumping x4. +[INIT] +firstmain +[PLAYER1] +inplay:Dragon Whelp,129649,129650,129651,129652 +library:Forest +manapool:{R}{R}{R} +[PLAYER2] +library:Plains +[DO] +Dragon Whelp +Dragon Whelp +Dragon Whelp +next +next +Dragon Whelp +eot +eot +next +next +next +129649 +129650 +129651 +129652 +Dragon Whelp +Dragon Whelp +Dragon Whelp +Dragon Whelp +next +next +Dragon Whelp +eot +[ASSERT] +untap +[PLAYER1] +inplay:129649,129650,129651,129652 +hand:Forest +graveyard:Dragon Whelp +[PLAYER2] +hand:Plains +life:9 +[END] diff --git a/projects/mtg/bin/Res/test/bugs/erg_raiders_i157.txt b/projects/mtg/bin/Res/test/bugs/erg_raiders_i157.txt new file mode 100644 index 000000000..07e9aa49a --- /dev/null +++ b/projects/mtg/bin/Res/test/bugs/erg_raiders_i157.txt @@ -0,0 +1,42 @@ +#NAME: Erg Raiders +#DESC: Erg Raiders was reported not to deal +#DESC: damage to its owner when it didn't attack. +#DESC: See: http://code.google.com/p/wagic/issues/detail?id=157 +#DESC: +[INIT] +firstmain +[PLAYER1] +library:Swamp,Mountain +hand:Erg Raiders +manapool:{1}{B} +[PLAYER2] +library:Plains,Island +[DO] +# Cast Erg Raiders. Should do NO damage since +# it came under this player's control in this turn. +Erg Raiders +eot +eot +# Do nothing with Erg Raiders in turn 2. Now +# it should deal damage to its controller. +eot +eot +# Attack with Erg raiders in turn 3. Now it +# should deal NO damage to its controller. +next +next +next +next +next +Erg Raiders +eot +[ASSERT] +untap +[PLAYER1] +inplay:Erg Raiders +hand:Swamp,Mountain +life:18 +[PLAYER2] +hand:Plains,Island +life:18 +[END] diff --git a/projects/mtg/bin/Res/test/bugs/fetchland_shuffle_i170.txt b/projects/mtg/bin/Res/test/bugs/fetchland_shuffle_i170.txt new file mode 100644 index 000000000..64975cbfa --- /dev/null +++ b/projects/mtg/bin/Res/test/bugs/fetchland_shuffle_i170.txt @@ -0,0 +1,15 @@ +[INIT] +firstmain +[PLAYER1] +inplay:Windswept Heath,Wooded Foothills +library:Forest,Island,Mountain,Plains,Swamp +[PLAYER2] +[DO] +# human +Windswept Heath +Plains +human +[ASSERT] +[PLAYER1] +[PLAYER2] +[END] diff --git a/projects/mtg/bin/Res/test/bugs/living_artifact_i169.txt b/projects/mtg/bin/Res/test/bugs/living_artifact_i169.txt new file mode 100644 index 000000000..fb2ee084e --- /dev/null +++ b/projects/mtg/bin/Res/test/bugs/living_artifact_i169.txt @@ -0,0 +1,67 @@ +#NAME: Living Artifact +#DESC: I checked an old bug list entry claiming that +#DESC: Living Artifact "gives you one life whenever +#DESC: a card is tapped". I couldn't reproduce that. +#DESC: However, I couldn't produce *any* effect from +#DESC: Living Artifact either. +#DESC: The script first tests for the condition of +#DESC: the bug report mentioned above, then tries to +#DESC: activate Living Artifact when it should be +#DESC: possible. The Assert part may need tweaking +#DESC: since I have no way of knowing how Living +#DESC: Artifact is assumed to be activated correctly. +#DESC: See http://code.google.com/p/wagic/issues/detail?id=169 +[INIT] +firstmain +[PLAYER1] +inplay:Forest,Sol Ring,Craw Wurm +hand:Living Artifact +library:Plains +manapool:{G} +[PLAYER2] +inplay:Grizzly Bears +library:Swamp,Mountain +[DO] +Living Artifact +Sol Ring +next +next +# Try a couple of things that should NOT put +# counters on Living Artifact +Forest +Sol Ring +Craw Wurm +eot +# 2nd player does nothing: +eot +# 1st player tries to use Living Artifact. This should +# have NO effect at this stage. +next +Living Artifact +eot +# 2nd player attacks: +next +next +next +next +next +Grizzly Bears +eot +# 1st player tries to use Living Artifact. This should +# work now since he has sustained damage +next +Living Artifact +[ASSERT] +upkeep +[PLAYER1] +inplay:Forest,Sol Ring,Craw Wurm,Living Artifact +hand:Plains +library: +life:19 +manapool: +[PLAYER2] +inplay:Grizzly Bears +hand:Swamp,Mountain +library: +life:14 +[END] diff --git a/projects/mtg/bin/Res/test/bugs/soul_net_i171.txt b/projects/mtg/bin/Res/test/bugs/soul_net_i171.txt new file mode 100644 index 000000000..4b555f7bd --- /dev/null +++ b/projects/mtg/bin/Res/test/bugs/soul_net_i171.txt @@ -0,0 +1,51 @@ +#NAME: Soul Net +#DESC: Soul Net was reported to be unusable +#DESC: in the opponent's turn. Research revealed +#DESC: that it currently isn't usable at all. +#DESC: The script has player 0 sacrifice a Mogg +#DESC: Fanatic to kill a Savannah Lions, and +#DESC: then try to gain 1 Life for each of the +#DESC: two creatures through Soul Net. Then the +#DESC: opponent sacrifices a Thrull, and player 0 +#DESC: tries to use Soul Net again. +#DESC: The script may need adapting, I can't be +#DESC: sure how Soul Net is supposed to work, so +#DESC: I had to guess. +#DESC: See http://code.google.com/p/wagic/issues/detail?id=171 +[INIT] +secondmain +[PLAYER1] +inplay:Soul Net,Mogg Fanatic,Mountain +manapool:{R}{R} +[PLAYER2] +inplay:Basal Thrull,Savannah Lions +library:Swamp +[DO] +Mogg Fanatic +Savannah Lions +yes +Soul Net +Soul Net +endinterruption +no +eot +next +next +next +Basal Thrull +no +yes +Mountain +Soul Net +endinterruption +[ASSERT] +firstmain +[PLAYER1] +inplay:Soul Net,Mountain +graveyard:Mogg Fanatic +life:23 +[PLAYER2] +hand:Swamp +graveyard:Basal Thrull,Savannah Lions +manapool:{B}{B} +[END] diff --git a/projects/mtg/bin/Res/test/bugs/spirit_link_i173.txt b/projects/mtg/bin/Res/test/bugs/spirit_link_i173.txt new file mode 100644 index 000000000..32d352f79 --- /dev/null +++ b/projects/mtg/bin/Res/test/bugs/spirit_link_i173.txt @@ -0,0 +1,31 @@ +#NAME: Spirit Link on opponent's creatures +#DESC: Spirit Link should give Life to the +#DESC: controller of Spirit Link, not to the +#DESC: controller of the enchanted creature. +#DESC: See http://code.google.com/p/wagic/issues/detail?id=173 +[INIT] +firstmain +[PLAYER1] +inplay:Armored Pegasus +hand:Spirit Link +manapool:{W} +[PLAYER2] +inplay:Courier Hawk +[DO] +Spirit Link +Courier Hawk +next +next +Armored Pegasus +next +Courier Hawk +next +next +[ASSERT] +combatend +[PLAYER1] +inplay:Armored Pegasus,Spirit Link +life:21 +[PLAYER2] +inplay:Courier Hawk +[END] diff --git a/projects/mtg/bin/Res/test/counterspell.txt b/projects/mtg/bin/Res/test/counterspell.txt index e0d22b348..7d59b6e07 100644 --- a/projects/mtg/bin/Res/test/counterspell.txt +++ b/projects/mtg/bin/Res/test/counterspell.txt @@ -13,7 +13,7 @@ no yes 1196 1144 -endinterrupt +endinterruption [ASSERT] FIRSTMAIN [PLAYER1] diff --git a/projects/mtg/bin/Res/test/fists_of_ironwood.txt b/projects/mtg/bin/Res/test/fists_of_ironwood.txt index 68e2ace36..7e852fa3b 100644 --- a/projects/mtg/bin/Res/test/fists_of_ironwood.txt +++ b/projects/mtg/bin/Res/test/fists_of_ironwood.txt @@ -15,7 +15,7 @@ no yes swords to plowshares grizzly bears -endinterrupt +endinterruption [ASSERT] FIRSTMAIN [PLAYER1] diff --git a/projects/mtg/bin/Res/test/generic/rampage_vs_first_strike.txt b/projects/mtg/bin/Res/test/generic/rampage_vs_first_strike.txt new file mode 100644 index 000000000..32c2a1d87 --- /dev/null +++ b/projects/mtg/bin/Res/test/generic/rampage_vs_first_strike.txt @@ -0,0 +1,25 @@ +#NAME: Rampage vs First Strike +#DESC: An attacking Elvish berserker (coded +#DESC: with Rampage in Wagic) should survive +#DESC: a First Strike attack from a blocking +#DESC: Tundra Wolves. +[INIT] +combatattackers +[PLAYER1] +inplay:Elvish Berserker +[PLAYER2] +inplay:Tundra Wolves +[DO] +Elvish Berserker +next +Tundra Wolves +next +next +next +[ASSERT] +combatend +[PLAYER1] +inplay:Elvish Berserker +[PLAYER2] +graveyard:Tundra Wolves +[END] diff --git a/projects/mtg/bin/Res/test/lifeforce.txt b/projects/mtg/bin/Res/test/lifeforce.txt index 7b86e945e..246bc578d 100644 --- a/projects/mtg/bin/Res/test/lifeforce.txt +++ b/projects/mtg/bin/Res/test/lifeforce.txt @@ -13,7 +13,7 @@ no yes 1256 1144 -endinterrupt +endinterruption [ASSERT] FIRSTMAIN [PLAYER1] diff --git a/projects/mtg/bin/Res/test/master_decoy.txt b/projects/mtg/bin/Res/test/master_decoy.txt new file mode 100644 index 000000000..a5f13e4b2 --- /dev/null +++ b/projects/mtg/bin/Res/test/master_decoy.txt @@ -0,0 +1,39 @@ +#NAME: Master Decoy +#DESC: Master Decoy was reported to be unable +#DESC: of tapping artifact creatures. +#DESC: The script shows that Master Decoy +#DESC: can tap an artifact. +[INIT] +combatbegin +# combatattackers +# combatblockers +# combatdamage +# combatend +# secondmain +# endofturn +# cleanup +[PLAYER1] +inplay:Master Decoy,Tundra Wolves +manapool:{W} +[PLAYER2] +inplay:Obsianus Golem +[DO] +Master Decoy +Obsianus Golem +next +Tundra Wolves +# 2nd player now tries to block with Obsianus Golem. +# If Master Decoy worked correctly, then this should +# not be possible. +next +Obsianus Golem +next +next +[ASSERT] +combatend +[PLAYER1] +inplay:Master Decoy,Tundra Wolves +[PLAYER2] +inplay:Obsianus Golem +life:19 +[END] diff --git a/projects/mtg/bin/Res/test/misc01.txt b/projects/mtg/bin/Res/test/misc01.txt new file mode 100644 index 000000000..f4ee84d2e --- /dev/null +++ b/projects/mtg/bin/Res/test/misc01.txt @@ -0,0 +1,45 @@ +#NAME: Misc1 +#DESC: This script tests the following complex +#DESC: bug report: "I attacked the AI with a +#DESC: wilt-leaf cavaliers pumped with might of +#DESC: oaks, and it blocked with a wall of bone +#DESC: juiced with bad moon. It tapped black to +#DESC: regenerate the wall (which was enchanted +#DESC: with my psychic venom) and lost 2 life. +#DESC: the wall never regenerated and the mana +#DESC: burned the AI. After the damage resolved +#DESC: The game went on to the AI's untap phase +#DESC: and crashed the psp." +[INIT] +firstmain +[PLAYER1] +inplay:Wilt-Leaf Cavaliers +hand:Might of Oaks,Psychic Venom +manapool:{G}{G}{G}{G}{U}{U} +[PLAYER2] +inplay:Wall of Bone,Bad Moon,Swamp +[DO] +Psychic Venom +Swamp +Might of Oaks +Wilt-Leaf Cavaliers +next +next +Wilt-Leaf Cavaliers +next +Swamp +Wall of Bone +choice 1 +Wall of Bone +choice 0 +next +next +[ASSERT] +combatend +[PLAYER1] +inplay:Wilt-Leaf Cavaliers,Psychic Venom +graveyard:Might of Oaks +[PLAYER2] +inplay:Wall of Bone,Bad Moon,Swamp +life:18 +[END] diff --git a/projects/mtg/bin/Res/test/symbiotic_wurm.txt b/projects/mtg/bin/Res/test/symbiotic_wurm.txt index ff92a9bda..078b64631 100644 --- a/projects/mtg/bin/Res/test/symbiotic_wurm.txt +++ b/projects/mtg/bin/Res/test/symbiotic_wurm.txt @@ -1,15 +1,26 @@ -#Bug: two akron legionnaires on your side, non can attack +#NAME: Symbiotic Wurm token production +#DESC: Symbiotic Wurm weas reported to produce +#DESC: its tokens when put into play, and not +#DESC: when pit into a graveyard. This script +#DESC: shows that Symbiotic Wurm currently works +#DESC: correctly. It summons Symbiotic Wurm, then +#DESC: removes all creatures with Wrath of God, +#DESC: then checks whether the tokens have been +#DESC: created. [INIT] -FIRSTMAIN +firstmain [PLAYER1] -hand:symbiotic wurm -manapool:{5}{G}{G}{G} +# Symbiotic Wurm = ID 39925 +hand:39925,Wrath of God +manapool:{W}{W}{W}{W}{G}{G}{G}{G}{G}{G}{G}{G} [PLAYER2] [DO] -symbiotic wurm +39925 +Wrath of God [ASSERT] -FIRSTMAIN +firstmain [PLAYER1] -inplay:symbiotic wurm +inplay:-39925,-39925,-39925,-39925,-39925,-39925,-39925 +graveyard:39925,Wrath of God [PLAYER2] -[END] \ No newline at end of file +[END] diff --git a/projects/mtg/bin/Res/test/throne_of_bone.txt b/projects/mtg/bin/Res/test/throne_of_bone.txt new file mode 100644 index 000000000..ad4612008 --- /dev/null +++ b/projects/mtg/bin/Res/test/throne_of_bone.txt @@ -0,0 +1,25 @@ +#NAME: Throne of Bone +#DESC: Checks whether Throne of Bone can +#DESC: correctly give 1 life +[INIT] +firstmain +[PLAYER1] +hand:Bad Moon +manapool:{B}{B} +[PLAYER2] +inplay:Throne of Bone,Swamp +[DO] +Bad Moon +no +yes +Swamp +Throne of Bone +endinterruption +[ASSERT] +firstmain +[PLAYER1] +inplay:Bad Moon +[PLAYER2] +inplay:Throne of Bone,Swamp +life:21 +[END] diff --git a/projects/mtg/bin/Res/test/unstable_mutation2.txt b/projects/mtg/bin/Res/test/unstable_mutation2.txt new file mode 100644 index 000000000..4a321725c --- /dev/null +++ b/projects/mtg/bin/Res/test/unstable_mutation2.txt @@ -0,0 +1,41 @@ +#NAME: Unstable Mutation removal +#DESC: When Unstable Mutation is removed +#DESC: or destroyed, the -1/-1 counters +#DESC: should stay on the enchanted creature. +#DESC: The script tests this by casting +#DESC: Unstable Mutation on a 1/1 creature, +#DESC: waiting for one upkeep to give the +#DESC: creature a -1/-1 counter, and then +#DESC: removing Unstable Mutation. If the +#DESC: counter remains (as it should), then +#DESC: the creature will be reduced to 0/0 +#DESC: and will go to the graveyard. +[INIT] +secondmain +[PLAYER1] +inplay:Merfolk of the Pearl Trident,Island,Plains +hand:Unstable Mutation +library:Disenchant +manapool:{U} +[PLAYER2] +library:Swamp +[DO] +Unstable Mutation +Merfolk of the Pearl Trident +eot +eot +next +next +next +Plains +Island +Disenchant +Unstable Mutation +[ASSERT] +firstmain +[PLAYER1] +inplay:Island,Plains +graveyard:Merfolk of the Pearl Trident,Unstable Mutation,Disenchant +[PLAYER2] +hand:Swamp +[END] diff --git a/projects/mtg/bin/Res/test/vampiric_link.txt b/projects/mtg/bin/Res/test/vampiric_link.txt new file mode 100644 index 000000000..71e67ad97 --- /dev/null +++ b/projects/mtg/bin/Res/test/vampiric_link.txt @@ -0,0 +1,27 @@ +#NAME: Vampiric Link +#DESC: Testing whether Vampiric Link +#DESC: gives life. +[INIT] +FIRSTMAIN +[PLAYER1] +hand:Vampiric Link +inplay:Grizzly Bears +manapool:{B} +[PLAYER2] +[DO] +Vampiric Link +Grizzly Bears +next +next +Grizzly Bears +next +next +next +[ASSERT] +combatend +[PLAYER1] +inplay:Grizzly Bears,Vampiric Link +life:22 +[PLAYER2] +life:18 +[END] diff --git a/projects/mtg/bin/Res/test/volcanic_island.txt b/projects/mtg/bin/Res/test/volcanic_eruption.txt similarity index 82% rename from projects/mtg/bin/Res/test/volcanic_island.txt rename to projects/mtg/bin/Res/test/volcanic_eruption.txt index 41e5e5a10..595ac13fe 100644 --- a/projects/mtg/bin/Res/test/volcanic_island.txt +++ b/projects/mtg/bin/Res/test/volcanic_eruption.txt @@ -1,4 +1,4 @@ -#Testing Volcanic Island +#Testing Volcanic Eruption [INIT] FIRSTMAIN [PLAYER1] diff --git a/projects/mtg/bin/Res/test/walking_wall.txt b/projects/mtg/bin/Res/test/walking_wall.txt new file mode 100644 index 000000000..6e31fdbc9 --- /dev/null +++ b/projects/mtg/bin/Res/test/walking_wall.txt @@ -0,0 +1,26 @@ +#NAME: Walking Wall +#DESC: Walking Wall was reported to be +#DESC: unable to attack even after its +#DESC: abilit ywas used. The script shows +#DESC: that this bug doesn't exist an more. +[INIT] +firstmain +[PLAYER1] +inplay:Walking Wall +manapool:{3} +[PLAYER2] +[DO] +Walking Wall +next +next +Walking Wall +next +next +next +[ASSERT] +combatend +[PLAYER1] +inplay:Walking Wall +[PLAYER2] +life:17 +[END] diff --git a/projects/mtg/bin/Res/test/windswept_heath.txt b/projects/mtg/bin/Res/test/windswept_heath.txt new file mode 100644 index 000000000..d09cdeed2 --- /dev/null +++ b/projects/mtg/bin/Res/test/windswept_heath.txt @@ -0,0 +1,23 @@ +#NAME: Windswept Heath life cost +#DESC: Onslaught lands were reported not to +#DESC: collect on the "1 life" payment +#DESC: The script shows that 1 life is +#DESC: correctly deducted. +[INIT] +firstmain +[PLAYER1] +inplay:Windswept Heath +library:Forest,Plains,Mountain,Swamp,Island +[PLAYER2] +[DO] +Windswept Heath +Plains +[ASSERT] +firstmain +[PLAYER1] +inplay:Plains +library:Forest,Mountain,Swamp,Island +graveyard:Windswept Heath +life:19 +[PLAYER2] +[END]