I'm not sure how you put it into module_mission_templates, but to be clear, it should be put in somewhere ABOVE "mission_templates = ["
I'll try to make it clearer what I'm suggesting with examples. Before any changes, you may have this:
Then after, you could have this (changes in red):
After you've done that, use ctrl+f to search for every instance of common_battle_init_banner and when it's followed by a comma, make a new line under it and add "common_battle_add_artifact_exp,"
One example of this, before:
After:
Hope that's clearer and fixes any problems. The first part is you just defining common_battle_add_artifact_exp as a certain trigger, then you're adding that trigger to all the mission templates used in battles. You could actually add the full code for the trigger in place of common_battle_add_artifact_exp, but it's easier and nicer to read to just add a variable name than add a block of code over and over again.
I'll try to make it clearer what I'm suggesting with examples. Before any changes, you may have this:
tournament_triggers = [
(ti_before_mission_start, 0, 0, [], [(call_script, "script_change_banners_and_chest"),
(assign, "$g_arena_training_num_agents_spawned", 0)]),
(ti_inventory_key_pressed, 0, 0, [(display_message,"str_cant_use_inventory_arena")], []),
(ti_tab_pressed, 0, 0, [],
[(try_begin),
(eq, "$g_mt_mode", abm_visit),
(set_trigger_result, 1),
(else_try),
(question_box,"str_give_up_fight"),
(try_end),
]),
(ti_question_answered, 0, 0, [],
[(store_trigger_param_1,":answer"),
(eq,":answer",0),
(try_begin),
(eq, "$g_mt_mode", abm_tournament),
(call_script, "script_end_tournament_fight", 0),
(else_try),
(eq, "$g_mt_mode", abm_training),
(get_player_agent_no, ":player_agent"),
(agent_get_kill_count, "$g_arena_training_kills", ":player_agent", 1),#use this for conversation
(try_end),
(finish_mission,0),
]),
(1, 0, ti_once, [], [
(eq, "$g_mt_mode", abm_visit),
(call_script, "script_music_set_situation_with_culture", mtf_sit_travel),
(store_current_scene, reg(1)),
(scene_set_slot, reg(1), slot_scene_visited, 1),
(mission_enable_talk),
(get_player_agent_no, ":player_agent"),
(assign, ":team_set", 0),
(try_for_agents, ":agent_no"),
(neq, ":agent_no", ":player_agent"),
(agent_get_troop_id, ":troop_id", ":agent_no"),
(is_between, ":troop_id", regular_troops_begin, regular_troops_end),
(eq, ":team_set", 0),
(agent_set_team, ":agent_no", 1),
(assign, ":team_set", 1),
(try_end),
]),
##
## (0, 0, 0, [],
## [
## #refresh hit points for arena visit trainers
## (eq, "$g_mt_mode", abm_visit),
## (get_player_agent_no, ":player_agent"),
## (try_for_agents, ":agent_no"),
## (neq, ":agent_no", ":player_agent"),
## (agent_get_troop_id, ":troop_id", ":agent_no"),
## (is_between, ":troop_id", regular_troops_begin, regular_troops_end),
## (agent_set_hit_points, ":agent_no", 100),
## (try_end),
## ]),
## (1, 4, ti_once, [(eq, "$g_mt_mode", abm_fight),
## (this_or_next|main_hero_fallen),
## (num_active_teams_le,1)],
## [
## (try_begin),
## (num_active_teams_le,1),
## (neg|main_hero_fallen),
## (assign,"$arena_fight_won",1),
## #Fight won, decrease odds
## (assign, ":player_odds_sub", 0),
## (try_begin),
## (ge,"$arena_bet_amount",1),
## (store_div, ":player_odds_sub", "$arena_win_amount", 2),
## (try_end),
## (party_get_slot, ":player_odds", "$g_encountered_party", slot_town_player_odds),
## (val_add, ":player_odds_sub", 5),
## (val_sub, ":player_odds", ":player_odds_sub"),
## (val_max, ":player_odds", 250),
## (party_set_slot, "$g_encountered_party", slot_town_player_odds, ":player_odds"),
## (else_try),
## #Fight lost, increase odds
## (assign, ":player_odds_add", 0),
## (try_begin),
## (ge,"$arena_bet_amount",1),
## (store_div, ":player_odds_add", "$arena_win_amount", 2),
## (try_end),
## (party_get_slot, ":player_odds", "$g_encountered_party", slot_town_player_odds),
## (val_add, ":player_odds_add", 5),
## (val_add, ":player_odds", ":player_odds_add"),
## (val_min, ":player_odds", 4000),
## (party_set_slot, "$g_encountered_party", slot_town_player_odds, ":player_odds"),
## (try_end),
## (store_remaining_team_no,"$arena_winner_team"),
## (assign, "$g_mt_mode", abm_visit),
## (party_get_slot, ":arena_mission_template", "$current_town", slot_town_arena_template),
## (set_jump_mission, ":arena_mission_template"),
## (party_get_slot, ":arena_scene", "$current_town", slot_town_arena),
## (modify_visitors_at_site, ":arena_scene"),
## (reset_visitors),
## (set_visitor, 35, "trp_veteran_fighter"),
## (set_visitor, 36, "trp_hired_blade"),
## (set_jump_entry, 50),
## (jump_to_scene, ":arena_scene"),
## ]),
(0, 0, ti_once, [],
[
(eq, "$g_mt_mode", abm_tournament),
(play_sound, "snd_arena_ambiance", sf_looping),
(call_script, "script_music_set_situation_with_culture", mtf_sit_arena),
]),
(1, 4, ti_once, [(eq, "$g_mt_mode", abm_tournament),
(this_or_next|main_hero_fallen),
(num_active_teams_le, 1)],
[
(try_begin),
(neg|main_hero_fallen),
(call_script, "script_end_tournament_fight", 1),
(call_script, "script_play_victorious_sound"),
(finish_mission),
(else_try),
(call_script, "script_end_tournament_fight", 0),
(finish_mission),
(try_end),
]),
(ti_battle_window_opened, 0, 0, [], [(eq, "$g_mt_mode", abm_training),(start_presentation, "prsnt_arena_training")]),
(0, 0, ti_once, [], [(eq, "$g_mt_mode", abm_training),
(assign, "$g_arena_training_max_opponents", 40),
(assign, "$g_arena_training_num_agents_spawned", 0),
(assign, "$g_arena_training_kills", 0),
(assign, "$g_arena_training_won", 0),
(call_script, "script_music_set_situation_with_culture", mtf_sit_arena),
]),
(1, 4, ti_once, [(eq, "$g_mt_mode", abm_training),
(store_mission_timer_a, ":cur_time"),
(gt, ":cur_time", 3),
(assign, ":win_cond", 0),
(try_begin),
(ge, "$g_arena_training_num_agents_spawned", "$g_arena_training_max_opponents"),#spawn at most 40 agents
(num_active_teams_le, 1),
(assign, ":win_cond", 1),
(try_end),
(this_or_next|eq, ":win_cond", 1),
(main_hero_fallen)],
[
(get_player_agent_no, ":player_agent"),
(agent_get_kill_count, "$g_arena_training_kills", ":player_agent", 1),#use this for conversation
(assign, "$g_arena_training_won", 0),
(try_begin),
(neg|main_hero_fallen),
(assign, "$g_arena_training_won", 1),#use this for conversation
(try_end),
(assign, "$g_mt_mode", abm_visit),
(set_jump_mission, "mt_arena_melee_fight"),
(party_get_slot, ":arena_scene", "$current_town", slot_town_arena),
(modify_visitors_at_site, ":arena_scene"),
(reset_visitors),
(set_visitor, 35, "trp_veteran_fighter"),
(set_visitor, 36, "trp_hired_blade"),
(set_jump_entry, 50),
(jump_to_scene, ":arena_scene"),
]),
(0.2, 0, 0,
[
(eq, "$g_mt_mode", abm_training),
(assign, ":num_active_fighters", 0),
(try_for_agents, ":agent_no"),
(agent_is_human, ":agent_no"),
(agent_is_alive, ":agent_no"),
(agent_get_team, ":team_no", ":agent_no"),
(is_between, ":team_no", 0 ,7),
(val_add, ":num_active_fighters", 1),
(try_end),
(lt, ":num_active_fighters", 7),
(neg|main_hero_fallen),
(store_mission_timer_a, ":cur_time"),
(this_or_next|ge, ":cur_time", "$g_arena_training_next_spawn_time"),
(this_or_next|lt, "$g_arena_training_num_agents_spawned", 6),
(num_active_teams_le, 1),
(lt, "$g_arena_training_num_agents_spawned", "$g_arena_training_max_opponents"),
],
[
(assign, ":added_troop", "$g_arena_training_num_agents_spawned"),
(store_div, ":added_troop", "$g_arena_training_num_agents_spawned", 6),
(assign, ":added_troop_sequence", "$g_arena_training_num_agents_spawned"),
(val_mod, ":added_troop_sequence", 6),
(val_add, ":added_troop", ":added_troop_sequence"),
(val_min, ":added_troop", 9),
(val_add, ":added_troop", "trp_arena_training_fighter_1"),
(assign, ":end_cond", 10000),
(get_player_agent_no, ":player_agent"),
(agent_get_position, pos5, ":player_agent"),
(try_for_range, ":unused", 0, ":end_cond"),
(store_random_in_range, ":random_entry_point", 32, 40),
(neq, ":random_entry_point", "$g_player_entry_point"), # make sure we don't overwrite player
(entry_point_get_position, pos1, ":random_entry_point"),
(get_distance_between_positions, ":dist", pos5, pos1),
(gt, ":dist", 1200), #must be at least 12 meters away from the player
(assign, ":end_cond", 0),
(try_end),
(add_visitors_to_current_scene, ":random_entry_point", ":added_troop", 1),
(store_add, ":new_spawned_count", "$g_arena_training_num_agents_spawned", 1),
(store_mission_timer_a, ":cur_time"),
(store_add, "$g_arena_training_next_spawn_time", ":cur_time", 14),
(store_div, ":time_reduction", ":new_spawned_count", 3),
(val_sub, "$g_arena_training_next_spawn_time", ":time_reduction"),
]),
(0, 0, 0,
[
(eq, "$g_mt_mode", abm_training)
],
[
(assign, ":max_teams", 6),
(val_max, ":max_teams", 1),
(get_player_agent_no, ":player_agent"),
(try_for_agents, ":agent_no"),
(agent_is_human, ":agent_no"),
(agent_is_alive, ":agent_no"),
(agent_slot_eq, ":agent_no", slot_agent_arena_team_set, 0),
(agent_get_team, ":team_no", ":agent_no"),
(is_between, ":team_no", 0 ,7),
(try_begin),
(eq, ":agent_no", ":player_agent"),
(agent_set_team, ":agent_no", 6), #player is always team 6.
(else_try),
(store_random_in_range, ":selected_team", 0, ":max_teams"),
# find strongest team
(try_for_range, ":t", 0, 6),
(troop_set_slot, "trp_temp_array_a", ":t", 0),
(try_end),
(try_for_agents, "ther_agent_no"),
(agent_is_human, "ther_agent_no"),
(agent_is_alive, "ther_agent_no"),
(neq, ":agent_no", ":player_agent"),
(agent_slot_eq, "ther_agent_no", slot_agent_arena_team_set, 1),
(agent_get_team, "ther_agent_team", "ther_agent_no"),
(troop_get_slot, ":count", "trp_temp_array_a", "ther_agent_team"),
(val_add, ":count", 1),
(troop_set_slot, "trp_temp_array_a", "ther_agent_team", ":count"),
(try_end),
(assign, ":strongest_team", 0),
(troop_get_slot, ":strongest_team_count", "trp_temp_array_a", 0),
(try_for_range, ":t", 1, 6),
(troop_slot_ge, "trp_temp_array_a", ":t", ":strongest_team_count"),
(troop_get_slot, ":strongest_team_count", "trp_temp_array_a", ":t"),
(assign, ":strongest_team", ":t"),
(try_end),
(store_random_in_range, ":rand", 5, 100),
(try_begin),
(lt, ":rand", "$g_arena_training_num_agents_spawned"),
(assign, ":selected_team", ":strongest_team"),
(try_end),
(agent_set_team, ":agent_no", ":selected_team"),
(try_end),
(agent_set_slot, ":agent_no", slot_agent_arena_team_set, 1),
(try_begin),
(neq, ":agent_no", ":player_agent"),
(val_add, "$g_arena_training_num_agents_spawned", 1),
(try_end),
(try_end),
]),
]
mission_templates = [
(ti_before_mission_start, 0, 0, [], [(call_script, "script_change_banners_and_chest"),
(assign, "$g_arena_training_num_agents_spawned", 0)]),
(ti_inventory_key_pressed, 0, 0, [(display_message,"str_cant_use_inventory_arena")], []),
(ti_tab_pressed, 0, 0, [],
[(try_begin),
(eq, "$g_mt_mode", abm_visit),
(set_trigger_result, 1),
(else_try),
(question_box,"str_give_up_fight"),
(try_end),
]),
(ti_question_answered, 0, 0, [],
[(store_trigger_param_1,":answer"),
(eq,":answer",0),
(try_begin),
(eq, "$g_mt_mode", abm_tournament),
(call_script, "script_end_tournament_fight", 0),
(else_try),
(eq, "$g_mt_mode", abm_training),
(get_player_agent_no, ":player_agent"),
(agent_get_kill_count, "$g_arena_training_kills", ":player_agent", 1),#use this for conversation
(try_end),
(finish_mission,0),
]),
(1, 0, ti_once, [], [
(eq, "$g_mt_mode", abm_visit),
(call_script, "script_music_set_situation_with_culture", mtf_sit_travel),
(store_current_scene, reg(1)),
(scene_set_slot, reg(1), slot_scene_visited, 1),
(mission_enable_talk),
(get_player_agent_no, ":player_agent"),
(assign, ":team_set", 0),
(try_for_agents, ":agent_no"),
(neq, ":agent_no", ":player_agent"),
(agent_get_troop_id, ":troop_id", ":agent_no"),
(is_between, ":troop_id", regular_troops_begin, regular_troops_end),
(eq, ":team_set", 0),
(agent_set_team, ":agent_no", 1),
(assign, ":team_set", 1),
(try_end),
]),
##
## (0, 0, 0, [],
## [
## #refresh hit points for arena visit trainers
## (eq, "$g_mt_mode", abm_visit),
## (get_player_agent_no, ":player_agent"),
## (try_for_agents, ":agent_no"),
## (neq, ":agent_no", ":player_agent"),
## (agent_get_troop_id, ":troop_id", ":agent_no"),
## (is_between, ":troop_id", regular_troops_begin, regular_troops_end),
## (agent_set_hit_points, ":agent_no", 100),
## (try_end),
## ]),
## (1, 4, ti_once, [(eq, "$g_mt_mode", abm_fight),
## (this_or_next|main_hero_fallen),
## (num_active_teams_le,1)],
## [
## (try_begin),
## (num_active_teams_le,1),
## (neg|main_hero_fallen),
## (assign,"$arena_fight_won",1),
## #Fight won, decrease odds
## (assign, ":player_odds_sub", 0),
## (try_begin),
## (ge,"$arena_bet_amount",1),
## (store_div, ":player_odds_sub", "$arena_win_amount", 2),
## (try_end),
## (party_get_slot, ":player_odds", "$g_encountered_party", slot_town_player_odds),
## (val_add, ":player_odds_sub", 5),
## (val_sub, ":player_odds", ":player_odds_sub"),
## (val_max, ":player_odds", 250),
## (party_set_slot, "$g_encountered_party", slot_town_player_odds, ":player_odds"),
## (else_try),
## #Fight lost, increase odds
## (assign, ":player_odds_add", 0),
## (try_begin),
## (ge,"$arena_bet_amount",1),
## (store_div, ":player_odds_add", "$arena_win_amount", 2),
## (try_end),
## (party_get_slot, ":player_odds", "$g_encountered_party", slot_town_player_odds),
## (val_add, ":player_odds_add", 5),
## (val_add, ":player_odds", ":player_odds_add"),
## (val_min, ":player_odds", 4000),
## (party_set_slot, "$g_encountered_party", slot_town_player_odds, ":player_odds"),
## (try_end),
## (store_remaining_team_no,"$arena_winner_team"),
## (assign, "$g_mt_mode", abm_visit),
## (party_get_slot, ":arena_mission_template", "$current_town", slot_town_arena_template),
## (set_jump_mission, ":arena_mission_template"),
## (party_get_slot, ":arena_scene", "$current_town", slot_town_arena),
## (modify_visitors_at_site, ":arena_scene"),
## (reset_visitors),
## (set_visitor, 35, "trp_veteran_fighter"),
## (set_visitor, 36, "trp_hired_blade"),
## (set_jump_entry, 50),
## (jump_to_scene, ":arena_scene"),
## ]),
(0, 0, ti_once, [],
[
(eq, "$g_mt_mode", abm_tournament),
(play_sound, "snd_arena_ambiance", sf_looping),
(call_script, "script_music_set_situation_with_culture", mtf_sit_arena),
]),
(1, 4, ti_once, [(eq, "$g_mt_mode", abm_tournament),
(this_or_next|main_hero_fallen),
(num_active_teams_le, 1)],
[
(try_begin),
(neg|main_hero_fallen),
(call_script, "script_end_tournament_fight", 1),
(call_script, "script_play_victorious_sound"),
(finish_mission),
(else_try),
(call_script, "script_end_tournament_fight", 0),
(finish_mission),
(try_end),
]),
(ti_battle_window_opened, 0, 0, [], [(eq, "$g_mt_mode", abm_training),(start_presentation, "prsnt_arena_training")]),
(0, 0, ti_once, [], [(eq, "$g_mt_mode", abm_training),
(assign, "$g_arena_training_max_opponents", 40),
(assign, "$g_arena_training_num_agents_spawned", 0),
(assign, "$g_arena_training_kills", 0),
(assign, "$g_arena_training_won", 0),
(call_script, "script_music_set_situation_with_culture", mtf_sit_arena),
]),
(1, 4, ti_once, [(eq, "$g_mt_mode", abm_training),
(store_mission_timer_a, ":cur_time"),
(gt, ":cur_time", 3),
(assign, ":win_cond", 0),
(try_begin),
(ge, "$g_arena_training_num_agents_spawned", "$g_arena_training_max_opponents"),#spawn at most 40 agents
(num_active_teams_le, 1),
(assign, ":win_cond", 1),
(try_end),
(this_or_next|eq, ":win_cond", 1),
(main_hero_fallen)],
[
(get_player_agent_no, ":player_agent"),
(agent_get_kill_count, "$g_arena_training_kills", ":player_agent", 1),#use this for conversation
(assign, "$g_arena_training_won", 0),
(try_begin),
(neg|main_hero_fallen),
(assign, "$g_arena_training_won", 1),#use this for conversation
(try_end),
(assign, "$g_mt_mode", abm_visit),
(set_jump_mission, "mt_arena_melee_fight"),
(party_get_slot, ":arena_scene", "$current_town", slot_town_arena),
(modify_visitors_at_site, ":arena_scene"),
(reset_visitors),
(set_visitor, 35, "trp_veteran_fighter"),
(set_visitor, 36, "trp_hired_blade"),
(set_jump_entry, 50),
(jump_to_scene, ":arena_scene"),
]),
(0.2, 0, 0,
[
(eq, "$g_mt_mode", abm_training),
(assign, ":num_active_fighters", 0),
(try_for_agents, ":agent_no"),
(agent_is_human, ":agent_no"),
(agent_is_alive, ":agent_no"),
(agent_get_team, ":team_no", ":agent_no"),
(is_between, ":team_no", 0 ,7),
(val_add, ":num_active_fighters", 1),
(try_end),
(lt, ":num_active_fighters", 7),
(neg|main_hero_fallen),
(store_mission_timer_a, ":cur_time"),
(this_or_next|ge, ":cur_time", "$g_arena_training_next_spawn_time"),
(this_or_next|lt, "$g_arena_training_num_agents_spawned", 6),
(num_active_teams_le, 1),
(lt, "$g_arena_training_num_agents_spawned", "$g_arena_training_max_opponents"),
],
[
(assign, ":added_troop", "$g_arena_training_num_agents_spawned"),
(store_div, ":added_troop", "$g_arena_training_num_agents_spawned", 6),
(assign, ":added_troop_sequence", "$g_arena_training_num_agents_spawned"),
(val_mod, ":added_troop_sequence", 6),
(val_add, ":added_troop", ":added_troop_sequence"),
(val_min, ":added_troop", 9),
(val_add, ":added_troop", "trp_arena_training_fighter_1"),
(assign, ":end_cond", 10000),
(get_player_agent_no, ":player_agent"),
(agent_get_position, pos5, ":player_agent"),
(try_for_range, ":unused", 0, ":end_cond"),
(store_random_in_range, ":random_entry_point", 32, 40),
(neq, ":random_entry_point", "$g_player_entry_point"), # make sure we don't overwrite player
(entry_point_get_position, pos1, ":random_entry_point"),
(get_distance_between_positions, ":dist", pos5, pos1),
(gt, ":dist", 1200), #must be at least 12 meters away from the player
(assign, ":end_cond", 0),
(try_end),
(add_visitors_to_current_scene, ":random_entry_point", ":added_troop", 1),
(store_add, ":new_spawned_count", "$g_arena_training_num_agents_spawned", 1),
(store_mission_timer_a, ":cur_time"),
(store_add, "$g_arena_training_next_spawn_time", ":cur_time", 14),
(store_div, ":time_reduction", ":new_spawned_count", 3),
(val_sub, "$g_arena_training_next_spawn_time", ":time_reduction"),
]),
(0, 0, 0,
[
(eq, "$g_mt_mode", abm_training)
],
[
(assign, ":max_teams", 6),
(val_max, ":max_teams", 1),
(get_player_agent_no, ":player_agent"),
(try_for_agents, ":agent_no"),
(agent_is_human, ":agent_no"),
(agent_is_alive, ":agent_no"),
(agent_slot_eq, ":agent_no", slot_agent_arena_team_set, 0),
(agent_get_team, ":team_no", ":agent_no"),
(is_between, ":team_no", 0 ,7),
(try_begin),
(eq, ":agent_no", ":player_agent"),
(agent_set_team, ":agent_no", 6), #player is always team 6.
(else_try),
(store_random_in_range, ":selected_team", 0, ":max_teams"),
# find strongest team
(try_for_range, ":t", 0, 6),
(troop_set_slot, "trp_temp_array_a", ":t", 0),
(try_end),
(try_for_agents, "ther_agent_no"),
(agent_is_human, "ther_agent_no"),
(agent_is_alive, "ther_agent_no"),
(neq, ":agent_no", ":player_agent"),
(agent_slot_eq, "ther_agent_no", slot_agent_arena_team_set, 1),
(agent_get_team, "ther_agent_team", "ther_agent_no"),
(troop_get_slot, ":count", "trp_temp_array_a", "ther_agent_team"),
(val_add, ":count", 1),
(troop_set_slot, "trp_temp_array_a", "ther_agent_team", ":count"),
(try_end),
(assign, ":strongest_team", 0),
(troop_get_slot, ":strongest_team_count", "trp_temp_array_a", 0),
(try_for_range, ":t", 1, 6),
(troop_slot_ge, "trp_temp_array_a", ":t", ":strongest_team_count"),
(troop_get_slot, ":strongest_team_count", "trp_temp_array_a", ":t"),
(assign, ":strongest_team", ":t"),
(try_end),
(store_random_in_range, ":rand", 5, 100),
(try_begin),
(lt, ":rand", "$g_arena_training_num_agents_spawned"),
(assign, ":selected_team", ":strongest_team"),
(try_end),
(agent_set_team, ":agent_no", ":selected_team"),
(try_end),
(agent_set_slot, ":agent_no", slot_agent_arena_team_set, 1),
(try_begin),
(neq, ":agent_no", ":player_agent"),
(val_add, "$g_arena_training_num_agents_spawned", 1),
(try_end),
(try_end),
]),
]
mission_templates = [
Then after, you could have this (changes in red):
tournament_triggers = [
(ti_before_mission_start, 0, 0, [], [(call_script, "script_change_banners_and_chest"),
(assign, "$g_arena_training_num_agents_spawned", 0)]),
(ti_inventory_key_pressed, 0, 0, [(display_message,"str_cant_use_inventory_arena")], []),
(ti_tab_pressed, 0, 0, [],
[(try_begin),
(eq, "$g_mt_mode", abm_visit),
(set_trigger_result, 1),
(else_try),
(question_box,"str_give_up_fight"),
(try_end),
]),
(ti_question_answered, 0, 0, [],
[(store_trigger_param_1,":answer"),
(eq,":answer",0),
(try_begin),
(eq, "$g_mt_mode", abm_tournament),
(call_script, "script_end_tournament_fight", 0),
(else_try),
(eq, "$g_mt_mode", abm_training),
(get_player_agent_no, ":player_agent"),
(agent_get_kill_count, "$g_arena_training_kills", ":player_agent", 1),#use this for conversation
(try_end),
(finish_mission,0),
]),
(1, 0, ti_once, [], [
(eq, "$g_mt_mode", abm_visit),
(call_script, "script_music_set_situation_with_culture", mtf_sit_travel),
(store_current_scene, reg(1)),
(scene_set_slot, reg(1), slot_scene_visited, 1),
(mission_enable_talk),
(get_player_agent_no, ":player_agent"),
(assign, ":team_set", 0),
(try_for_agents, ":agent_no"),
(neq, ":agent_no", ":player_agent"),
(agent_get_troop_id, ":troop_id", ":agent_no"),
(is_between, ":troop_id", regular_troops_begin, regular_troops_end),
(eq, ":team_set", 0),
(agent_set_team, ":agent_no", 1),
(assign, ":team_set", 1),
(try_end),
]),
##
## (0, 0, 0, [],
## [
## #refresh hit points for arena visit trainers
## (eq, "$g_mt_mode", abm_visit),
## (get_player_agent_no, ":player_agent"),
## (try_for_agents, ":agent_no"),
## (neq, ":agent_no", ":player_agent"),
## (agent_get_troop_id, ":troop_id", ":agent_no"),
## (is_between, ":troop_id", regular_troops_begin, regular_troops_end),
## (agent_set_hit_points, ":agent_no", 100),
## (try_end),
## ]),
## (1, 4, ti_once, [(eq, "$g_mt_mode", abm_fight),
## (this_or_next|main_hero_fallen),
## (num_active_teams_le,1)],
## [
## (try_begin),
## (num_active_teams_le,1),
## (neg|main_hero_fallen),
## (assign,"$arena_fight_won",1),
## #Fight won, decrease odds
## (assign, ":player_odds_sub", 0),
## (try_begin),
## (ge,"$arena_bet_amount",1),
## (store_div, ":player_odds_sub", "$arena_win_amount", 2),
## (try_end),
## (party_get_slot, ":player_odds", "$g_encountered_party", slot_town_player_odds),
## (val_add, ":player_odds_sub", 5),
## (val_sub, ":player_odds", ":player_odds_sub"),
## (val_max, ":player_odds", 250),
## (party_set_slot, "$g_encountered_party", slot_town_player_odds, ":player_odds"),
## (else_try),
## #Fight lost, increase odds
## (assign, ":player_odds_add", 0),
## (try_begin),
## (ge,"$arena_bet_amount",1),
## (store_div, ":player_odds_add", "$arena_win_amount", 2),
## (try_end),
## (party_get_slot, ":player_odds", "$g_encountered_party", slot_town_player_odds),
## (val_add, ":player_odds_add", 5),
## (val_add, ":player_odds", ":player_odds_add"),
## (val_min, ":player_odds", 4000),
## (party_set_slot, "$g_encountered_party", slot_town_player_odds, ":player_odds"),
## (try_end),
## (store_remaining_team_no,"$arena_winner_team"),
## (assign, "$g_mt_mode", abm_visit),
## (party_get_slot, ":arena_mission_template", "$current_town", slot_town_arena_template),
## (set_jump_mission, ":arena_mission_template"),
## (party_get_slot, ":arena_scene", "$current_town", slot_town_arena),
## (modify_visitors_at_site, ":arena_scene"),
## (reset_visitors),
## (set_visitor, 35, "trp_veteran_fighter"),
## (set_visitor, 36, "trp_hired_blade"),
## (set_jump_entry, 50),
## (jump_to_scene, ":arena_scene"),
## ]),
(0, 0, ti_once, [],
[
(eq, "$g_mt_mode", abm_tournament),
(play_sound, "snd_arena_ambiance", sf_looping),
(call_script, "script_music_set_situation_with_culture", mtf_sit_arena),
]),
(1, 4, ti_once, [(eq, "$g_mt_mode", abm_tournament),
(this_or_next|main_hero_fallen),
(num_active_teams_le, 1)],
[
(try_begin),
(neg|main_hero_fallen),
(call_script, "script_end_tournament_fight", 1),
(call_script, "script_play_victorious_sound"),
(finish_mission),
(else_try),
(call_script, "script_end_tournament_fight", 0),
(finish_mission),
(try_end),
]),
(ti_battle_window_opened, 0, 0, [], [(eq, "$g_mt_mode", abm_training),(start_presentation, "prsnt_arena_training")]),
(0, 0, ti_once, [], [(eq, "$g_mt_mode", abm_training),
(assign, "$g_arena_training_max_opponents", 40),
(assign, "$g_arena_training_num_agents_spawned", 0),
(assign, "$g_arena_training_kills", 0),
(assign, "$g_arena_training_won", 0),
(call_script, "script_music_set_situation_with_culture", mtf_sit_arena),
]),
(1, 4, ti_once, [(eq, "$g_mt_mode", abm_training),
(store_mission_timer_a, ":cur_time"),
(gt, ":cur_time", 3),
(assign, ":win_cond", 0),
(try_begin),
(ge, "$g_arena_training_num_agents_spawned", "$g_arena_training_max_opponents"),#spawn at most 40 agents
(num_active_teams_le, 1),
(assign, ":win_cond", 1),
(try_end),
(this_or_next|eq, ":win_cond", 1),
(main_hero_fallen)],
[
(get_player_agent_no, ":player_agent"),
(agent_get_kill_count, "$g_arena_training_kills", ":player_agent", 1),#use this for conversation
(assign, "$g_arena_training_won", 0),
(try_begin),
(neg|main_hero_fallen),
(assign, "$g_arena_training_won", 1),#use this for conversation
(try_end),
(assign, "$g_mt_mode", abm_visit),
(set_jump_mission, "mt_arena_melee_fight"),
(party_get_slot, ":arena_scene", "$current_town", slot_town_arena),
(modify_visitors_at_site, ":arena_scene"),
(reset_visitors),
(set_visitor, 35, "trp_veteran_fighter"),
(set_visitor, 36, "trp_hired_blade"),
(set_jump_entry, 50),
(jump_to_scene, ":arena_scene"),
]),
(0.2, 0, 0,
[
(eq, "$g_mt_mode", abm_training),
(assign, ":num_active_fighters", 0),
(try_for_agents, ":agent_no"),
(agent_is_human, ":agent_no"),
(agent_is_alive, ":agent_no"),
(agent_get_team, ":team_no", ":agent_no"),
(is_between, ":team_no", 0 ,7),
(val_add, ":num_active_fighters", 1),
(try_end),
(lt, ":num_active_fighters", 7),
(neg|main_hero_fallen),
(store_mission_timer_a, ":cur_time"),
(this_or_next|ge, ":cur_time", "$g_arena_training_next_spawn_time"),
(this_or_next|lt, "$g_arena_training_num_agents_spawned", 6),
(num_active_teams_le, 1),
(lt, "$g_arena_training_num_agents_spawned", "$g_arena_training_max_opponents"),
],
[
(assign, ":added_troop", "$g_arena_training_num_agents_spawned"),
(store_div, ":added_troop", "$g_arena_training_num_agents_spawned", 6),
(assign, ":added_troop_sequence", "$g_arena_training_num_agents_spawned"),
(val_mod, ":added_troop_sequence", 6),
(val_add, ":added_troop", ":added_troop_sequence"),
(val_min, ":added_troop", 9),
(val_add, ":added_troop", "trp_arena_training_fighter_1"),
(assign, ":end_cond", 10000),
(get_player_agent_no, ":player_agent"),
(agent_get_position, pos5, ":player_agent"),
(try_for_range, ":unused", 0, ":end_cond"),
(store_random_in_range, ":random_entry_point", 32, 40),
(neq, ":random_entry_point", "$g_player_entry_point"), # make sure we don't overwrite player
(entry_point_get_position, pos1, ":random_entry_point"),
(get_distance_between_positions, ":dist", pos5, pos1),
(gt, ":dist", 1200), #must be at least 12 meters away from the player
(assign, ":end_cond", 0),
(try_end),
(add_visitors_to_current_scene, ":random_entry_point", ":added_troop", 1),
(store_add, ":new_spawned_count", "$g_arena_training_num_agents_spawned", 1),
(store_mission_timer_a, ":cur_time"),
(store_add, "$g_arena_training_next_spawn_time", ":cur_time", 14),
(store_div, ":time_reduction", ":new_spawned_count", 3),
(val_sub, "$g_arena_training_next_spawn_time", ":time_reduction"),
]),
(0, 0, 0,
[
(eq, "$g_mt_mode", abm_training)
],
[
(assign, ":max_teams", 6),
(val_max, ":max_teams", 1),
(get_player_agent_no, ":player_agent"),
(try_for_agents, ":agent_no"),
(agent_is_human, ":agent_no"),
(agent_is_alive, ":agent_no"),
(agent_slot_eq, ":agent_no", slot_agent_arena_team_set, 0),
(agent_get_team, ":team_no", ":agent_no"),
(is_between, ":team_no", 0 ,7),
(try_begin),
(eq, ":agent_no", ":player_agent"),
(agent_set_team, ":agent_no", 6), #player is always team 6.
(else_try),
(store_random_in_range, ":selected_team", 0, ":max_teams"),
# find strongest team
(try_for_range, ":t", 0, 6),
(troop_set_slot, "trp_temp_array_a", ":t", 0),
(try_end),
(try_for_agents, "ther_agent_no"),
(agent_is_human, "ther_agent_no"),
(agent_is_alive, "ther_agent_no"),
(neq, ":agent_no", ":player_agent"),
(agent_slot_eq, "ther_agent_no", slot_agent_arena_team_set, 1),
(agent_get_team, "ther_agent_team", "ther_agent_no"),
(troop_get_slot, ":count", "trp_temp_array_a", "ther_agent_team"),
(val_add, ":count", 1),
(troop_set_slot, "trp_temp_array_a", "ther_agent_team", ":count"),
(try_end),
(assign, ":strongest_team", 0),
(troop_get_slot, ":strongest_team_count", "trp_temp_array_a", 0),
(try_for_range, ":t", 1, 6),
(troop_slot_ge, "trp_temp_array_a", ":t", ":strongest_team_count"),
(troop_get_slot, ":strongest_team_count", "trp_temp_array_a", ":t"),
(assign, ":strongest_team", ":t"),
(try_end),
(store_random_in_range, ":rand", 5, 100),
(try_begin),
(lt, ":rand", "$g_arena_training_num_agents_spawned"),
(assign, ":selected_team", ":strongest_team"),
(try_end),
(agent_set_team, ":agent_no", ":selected_team"),
(try_end),
(agent_set_slot, ":agent_no", slot_agent_arena_team_set, 1),
(try_begin),
(neq, ":agent_no", ":player_agent"),
(val_add, "$g_arena_training_num_agents_spawned", 1),
(try_end),
(try_end),
]),
]
common_battle_add_artifact_exp = (
ti_on_agent_hit, 0, 0, [],
[
(call_script, "script_kt_add_artifact_exp", 75),
])
mission_templates = [
(ti_before_mission_start, 0, 0, [], [(call_script, "script_change_banners_and_chest"),
(assign, "$g_arena_training_num_agents_spawned", 0)]),
(ti_inventory_key_pressed, 0, 0, [(display_message,"str_cant_use_inventory_arena")], []),
(ti_tab_pressed, 0, 0, [],
[(try_begin),
(eq, "$g_mt_mode", abm_visit),
(set_trigger_result, 1),
(else_try),
(question_box,"str_give_up_fight"),
(try_end),
]),
(ti_question_answered, 0, 0, [],
[(store_trigger_param_1,":answer"),
(eq,":answer",0),
(try_begin),
(eq, "$g_mt_mode", abm_tournament),
(call_script, "script_end_tournament_fight", 0),
(else_try),
(eq, "$g_mt_mode", abm_training),
(get_player_agent_no, ":player_agent"),
(agent_get_kill_count, "$g_arena_training_kills", ":player_agent", 1),#use this for conversation
(try_end),
(finish_mission,0),
]),
(1, 0, ti_once, [], [
(eq, "$g_mt_mode", abm_visit),
(call_script, "script_music_set_situation_with_culture", mtf_sit_travel),
(store_current_scene, reg(1)),
(scene_set_slot, reg(1), slot_scene_visited, 1),
(mission_enable_talk),
(get_player_agent_no, ":player_agent"),
(assign, ":team_set", 0),
(try_for_agents, ":agent_no"),
(neq, ":agent_no", ":player_agent"),
(agent_get_troop_id, ":troop_id", ":agent_no"),
(is_between, ":troop_id", regular_troops_begin, regular_troops_end),
(eq, ":team_set", 0),
(agent_set_team, ":agent_no", 1),
(assign, ":team_set", 1),
(try_end),
]),
##
## (0, 0, 0, [],
## [
## #refresh hit points for arena visit trainers
## (eq, "$g_mt_mode", abm_visit),
## (get_player_agent_no, ":player_agent"),
## (try_for_agents, ":agent_no"),
## (neq, ":agent_no", ":player_agent"),
## (agent_get_troop_id, ":troop_id", ":agent_no"),
## (is_between, ":troop_id", regular_troops_begin, regular_troops_end),
## (agent_set_hit_points, ":agent_no", 100),
## (try_end),
## ]),
## (1, 4, ti_once, [(eq, "$g_mt_mode", abm_fight),
## (this_or_next|main_hero_fallen),
## (num_active_teams_le,1)],
## [
## (try_begin),
## (num_active_teams_le,1),
## (neg|main_hero_fallen),
## (assign,"$arena_fight_won",1),
## #Fight won, decrease odds
## (assign, ":player_odds_sub", 0),
## (try_begin),
## (ge,"$arena_bet_amount",1),
## (store_div, ":player_odds_sub", "$arena_win_amount", 2),
## (try_end),
## (party_get_slot, ":player_odds", "$g_encountered_party", slot_town_player_odds),
## (val_add, ":player_odds_sub", 5),
## (val_sub, ":player_odds", ":player_odds_sub"),
## (val_max, ":player_odds", 250),
## (party_set_slot, "$g_encountered_party", slot_town_player_odds, ":player_odds"),
## (else_try),
## #Fight lost, increase odds
## (assign, ":player_odds_add", 0),
## (try_begin),
## (ge,"$arena_bet_amount",1),
## (store_div, ":player_odds_add", "$arena_win_amount", 2),
## (try_end),
## (party_get_slot, ":player_odds", "$g_encountered_party", slot_town_player_odds),
## (val_add, ":player_odds_add", 5),
## (val_add, ":player_odds", ":player_odds_add"),
## (val_min, ":player_odds", 4000),
## (party_set_slot, "$g_encountered_party", slot_town_player_odds, ":player_odds"),
## (try_end),
## (store_remaining_team_no,"$arena_winner_team"),
## (assign, "$g_mt_mode", abm_visit),
## (party_get_slot, ":arena_mission_template", "$current_town", slot_town_arena_template),
## (set_jump_mission, ":arena_mission_template"),
## (party_get_slot, ":arena_scene", "$current_town", slot_town_arena),
## (modify_visitors_at_site, ":arena_scene"),
## (reset_visitors),
## (set_visitor, 35, "trp_veteran_fighter"),
## (set_visitor, 36, "trp_hired_blade"),
## (set_jump_entry, 50),
## (jump_to_scene, ":arena_scene"),
## ]),
(0, 0, ti_once, [],
[
(eq, "$g_mt_mode", abm_tournament),
(play_sound, "snd_arena_ambiance", sf_looping),
(call_script, "script_music_set_situation_with_culture", mtf_sit_arena),
]),
(1, 4, ti_once, [(eq, "$g_mt_mode", abm_tournament),
(this_or_next|main_hero_fallen),
(num_active_teams_le, 1)],
[
(try_begin),
(neg|main_hero_fallen),
(call_script, "script_end_tournament_fight", 1),
(call_script, "script_play_victorious_sound"),
(finish_mission),
(else_try),
(call_script, "script_end_tournament_fight", 0),
(finish_mission),
(try_end),
]),
(ti_battle_window_opened, 0, 0, [], [(eq, "$g_mt_mode", abm_training),(start_presentation, "prsnt_arena_training")]),
(0, 0, ti_once, [], [(eq, "$g_mt_mode", abm_training),
(assign, "$g_arena_training_max_opponents", 40),
(assign, "$g_arena_training_num_agents_spawned", 0),
(assign, "$g_arena_training_kills", 0),
(assign, "$g_arena_training_won", 0),
(call_script, "script_music_set_situation_with_culture", mtf_sit_arena),
]),
(1, 4, ti_once, [(eq, "$g_mt_mode", abm_training),
(store_mission_timer_a, ":cur_time"),
(gt, ":cur_time", 3),
(assign, ":win_cond", 0),
(try_begin),
(ge, "$g_arena_training_num_agents_spawned", "$g_arena_training_max_opponents"),#spawn at most 40 agents
(num_active_teams_le, 1),
(assign, ":win_cond", 1),
(try_end),
(this_or_next|eq, ":win_cond", 1),
(main_hero_fallen)],
[
(get_player_agent_no, ":player_agent"),
(agent_get_kill_count, "$g_arena_training_kills", ":player_agent", 1),#use this for conversation
(assign, "$g_arena_training_won", 0),
(try_begin),
(neg|main_hero_fallen),
(assign, "$g_arena_training_won", 1),#use this for conversation
(try_end),
(assign, "$g_mt_mode", abm_visit),
(set_jump_mission, "mt_arena_melee_fight"),
(party_get_slot, ":arena_scene", "$current_town", slot_town_arena),
(modify_visitors_at_site, ":arena_scene"),
(reset_visitors),
(set_visitor, 35, "trp_veteran_fighter"),
(set_visitor, 36, "trp_hired_blade"),
(set_jump_entry, 50),
(jump_to_scene, ":arena_scene"),
]),
(0.2, 0, 0,
[
(eq, "$g_mt_mode", abm_training),
(assign, ":num_active_fighters", 0),
(try_for_agents, ":agent_no"),
(agent_is_human, ":agent_no"),
(agent_is_alive, ":agent_no"),
(agent_get_team, ":team_no", ":agent_no"),
(is_between, ":team_no", 0 ,7),
(val_add, ":num_active_fighters", 1),
(try_end),
(lt, ":num_active_fighters", 7),
(neg|main_hero_fallen),
(store_mission_timer_a, ":cur_time"),
(this_or_next|ge, ":cur_time", "$g_arena_training_next_spawn_time"),
(this_or_next|lt, "$g_arena_training_num_agents_spawned", 6),
(num_active_teams_le, 1),
(lt, "$g_arena_training_num_agents_spawned", "$g_arena_training_max_opponents"),
],
[
(assign, ":added_troop", "$g_arena_training_num_agents_spawned"),
(store_div, ":added_troop", "$g_arena_training_num_agents_spawned", 6),
(assign, ":added_troop_sequence", "$g_arena_training_num_agents_spawned"),
(val_mod, ":added_troop_sequence", 6),
(val_add, ":added_troop", ":added_troop_sequence"),
(val_min, ":added_troop", 9),
(val_add, ":added_troop", "trp_arena_training_fighter_1"),
(assign, ":end_cond", 10000),
(get_player_agent_no, ":player_agent"),
(agent_get_position, pos5, ":player_agent"),
(try_for_range, ":unused", 0, ":end_cond"),
(store_random_in_range, ":random_entry_point", 32, 40),
(neq, ":random_entry_point", "$g_player_entry_point"), # make sure we don't overwrite player
(entry_point_get_position, pos1, ":random_entry_point"),
(get_distance_between_positions, ":dist", pos5, pos1),
(gt, ":dist", 1200), #must be at least 12 meters away from the player
(assign, ":end_cond", 0),
(try_end),
(add_visitors_to_current_scene, ":random_entry_point", ":added_troop", 1),
(store_add, ":new_spawned_count", "$g_arena_training_num_agents_spawned", 1),
(store_mission_timer_a, ":cur_time"),
(store_add, "$g_arena_training_next_spawn_time", ":cur_time", 14),
(store_div, ":time_reduction", ":new_spawned_count", 3),
(val_sub, "$g_arena_training_next_spawn_time", ":time_reduction"),
]),
(0, 0, 0,
[
(eq, "$g_mt_mode", abm_training)
],
[
(assign, ":max_teams", 6),
(val_max, ":max_teams", 1),
(get_player_agent_no, ":player_agent"),
(try_for_agents, ":agent_no"),
(agent_is_human, ":agent_no"),
(agent_is_alive, ":agent_no"),
(agent_slot_eq, ":agent_no", slot_agent_arena_team_set, 0),
(agent_get_team, ":team_no", ":agent_no"),
(is_between, ":team_no", 0 ,7),
(try_begin),
(eq, ":agent_no", ":player_agent"),
(agent_set_team, ":agent_no", 6), #player is always team 6.
(else_try),
(store_random_in_range, ":selected_team", 0, ":max_teams"),
# find strongest team
(try_for_range, ":t", 0, 6),
(troop_set_slot, "trp_temp_array_a", ":t", 0),
(try_end),
(try_for_agents, "ther_agent_no"),
(agent_is_human, "ther_agent_no"),
(agent_is_alive, "ther_agent_no"),
(neq, ":agent_no", ":player_agent"),
(agent_slot_eq, "ther_agent_no", slot_agent_arena_team_set, 1),
(agent_get_team, "ther_agent_team", "ther_agent_no"),
(troop_get_slot, ":count", "trp_temp_array_a", "ther_agent_team"),
(val_add, ":count", 1),
(troop_set_slot, "trp_temp_array_a", "ther_agent_team", ":count"),
(try_end),
(assign, ":strongest_team", 0),
(troop_get_slot, ":strongest_team_count", "trp_temp_array_a", 0),
(try_for_range, ":t", 1, 6),
(troop_slot_ge, "trp_temp_array_a", ":t", ":strongest_team_count"),
(troop_get_slot, ":strongest_team_count", "trp_temp_array_a", ":t"),
(assign, ":strongest_team", ":t"),
(try_end),
(store_random_in_range, ":rand", 5, 100),
(try_begin),
(lt, ":rand", "$g_arena_training_num_agents_spawned"),
(assign, ":selected_team", ":strongest_team"),
(try_end),
(agent_set_team, ":agent_no", ":selected_team"),
(try_end),
(agent_set_slot, ":agent_no", slot_agent_arena_team_set, 1),
(try_begin),
(neq, ":agent_no", ":player_agent"),
(val_add, "$g_arena_training_num_agents_spawned", 1),
(try_end),
(try_end),
]),
]
common_battle_add_artifact_exp = (
ti_on_agent_hit, 0, 0, [],
[
(call_script, "script_kt_add_artifact_exp", 75),
])
mission_templates = [
After you've done that, use ctrl+f to search for every instance of common_battle_init_banner and when it's followed by a comma, make a new line under it and add "common_battle_add_artifact_exp,"
One example of this, before:
(
"village_attack_bandits",mtf_battle_mode|mtf_synch_inventory,charge,
"You lead your men to battle.",
[
(3,mtef_visitor_source|mtef_team_1,0,aif_start_alarmed,1,[]),
(1,mtef_team_0|mtef_use_exact_number,0,aif_start_alarmed, 7,[]),
(1,mtef_visitor_source|mtef_team_0,0,aif_start_alarmed,1,[]),
],
[
common_battle_tab_press,
common_battle_init_banner,
(ti_question_answered, 0, 0, [],
[(store_trigger_param_1,":answer"),
(eq,":answer",0),
(assign, "$pin_player_fallen", 0),
(str_store_string, s5, "str_retreat"),
(call_script, "script_simulate_retreat", 10, 20, 1),
(assign, "$g_battle_result", -1),
(call_script, "script_count_mission_casualties_from_agents"),
(finish_mission,0),]),
(0, 0, ti_once, [], [(assign, "$g_battle_won", 0),
(assign, "$defender_reinforcement_stage", 0),
(assign, "$attacker_reinforcement_stage", 0),
(try_begin),
(eq, "$g_mt_mode", vba_after_training),
(add_reinforcements_to_entry, 1, 6),
(else_try),
(add_reinforcements_to_entry, 1, 29),
(try_end),
(call_script, "script_combat_music_set_situation_with_culture"),
]),
common_music_situation_update,
common_battle_check_friendly_kills,
common_battle_check_victory_condition,
common_battle_victory_display,
(1, 4, ti_once, [(main_hero_fallen)],
[
(assign, "$pin_player_fallen", 1),
(str_store_string, s5, "str_retreat"),
(call_script, "script_simulate_retreat", 10, 20, 1),
(assign, "$g_battle_result", -1),
(set_mission_result, -1),
(call_script, "script_count_mission_casualties_from_agents"),
(finish_mission, 0)]),
common_battle_inventory,
common_battle_order_panel,
common_battle_order_panel_tick,
],
),
"village_attack_bandits",mtf_battle_mode|mtf_synch_inventory,charge,
"You lead your men to battle.",
[
(3,mtef_visitor_source|mtef_team_1,0,aif_start_alarmed,1,[]),
(1,mtef_team_0|mtef_use_exact_number,0,aif_start_alarmed, 7,[]),
(1,mtef_visitor_source|mtef_team_0,0,aif_start_alarmed,1,[]),
],
[
common_battle_tab_press,
common_battle_init_banner,
(ti_question_answered, 0, 0, [],
[(store_trigger_param_1,":answer"),
(eq,":answer",0),
(assign, "$pin_player_fallen", 0),
(str_store_string, s5, "str_retreat"),
(call_script, "script_simulate_retreat", 10, 20, 1),
(assign, "$g_battle_result", -1),
(call_script, "script_count_mission_casualties_from_agents"),
(finish_mission,0),]),
(0, 0, ti_once, [], [(assign, "$g_battle_won", 0),
(assign, "$defender_reinforcement_stage", 0),
(assign, "$attacker_reinforcement_stage", 0),
(try_begin),
(eq, "$g_mt_mode", vba_after_training),
(add_reinforcements_to_entry, 1, 6),
(else_try),
(add_reinforcements_to_entry, 1, 29),
(try_end),
(call_script, "script_combat_music_set_situation_with_culture"),
]),
common_music_situation_update,
common_battle_check_friendly_kills,
common_battle_check_victory_condition,
common_battle_victory_display,
(1, 4, ti_once, [(main_hero_fallen)],
[
(assign, "$pin_player_fallen", 1),
(str_store_string, s5, "str_retreat"),
(call_script, "script_simulate_retreat", 10, 20, 1),
(assign, "$g_battle_result", -1),
(set_mission_result, -1),
(call_script, "script_count_mission_casualties_from_agents"),
(finish_mission, 0)]),
common_battle_inventory,
common_battle_order_panel,
common_battle_order_panel_tick,
],
),
After:
(
"village_attack_bandits",mtf_battle_mode|mtf_synch_inventory,charge,
"You lead your men to battle.",
[
(3,mtef_visitor_source|mtef_team_1,0,aif_start_alarmed,1,[]),
(1,mtef_team_0|mtef_use_exact_number,0,aif_start_alarmed, 7,[]),
(1,mtef_visitor_source|mtef_team_0,0,aif_start_alarmed,1,[]),
],
[
common_battle_tab_press,
common_battle_init_banner,
common_battle_add_artifact_exp,
(ti_question_answered, 0, 0, [],
[(store_trigger_param_1,":answer"),
(eq,":answer",0),
(assign, "$pin_player_fallen", 0),
(str_store_string, s5, "str_retreat"),
(call_script, "script_simulate_retreat", 10, 20, 1),
(assign, "$g_battle_result", -1),
(call_script, "script_count_mission_casualties_from_agents"),
(finish_mission,0),]),
(0, 0, ti_once, [], [(assign, "$g_battle_won", 0),
(assign, "$defender_reinforcement_stage", 0),
(assign, "$attacker_reinforcement_stage", 0),
(try_begin),
(eq, "$g_mt_mode", vba_after_training),
(add_reinforcements_to_entry, 1, 6),
(else_try),
(add_reinforcements_to_entry, 1, 29),
(try_end),
(call_script, "script_combat_music_set_situation_with_culture"),
]),
common_music_situation_update,
common_battle_check_friendly_kills,
common_battle_check_victory_condition,
common_battle_victory_display,
(1, 4, ti_once, [(main_hero_fallen)],
[
(assign, "$pin_player_fallen", 1),
(str_store_string, s5, "str_retreat"),
(call_script, "script_simulate_retreat", 10, 20, 1),
(assign, "$g_battle_result", -1),
(set_mission_result, -1),
(call_script, "script_count_mission_casualties_from_agents"),
(finish_mission, 0)]),
common_battle_inventory,
common_battle_order_panel,
common_battle_order_panel_tick,
],
),
"village_attack_bandits",mtf_battle_mode|mtf_synch_inventory,charge,
"You lead your men to battle.",
[
(3,mtef_visitor_source|mtef_team_1,0,aif_start_alarmed,1,[]),
(1,mtef_team_0|mtef_use_exact_number,0,aif_start_alarmed, 7,[]),
(1,mtef_visitor_source|mtef_team_0,0,aif_start_alarmed,1,[]),
],
[
common_battle_tab_press,
common_battle_init_banner,
common_battle_add_artifact_exp,
(ti_question_answered, 0, 0, [],
[(store_trigger_param_1,":answer"),
(eq,":answer",0),
(assign, "$pin_player_fallen", 0),
(str_store_string, s5, "str_retreat"),
(call_script, "script_simulate_retreat", 10, 20, 1),
(assign, "$g_battle_result", -1),
(call_script, "script_count_mission_casualties_from_agents"),
(finish_mission,0),]),
(0, 0, ti_once, [], [(assign, "$g_battle_won", 0),
(assign, "$defender_reinforcement_stage", 0),
(assign, "$attacker_reinforcement_stage", 0),
(try_begin),
(eq, "$g_mt_mode", vba_after_training),
(add_reinforcements_to_entry, 1, 6),
(else_try),
(add_reinforcements_to_entry, 1, 29),
(try_end),
(call_script, "script_combat_music_set_situation_with_culture"),
]),
common_music_situation_update,
common_battle_check_friendly_kills,
common_battle_check_victory_condition,
common_battle_victory_display,
(1, 4, ti_once, [(main_hero_fallen)],
[
(assign, "$pin_player_fallen", 1),
(str_store_string, s5, "str_retreat"),
(call_script, "script_simulate_retreat", 10, 20, 1),
(assign, "$g_battle_result", -1),
(set_mission_result, -1),
(call_script, "script_count_mission_casualties_from_agents"),
(finish_mission, 0)]),
common_battle_inventory,
common_battle_order_panel,
common_battle_order_panel_tick,
],
),
Hope that's clearer and fixes any problems. The first part is you just defining common_battle_add_artifact_exp as a certain trigger, then you're adding that trigger to all the mission templates used in battles. You could actually add the full code for the trigger in place of common_battle_add_artifact_exp, but it's easier and nicer to read to just add a variable name than add a block of code over and over again.