Psyringe - added test suite scripts for i169 - i175, Added several non-bug scripts. Replaced symbiotic_wurm.txt - it now tests token generation after the wurm has been killed. Removed description mentioning Akron Legionnaires which had nothing to do with the rest of the script. Renamed volcanic_island.txt to volcanic_eruption.txt since the script actually has nothing to do with Volcanic Island, updated in-script description as well. Corrected erroneous "endinterrupt" command in three scripts to "endinterruption".

(I actually spent half an hour fiddling with my first interruption script, because the tutorial on the blog doesn't mention the any command to end interrupt sequences. Then I checked the "Counterspell" script, was happy to find the "endinterrupt" keyword, and fiddled for another 30 minutes with it before I found out that this keyword is actually wrong and the parser doesn't understand it at all, it just so happens that the Counterspell script (and two others) work nevertheless because in these scripts the interruption doesn't need to end. I wholeheartedly agree with the passage in wololo's mail in which he says that we could use a "real" test suite tutorial / reference.
This commit is contained in:
Psyyringe
2009-11-10 05:50:11 +00:00
parent 7121958efa
commit ba460dfcf3
22 changed files with 596 additions and 13 deletions

View File

@@ -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

View File

@@ -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]

View File

@@ -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]

View File

@@ -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]

View File

@@ -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]

View File

@@ -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]

View File

@@ -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]

View File

@@ -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]

View File

@@ -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]

View File

@@ -13,7 +13,7 @@ no
yes
1196
1144
endinterrupt
endinterruption
[ASSERT]
FIRSTMAIN
[PLAYER1]

View File

@@ -15,7 +15,7 @@ no
yes
swords to plowshares
grizzly bears
endinterrupt
endinterruption
[ASSERT]
FIRSTMAIN
[PLAYER1]

View File

@@ -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]

View File

@@ -13,7 +13,7 @@ no
yes
1256
1144
endinterrupt
endinterruption
[ASSERT]
FIRSTMAIN
[PLAYER1]

View File

@@ -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]

View File

@@ -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]

View File

@@ -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]
[END]

View File

@@ -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]

View File

@@ -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]

View File

@@ -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]

View File

@@ -1,4 +1,4 @@
#Testing Volcanic Island
#Testing Volcanic Eruption
[INIT]
FIRSTMAIN
[PLAYER1]

View File

@@ -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]

View File

@@ -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]