Add some event filter tests

This commit is contained in:
Celtic Minstrel 2021-04-09 09:53:08 -04:00 committed by Celtic Minstrel
parent 7cbc6c9d5d
commit 5bb0576e17
2 changed files with 234 additions and 0 deletions

View file

@ -0,0 +1,230 @@
{GENERIC_UNIT_TEST event_test_filter_condition (
[event]
name=start
{VARIABLE var 1}
{VARIABLE triggers 0}
[do_command]
[move]
x=7,8
y=3,3
[/move]
[/do_command]
[do_command]
[move]
x=8,9
y=3,4
[/move]
[/do_command]
[do_command]
[move]
x=9,8
y=4,4
[/move]
[/do_command]
{RETURN ({VARIABLE_CONDITIONAL triggers equals 3})}
[/event]
[event]
name=moveto
[filter_condition]
{VARIABLE_CONDITIONAL var equals 1}
[/filter_condition]
{ASSERT ({VARIABLE_CONDITIONAL var equals 1})}
{VARIABLE var 2}
{VARIABLE_OP triggers add 1}
[/event]
[event]
name=moveto
[filter_condition]
{VARIABLE_CONDITIONAL var equals 2}
[/filter_condition]
{ASSERT ({VARIABLE_CONDITIONAL var equals 2})}
{VARIABLE var 3}
{VARIABLE_OP triggers add 1}
[/event]
[event]
name=moveto
[filter_condition]
{VARIABLE_CONDITIONAL var equals 3}
[/filter_condition]
{ASSERT ({VARIABLE_CONDITIONAL var equals 3})}
{VARIABLE_OP triggers add 1}
[/event]
)}
{GENERIC_UNIT_TEST event_test_filter_side (
[event]
name=start
{VARIABLE triggers 0}
[do_command]
[move]
x=7,11
y=3,4
[/move]
[/do_command]
[end_turn][/end_turn]
[/event]
[event]
name=side 2 turn
[do_command]
[move]
x=13,10
y=3,2
[/move]
[/do_command]
[end_turn][/end_turn]
[/event]
[event]
name=moveto
[filter_side]
side=1
[/filter_side]
{ASSERT ({VARIABLE_CONDITIONAL unit.race equals elf})}
{VARIABLE_OP triggers add 1}
[/event]
[event]
name=moveto
[filter_side]
side=2
[/filter_side]
{ASSERT ({VARIABLE_CONDITIONAL unit.race equals orc})}
{VARIABLE_OP triggers add 1}
[/event]
[event]
name=turn 2
{RETURN ({VARIABLE_CONDITIONAL triggers equals 2})}
[/event]
)}
{GENERIC_UNIT_TEST event_test_filter_unit (
[event]
name=start
{VARIABLE triggers 0}
[do_command]
[recruit]
type=Peasant
x,y=3,6
[from]
x,y=7,3
[/from]
[/recruit]
[recruit]
type=Woodsman
x,y=15,8
[from]
x,y=7,3
[/from]
[/recruit]
[/do_command]
{RETURN ({VARIABLE_CONDITIONAL triggers equals 4})}
[/event]
[event]
name=recruit
first_time_only=no
[filter_second]
race=elf
[/filter_second]
{ASSERT ({VARIABLE_CONDITIONAL unit.level equals 0})}
{VARIABLE_OP triggers add 1}
[/event]
[event]
name=recruit
[filter]
type=Peasant
[/filter]
{ASSERT ({VARIABLE_CONDITIONAL second_unit.race equals elf})}
{VARIABLE_OP triggers add 1}
[/event]
[event]
name=recruit
[filter]
type=Woodsman
[/filter]
{ASSERT ({VARIABLE_CONDITIONAL second_unit.race equals elf})}
{VARIABLE_OP triggers add 1}
[/event]
) (SIDE1_RECRUIT=Peasant,Woodsman)}
{GENERIC_UNIT_TEST event_test_filter_attack (
[event]
name=turn 1
[modify_unit]
[filter]
[/filter]
# Make sure the attacks hit
[attack]
accuracy=100
[/attack]
# Make sure they don't die during the attacks
[status]
invulnerable=yes
[/status]
[/modify_unit]
{VARIABLE triggers 0}
[do_command]
[move]
x=7,13
y=3,4
[/move]
[attack]
[source]
x,y=13,4
[/source]
[destination]
x,y=13,3
[/destination]
[/attack]
[/do_command]
[end_turn][/end_turn]
[/event]
[event]
name=side 2 turn
[do_command]
[attack]
[source]
x,y=13,3
[/source]
[destination]
x,y=13,4
[/destination]
[/attack]
[/do_command]
[end_turn][/end_turn]
[/event]
[event]
name=attack
[filter_attack]
damage=5
[/filter_attack]
{ASSERT ({VARIABLE_CONDITIONAL side_number equals 1})}
{VARIABLE_OP triggers add 1}
[/event]
[event]
name=attack
[filter_attack]
damage=9
[/filter_attack]
{ASSERT ({VARIABLE_CONDITIONAL side_number equals 2})}
{VARIABLE_OP triggers add 1}
[/event]
[event]
name=attack
[filter_second_attack]
damage=5
[/filter_second_attack]
{ASSERT ({VARIABLE_CONDITIONAL side_number equals 2})}
{VARIABLE_OP triggers add 1}
[/event]
[event]
name=attack
[filter_second_attack]
damage=9
[/filter_second_attack]
{ASSERT ({VARIABLE_CONDITIONAL side_number equals 1})}
{VARIABLE_OP triggers add 1}
[/event]
[event]
name=turn 2
{RETURN ({VARIABLE_CONDITIONAL triggers equals 4})}
[/event]
)}

View file

@ -97,6 +97,10 @@
0 event_test_auto_variables_weapons
0 event_test_auto_variables_damage
0 event_test_auto_variables_owner
0 event_test_filter_condition
0 event_test_filter_side
0 event_test_filter_unit
0 event_test_filter_attack
0 filter_vision
0 scatter_units
0 has_ally