wesnoth/wml_test_schedule
newfrenchy83 b5805eca8f
Add priority and filter to overwrite specials (#7746)
using overwrite_specials alone means that we have only two possibilities, either one_side is chosen and in this case if the ability used as a weapon carrying the attribute is applied to the unit (apply_to=self), the other abilities are the same type applied also to 'self' not carrying the attribute will be overwritten, but those of the opponent with apply_to=opponent will be kept in the list; or else both_sides is chosen and all abilities of the same type that do not carry the attribute will be overwritten. To be able to use the attribute in abilities like [damage] for example, it is necessary to be able to be even more selective as for a 'charge' type leadership with multiply=2.5 but which must not be combined with the classic charge and without overwriting the aute [damage] as backstab, [overwrite_filter] to only match damage with apply_to=both and active_on=offense is then interesting.

adding priority allows you to select that it ability can use its overwrite_specials attribute while the others can be overwritten in the same way as an ability without the attribute. Finally, this system makes it unnecessary to limit the use of the attribute to abilities used as weapons but also to special weapons.
2023-10-08 10:09:31 -05:00

481 lines
13 KiB
Plaintext

#
# Sanity checks of the unit test system
#
0 test_return
1 test_return_fail
0 test_assert
1 test_assert_fail
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
2 empty_test
0 test_end_turn
9 there_is_no_test_with_this_name
#
# The synchronisation mechanism
#
4 break_replay_with_lua_random
0 fixed_lua_random_replay_with_sync_choice
9 test_synced_side_number
0 test_synced_state
#
# Security test
#
0 cve_2018_1999023
9 cve_2018_1999023_2
#
# 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
8 check_victory_basic
1 check_victory_basic_fail
8 check_victory_basic_two
8 check_victory_basic_ai
1 check_victory_basic_ai_fail
8 check_victory_basic_ai_two
1 check_victory_one_no_units_fail_one
1 check_victory_one_no_units_fail_two
8 check_victory_one_no_units
1 check_victory_two_no_units_fail_one
1 check_victory_two_no_units_fail_two
8 check_victory_two_no_units
8 check_victory_always_one
8 check_victory_always_two
1 check_victory_always_no_units_fail
8 check_victory_always_no_units
1 check_victory_always_fail
1 check_victory_never_fail_one
1 check_victory_never_fail_two
1 check_victory_never_fail_three
8 check_victory_never_pass
7 check_victory_never_ai_fail
#
# Preprocessor
#
0 test_preprocessor_ifdef_in_arg
#
# WML API tests
#
0 two_plus_two
10 two_plus_two_fail
0 order_of_nested_events
0 test_clear_one
0 test_clear_two
0 test_unit_map
0 unit_spawns_at_nearest_vacant_hex
0 units_offmap_goto_recall
0 recall_by_unit_tag
0 test_move
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
0 test_move_unit
0 test_move_unit_in_circle
0 test_move_unit_to_occupied_location
0 sighted_on_move
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
0 set_gold_in_prestart_one
0 set_gold_in_prestart_two
0 modify_turns_one
0 modify_turns_two
0 modify_turns_three
0 modify_turns_four
0 replace_schedule_prestart
0 modify_unit_facing
0 modify_unit_which_recall_list
0 modify_unit_recall_cost
0 put_to_recall_and_modify
0 event_handlers_in_events_1
0 event_handlers_in_events_3
0 event_handlers_in_events_2
0 event_handlers_in_events_4
0 event_handlers_in_events_5
0 event_handlers_in_events_6
0 event_handlers_in_events_7
0 event_handlers_in_events_8
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
0 event_remove_test
0 event_repeat_test
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
0 event_test_filter_condition
0 event_test_filter_side
0 event_test_filter_unit
0 event_test_filter_ability
0 event_test_filter_ability_interval_number
0 event_test_filter_ability_neg_value
0 event_test_filter_ability_no_match
0 event_test_filter_ability_no_match_neg_prefix
0 event_test_filter_ability_active
0 event_test_filter_ability_active_inactive
0 test_ability_id_active
0 test_ability_id_not_active
0 event_test_filter_attack
0 event_test_filter_attack_no_defense
0 event_test_filter_attack_specials
0 event_test_filter_attack_on_moveto
0 event_test_filter_attack_opponent_weapon_condition
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
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
0 test_lua_name
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
0 test_shroud_init
0 test_shroud_place_wml
0 test_shroud_place_lua
0 test_shroud_place_lua_data
0 test_shroud_override_all
0 test_shroud_override_data
0 test_shroud_remove_wml
0 test_shroud_remove_lua
0 test_shroud_remove_lua_data
0 test_shroud_modify_wml
0 test_shroud_modify_lua
0 scatter_units
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
0 xp_mod_1
0 xp_mod_2
0 xp_mod_3
0 test_role_1
0 test_role_2
0 test_role_3
0 test_role_lua
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
0 events-test_pre_attack_base
0 events-test_pre_attack_change_weapon
0 test_store_unit_defense_on
9 test_store_unit_defense_deprecated
0 special_note_from_movetype
0 special_note_individual_unit
0 has_achievement
0 test_movement_used
0 test_attacks_used
0 no_duplicate_advancements
0 add_advancement
# 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
0 test_terrain_mask_simple_name_ignore
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
0 test_terrain_mask_file
#
# LUA
#
0 lua_dofile
0 lua_require
0 lua_get_sides
0 test_wml_actions
0 test_wml_conditionals
0 lua_wml_tagnames
0 test_parse_range
0 test_scoped_array
0 test_scoped_scalar
0 as_text
0 test_lua_version_api
#
# Pathfinding
#
0 store_locations_one
0 store_locations_range
0 simple_find_path
# This test occasionally takes too long... (FIXME): 0 characterize_pathfinding_one
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
#
# 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
0 test_resistances
# [effect]apply_to=movement and [effect]apply_to=vision
0 effect_move_affects_vision
0 effect_move_ignores_vision
0 effect_move_separated_vision
0 effect_vision
# [store_locations]
0 store_reachable_locations_vision
#
# General information queries
#
0 test_lua_colors
0 test_lua_colors_hexadecimal
#
# Attack calculations & codepath tests
#
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
0 test_grunt_tod_damage
0 test_time_area_damage
0 test_time_area_prestart
0 test_berserk_firststrike
0 feeding_on_living
0 feeding_on_dead
0 firststrike_and_laststrike
0 backstab_active_with_accomplice_behind_bob
0 backstab_inactive_with_triangular_formation
0 backstab_inactive_with_statue_behind_bob
0 backstab_inactive_with_bobs_ally_behind_bob
0 reflexive_drains
0 reflexive_poison
0 reflexive_slow
0 replace_special_with_filter_in_attack_event_active
0 replace_special_with_filter_in_attack_event_inactive
0 swarm_disables_upgrades
0 poison_opponent
0 unslowable_status_test
0 unpetrifiable_status_test
0 test_force_chance_to_hit_macro
0 trait_exclusion_test
0 trait_requirement_test
0 test_remove_ability_by_filter
0 test_overwrite_specials_filter
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
0 special_id_active_lua_function
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 plague_without_priority
0 student_teacher_are_same
0 teacher_damage_formula
# 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
0 special_calculation_sub2_sub3_cumulative
0 special_calculation_sub3_sub2_cumulative
0 test_add_in_leadership_abilities
0 test_sub_in_leadership_abilities
#
# Deterministic unit facing tests
0 recruit_facing_enemy_one
0 recruit_facing_enemy_two
0 recruit_facing_leader
0 recruit_facing_center
#
# Interface tests
#
0 test_wml_menu_items_1
0 test_wml_menu_items_2
0 test_wml_menu_items_3
#
# Conditional tests
#
0 check_conditionals_1
0 check_conditionals_2
# Standard Unit Filter tests
0 filter_this_unit_wml
0 filter_this_unit_tl
0 filter_this_unit_formula
0 filter_formula_unit
9 filter_formula_unit_error
# Interrupt tag tests
0 check_interrupts_break
0 check_interrupts_return
0 check_interrupts_continue
0 check_interrupts_break_global
0 check_interrupts_break_nested_event
0 check_interrupts_return_nested_command
0 check_interrupts_return_nested_event
9 check_interrupts_continue_global
0 check_interrupts_elseif
0 check_interrupts_case
# For-loop tests
9 forloop_all_zero
9 forloop_step_zero
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
0 forloop_step_large_negative
0 for_defaults
0 for_start2
0 for_end2
0 for_end2_step2
0 for_end-2
0 for_end-2_step-2
0 foreach_mutate_nested
# 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
0 test_modify_ai_change_aspect
# Changing the number of sides
0 test_create_side
# Event tests
0 event_name_variable_substitution
0 order_of_variable_events1
0 order_of_variable_events2
0 order_of_variable_events3
0 premature_end_turn1
2 premature_end_turn2
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
0 kill_fires_events
# Game mechanics
0 heal
0 zero_experience
0 unit_no_advancements
0 no_sides
# Warnings about WML
0 unknown_scenario_false_positives
0 unknown_scenario_interpolated
9 unknown_scenario_1_0
9 unknown_scenario_1_0_last
9 unknown_scenario_1_1
9 unknown_scenario_2_0
9 unknown_scenario_1_1_last_null
# Lua API tests
0 lua_functional_reduce
0 lua_map_find
0 mapgen_filter_range
0 mapgen_filter_terrain
0 simulate_combat_clone_adjacent
0 simulate_combat_occupied