2014-05-11 05:57:49 +00:00
|
|
|
#
|
|
|
|
# Sanity checks of the unit test system
|
|
|
|
#
|
|
|
|
0 test_return
|
|
|
|
1 test_return_fail
|
|
|
|
0 test_assert
|
|
|
|
1 test_assert_fail
|
2021-04-26 01:04:50 +00:00
|
|
|
0 test_lua_return
|
|
|
|
1 test_lua_return_fail
|
|
|
|
8 test_lua_return_victory
|
|
|
|
7 test_lua_return_defeat
|
|
|
|
0 test_lua_assert
|
|
|
|
1 test_lua_assert_fail
|
|
|
|
1 test_lua_assert_fail_in_fired_event
|
|
|
|
0 test_lua_assert_compare
|
|
|
|
1 test_lua_assert_compare_fail1
|
|
|
|
1 test_lua_assert_compare_fail2
|
|
|
|
1 test_lua_assert_compare_fail3
|
|
|
|
1 test_lua_assert_compare_fail4
|
|
|
|
1 test_lua_assert_compare_fail5
|
|
|
|
1 test_lua_assert_compare_fail6
|
|
|
|
1 test_lua_assert_compare_fail7
|
|
|
|
1 test_lua_assert_compare_fail8
|
|
|
|
1 test_lua_assert_compare_fail9
|
|
|
|
0 test_lua_assert_errors1
|
|
|
|
1 test_lua_assert_errors2
|
|
|
|
1 test_lua_assert_errors3
|
|
|
|
0 test_lua_assert_errors4
|
|
|
|
1 test_lua_assert_errors5
|
|
|
|
0 test_lua_assert_errors6
|
|
|
|
1 test_lua_assert_errors7
|
|
|
|
0 test_lua_assert_errors8
|
|
|
|
1 test_lua_assert_errors9
|
2014-05-11 05:57:49 +00:00
|
|
|
2 empty_test
|
2021-07-05 10:31:15 +00:00
|
|
|
0 test_end_turn
|
2022-11-30 22:42:04 +00:00
|
|
|
9 there_is_no_test_with_this_name
|
2024-06-16 01:20:54 +00:00
|
|
|
0 check_strikes_once
|
|
|
|
10 check_strikes_twice_fail
|
2021-07-05 10:31:15 +00:00
|
|
|
#
|
|
|
|
# The synchronisation mechanism
|
|
|
|
#
|
2014-05-14 01:04:19 +00:00
|
|
|
4 break_replay_with_lua_random
|
2014-05-14 01:27:17 +00:00
|
|
|
0 fixed_lua_random_replay_with_sync_choice
|
2022-12-06 16:09:59 +00:00
|
|
|
9 test_synced_side_number
|
2021-07-05 10:31:15 +00:00
|
|
|
0 test_synced_state
|
2014-05-22 21:21:53 +00:00
|
|
|
#
|
2018-07-24 00:11:40 +00:00
|
|
|
# Security test
|
|
|
|
#
|
|
|
|
0 cve_2018_1999023
|
2021-07-18 04:35:04 +00:00
|
|
|
9 cve_2018_1999023_2
|
2018-07-24 00:11:40 +00:00
|
|
|
#
|
2014-05-22 21:21:53 +00:00
|
|
|
# Test Check Victory (If this isn't working other tests may have dubious value)
|
|
|
|
#
|
|
|
|
2 check_victory_basic_timeout
|
|
|
|
1 check_victory_basic_macro_check
|
2020-04-02 22:15:11 +00:00
|
|
|
8 check_victory_basic
|
2014-05-22 21:21:53 +00:00
|
|
|
1 check_victory_basic_fail
|
2020-04-02 22:15:11 +00:00
|
|
|
8 check_victory_basic_two
|
|
|
|
8 check_victory_basic_ai
|
2014-05-22 21:21:53 +00:00
|
|
|
1 check_victory_basic_ai_fail
|
2020-04-02 22:15:11 +00:00
|
|
|
8 check_victory_basic_ai_two
|
2014-05-22 21:21:53 +00:00
|
|
|
1 check_victory_one_no_units_fail_one
|
|
|
|
1 check_victory_one_no_units_fail_two
|
2020-04-02 22:15:11 +00:00
|
|
|
8 check_victory_one_no_units
|
2014-05-22 21:21:53 +00:00
|
|
|
1 check_victory_two_no_units_fail_one
|
|
|
|
1 check_victory_two_no_units_fail_two
|
2020-04-02 22:15:11 +00:00
|
|
|
8 check_victory_two_no_units
|
|
|
|
8 check_victory_always_one
|
|
|
|
8 check_victory_always_two
|
2014-05-22 21:21:53 +00:00
|
|
|
1 check_victory_always_no_units_fail
|
2020-04-02 22:15:11 +00:00
|
|
|
8 check_victory_always_no_units
|
2014-05-22 21:21:53 +00:00
|
|
|
1 check_victory_always_fail
|
|
|
|
1 check_victory_never_fail_one
|
|
|
|
1 check_victory_never_fail_two
|
|
|
|
1 check_victory_never_fail_three
|
2020-04-02 22:15:11 +00:00
|
|
|
8 check_victory_never_pass
|
|
|
|
7 check_victory_never_ai_fail
|
2014-05-11 05:57:49 +00:00
|
|
|
#
|
2022-11-22 15:13:03 +00:00
|
|
|
# Preprocessor
|
|
|
|
#
|
|
|
|
0 test_preprocessor_ifdef_in_arg
|
|
|
|
#
|
2014-05-11 05:57:49 +00:00
|
|
|
# WML API tests
|
|
|
|
#
|
2014-05-11 05:38:09 +00:00
|
|
|
0 two_plus_two
|
2021-07-18 04:35:04 +00:00
|
|
|
10 two_plus_two_fail
|
2014-05-11 05:38:09 +00:00
|
|
|
0 order_of_nested_events
|
2014-12-29 05:39:14 +00:00
|
|
|
0 test_clear_one
|
|
|
|
0 test_clear_two
|
2014-05-17 02:23:48 +00:00
|
|
|
0 test_unit_map
|
2014-05-11 05:38:09 +00:00
|
|
|
0 unit_spawns_at_nearest_vacant_hex
|
|
|
|
0 units_offmap_goto_recall
|
2020-11-19 07:24:44 +00:00
|
|
|
0 recall_by_unit_tag
|
2014-05-17 01:25:23 +00:00
|
|
|
0 test_move
|
2021-07-18 04:35:04 +00:00
|
|
|
9 test_move_fail_1
|
|
|
|
9 test_move_fail_2
|
|
|
|
9 test_move_fail_3
|
|
|
|
9 test_move_fail_4
|
|
|
|
9 test_move_fail_5
|
|
|
|
9 test_move_fail_6
|
2014-10-18 20:02:14 +00:00
|
|
|
0 test_move_unit
|
2019-12-12 07:41:55 +00:00
|
|
|
0 test_move_unit_in_circle
|
2022-03-22 13:54:36 +00:00
|
|
|
0 test_move_unit_to_occupied_location
|
2021-05-03 22:31:12 +00:00
|
|
|
0 sighted_on_move
|
2022-02-08 12:42:12 +00:00
|
|
|
0 move_skip_no_sighted_no_share_vision
|
|
|
|
0 move_skip_ally_sighted_no_share_vision
|
|
|
|
0 move_skip_all_sighted_no_share_vision
|
|
|
|
0 move_skip_no_sighted_yes_share_vision
|
|
|
|
0 move_skip_ally_sighted_yes_share_vision
|
|
|
|
0 move_skip_all_sighted_yes_share_vision
|
2014-05-26 23:06:00 +00:00
|
|
|
0 set_gold_in_prestart_one
|
|
|
|
0 set_gold_in_prestart_two
|
2014-05-27 00:02:05 +00:00
|
|
|
0 modify_turns_one
|
|
|
|
0 modify_turns_two
|
|
|
|
0 modify_turns_three
|
|
|
|
0 modify_turns_four
|
2014-05-27 00:14:16 +00:00
|
|
|
0 replace_schedule_prestart
|
2014-05-27 03:34:48 +00:00
|
|
|
0 modify_unit_facing
|
2021-11-05 20:39:38 +00:00
|
|
|
0 modify_unit_which_recall_list
|
2023-04-21 11:32:02 +00:00
|
|
|
0 modify_unit_recall_cost
|
2022-01-09 12:44:43 +00:00
|
|
|
0 put_to_recall_and_modify
|
2024-03-07 00:25:59 +00:00
|
|
|
0 effect_type_variation_full_heal
|
|
|
|
0 effect_type_variation_no_heal
|
2014-06-21 20:58:40 +00:00
|
|
|
0 event_handlers_in_events_1
|
|
|
|
0 event_handlers_in_events_3
|
|
|
|
0 event_handlers_in_events_2
|
2019-11-25 13:28:03 +00:00
|
|
|
0 event_handlers_in_events_4
|
2014-06-21 20:58:40 +00:00
|
|
|
0 event_handlers_in_events_5
|
|
|
|
0 event_handlers_in_events_6
|
|
|
|
0 event_handlers_in_events_7
|
|
|
|
0 event_handlers_in_events_8
|
2022-06-22 02:25:01 +00:00
|
|
|
0 event_handlers_in_events__delayed
|
|
|
|
0 event_handlers_in_events__delayed__dynamic_name
|
|
|
|
0 event_handlers_in_events__delayed__dynamic_filter
|
|
|
|
0 event_handlers_in_events__immediate
|
|
|
|
0 event_handlers_in_events__immediate__dynamic_name
|
|
|
|
0 event_handlers_in_events__immediate__dynamic_filter
|
2021-04-08 01:28:00 +00:00
|
|
|
0 event_remove_test
|
|
|
|
0 event_repeat_test
|
2021-04-08 01:28:27 +00:00
|
|
|
0 event_test_auto_variables_side_turn
|
|
|
|
0 event_test_auto_variables_xy
|
|
|
|
0 event_test_auto_variables_units
|
|
|
|
0 event_test_auto_variables_weapons
|
|
|
|
0 event_test_auto_variables_damage
|
|
|
|
0 event_test_auto_variables_owner
|
2021-04-09 13:53:08 +00:00
|
|
|
0 event_test_filter_condition
|
|
|
|
0 event_test_filter_side
|
|
|
|
0 event_test_filter_unit
|
2022-10-14 18:49:17 +00:00
|
|
|
0 event_test_filter_ability
|
2023-08-06 12:14:40 +00:00
|
|
|
0 event_test_filter_ability_interval_number
|
|
|
|
0 event_test_filter_ability_neg_value
|
2022-10-14 18:49:17 +00:00
|
|
|
0 event_test_filter_ability_no_match
|
2023-08-06 12:14:40 +00:00
|
|
|
0 event_test_filter_ability_no_match_neg_prefix
|
2024-05-18 13:29:16 +00:00
|
|
|
0 event_test_filter_ability_wml
|
|
|
|
0 event_test_filter_ability_wml_no_match
|
2022-10-14 18:49:17 +00:00
|
|
|
0 event_test_filter_ability_active
|
|
|
|
0 event_test_filter_ability_active_inactive
|
2023-09-29 12:49:16 +00:00
|
|
|
0 event_test_filter_ability_with_value_by_default
|
|
|
|
0 event_test_filter_ability_no_match_by_default
|
2024-06-07 16:08:43 +00:00
|
|
|
0 event_test_filter_ability_apply_to_resistance
|
2021-05-03 19:38:05 +00:00
|
|
|
0 test_ability_id_active
|
|
|
|
0 test_ability_id_not_active
|
2021-04-09 13:53:08 +00:00
|
|
|
0 event_test_filter_attack
|
2023-04-17 09:54:40 +00:00
|
|
|
0 event_test_filter_attack_no_defense
|
2023-11-10 22:35:57 +00:00
|
|
|
0 event_test_filter_attack_type
|
2023-04-11 17:34:28 +00:00
|
|
|
0 event_test_filter_attack_specials
|
2023-04-13 19:51:43 +00:00
|
|
|
0 event_test_filter_attack_on_moveto
|
2023-04-11 17:34:28 +00:00
|
|
|
0 event_test_filter_attack_opponent_weapon_condition
|
2024-06-22 14:07:34 +00:00
|
|
|
9 event_test_filter_attack_opponent_weapon_condition_no_triggered
|
|
|
|
9 event_test_filter_attack_student_weapon_condition
|
2021-04-11 22:10:59 +00:00
|
|
|
0 event_test_filter_wfl
|
|
|
|
0 event_test_filter_wfl2
|
|
|
|
0 event_test_filter_lua_serializable
|
|
|
|
0 event_test_filter_lua_dynamic
|
|
|
|
9 event_test_filter_lua_dynamic_break_save
|
2021-04-11 05:33:55 +00:00
|
|
|
0 event_test_action_wml
|
|
|
|
0 event_test_lua
|
|
|
|
0 event_test_lua_advanced
|
|
|
|
0 event_test_lua_repeat
|
|
|
|
9 event_test_lua_break_save
|
2022-06-24 05:49:28 +00:00
|
|
|
0 test_lua_name
|
2022-10-23 19:15:58 +00:00
|
|
|
0 filter_vision_all_no_side
|
|
|
|
0 filter_vision_all_side_2
|
|
|
|
0 filter_vision_all_side_4
|
|
|
|
0 filter_vision_side_1_side_4
|
|
|
|
0 filter_vision_side_2_side_4
|
|
|
|
0 filter_vision_side_3_side_4
|
|
|
|
0 filter_vision_side_4_side_1
|
|
|
|
0 filter_vision_side_4_side_3
|
|
|
|
0 filter_vision_side_4_not_side_2
|
|
|
|
0 filter_vision_not_side_5
|
2021-07-25 22:18:40 +00:00
|
|
|
0 test_shroud_init
|
|
|
|
0 test_shroud_place_wml
|
|
|
|
0 test_shroud_place_lua
|
|
|
|
0 test_shroud_place_lua_data
|
2021-07-26 00:00:41 +00:00
|
|
|
0 test_shroud_override_all
|
|
|
|
0 test_shroud_override_data
|
2021-07-25 22:18:40 +00:00
|
|
|
0 test_shroud_remove_wml
|
|
|
|
0 test_shroud_remove_lua
|
2021-07-26 00:00:41 +00:00
|
|
|
0 test_shroud_remove_lua_data
|
2021-07-25 22:18:40 +00:00
|
|
|
0 test_shroud_modify_wml
|
|
|
|
0 test_shroud_modify_lua
|
2018-10-27 20:40:03 +00:00
|
|
|
0 scatter_units
|
2022-11-01 03:06:39 +00:00
|
|
|
0 dave_has_ally_bob
|
|
|
|
0 dave_has_enemy_alice
|
|
|
|
0 dave_not_has_ally_steve
|
|
|
|
0 dave_has_enemy_sides
|
|
|
|
0 not_dave_has_ally_charlie
|
2015-01-02 23:03:24 +00:00
|
|
|
0 xp_mod_1
|
|
|
|
0 xp_mod_2
|
|
|
|
0 xp_mod_3
|
2015-06-10 20:07:28 +00:00
|
|
|
0 test_role_1
|
|
|
|
0 test_role_2
|
|
|
|
0 test_role_3
|
2015-06-13 19:23:40 +00:00
|
|
|
0 test_role_lua
|
2020-04-02 22:15:11 +00:00
|
|
|
0 events-test_nonfilterable
|
|
|
|
0 events-test_filterable1
|
|
|
|
0 events-test_filterable2
|
|
|
|
0 events-test_filterable3
|
|
|
|
0 events-test_victory
|
|
|
|
0 events-test_defeat
|
|
|
|
0 events-test_die
|
2022-08-09 04:18:43 +00:00
|
|
|
0 events-test_pre_attack_base
|
|
|
|
0 events-test_pre_attack_change_weapon
|
2020-10-28 18:35:52 +00:00
|
|
|
0 test_store_unit_defense_on
|
2021-07-18 04:35:04 +00:00
|
|
|
9 test_store_unit_defense_deprecated
|
2022-11-21 19:57:23 +00:00
|
|
|
0 special_note_from_movetype
|
|
|
|
0 special_note_individual_unit
|
2023-01-21 16:32:45 +00:00
|
|
|
0 has_achievement
|
2023-02-04 18:55:04 +00:00
|
|
|
0 test_movement_used
|
|
|
|
0 test_attacks_used
|
2023-07-09 03:08:10 +00:00
|
|
|
0 no_duplicate_advancements
|
|
|
|
0 add_advancement
|
2024-01-02 11:35:51 +00:00
|
|
|
0 harm_unit_survivable_experience_no
|
2024-01-18 10:32:18 +00:00
|
|
|
0 harm_unit_survivable_experience_unset
|
2024-01-02 11:35:51 +00:00
|
|
|
0 harm_unit_survivable_experience_yes
|
2024-01-18 10:32:18 +00:00
|
|
|
0 harm_unit_kill_no_experience_attack
|
|
|
|
0 harm_unit_kill_no_experience_attack_defend
|
|
|
|
0 harm_unit_kill_no_experience_attack_kill
|
|
|
|
0 harm_unit_kill_no_experience_defend
|
|
|
|
0 harm_unit_kill_no_experience_defend_kill
|
|
|
|
0 harm_unit_kill_no_experience_fight
|
|
|
|
0 harm_unit_kill_no_experience_kill
|
|
|
|
0 harm_unit_kill_no_experience_no_attack_defend_kill
|
2024-01-02 11:35:51 +00:00
|
|
|
0 harm_unit_kill_no_experience_no
|
2024-01-18 10:32:18 +00:00
|
|
|
0 harm_unit_kill_no_experience_unset
|
2024-01-02 11:35:51 +00:00
|
|
|
0 harm_unit_kill_no_experience_yes
|
2024-01-18 10:32:18 +00:00
|
|
|
0 harm_unit_kill_split_experience_attack
|
|
|
|
0 harm_unit_kill_split_experience_attack_defend
|
|
|
|
0 harm_unit_kill_split_experience_attack_kill
|
|
|
|
0 harm_unit_kill_split_experience_defend
|
|
|
|
0 harm_unit_kill_split_experience_defend_kill
|
|
|
|
0 harm_unit_kill_split_experience_fight
|
|
|
|
0 harm_unit_kill_split_experience_kill
|
|
|
|
0 harm_unit_kill_split_experience_no_attack_defend_kill
|
2024-01-02 11:35:51 +00:00
|
|
|
0 harm_unit_kill_split_experience_no
|
2024-01-18 10:32:18 +00:00
|
|
|
0 harm_unit_kill_split_experience_unset
|
2024-01-02 11:35:51 +00:00
|
|
|
0 harm_unit_kill_split_experience_yes
|
|
|
|
0 harm_unit_kill_yes_experience_no
|
2024-01-18 10:32:18 +00:00
|
|
|
0 harm_unit_kill_yes_experience_unset
|
2024-01-02 11:35:51 +00:00
|
|
|
0 harm_unit_kill_yes_experience_yes
|
2021-02-28 02:24:47 +00:00
|
|
|
# Terrain mask tests
|
|
|
|
0 test_terrain_mask_simple_nop
|
|
|
|
0 test_terrain_mask_simple_set
|
|
|
|
0 test_terrain_mask_simple_underlay
|
|
|
|
0 test_terrain_mask_simple_overlay
|
|
|
|
0 test_terrain_mask_simple_name
|
2023-05-06 08:29:55 +00:00
|
|
|
0 test_terrain_mask_simple_name_ignore
|
2021-02-28 02:24:47 +00:00
|
|
|
0 test_terrain_mask_align_odd_on_odd
|
|
|
|
0 test_terrain_mask_align_odd_on_even
|
|
|
|
0 test_terrain_mask_align_even_on_odd
|
|
|
|
0 test_terrain_mask_align_even_on_even
|
|
|
|
0 test_terrain_mask_align_raw_on_odd
|
|
|
|
0 test_terrain_mask_align_raw_on_even
|
|
|
|
0 test_terrain_mask_deprecated_border_no
|
|
|
|
0 test_terrain_mask_deprecated_border_yes
|
|
|
|
0 test_terrain_mask_rule_basic
|
2022-11-30 22:42:04 +00:00
|
|
|
0 test_terrain_mask_file
|
2014-05-11 05:57:49 +00:00
|
|
|
#
|
2014-12-05 20:30:12 +00:00
|
|
|
# LUA
|
|
|
|
#
|
|
|
|
0 lua_dofile
|
2014-12-07 04:32:29 +00:00
|
|
|
0 lua_require
|
2014-12-26 06:07:57 +00:00
|
|
|
0 lua_get_sides
|
2015-04-10 18:16:21 +00:00
|
|
|
0 test_wml_actions
|
|
|
|
0 test_wml_conditionals
|
2018-01-17 21:23:13 +00:00
|
|
|
0 lua_wml_tagnames
|
Support negative numbers in ranges
Adds support for using these in the weapons and ability filters:
* "-1", which was previously treated as an parse error (no number before the separator).
* "-3--1"
* "-infinity" as the lower number in the range, provided a different upper number is given.
This treats "-infinity" (with no other number), "-infinity--infinity",
"infinity" (with no other number) and "infinity-infinity" as errors. It seems
unlikely that someone would intend to use a filter that can't match any
reasonable number.
The range "-infinity-infinity" will be parsed successfully. I don't see a use
case for that, but nor do I see a reason to add extra C++ to reject it.
However, it's not added to the schema, as I think it's good for the schema to
give a warning when someone creates a filter which will accept every value
(including accepting the default, so "-infinity-infinity" accepts the unset
value too).
Includes new unit tests for the C++ and the Lua stringx.parse_range functions.
The next commit adds more WML tests, but is kept separate to credit the author.
This started as a change to move common filter functions from unit.cpp to
somewhere that they could be reused for other config-based filters. In the
process a missing feature was found and added, the move is still included in a
single Git commit because the move was required in order to make these
functions accessible to the Boost unit tests.
Two CodeBlocks project files additionally get src/utils/any.hpp added,
which was in one of them but missing from the other two. I noticed because
these are alphabetically at the start of the src/utils file list.
Thanks to @CelticMinstrel for the review comments and Xcode project updates.
2023-08-06 11:51:49 +00:00
|
|
|
0 test_parse_range
|
2023-01-23 16:52:49 +00:00
|
|
|
0 test_scoped_array
|
|
|
|
0 test_scoped_scalar
|
2021-01-30 07:42:03 +00:00
|
|
|
0 as_text
|
2020-09-28 03:28:05 +00:00
|
|
|
0 test_lua_version_api
|
2014-12-05 20:30:12 +00:00
|
|
|
#
|
2014-05-28 00:28:05 +00:00
|
|
|
# Pathfinding
|
|
|
|
#
|
|
|
|
0 store_locations_one
|
2019-08-20 16:18:34 +00:00
|
|
|
0 store_locations_range
|
2019-07-22 10:44:44 +00:00
|
|
|
0 simple_find_path
|
2014-10-10 22:14:33 +00:00
|
|
|
# This test occasionally takes too long... (FIXME): 0 characterize_pathfinding_one
|
2015-03-01 03:49:03 +00:00
|
|
|
0 characterize_pathfinding_reach_1
|
|
|
|
0 characterize_pathfinding_reach_2
|
|
|
|
0 characterize_pathfinding_reach_3
|
|
|
|
0 characterize_pathfinding_reach_4
|
|
|
|
0 characterize_pathfinding_reach_5
|
|
|
|
0 characterize_pathfinding_reach_6
|
|
|
|
0 characterize_pathfinding_reach_7
|
2014-05-28 00:28:05 +00:00
|
|
|
#
|
2019-07-20 16:01:14 +00:00
|
|
|
# Movement types, and modifying them
|
|
|
|
#
|
|
|
|
0 test_elf_movement
|
|
|
|
0 test_orc_movement
|
|
|
|
0 test_elf_fast_cave_movement
|
|
|
|
0 test_elf_fast_hills_movement
|
|
|
|
0 test_elf_fast_cave_and_hills_movement
|
|
|
|
0 test_orc_fast_cave_movement
|
|
|
|
0 test_orc_fast_forest_movement
|
|
|
|
0 test_elf_slow_cave_movement
|
|
|
|
0 test_elf_longsighted_movement
|
|
|
|
0 test_orc_longsighted_movement
|
|
|
|
0 test_elf_longsighted_fast_cave_movement
|
|
|
|
0 test_elf_fast_cave_longsighted_movement
|
|
|
|
0 test_elf_vision
|
|
|
|
0 test_elf_fast_cave_vision
|
|
|
|
0 test_elf_fast_hills_vision
|
|
|
|
0 test_elf_longsighted_cave_vision
|
|
|
|
0 test_elf_longsighted_cave_and_hills_vision
|
|
|
|
0 test_elf_longsighted_cave_slow_cave_vision
|
2020-11-27 12:39:53 +00:00
|
|
|
0 test_resistances
|
2021-01-14 02:43:41 +00:00
|
|
|
# [effect]apply_to=movement and [effect]apply_to=vision
|
|
|
|
0 effect_move_affects_vision
|
|
|
|
0 effect_move_ignores_vision
|
Add attribute apply_to_vision to [effect]apply_to=movement
When processing [effect]apply_to=movement, if apply_to_vision is 'yes'
(which is the default) then the vision points will change by the same amount.
Previously, it sometimes affected vision and sometimes didn't; for most cases
where it makes a difference, I expect it to be a change from unanticipated
behavior to expected behavior.
Please refer to the new unit test added in this commit for more detailed docs;
that test is also a rough draft for the Wiki update needed when this merges.
The reason it sometimes affected vision was that the special value of -1 vision
points was interpreted as "use the value of the max movement points instead".
The special value of -1 is still supported and frequently used, and refactor that
is out of scope for this commit - it's easy to check when the code path changed
in this commit is used, however it's considerably more complex to find all
routes that create a unit with vision set to -1.
I'm expecting one add-on, Rebirth In Nature, to need a large update for this;
as well as a trivial change needed to the Add Creature Pack.
There are several mods that have their own handling for vision, recalculate the
values frequently, and are expected to continue working as before, as they'll
just overwrite any changes that the engine makes.
* Proper Flying Mod / Proper Vision Mod
* LotI
* Blessed Altar Mod
* Shards Era's `CALCULATE_WEAPONS_ONLY` macro
* Castle of Evil Spirit
Rebirth In Nature is an RPG-style campaign that expects the player's unit to
have vision separated from movement along with right-click menus that change
the character's movement, this will probably need `apply_to_vision=no` in
many places. OTOH, its `item_id=mobility` uses `apply_to=movement` followed by
`apply_to=vision` to implement in 1.14 what this change will make default
behavior in 1.16.
There are a few sharpshooter units which have vision better than their
movement. If given a buff which boosts their movement, this will give
them a buff to vision too; likely a change towards expected behavior.
* Archaic Era's Royal Ranger
* Ageless Era's Royal Ranger and Dwarvish Forest Sniper
* Eastern Europe at War's Yacht and Great Yacht
* Era of More Units's Lone Wolf
* Southernerns has several sharpshooters
* WWII Era has several sharpshooters
* War of Dominions has some guard towers with very low movement
Silver Age has abilities that modify vision based on time-of-day, but unlike
the Proper Flying Mod and LotI these are done by adding and removing objects
that add or subtract one vision point, these should be unaffected by this
change. Unrelated to that, it declares values for `[unit_type]vision=` even
when the value is the same as max moves - like the sharpshooters this means
that buffs to their movement wouldn't have buffed their vision but now do.
There are few units with vision less than movement. Generally these seem to be
missile weapons that are represented as units, and they probably won't meet any
apply_to=movement statements - even if a movement power-up is available, the
player would probably choose a different unit.
The Add Creature Pack has two creatures (the Cactose Elder and Carnivore Fatal
Plant) that have reduced vision, along with AMLAs that increase those units'
movement; these AMLAs will need to use `apply_to_vision=no`. These two
creatures are used in Castle of Evil Spirit, but they won't get enough
experience to get an AMLA there.
Fixes #3356.
2021-01-14 07:34:46 +00:00
|
|
|
0 effect_move_separated_vision
|
2021-01-14 02:43:41 +00:00
|
|
|
0 effect_vision
|
2021-04-14 10:40:15 +00:00
|
|
|
# [store_locations]
|
|
|
|
0 store_reachable_locations_vision
|
2019-07-20 16:01:14 +00:00
|
|
|
#
|
2021-04-27 13:02:17 +00:00
|
|
|
# General information queries
|
|
|
|
#
|
|
|
|
0 test_lua_colors
|
|
|
|
0 test_lua_colors_hexadecimal
|
|
|
|
#
|
2014-05-17 03:53:28 +00:00
|
|
|
# Attack calculations & codepath tests
|
2014-05-11 05:57:49 +00:00
|
|
|
#
|
2020-04-02 22:15:11 +00:00
|
|
|
8 alice_kills_bob
|
|
|
|
8 bob_kills_alice_on_retal
|
|
|
|
8 alice_kills_bob_levelup
|
|
|
|
8 bob_kills_alice
|
|
|
|
8 alice_kills_bob_on_retal
|
|
|
|
8 alice_kills_bob_on_retal_levelup
|
2014-05-11 05:38:09 +00:00
|
|
|
0 test_grunt_tod_damage
|
2015-01-05 07:34:09 +00:00
|
|
|
0 test_time_area_damage
|
|
|
|
0 test_time_area_prestart
|
2022-11-22 01:41:05 +00:00
|
|
|
0 test_berserk_firststrike
|
2022-10-23 19:15:58 +00:00
|
|
|
0 feeding_on_living
|
|
|
|
0 feeding_on_dead
|
2022-04-08 00:30:14 +00:00
|
|
|
0 firststrike_and_laststrike
|
2022-01-22 15:50:33 +00:00
|
|
|
0 backstab_active_with_accomplice_behind_bob
|
2024-01-24 19:49:41 +00:00
|
|
|
0 backstab_active_with_free_for_all
|
2022-01-22 15:50:33 +00:00
|
|
|
0 backstab_inactive_with_triangular_formation
|
|
|
|
0 backstab_inactive_with_statue_behind_bob
|
|
|
|
0 backstab_inactive_with_bobs_ally_behind_bob
|
Unit tests for [drains], [poison] and [slow], with apply_to=opponent
Slightly different to PR #6582, which was the 1.16 version of this. The five
lines that were labelled `preserving known bug` are changed to test that it's
been fixed.
Here `apply_to=opponent` means that the weapon special gives the opponent the
ability, the unit that should get poisoned or slowed is the unit that has the
weapon special.
There's a known bug in 1.16, that `apply_to=opponent` check the wrong unit to
see it it's `unpoisonable`, `undrainable` etc. It also checks the wrong unit to
see if it's already poisoned or slowed, so a battle between two units that both
have reverse-poison results in at most one being poisoned.
Most of the credit for this is Newfrenchy's, as he's already written a fix
and a WML based test. This commit uses a Lua test instead to test more
combinations of statuses.
This adds a `COMMON_KEEP_A_B_UNIT_TEST` macro, which is a counterpart to the
`GENERIC_UNIT_TEST` macro that starts the leaders next to each other, ready
to attack. The `A_B` is because I'm planning a multiple-side variant too.
There's no test for [petrify], as simulate_combat doesn't provide a stat for it.
This tests only 3 of the 6 abilities whose behavior changed in 650f70405ff.
My thoughts on testing the others are:
* [firststrike]'s test is in 650f70405ff.
* [drains], [poison] and [slow] are tested here.
* [petrify] ends combat, it's also not exposed in simulate_combat's stats.
* [plague] triggers after combat ends.
2022-04-07 20:46:34 +00:00
|
|
|
0 reflexive_drains
|
|
|
|
0 reflexive_poison
|
|
|
|
0 reflexive_slow
|
2022-10-02 08:28:46 +00:00
|
|
|
0 replace_special_with_filter_in_attack_event_active
|
|
|
|
0 replace_special_with_filter_in_attack_event_inactive
|
2018-07-22 21:51:22 +00:00
|
|
|
0 swarm_disables_upgrades
|
2022-04-08 00:30:14 +00:00
|
|
|
0 poison_opponent
|
2021-05-27 17:35:49 +00:00
|
|
|
0 unslowable_status_test
|
|
|
|
0 unpetrifiable_status_test
|
2024-09-13 06:10:44 +00:00
|
|
|
0 test_force_chance_to_hit_macro_nested
|
|
|
|
0 test_force_chance_to_hit_macro_toplevel
|
2023-01-19 18:49:39 +00:00
|
|
|
0 trait_exclusion_test
|
|
|
|
0 trait_requirement_test
|
2022-10-14 18:49:17 +00:00
|
|
|
0 test_remove_ability_by_filter
|
2023-10-08 15:09:31 +00:00
|
|
|
0 test_overwrite_specials_filter
|
2024-06-06 17:39:49 +00:00
|
|
|
0 damage_recalculation_mid_attack
|
2023-10-25 13:10:52 +00:00
|
|
|
0 damage_type_test
|
2023-11-10 22:35:57 +00:00
|
|
|
0 damage_type_with_filter_test
|
2023-10-25 13:10:52 +00:00
|
|
|
0 damage_secondary_type_test
|
2024-07-22 14:22:39 +00:00
|
|
|
0 damage_type_apply_to_both_filter_self_opponent
|
|
|
|
0 damage_type_apply_to_attacker_filter_attacker_defender
|
2024-06-22 14:07:34 +00:00
|
|
|
9 event_test_filter_damage_type_recursion
|
|
|
|
9 four_cycle_recursion_branching
|
|
|
|
9 four_cycle_recursion_by_id
|
|
|
|
9 four_cycle_recursion_by_tagname
|
2024-09-07 14:45:26 +00:00
|
|
|
9 ability_cycle_recursion_by_id
|
|
|
|
9 filter_self_ability_cycle_recursion_by_id
|
|
|
|
9 adjacent_abilities_recursion_by_id
|
2024-04-04 16:01:36 +00:00
|
|
|
0 negative_resistance_with_two_attack_types
|
|
|
|
0 positive_resistance_with_two_attack_types
|
|
|
|
0 taught_resistance_with_two_attack_types
|
2024-04-21 11:05:03 +00:00
|
|
|
0 taught_resistance_with_three_attack_types
|
2022-11-12 05:44:37 +00:00
|
|
|
0 swarms_filter_student_by_type
|
|
|
|
0 swarms_effects_not_checkable
|
|
|
|
0 filter_special_id_active
|
|
|
|
0 filter_ability_special_id_active
|
|
|
|
0 filter_special_id_not_exists
|
2023-07-04 09:28:39 +00:00
|
|
|
0 special_id_active_lua_function
|
2022-11-12 05:44:37 +00:00
|
|
|
0 leadership_when_other_has_special
|
|
|
|
0 leadership_when_other_has_no_special
|
|
|
|
0 effect_increase_attacks
|
|
|
|
0 opponent_weapon_has_no_special
|
|
|
|
0 opponent_weapon_has_special
|
|
|
|
0 student_teacher_are_same
|
2023-06-24 19:20:54 +00:00
|
|
|
0 teacher_damage_formula
|
2022-12-28 13:40:46 +00:00
|
|
|
# Math operations in ability or specials tags
|
|
|
|
0 special_calculation_add
|
|
|
|
0 special_calculation_add2_add3_cumulative
|
|
|
|
0 special_calculation_add3_add2_cumulative
|
|
|
|
0 special_calculation_add_multiply_combined
|
|
|
|
0 special_calculation_add_multiply_separated
|
|
|
|
0 special_calculation_add_sub_combined
|
|
|
|
0 special_calculation_add_sub_cumulative
|
|
|
|
0 special_calculation_add2_sub_minus3_cumulative
|
|
|
|
0 special_calculation_add_sub_separated
|
|
|
|
0 special_calculation_add_sub_with_ids
|
|
|
|
0 special_calculation_divide
|
|
|
|
0 special_calculation_divide_float_2dp
|
|
|
|
0 special_calculation_divide_float_3dp
|
|
|
|
0 special_calculation_divide_multiply_combined
|
|
|
|
0 special_calculation_divide_multiply_separated
|
|
|
|
0 special_calculation_multiply_float_2dp
|
|
|
|
0 special_calculation_multiply_float_3dp
|
|
|
|
0 special_calculation_sub
|
2024-09-07 11:50:55 +00:00
|
|
|
0 special_calculation_sub_add_cumulative
|
|
|
|
0 special_calculation_sub_add_separated
|
2022-12-28 13:40:46 +00:00
|
|
|
0 special_calculation_sub2_sub3_cumulative
|
|
|
|
0 special_calculation_sub3_sub2_cumulative
|
|
|
|
0 test_add_in_leadership_abilities
|
|
|
|
0 test_sub_in_leadership_abilities
|
2014-05-27 15:30:13 +00:00
|
|
|
#
|
|
|
|
# Deterministic unit facing tests
|
|
|
|
0 recruit_facing_enemy_one
|
|
|
|
0 recruit_facing_enemy_two
|
|
|
|
0 recruit_facing_leader
|
|
|
|
0 recruit_facing_center
|
2015-01-06 01:34:12 +00:00
|
|
|
#
|
|
|
|
# Interface tests
|
|
|
|
#
|
|
|
|
0 test_wml_menu_items_1
|
2022-11-30 22:42:04 +00:00
|
|
|
0 test_wml_menu_items_2
|
2015-01-06 01:34:12 +00:00
|
|
|
0 test_wml_menu_items_3
|
2015-04-02 21:31:13 +00:00
|
|
|
#
|
|
|
|
# Conditional tests
|
|
|
|
#
|
|
|
|
0 check_conditionals_1
|
|
|
|
0 check_conditionals_2
|
2015-09-19 04:16:29 +00:00
|
|
|
# Standard Unit Filter tests
|
|
|
|
0 filter_this_unit_wml
|
|
|
|
0 filter_this_unit_tl
|
2019-12-22 18:11:48 +00:00
|
|
|
0 filter_this_unit_formula
|
|
|
|
0 filter_formula_unit
|
2021-07-18 04:35:04 +00:00
|
|
|
9 filter_formula_unit_error
|
2024-08-16 18:35:33 +00:00
|
|
|
0 store_locations_with_unit_filter
|
|
|
|
0 store_locations_and_or_not_unit_filter
|
2015-09-17 21:46:41 +00:00
|
|
|
# Interrupt tag tests
|
|
|
|
0 check_interrupts_break
|
|
|
|
0 check_interrupts_return
|
|
|
|
0 check_interrupts_continue
|
|
|
|
0 check_interrupts_break_global
|
2022-11-02 10:45:54 +00:00
|
|
|
0 check_interrupts_break_nested_event
|
|
|
|
0 check_interrupts_return_nested_command
|
|
|
|
0 check_interrupts_return_nested_event
|
2021-07-18 04:35:04 +00:00
|
|
|
9 check_interrupts_continue_global
|
2015-09-23 04:25:12 +00:00
|
|
|
0 check_interrupts_elseif
|
|
|
|
0 check_interrupts_case
|
2015-10-06 16:40:12 +00:00
|
|
|
# For-loop tests
|
2021-07-18 04:35:04 +00:00
|
|
|
9 forloop_all_zero
|
|
|
|
9 forloop_step_zero
|
2015-10-06 16:40:12 +00:00
|
|
|
0 forloop_once_positive
|
|
|
|
0 forloop_once_negative
|
|
|
|
0 forloop_twice_matched
|
|
|
|
0 forloop_twice_unmatched
|
|
|
|
0 forloop_empty_array
|
|
|
|
0 forloop_array
|
|
|
|
0 forloop_array_reverse
|
|
|
|
0 forloop_step_large_positive
|
2016-03-13 05:37:11 +00:00
|
|
|
0 forloop_step_large_negative
|
2017-06-22 02:18:24 +00:00
|
|
|
0 for_defaults
|
|
|
|
0 for_start2
|
|
|
|
0 for_end2
|
|
|
|
0 for_end2_step2
|
|
|
|
0 for_end-2
|
|
|
|
0 for_end-2_step-2
|
2023-01-23 16:52:49 +00:00
|
|
|
0 foreach_mutate_nested
|
2016-03-13 05:37:11 +00:00
|
|
|
# AI Config Parsing tests
|
|
|
|
0 test_basic_simplified_aspect
|
|
|
|
0 test_basic_abbreviated_aspect
|
|
|
|
0 test_basic_standard_aspect
|
|
|
|
0 test_basic_composite_aspect
|
|
|
|
0 test_basic_lua_aspect
|
|
|
|
0 test_basic_composite_facet
|
|
|
|
0 test_basic_lua_facet
|
|
|
|
0 test_basic_composite_default_facet
|
|
|
|
0 test_basic_lua_default_facet
|
|
|
|
# AI Modification tests
|
|
|
|
0 test_modify_ai_delete_facet
|
|
|
|
0 test_modify_ai_change_facet
|
|
|
|
0 test_modify_ai_replace_facet
|
|
|
|
0 test_modify_ai_add_facet
|
|
|
|
0 test_modify_ai_change_default_facet
|
|
|
|
0 test_modify_ai_nested_facets
|
|
|
|
0 test_modify_ai_composite_default_facets
|
2018-01-01 21:17:56 +00:00
|
|
|
0 test_modify_ai_change_aspect
|
2019-11-18 19:36:19 +00:00
|
|
|
# Changing the number of sides
|
|
|
|
0 test_create_side
|
2018-01-01 21:17:56 +00:00
|
|
|
# Event tests
|
2022-11-23 13:52:51 +00:00
|
|
|
0 event_name_variable_substitution
|
2018-01-01 21:17:56 +00:00
|
|
|
0 order_of_variable_events1
|
2019-11-25 13:28:03 +00:00
|
|
|
0 order_of_variable_events2
|
2022-11-23 13:52:51 +00:00
|
|
|
0 order_of_variable_events3
|
|
|
|
0 premature_end_turn1
|
|
|
|
2 premature_end_turn2
|
2024-01-20 21:49:40 +00:00
|
|
|
0 events_test_priority_in_same_name
|
2023-05-02 05:53:10 +00:00
|
|
|
0 events_test_priority_vs_origin
|
|
|
|
0 events_test_same_priority
|
|
|
|
0 events_test_multi_int
|
|
|
|
0 events_test_multi_float
|
|
|
|
0 events_test_lua_events_add_priority_vs_origin
|
|
|
|
0 events_test_lua_events_add_repeating_priority_vs_origin
|
2023-01-16 12:25:09 +00:00
|
|
|
0 kill_fires_events
|
2018-10-20 23:13:50 +00:00
|
|
|
# Game mechanics
|
2023-02-04 12:14:44 +00:00
|
|
|
0 zero_experience
|
2024-02-19 12:49:09 +00:00
|
|
|
0 increase_zero_experience_by_percentage
|
2023-02-04 12:14:44 +00:00
|
|
|
0 unit_no_advancements
|
2023-05-06 17:10:06 +00:00
|
|
|
0 no_sides
|
2023-11-30 10:09:52 +00:00
|
|
|
# heal ability tests
|
|
|
|
0 heal
|
|
|
|
0 heal_with_filter
|
|
|
|
0 heal_positive_value
|
|
|
|
0 heal_negative_value
|
|
|
|
0 heal_zero
|
|
|
|
0 heal_add
|
|
|
|
0 heal_add_divide
|
|
|
|
0 heal_add_multiply
|
|
|
|
0 heal_add_sub
|
|
|
|
0 heal_affect_self
|
|
|
|
0 heal_affect_enemies
|
|
|
|
0 heal_affect_everybody
|
|
|
|
0 heal_divide
|
|
|
|
0 heal_high_fraction
|
|
|
|
0 heal_low_fraction
|
|
|
|
0 heal_multiply
|
|
|
|
0 heal_multiply_divide
|
2023-12-07 06:07:33 +00:00
|
|
|
0 heal_multiply_fraction
|
2023-11-30 10:09:52 +00:00
|
|
|
0 heal_no_value
|
|
|
|
0 heal_sub
|
|
|
|
0 heal_sub_divide
|
|
|
|
0 heal_sub_multiply
|
|
|
|
0 heal_wfl_other
|
|
|
|
0 heal_wfl_self
|
|
|
|
0 heal_poison_slowed
|
|
|
|
0 heal_poison_cured
|
|
|
|
0 heal_no_poison
|
|
|
|
0 heal_two_cumulative_yes_same_id
|
|
|
|
0 heal_two_cumulative_yes_unique_id
|
|
|
|
0 heal_two_cumulative_no_same_id
|
|
|
|
0 heal_two_cumulative_no_unique_id
|
|
|
|
0 heal_two_cumulative_mixed_same_id
|
|
|
|
0 heal_two_cumulative_mixed_unique_id
|
2023-12-18 05:42:35 +00:00
|
|
|
0 heal_max_value
|
2024-01-01 11:34:08 +00:00
|
|
|
# regenerate ability tests
|
2023-12-06 05:15:26 +00:00
|
|
|
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
|
2023-12-07 06:07:33 +00:00
|
|
|
0 regenerate_multiply_fraction
|
2023-12-06 05:15:26 +00:00
|
|
|
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
|
2023-12-18 05:42:35 +00:00
|
|
|
0 regenerate_max_value
|
2024-01-01 11:34:08 +00:00
|
|
|
# resistance ability tests
|
2023-12-15 15:59:01 +00:00
|
|
|
0 resistance_negative_value
|
|
|
|
0 resistance_zero
|
|
|
|
0 resistance_add
|
|
|
|
0 resistance_add_divide
|
|
|
|
0 resistance_add_multiply
|
|
|
|
0 resistance_add_sub
|
|
|
|
0 resistance_affect_self_no
|
|
|
|
0 resistance_affect_enemies
|
|
|
|
0 resistance_affect_everybody
|
|
|
|
0 resistance_divide
|
|
|
|
0 resistance_high_fraction
|
|
|
|
0 resistance_low_fraction
|
|
|
|
0 resistance_multiply
|
|
|
|
0 resistance_multiply_divide
|
|
|
|
0 resistance_multiply_fraction
|
|
|
|
0 resistance_no_value
|
|
|
|
0 resistance_sub
|
|
|
|
0 resistance_sub_divide
|
|
|
|
0 resistance_sub_multiply
|
|
|
|
0 resistance_wfl_other
|
|
|
|
0 resistance_wfl_self
|
|
|
|
0 resistance_two_cumulative_yes_same_id
|
|
|
|
0 resistance_two_cumulative_yes_unique_id
|
2024-04-11 02:15:16 +00:00
|
|
|
0 resistance_two_cumulative_yes_unique_id_skeletal
|
2023-12-15 15:59:01 +00:00
|
|
|
0 resistance_two_cumulative_no_same_id
|
|
|
|
0 resistance_two_cumulative_no_unique_id
|
2024-04-11 02:15:16 +00:00
|
|
|
0 resistance_two_cumulative_no_unique_id_skeletal
|
2023-12-15 15:59:01 +00:00
|
|
|
0 resistance_two_cumulative_mixed_same_id
|
|
|
|
0 resistance_two_cumulative_mixed_unique_id
|
2024-04-11 02:15:16 +00:00
|
|
|
0 resistance_two_cumulative_mixed_unique_id_skeletal
|
2023-12-15 15:59:01 +00:00
|
|
|
0 resistance_max_value
|
2024-04-11 02:48:41 +00:00
|
|
|
0 resistance_min_value
|
2024-04-12 07:27:24 +00:00
|
|
|
0 resistance_cumulative_max_value
|
2023-12-15 15:59:01 +00:00
|
|
|
0 resistance_negative_max_value
|
|
|
|
0 resistance_apply_to_blade
|
|
|
|
0 resistance_apply_to_non_blade
|
|
|
|
0 resistance_apply_to_invalid
|
|
|
|
0 resistance_active_on_offense
|
|
|
|
0 resistance_active_on_defense
|
|
|
|
0 resistance_active_on_both
|
|
|
|
0 resistance_no_max_value
|
|
|
|
0 resistance_no_value_no_max_value
|
|
|
|
0 resistance_no_value_no_max_value_add
|
2024-01-01 11:34:08 +00:00
|
|
|
# leadership ability tests
|
2023-12-18 00:29:27 +00:00
|
|
|
0 leadership_negative_value
|
|
|
|
0 leadership_zero
|
|
|
|
0 leadership_add
|
|
|
|
0 leadership_add_divide
|
|
|
|
0 leadership_add_multiply
|
|
|
|
0 leadership_add_sub
|
|
|
|
0 leadership_affect_self_no
|
|
|
|
0 leadership_affect_enemies
|
|
|
|
0 leadership_affect_everybody
|
|
|
|
0 leadership_divide
|
|
|
|
0 leadership_high_fraction
|
|
|
|
0 leadership_low_fraction
|
|
|
|
0 leadership_multiply
|
|
|
|
0 leadership_multiply_divide
|
|
|
|
0 leadership_multiply_fraction
|
|
|
|
0 leadership_no_value
|
|
|
|
0 leadership_sub
|
|
|
|
0 leadership_sub_divide
|
|
|
|
0 leadership_sub_multiply
|
|
|
|
0 leadership_wfl_other
|
|
|
|
0 leadership_wfl_self
|
|
|
|
0 leadership_two_cumulative_yes_same_id
|
|
|
|
0 leadership_two_cumulative_yes_unique_id
|
|
|
|
0 leadership_two_cumulative_no_same_id
|
|
|
|
0 leadership_two_cumulative_no_unique_id
|
|
|
|
0 leadership_two_cumulative_mixed_same_id
|
|
|
|
0 leadership_two_cumulative_mixed_unique_id
|
|
|
|
0 leadership_max_value
|
|
|
|
0 leadership_active_on_offense
|
|
|
|
0 leadership_active_on_defense
|
2024-01-01 11:34:08 +00:00
|
|
|
# illuminates ability tests
|
2023-12-23 18:07:45 +00:00
|
|
|
0 illuminates_active_on_defense
|
|
|
|
0 illuminates_active_on_offense
|
|
|
|
0 illuminates_add
|
|
|
|
0 illuminates_add_divide
|
|
|
|
0 illuminates_add_multiply
|
|
|
|
0 illuminates_add_sub
|
|
|
|
0 illuminates_affect_allies
|
|
|
|
0 illuminates_affect_enemies
|
|
|
|
0 illuminates_affect_everybody
|
|
|
|
0 illuminates_affect_self_no
|
|
|
|
0 illuminates_divide
|
|
|
|
0 illuminates_high_fraction
|
|
|
|
0 illuminates_low_fraction
|
|
|
|
0 illuminates_max_value
|
|
|
|
0 illuminates_min_value
|
|
|
|
0 illuminates_min_value_no_max_value
|
|
|
|
0 illuminates_multiply
|
|
|
|
0 illuminates_multiply_divide
|
|
|
|
0 illuminates_multiply_fraction
|
|
|
|
0 illuminates_negative_max_value
|
|
|
|
0 illuminates_negative_min_value
|
|
|
|
0 illuminates_negative_value
|
|
|
|
0 illuminates_no_max_value
|
|
|
|
0 illuminates_no_value
|
|
|
|
0 illuminates_sub
|
|
|
|
0 illuminates_sub_divide
|
|
|
|
0 illuminates_sub_multiply
|
|
|
|
0 illuminates_two_cumulative_mixed_same_id
|
|
|
|
0 illuminates_two_cumulative_mixed_unique_id
|
|
|
|
0 illuminates_two_cumulative_no_same_id
|
|
|
|
0 illuminates_two_cumulative_no_unique_id
|
|
|
|
0 illuminates_two_cumulative_yes_same_id
|
|
|
|
0 illuminates_two_cumulative_yes_unique_id
|
|
|
|
0 illuminates_wfl_other
|
|
|
|
0 illuminates_wfl_self
|
|
|
|
0 illuminates_zero
|
|
|
|
0 illuminates_value_neutral
|
|
|
|
0 illuminates_value_chaotic
|
|
|
|
0 illuminates_value_liminal
|
|
|
|
0 illuminates_value_day_uncapped
|
|
|
|
0 illuminates_value_day_capped
|
|
|
|
0 illuminates_value_night
|
|
|
|
0 illuminates_value_deep
|
2024-01-01 11:34:08 +00:00
|
|
|
# skirmisher ability tests
|
|
|
|
0 skirmisher
|
|
|
|
0 no_skirmisher
|
|
|
|
0 skirmisher_adjacent_enemies
|
|
|
|
0 skirmisher_adjacent
|
|
|
|
# hides ability tests
|
|
|
|
0 hides_self
|
|
|
|
0 hides_nobody
|
|
|
|
# teleport ability tests
|
|
|
|
0 teleport_simple
|
|
|
|
0 no_teleport
|
|
|
|
0 teleport_no_tunnel
|
|
|
|
0 teleport_adjacent_allies
|
|
|
|
0 tunnel_filter_teleport_unit
|
|
|
|
0 tunnel_target_teleport_unit_fail
|
|
|
|
0 tunnel_target_teleport_unit_succeed
|
|
|
|
0 tunnel_source_teleport_unit_fail
|
|
|
|
0 tunnel_source_teleport_unit_succeed
|
2024-01-05 15:40:03 +00:00
|
|
|
# attacks ability tests
|
|
|
|
9 attacks_negative_value
|
|
|
|
0 attacks_zero
|
|
|
|
0 attacks_add
|
|
|
|
0 attacks_add_divide
|
|
|
|
0 attacks_add_multiply
|
|
|
|
0 attacks_add_sub
|
2024-07-31 00:06:38 +00:00
|
|
|
0 attacks_affect_allies
|
2024-01-05 15:40:03 +00:00
|
|
|
0 attacks_affect_self_no
|
|
|
|
0 attacks_affect_enemies
|
|
|
|
0 attacks_affect_everybody
|
|
|
|
0 attacks_divide
|
|
|
|
0 attacks_high_fraction
|
|
|
|
0 attacks_low_fraction
|
|
|
|
0 attacks_multiply
|
|
|
|
0 attacks_multiply_divide
|
|
|
|
0 attacks_multiply_fraction
|
|
|
|
0 attacks_no_value
|
|
|
|
0 attacks_sub
|
|
|
|
0 attacks_sub_divide
|
|
|
|
0 attacks_sub_multiply
|
|
|
|
0 attacks_wfl_other
|
|
|
|
0 attacks_wfl_self
|
|
|
|
0 attacks_two_cumulative_yes_same_id
|
|
|
|
0 attacks_two_cumulative_yes_unique_id
|
|
|
|
0 attacks_two_cumulative_no_same_id
|
|
|
|
0 attacks_two_cumulative_no_unique_id
|
|
|
|
0 attacks_two_cumulative_mixed_same_id
|
|
|
|
0 attacks_two_cumulative_mixed_unique_id
|
|
|
|
0 attacks_max_value
|
|
|
|
0 attacks_overwrite_specials_one_side
|
|
|
|
0 attacks_overwrite_specials_both_sides
|
|
|
|
0 attacks_overwrite_specials_two_both_sides
|
|
|
|
0 attacks_overwrite_specials_two_one_side
|
|
|
|
0 attacks_overwrite_specials_mixed
|
2024-06-16 01:20:54 +00:00
|
|
|
# berserk ability tests
|
|
|
|
0 berserk_negative_value
|
|
|
|
0 berserk_zero
|
|
|
|
0 berserk_add
|
|
|
|
0 berserk_add_divide
|
|
|
|
0 berserk_add_multiply
|
|
|
|
0 berserk_add_sub
|
2024-07-31 00:06:38 +00:00
|
|
|
0 berserk_affect_allies
|
2024-06-16 01:20:54 +00:00
|
|
|
0 berserk_affect_self_no
|
|
|
|
0 berserk_affect_enemies
|
|
|
|
0 berserk_affect_everybody
|
|
|
|
0 berserk_divide
|
|
|
|
0 berserk_high_fraction
|
|
|
|
0 berserk_low_fraction
|
|
|
|
0 berserk_multiply
|
|
|
|
0 berserk_multiply_divide
|
|
|
|
0 berserk_no_value
|
|
|
|
0 berserk_sub
|
|
|
|
0 berserk_sub_divide
|
|
|
|
0 berserk_sub_multiply
|
|
|
|
0 berserk_wfl_other
|
|
|
|
0 berserk_wfl_self
|
|
|
|
0 berserk_two_cumulative_yes_same_id
|
|
|
|
0 berserk_two_cumulative_yes_unique_id
|
|
|
|
0 berserk_two_cumulative_no_same_id
|
|
|
|
0 berserk_two_cumulative_no_unique_id
|
|
|
|
0 berserk_two_cumulative_mixed_same_id
|
|
|
|
0 berserk_two_cumulative_mixed_unique_id
|
|
|
|
0 berserk_max_value
|
|
|
|
0 berserk_overwrite_specials_one_side
|
|
|
|
0 berserk_overwrite_specials_both_sides
|
|
|
|
0 berserk_overwrite_specials_two_both_sides
|
|
|
|
0 berserk_overwrite_specials_two_one_side
|
|
|
|
0 berserk_overwrite_specials_mixed
|
|
|
|
0 berserk_different_values
|
2024-07-21 22:30:37 +00:00
|
|
|
# chance_to_hit ability tests
|
|
|
|
0 chance_to_hit_negative_value
|
|
|
|
0 chance_to_hit_add
|
|
|
|
0 chance_to_hit_add_divide
|
|
|
|
0 chance_to_hit_add_multiply
|
|
|
|
0 chance_to_hit_add_sub
|
2024-07-31 00:06:38 +00:00
|
|
|
0 chance_to_hit_affect_allies
|
2024-07-21 22:30:37 +00:00
|
|
|
0 chance_to_hit_affect_self_no
|
|
|
|
0 chance_to_hit_affect_enemies
|
|
|
|
0 chance_to_hit_affect_everybody
|
|
|
|
0 chance_to_hit_divide
|
|
|
|
0 chance_to_hit_multiply
|
|
|
|
0 chance_to_hit_multiply_divide
|
|
|
|
0 chance_to_hit_no_value
|
|
|
|
0 chance_to_hit_sub
|
|
|
|
0 chance_to_hit_sub_divide
|
|
|
|
0 chance_to_hit_sub_multiply
|
|
|
|
0 chance_to_hit_wfl_other
|
|
|
|
0 chance_to_hit_wfl_self
|
|
|
|
0 chance_to_hit_two_cumulative_yes_same_id
|
|
|
|
0 chance_to_hit_two_cumulative_yes_unique_id
|
|
|
|
0 chance_to_hit_two_cumulative_no_same_id
|
|
|
|
0 chance_to_hit_two_cumulative_no_unique_id
|
|
|
|
0 chance_to_hit_two_cumulative_mixed_same_id
|
|
|
|
0 chance_to_hit_two_cumulative_mixed_unique_id
|
|
|
|
0 chance_to_hit_max_value
|
|
|
|
0 chance_to_hit_overwrite_specials_one_side
|
|
|
|
0 chance_to_hit_overwrite_specials_both_sides
|
|
|
|
0 chance_to_hit_overwrite_specials_two_both_sides
|
|
|
|
0 chance_to_hit_overwrite_specials_two_one_side
|
|
|
|
0 chance_to_hit_overwrite_specials_mixed
|
2024-07-31 00:06:38 +00:00
|
|
|
# damage ability tests
|
|
|
|
0 damage_negative_value
|
|
|
|
0 damage_zero
|
|
|
|
0 damage_add
|
|
|
|
0 damage_add_divide
|
|
|
|
0 damage_add_multiply
|
|
|
|
0 damage_add_sub
|
|
|
|
0 damage_affect_allies
|
|
|
|
0 damage_affect_self_no
|
|
|
|
0 damage_affect_enemies
|
|
|
|
0 damage_affect_everybody
|
|
|
|
0 damage_divide
|
|
|
|
0 damage_high_fraction
|
|
|
|
0 damage_low_fraction
|
|
|
|
0 damage_multiply
|
|
|
|
0 damage_multiply_divide
|
|
|
|
0 damage_multiply_fraction
|
|
|
|
0 damage_no_value
|
|
|
|
0 damage_sub
|
|
|
|
0 damage_sub_divide
|
|
|
|
0 damage_sub_multiply
|
|
|
|
0 damage_wfl_other
|
|
|
|
0 damage_wfl_self
|
|
|
|
0 damage_two_cumulative_yes_same_id
|
|
|
|
0 damage_two_cumulative_yes_unique_id
|
|
|
|
0 damage_two_cumulative_no_same_id
|
|
|
|
0 damage_two_cumulative_no_unique_id
|
|
|
|
0 damage_two_cumulative_mixed_same_id
|
|
|
|
0 damage_two_cumulative_mixed_unique_id
|
|
|
|
0 damage_max_value
|
|
|
|
0 damage_overwrite_specials_one_side
|
|
|
|
0 damage_overwrite_specials_both_sides
|
|
|
|
0 damage_overwrite_specials_two_both_sides
|
|
|
|
0 damage_overwrite_specials_two_one_side
|
|
|
|
0 damage_overwrite_specials_mixed
|
2024-08-01 14:25:28 +00:00
|
|
|
# damage_type ability tests
|
|
|
|
0 damage_type_replacement_arcane
|
|
|
|
0 damage_type_replacement_blade
|
|
|
|
0 damage_type_replacement_cold
|
|
|
|
0 damage_type_replacement_fire
|
|
|
|
0 damage_type_replacement_impact
|
|
|
|
0 damage_type_replacement_pierce
|
|
|
|
0 damage_type_alternative_arcane
|
|
|
|
0 damage_type_alternative_blade
|
|
|
|
0 damage_type_alternative_cold
|
|
|
|
0 damage_type_alternative_fire
|
|
|
|
0 damage_type_alternative_impact
|
|
|
|
0 damage_type_alternative_pierce
|
|
|
|
0 damage_type_replacement_two
|
|
|
|
0 damage_type_replacement_three
|
|
|
|
0 damage_type_alternative_two
|
|
|
|
0 damage_type_alternative_three
|
|
|
|
0 damage_type_both_separate_replacement_best
|
|
|
|
0 damage_type_both_separate_alternative_best
|
|
|
|
0 damage_type_both_same_replacement_best
|
|
|
|
0 damage_type_both_same_alternative_best
|
|
|
|
0 damage_type_many
|
2024-08-12 04:09:54 +00:00
|
|
|
# disable tests
|
|
|
|
0 disable_ability
|
|
|
|
0 disable_affect_allies
|
|
|
|
0 disable_affect_self_no
|
|
|
|
0 disable_affect_enemies
|
|
|
|
0 disable_affect_everybody
|
2024-08-24 03:38:11 +00:00
|
|
|
# drains ability tests
|
|
|
|
0 drains_negative_value
|
|
|
|
0 drains_zero
|
|
|
|
0 drains_add
|
|
|
|
0 drains_add_divide
|
|
|
|
0 drains_add_multiply
|
|
|
|
0 drains_add_sub
|
|
|
|
0 drains_affect_allies
|
|
|
|
0 drains_affect_self_no
|
|
|
|
0 drains_affect_enemies
|
|
|
|
0 drains_affect_everybody
|
|
|
|
0 drains_divide
|
|
|
|
0 drains_high_fraction
|
|
|
|
0 drains_low_fraction
|
|
|
|
0 drains_multiply
|
|
|
|
0 drains_multiply_divide
|
|
|
|
0 drains_multiply_fraction
|
|
|
|
0 drains_no_value
|
|
|
|
0 drains_sub
|
|
|
|
0 drains_sub_divide
|
|
|
|
0 drains_sub_multiply
|
|
|
|
0 drains_wfl_other
|
|
|
|
0 drains_wfl_self
|
|
|
|
0 drains_two_cumulative_yes_same_id
|
|
|
|
0 drains_two_cumulative_yes_unique_id
|
|
|
|
0 drains_two_cumulative_no_same_id
|
|
|
|
0 drains_two_cumulative_no_unique_id
|
|
|
|
0 drains_two_cumulative_mixed_same_id
|
|
|
|
0 drains_two_cumulative_mixed_unique_id
|
|
|
|
0 drains_default_cumulative_yes
|
|
|
|
0 drains_default_cumulative_no
|
|
|
|
0 drains_default_cumulative_both
|
|
|
|
0 drains_max_value
|
|
|
|
0 drains_overwrite_specials_one_side
|
|
|
|
0 drains_overwrite_specials_both_sides
|
|
|
|
0 drains_overwrite_specials_two_both_sides
|
|
|
|
0 drains_overwrite_specials_two_one_side
|
|
|
|
0 drains_overwrite_specials_mixed
|
2024-08-28 23:15:11 +00:00
|
|
|
# firststrike tests
|
|
|
|
0 firststrike_ability
|
|
|
|
0 firststrike_affect_allies
|
|
|
|
0 firststrike_affect_self_no
|
|
|
|
0 firststrike_affect_enemies
|
|
|
|
0 firststrike_affect_everybody
|
2024-09-01 19:04:19 +00:00
|
|
|
# heal_on_hit ability tests
|
|
|
|
0 heal_on_hit_negative_value
|
|
|
|
0 heal_on_hit_zero
|
|
|
|
0 heal_on_hit_add
|
|
|
|
0 heal_on_hit_add_divide
|
|
|
|
0 heal_on_hit_add_multiply
|
|
|
|
0 heal_on_hit_add_sub
|
|
|
|
0 heal_on_hit_affect_allies
|
|
|
|
0 heal_on_hit_affect_self_no
|
|
|
|
0 heal_on_hit_affect_enemies
|
|
|
|
0 heal_on_hit_affect_everybody
|
|
|
|
0 heal_on_hit_divide
|
|
|
|
0 heal_on_hit_high_fraction
|
|
|
|
0 heal_on_hit_low_fraction
|
|
|
|
0 heal_on_hit_multiply
|
|
|
|
0 heal_on_hit_multiply_divide
|
|
|
|
0 heal_on_hit_multiply_fraction
|
|
|
|
0 heal_on_hit_no_value
|
|
|
|
0 heal_on_hit_sub
|
|
|
|
0 heal_on_hit_sub_divide
|
|
|
|
0 heal_on_hit_sub_multiply
|
|
|
|
0 heal_on_hit_wfl_other
|
|
|
|
0 heal_on_hit_wfl_self
|
|
|
|
0 heal_on_hit_two_cumulative_yes_same_id
|
|
|
|
0 heal_on_hit_two_cumulative_yes_unique_id
|
|
|
|
0 heal_on_hit_two_cumulative_no_same_id
|
|
|
|
0 heal_on_hit_two_cumulative_no_unique_id
|
|
|
|
0 heal_on_hit_two_cumulative_mixed_same_id
|
|
|
|
0 heal_on_hit_two_cumulative_mixed_unique_id
|
|
|
|
0 heal_on_hit_max_value
|
|
|
|
0 heal_on_hit_overwrite_specials_one_side
|
|
|
|
0 heal_on_hit_overwrite_specials_both_sides
|
|
|
|
0 heal_on_hit_overwrite_specials_two_both_sides
|
|
|
|
0 heal_on_hit_overwrite_specials_two_one_side
|
|
|
|
0 heal_on_hit_overwrite_specials_mixed
|
2024-09-06 20:40:18 +00:00
|
|
|
# petrifies tests
|
|
|
|
0 petrifies_ability
|
|
|
|
0 petrifies_affect_allies
|
|
|
|
0 petrifies_affect_self_no
|
|
|
|
0 petrifies_affect_enemies
|
|
|
|
0 petrifies_affect_everybody
|
2024-09-10 04:33:49 +00:00
|
|
|
# plague tests
|
|
|
|
0 plague_ability
|
|
|
|
0 plague_affect_allies
|
|
|
|
0 plague_affect_self_no
|
|
|
|
0 plague_affect_enemies
|
|
|
|
0 plague_affect_everybody
|
|
|
|
0 plague_no_type
|
|
|
|
0 plague_without_priority
|
2021-06-07 09:36:28 +00:00
|
|
|
# Warnings about WML
|
|
|
|
0 unknown_scenario_false_positives
|
|
|
|
0 unknown_scenario_interpolated
|
2021-07-18 04:35:04 +00:00
|
|
|
9 unknown_scenario_1_0
|
2022-11-30 22:42:04 +00:00
|
|
|
9 unknown_scenario_1_0_last
|
|
|
|
9 unknown_scenario_1_1
|
|
|
|
9 unknown_scenario_2_0
|
|
|
|
9 unknown_scenario_1_1_last_null
|
2021-08-29 15:45:31 +00:00
|
|
|
|
|
|
|
# Lua API tests
|
2022-11-01 03:06:39 +00:00
|
|
|
0 lua_functional_reduce
|
2021-08-29 15:45:31 +00:00
|
|
|
0 lua_map_find
|
|
|
|
0 mapgen_filter_range
|
|
|
|
0 mapgen_filter_terrain
|
2023-12-12 21:26:39 +00:00
|
|
|
0 test_remove_modifications
|
2022-03-22 13:43:28 +00:00
|
|
|
0 simulate_combat_clone_adjacent
|
|
|
|
0 simulate_combat_occupied
|