add a bunch of regenerate tests (#8079)
mostly the same as the heals tests, since they're basically the same ability with different defaults.
This commit is contained in:
parent
978cf98c18
commit
0ec7048a02
65 changed files with 1879 additions and 49 deletions
|
@ -79,6 +79,7 @@
|
|||
{test/scenarios/wml_tests/UnitsWML}
|
||||
{test/scenarios/wml_tests/UnitsWML/AbilitiesWML}
|
||||
{test/scenarios/wml_tests/UnitsWML/AbilitiesWML/heals}
|
||||
{test/scenarios/wml_tests/UnitsWML/AbilitiesWML/regenerate}
|
||||
{test/scenarios/wml_tests/UnitsWML/Attacks}
|
||||
{test/scenarios/wml_tests/WesnothFormulaLanguage}
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
[/modify_unit]
|
||||
#enddef
|
||||
|
||||
#define TEST_HEALS VALUE OTHER
|
||||
#define TEST_ABILITY ABIL VALUE OTHER
|
||||
|
||||
#arg ID
|
||||
1#endarg
|
||||
|
@ -21,7 +21,7 @@
|
|||
no#endarg
|
||||
|
||||
#arg ALLIES
|
||||
yes#endarg
|
||||
no#endarg
|
||||
|
||||
#arg ENEMIES
|
||||
no#endarg
|
||||
|
@ -32,9 +32,9 @@ no#endarg
|
|||
#arg CUMULATIVE
|
||||
no#endarg
|
||||
|
||||
[heals]
|
||||
[{ABIL}]
|
||||
id = {ID}
|
||||
name = _"test-heals_{ID}"
|
||||
name = _"test-{ABIL}_{ID}"
|
||||
affect_self = {SELF}
|
||||
affect_allies = {ALLIES}
|
||||
affect_enemies = {ENEMIES}
|
||||
|
@ -42,7 +42,5 @@ no#endarg
|
|||
value = {VALUE}
|
||||
{OTHER}
|
||||
cumulative = {CUMULATIVE}
|
||||
[affect_adjacent]
|
||||
[/affect_adjacent]
|
||||
[/heals]
|
||||
[/{ABIL}]
|
||||
#enddef
|
||||
|
|
|
@ -20,7 +20,8 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 2 (add=2)}
|
||||
{TEST_ABILITY heals 2 ([affect_adjacent][/affect_adjacent]
|
||||
add=2) ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -20,8 +20,9 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 3 (add=1
|
||||
divide=2)}
|
||||
{TEST_ABILITY heals 3 ([affect_adjacent][/affect_adjacent]
|
||||
add=1
|
||||
divide=2) ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -20,8 +20,9 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 3 (add=1
|
||||
multiply=2)}
|
||||
{TEST_ABILITY heals 3 ([affect_adjacent][/affect_adjacent]
|
||||
add=1
|
||||
multiply=2) ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -21,8 +21,9 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 3 (add=20
|
||||
sub=2)}
|
||||
{TEST_ABILITY heals 3 ([affect_adjacent][/affect_adjacent]
|
||||
add=20
|
||||
sub=2) ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 4 ()}
|
||||
{TEST_ABILITY heals 4 ([affect_adjacent][/affect_adjacent]) ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 4 () ENEMIES=yes}
|
||||
{TEST_ABILITY heals 4 ([affect_adjacent][/affect_adjacent]) ENEMIES=yes ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 4 () ENEMIES=yes SELF=yes}
|
||||
{TEST_ABILITY heals 4 ([affect_adjacent][/affect_adjacent]) ENEMIES=yes SELF=yes ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 4 () SELF=yes}
|
||||
{TEST_ABILITY heals 4 ([affect_adjacent][/affect_adjacent]) SELF=yes ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -20,7 +20,8 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 4 (divide=2)}
|
||||
{TEST_ABILITY heals 4 ([affect_adjacent][/affect_adjacent]
|
||||
divide=2) ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 2.8 ()}
|
||||
{TEST_ABILITY heals 2.8 ([affect_adjacent][/affect_adjacent]) ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 2.2 ()}
|
||||
{TEST_ABILITY heals 2.2 ([affect_adjacent][/affect_adjacent]) ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -20,7 +20,8 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 4 (multiply=2)}
|
||||
{TEST_ABILITY heals 4 ([affect_adjacent][/affect_adjacent]
|
||||
multiply=2) ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -20,8 +20,9 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 4 (multiply=3
|
||||
divide=2)}
|
||||
{TEST_ABILITY heals 4 ([affect_adjacent][/affect_adjacent]
|
||||
multiply=3
|
||||
divide=2) ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS -10 ()}
|
||||
{TEST_ABILITY heals -10 ([affect_adjacent][/affect_adjacent]) ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
#textdomain wesnoth-test
|
||||
#####
|
||||
# API(s) being tested: [heals]poison=
|
||||
##
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
#textdomain wesnoth-test
|
||||
#####
|
||||
# API(s) being tested: [heals]value=
|
||||
##
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 4 () POISON="cured"}
|
||||
{TEST_ABILITY heals 4 ([affect_adjacent][/affect_adjacent]) POISON="cured" ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[effect]
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 4 ()}
|
||||
{TEST_ABILITY heals 4 ([affect_adjacent][/affect_adjacent]) ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[effect]
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 10 ()}
|
||||
{TEST_ABILITY heals 10 ([affect_adjacent][/affect_adjacent]) ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -20,7 +20,8 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 3 (sub=2)}
|
||||
{TEST_ABILITY heals 3 ([affect_adjacent][/affect_adjacent]
|
||||
sub=2) ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -20,8 +20,9 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 3 (sub=1
|
||||
divide=2)}
|
||||
{TEST_ABILITY heals 3 ([affect_adjacent][/affect_adjacent]
|
||||
sub=1
|
||||
divide=2) ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -20,8 +20,9 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 3 (sub=1
|
||||
multiply=2)}
|
||||
{TEST_ABILITY heals 3 ([affect_adjacent][/affect_adjacent]
|
||||
sub=1
|
||||
multiply=2) ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 6 () ID=1 CUMULATIVE=yes}
|
||||
{TEST_HEALS 4 () ID=1 CUMULATIVE=no}
|
||||
{TEST_ABILITY heals 6 ([affect_adjacent][/affect_adjacent]) ID=1 CUMULATIVE=yes ALLIES=yes}
|
||||
{TEST_ABILITY heals 4 ([affect_adjacent][/affect_adjacent]) ID=1 CUMULATIVE=no ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 6 () ID=1 CUMULATIVE=yes}
|
||||
{TEST_HEALS 4 () ID=2 CUMULATIVE=no}
|
||||
{TEST_ABILITY heals 6 ([affect_adjacent][/affect_adjacent]) ID=1 CUMULATIVE=yes ALLIES=yes}
|
||||
{TEST_ABILITY heals 4 ([affect_adjacent][/affect_adjacent]) ID=2 CUMULATIVE=no ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 6 () ID=1 CUMULATIVE=no}
|
||||
{TEST_HEALS 4 () ID=1 CUMULATIVE=no}
|
||||
{TEST_ABILITY heals 6 ([affect_adjacent][/affect_adjacent]) ID=1 CUMULATIVE=no ALLIES=yes}
|
||||
{TEST_ABILITY heals 4 ([affect_adjacent][/affect_adjacent]) ID=1 CUMULATIVE=no ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 6 () ID=1 CUMULATIVE=no}
|
||||
{TEST_HEALS 4 () ID=2 CUMULATIVE=no}
|
||||
{TEST_ABILITY heals 6 ([affect_adjacent][/affect_adjacent]) ID=1 CUMULATIVE=no ALLIES=yes}
|
||||
{TEST_ABILITY heals 4 ([affect_adjacent][/affect_adjacent]) ID=2 CUMULATIVE=no ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 6 () ID=1 CUMULATIVE=yes}
|
||||
{TEST_HEALS 4 () ID=1 CUMULATIVE=yes}
|
||||
{TEST_ABILITY heals 6 ([affect_adjacent][/affect_adjacent]) ID=1 CUMULATIVE=yes ALLIES=yes}
|
||||
{TEST_ABILITY heals 4 ([affect_adjacent][/affect_adjacent]) ID=1 CUMULATIVE=yes ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 6 () ID=1 CUMULATIVE=yes}
|
||||
{TEST_HEALS 4 () ID=2 CUMULATIVE=yes}
|
||||
{TEST_ABILITY heals 6 ([affect_adjacent][/affect_adjacent]) ID=1 CUMULATIVE=yes ALLIES=yes}
|
||||
{TEST_ABILITY heals 4 ([affect_adjacent][/affect_adjacent]) ID=2 CUMULATIVE=yes ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
# Wait a turn for healing to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 17 hp: 1 + 2 (rest healing) + 14 ([heals], 29/2)
|
||||
# The Mage has 15 hp: 1 + 2 (rest healing) + 12 ([heals], 24/2)
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "heal_wfl_other" (
|
||||
[event]
|
||||
|
@ -20,7 +20,7 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS "(other.max_hitpoints/2)" ()}
|
||||
{TEST_ABILITY heals "(other.max_hitpoints/2)" ([affect_adjacent][/affect_adjacent]) ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS "(max_hitpoints/2)" ()}
|
||||
{TEST_ABILITY heals "(max_hitpoints/2)" ([affect_adjacent][/affect_adjacent]) ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_HEALS 0 ()}
|
||||
{TEST_ABILITY heals 0 ([affect_adjacent][/affect_adjacent]) ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]value=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with both the value and add attributes
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 7 hp: 1 + 2 (rest healing) + 4 ([regenerate], 2 (value) + 2 (add))
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_add" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 2 (add=2) SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP VALUE=1}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = "Elvish Archer"
|
||||
[/filter]
|
||||
variable = temp
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp.hitpoints numerical_equals 7}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,55 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]value=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with both the value, add, and divide attributes
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 5 hp: 1 + 2 (rest healing) + 2 ([regenerate], (3+1)/2)
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_add_divide" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 3 (add=1
|
||||
divide=2) SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP VALUE=1}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = "Elvish Archer"
|
||||
[/filter]
|
||||
variable = temp
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp.hitpoints numerical_equals 5}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,55 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]value=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with both the value, add, and multiply attributes
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 11 hp: 1 + 2 (rest healing) + 8 ([regenerate], (3+1)*2)
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_add_multiply" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 3 (add=1
|
||||
multiply=2) SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP VALUE=1}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = "Elvish Archer"
|
||||
[/filter]
|
||||
variable = temp
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp.hitpoints numerical_equals 11}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,56 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]value=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with both the value, add, and sub attributes
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 4 hp: 1 + 2 (rest healing) + 1 ([regenerate], 3 (value) - 2 (sub))
|
||||
# The value of the add attribute is ignored.
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_add_sub" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 3 (add=20
|
||||
sub=2) SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP VALUE=1}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = "Elvish Archer"
|
||||
[/filter]
|
||||
variable = temp
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp.hitpoints numerical_equals 4}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,60 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]affect_allies=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with only affect_allies.
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 5 hp: 1 + 4 ([regenerate])
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_affect_allies" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_side]
|
||||
side=1,2
|
||||
team_name=allies
|
||||
[/modify_side]
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 4 ([affect_adjacent][/affect_adjacent]) ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{NOTRAIT_UNIT 2 (Mage) 7 4}
|
||||
{SET_HP VALUE=1}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = "Mage"
|
||||
[/filter]
|
||||
variable = temp1
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp1.hitpoints numerical_equals 5}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
) VWED=no}
|
|
@ -0,0 +1,56 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]affect_enemies=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with only affect_enemies.
|
||||
# Spawn an enemy Mage next to the side 1 leader.
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 5 hp: 1 + 4 ([regenerate])
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_affect_enemies" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 4 ([affect_adjacent][/affect_adjacent]) ENEMIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{NOTRAIT_UNIT 2 (Mage) 7 4}
|
||||
{SET_HP VALUE=1}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = "Mage"
|
||||
[/filter]
|
||||
variable = temp1
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp1.hitpoints numerical_equals 5}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,91 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]affect_allies=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with affect_allies, affect_enemies, and affect_self.
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 5 hp: 1 + 4 ([regenerate])
|
||||
#####
|
||||
{COMMON_KEEP_A_B_C_D_UNIT_TEST "regenerate_affect_everybody" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_side]
|
||||
side=1,2
|
||||
team_name=allies
|
||||
[/modify_side]
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
side = 1
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 4 ([affect_adjacent][/affect_adjacent]) ENEMIES=yes SELF=yes ALLIES=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP VALUE=1}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 3 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 4 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
# check self
|
||||
[store_unit]
|
||||
[filter]
|
||||
side = 1
|
||||
[/filter]
|
||||
variable = temp1
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp1.hitpoints numerical_equals 7}}
|
||||
|
||||
# check ally
|
||||
# 5 instead of 7 since rest healing happens during the turn refresh, and this event happens before the refresh.
|
||||
[store_unit]
|
||||
[filter]
|
||||
side = 2
|
||||
[/filter]
|
||||
variable = temp2
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp2.hitpoints numerical_equals 5}}
|
||||
|
||||
# check enemy
|
||||
[store_unit]
|
||||
[filter]
|
||||
side = 3
|
||||
[/filter]
|
||||
variable = temp3
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp3.hitpoints numerical_equals 5}}
|
||||
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,54 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]affect_self=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability that doesn't affect themselves.
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Elvish Archer has 3 hp: 1 + 2 (rest healing))
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_affect_self_no" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 4 ()}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP VALUE=1}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = "Elvish Archer"
|
||||
[/filter]
|
||||
variable = temp2
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp2.hitpoints numerical_equals 3}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,54 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]value=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with both the value and divide attributes
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 4 hp: 1 + 2 (rest healing) + 2 ([regenerate], 4/2)
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_divide" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 4 (divide=2) SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP VALUE=1}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = "Elvish Archer"
|
||||
[/filter]
|
||||
variable = temp
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp.hitpoints numerical_equals 5}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,56 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]value=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with a value of 2.8.
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 5 hp: 1 + 2 (rest healing) + 2 ([regenerate], fraction truncated)
|
||||
#####
|
||||
#ifndef SCHEMA_VALIDATION
|
||||
{GENERIC_UNIT_TEST "regenerate_high_fraction" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 2.8 () SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP VALUE=1}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = "Elvish Archer"
|
||||
[/filter]
|
||||
variable = temp
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp.hitpoints numerical_equals 5}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
||||
#endif
|
|
@ -0,0 +1,56 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]value=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with a value of 2.2.
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 5 hp: 1 + 2 (rest healing) + 2 ([regenerate], fraction truncated)
|
||||
#####
|
||||
#ifndef SCHEMA_VALIDATION
|
||||
{GENERIC_UNIT_TEST "regenerate_low_fraction" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 2.2 () SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP VALUE=1}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = "Elvish Archer"
|
||||
[/filter]
|
||||
variable = temp
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp.hitpoints numerical_equals 5}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
||||
#endif
|
|
@ -0,0 +1,54 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]value=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with both the value and multiply attributes
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 11 hp: 1 + 2 (rest healing) + 8 ([regenerate], 4*2)
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_multiply" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 4 (multiply=2) SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP VALUE=1}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = "Elvish Archer"
|
||||
[/filter]
|
||||
variable = temp
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp.hitpoints numerical_equals 11}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,55 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]value=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with both the value, multiply, and divide attributes
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 9 hp: 1 + 2 (rest healing) + 6 ([regenerate], 4*3/2)
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_multiply_divide" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 4 (multiply=3
|
||||
divide=2) SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP VALUE=1}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = "Elvish Archer"
|
||||
[/filter]
|
||||
variable = temp
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp.hitpoints numerical_equals 9}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,54 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]value=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with a value of -10.
|
||||
# Set all units' hitpoints to 15.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 7 hp: 1 + 2 (rest healing) - 10 ([regenerate])
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_negative_value" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate -10 () SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP VALUE=15}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = "Elvish Archer"
|
||||
[/filter]
|
||||
variable = temp
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp.hitpoints numerical_equals 7}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,74 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]poison=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with no poison attribute.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage is poisoned but still has full hp.
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_no_poison" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
[regenerate]
|
||||
id = "test-regenerate"
|
||||
name = _"test-regenerate"
|
||||
affect_self = yes
|
||||
affect_allies = no
|
||||
affect_enemies = no
|
||||
value = 4
|
||||
cumulative = no
|
||||
[/regenerate]
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to = status
|
||||
add = poisoned
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 3 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 4 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = "Elvish Archer"
|
||||
[/filter]
|
||||
variable = temp1
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp1.hitpoints numerical_equals "$($temp1.max_hitpoints-6)"}}
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp1.status.poisoned boolean_equals yes}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,62 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]value=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability missing the value attribute.
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 3 hp: 1 + 2 (rest healing) + 0 ([regenerate], no value)
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_no_value" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
[regenerate]
|
||||
id = "test-regenerate"
|
||||
name = _"test-regenerate"
|
||||
affect_self = yes
|
||||
affect_allies = no
|
||||
affect_enemies = no
|
||||
poison = "slowed"
|
||||
cumulative = no
|
||||
[/regenerate]
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP VALUE=1}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = "Elvish Archer"
|
||||
[/filter]
|
||||
variable = temp
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp.hitpoints numerical_equals 3}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,66 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]poison=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with poison=cured.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage is not poisoned and still has full hp.
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_poison_cured" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 4 () POISON="cured" SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to = status
|
||||
add = poisoned
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 3 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 4 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = Elvish Archer
|
||||
[/filter]
|
||||
variable = temp1
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp1.hitpoints numerical_equals $temp1.max_hitpoints}}
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp1.status.poisoned boolean_equals no}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,66 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]poison=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with poison=slowed.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage is poisoned but still has full hp.
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_poison_slowed" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 4 () SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to = status
|
||||
add = poisoned
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 3 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 4 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = Elvish Archer
|
||||
[/filter]
|
||||
variable = temp1
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp1.hitpoints numerical_equals $temp1.max_hitpoints}}
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp1.status.poisoned boolean_equals yes}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,54 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]value=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with a value of 10.
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 13 hp: 1 + 2 (rest healing) + 10 ([regenerate])
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_positive_value" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 10 () SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = "Elvish Archer"
|
||||
[/filter]
|
||||
variable = temp
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp.hitpoints numerical_equals 13}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,54 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]value=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with both the value and sub attributes
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 4 hp: 1 + 2 (rest healing) + 1 ([regenerate], 3 (value) - 2 (sub))
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_sub" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 3 (sub=2) SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP VALUE=1}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = "Elvish Archer"
|
||||
[/filter]
|
||||
variable = temp
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp.hitpoints numerical_equals 4}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,55 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]value=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with both the value, sub, and divide attributes
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 7 hp: 1 + 2 (rest healing) + 1 ([regenerate], (3-1)/2)
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_sub_divide" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 3 (sub=1
|
||||
divide=2) SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP VALUE=1}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = "Elvish Archer"
|
||||
[/filter]
|
||||
variable = temp
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp.hitpoints numerical_equals 4}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,55 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]value=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with both the value, sub, and multiply attributes
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 7 hp: 1 + 2 (rest healing) + 4 ([regenerate], (3-1)*2)
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_sub_multiply" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 3 (sub=1
|
||||
multiply=2) SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP VALUE=1}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = "Elvish Archer"
|
||||
[/filter]
|
||||
variable = temp
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp.hitpoints numerical_equals 7}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,55 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]cumulative=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with non-unique IDs, one with cumulative=yes, and one with cumulative=no
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 9 hp: 1 + 2 (rest healing) + 6 ([regenerate])
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_two_cumulative_mixed_same_id" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 6 () ID=1 CUMULATIVE=yes SELF=yes}
|
||||
{TEST_ABILITY regenerate 4 () ID=1 CUMULATIVE=no SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = Elvish Archer
|
||||
[/filter]
|
||||
variable = temp1
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp1.hitpoints numerical_equals 9}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,55 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]cumulative=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with unique IDs, one with cumulative=yes, and one with cumulative=no
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 9 hp: 1 + 2 (rest healing) + 6 ([regenerate])
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_two_cumulative_mixed_unique_id" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 6 () ID=1 CUMULATIVE=yes SELF=yes}
|
||||
{TEST_ABILITY regenerate 4 () ID=2 CUMULATIVE=no SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = Elvish Archer
|
||||
[/filter]
|
||||
variable = temp1
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp1.hitpoints numerical_equals 9}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,55 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]cumulative=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with non-unique IDs and cumulative=no
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 9 hp: 1 + 2 (rest healing) + 6 ([regenerate])
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_two_cumulative_no_same_id" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 6 () ID=1 CUMULATIVE=no SELF=yes}
|
||||
{TEST_ABILITY regenerate 4 () ID=1 CUMULATIVE=no SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = Elvish Archer
|
||||
[/filter]
|
||||
variable = temp1
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp1.hitpoints numerical_equals 9}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,55 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]cumulative=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with unique IDs and cumulative=no
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 9 hp: 1 + 2 (rest healing) + 6 ([regenerate])
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_two_cumulative_no_unique_id" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 6 () ID=1 CUMULATIVE=no SELF=yes}
|
||||
{TEST_ABILITY regenerate 4 () ID=2 CUMULATIVE=no SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = Elvish Archer
|
||||
[/filter]
|
||||
variable = temp1
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp1.hitpoints numerical_equals 9}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,55 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]cumulative=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with non-unique IDs and cumulative=yes
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 9 hp: 1 + 2 (rest healing) + 6 ([regenerate])
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_two_cumulative_yes_same_id" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 6 () ID=1 CUMULATIVE=yes SELF=yes}
|
||||
{TEST_ABILITY regenerate 4 () ID=1 CUMULATIVE=yes SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = Elvish Archer
|
||||
[/filter]
|
||||
variable = temp1
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp1.hitpoints numerical_equals 9}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,55 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]cumulative=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with unique IDs and cumulative=yes
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 9 hp: 1 + 2 (rest healing) + 6 ([regenerate])
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_two_cumulative_yes_unique_id" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 6 () ID=1 CUMULATIVE=yes SELF=yes}
|
||||
{TEST_ABILITY regenerate 4 () ID=2 CUMULATIVE=yes SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = Elvish Archer
|
||||
[/filter]
|
||||
variable = temp1
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp1.hitpoints numerical_equals 9}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,54 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]value=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability that regenerates half the max hp of the unit.
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 17 hp: 1 + 2 (rest healing) + 14 ([regenerate], 29/2)
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_wfl_other" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate "(other.max_hitpoints/2)" () SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP VALUE=1}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = "Elvish Archer"
|
||||
[/filter]
|
||||
variable = temp
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp.hitpoints numerical_equals 17}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,54 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]value=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability that regenerates half its own max hp.
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 17 hp: 1 + 2 (rest healing) + 14 ([regenerate], 29/2)
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_wfl_self" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate "(max_hitpoints/2)" () SELF=yes}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP VALUE=1}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = "Elvish Archer"
|
||||
[/filter]
|
||||
variable = temp
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp.hitpoints numerical_equals 17}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -0,0 +1,54 @@
|
|||
#####
|
||||
# API(s) being tested: [regenerate]value=
|
||||
##
|
||||
# Actions:
|
||||
# Give the leaders a regenerate ability with a value of 0.
|
||||
# Set all units' hitpoints to 1.
|
||||
# Wait a turn for regenerating to take place.
|
||||
##
|
||||
# Expected end state:
|
||||
# The Mage has 3 hp: 1 + 2 (rest healing) + 0 ([regenerate])
|
||||
#####
|
||||
{GENERIC_UNIT_TEST "regenerate_zero" (
|
||||
[event]
|
||||
name = start
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to = new_ability
|
||||
[abilities]
|
||||
{TEST_ABILITY regenerate 0 ()}
|
||||
[/abilities]
|
||||
[/effect]
|
||||
[/modify_unit]
|
||||
|
||||
{SET_HP VALUE=1}
|
||||
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 1
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name =side 1 turn 2
|
||||
[end_turn][/end_turn]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name = side 2 turn 2
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type = "Elvish Archer"
|
||||
[/filter]
|
||||
variable = temp
|
||||
[/store_unit]
|
||||
{ASSERT {VARIABLE_CONDITIONAL temp.hitpoints numerical_equals 3}}
|
||||
{SUCCEED}
|
||||
[/event]
|
||||
)}
|
|
@ -500,6 +500,37 @@
|
|||
0 heal_two_cumulative_no_unique_id
|
||||
0 heal_two_cumulative_mixed_same_id
|
||||
0 heal_two_cumulative_mixed_unique_id
|
||||
# regenerate abilities tests
|
||||
0 regenerate_positive_value
|
||||
0 regenerate_negative_value
|
||||
0 regenerate_zero
|
||||
0 regenerate_add
|
||||
0 regenerate_add_divide
|
||||
0 regenerate_add_multiply
|
||||
0 regenerate_add_sub
|
||||
0 regenerate_affect_self_no
|
||||
0 regenerate_affect_enemies
|
||||
0 regenerate_affect_everybody
|
||||
0 regenerate_divide
|
||||
0 regenerate_high_fraction
|
||||
0 regenerate_low_fraction
|
||||
0 regenerate_multiply
|
||||
0 regenerate_multiply_divide
|
||||
0 regenerate_no_value
|
||||
0 regenerate_sub
|
||||
0 regenerate_sub_divide
|
||||
0 regenerate_sub_multiply
|
||||
0 regenerate_wfl_other
|
||||
0 regenerate_wfl_self
|
||||
0 regenerate_poison_slowed
|
||||
0 regenerate_poison_cured
|
||||
0 regenerate_no_poison
|
||||
0 regenerate_two_cumulative_yes_same_id
|
||||
0 regenerate_two_cumulative_yes_unique_id
|
||||
0 regenerate_two_cumulative_no_same_id
|
||||
0 regenerate_two_cumulative_no_unique_id
|
||||
0 regenerate_two_cumulative_mixed_same_id
|
||||
0 regenerate_two_cumulative_mixed_unique_id
|
||||
# Warnings about WML
|
||||
0 unknown_scenario_false_positives
|
||||
0 unknown_scenario_interpolated
|
||||
|
|
Loading…
Add table
Reference in a new issue