"game_start",
[
(faction_set_slot, "fac_player_supporters_faction", slot_faction_state, sfs_inactive),
(assign, "$g_player_luck", 200),
(assign, "$g_player_luck", 200),
(troop_set_slot, "trp_player", slot_troop_occupation, slto_kingdom_hero),
(store_random_in_range, ":starting_training_ground", training_grounds_begin, training_grounds_end),
(party_relocate_near_party, "p_main_party", ":starting_training_ground", 3),
(str_store_troop_name, s5, "trp_player"),
(party_set_name, "p_main_party", s5),
(call_script, "script_update_party_creation_random_limits"),
(assign, "$g_player_party_icon", -1),
#Warband changes begin -- set this early
(try_for_range, ":npc", 0, kingdom_ladies_end),
(this_or_next|eq, ":npc", "trp_player"),
(is_between, ":npc", active_npcs_begin, kingdom_ladies_end),
(troop_set_slot, ":npc", slot_troop_father, -1),
(troop_set_slot, ":npc", slot_troop_mother, -1),
(troop_set_slot, ":npc", slot_troop_guardian, -1),
(troop_set_slot, ":npc", slot_troop_spouse, -1),
(troop_set_slot, ":npc", slot_troop_betrothed, -1),
(troop_set_slot, ":npc", slot_troop_prisoner_of_party, -1),
(troop_set_slot, ":npc", slot_lady_last_suitor, -1),
(troop_set_slot, ":npc", slot_troop_stance_on_faction_issue, -1),
(store_random_in_range, ":decision_seed", 0, 10000),
(troop_set_slot, ":npc", slot_troop_set_decision_seed, ":decision_seed"), #currently not used
(troop_set_slot, ":npc", slot_troop_temp_decision_seed, ":decision_seed"), #currently not used, holds for at least 24 hours
(try_end),
(assign, "$g_lord_long_term_count", 0),
##diplomacy start+ Clear faction leader/marshall, since 0 is the player
(try_for_range, ":faction_no", 0, dplmc_factions_end),
(neq, ":faction_no", "fac_player_faction"),
(neq, ":faction_no", "fac_player_supporters_faction"),
(faction_set_slot, ":faction_no", slot_faction_leader, -1),
(faction_set_slot, ":faction_no", slot_faction_marshall, -1),
(try_end),
##diplomacy end+
(call_script, "script_initialize_banner_info"),
(call_script, "script_initialize_item_info"),
(call_script, "script_initialize_aristocracy"),
(call_script, "script_initialize_npcs"),
(assign, "$disable_npc_complaints", 0),
#NPC companion changes end
# Setting random feast time
(try_for_range, ":faction_no", kingdoms_begin, kingdoms_end),
(store_random_in_range, ":last_feast_time", 0, 312), #240 + 72
(val_mul, ":last_feast_time", -1),
(faction_set_slot, ":faction_no", slot_faction_last_feast_start_time, ":last_feast_time"),
(try_end),
# Setting the random town sequence:
(store_sub, ":num_towns", towns_end, towns_begin),
(assign, ":num_iterations", ":num_towns"),
(try_for_range, ":cur_town_no", 0, ":num_towns"),
(troop_set_slot, "trp_random_town_sequence", ":cur_town_no", -1),
(try_end),
(assign, ":cur_town_no", 0),
(try_for_range, ":unused", 0, ":num_iterations"),
(store_random_in_range, ":random_no", 0, ":num_towns"),
(assign, ":is_unique", 1),
(try_for_range, ":cur_town_no_2", 0, ":num_towns"),
(troop_slot_eq, "trp_random_town_sequence", ":cur_town_no_2", ":random_no"),
(assign, ":is_unique", 0),
(try_end),
(try_begin),
(eq, ":is_unique", 1),
(troop_set_slot, "trp_random_town_sequence", ":cur_town_no", ":random_no"),
(val_add, ":cur_town_no", 1),
(else_try),
(val_add, ":num_iterations", 1),
(try_end),
(try_end),
# Cultures:
(faction_set_slot, "fac_culture_1", slot_faction_tier_1_troop, "trp_swadian_recruit"),
(faction_set_slot, "fac_culture_1", slot_faction_tier_2_troop, "trp_swadian_militia"),
(faction_set_slot, "fac_culture_1", slot_faction_tier_3_troop, "trp_swadian_footman"),
(faction_set_slot, "fac_culture_1", slot_faction_tier_4_troop, "trp_swadian_infantry"),
(faction_set_slot, "fac_culture_1", slot_faction_tier_5_troop, "trp_swadian_knight"),
(faction_set_slot, "fac_culture_2", slot_faction_tier_1_troop, "trp_vaegir_recruit"),
(faction_set_slot, "fac_culture_2", slot_faction_tier_2_troop, "trp_vaegir_footman"),
(faction_set_slot, "fac_culture_2", slot_faction_tier_3_troop, "trp_vaegir_veteran"),
(faction_set_slot, "fac_culture_2", slot_faction_tier_4_troop, "trp_vaegir_infantry"),
(faction_set_slot, "fac_culture_2", slot_faction_tier_5_troop, "trp_vaegir_knight"),
(faction_set_slot, "fac_culture_3", slot_faction_tier_1_troop, "trp_khergit_tribesman"),
(faction_set_slot, "fac_culture_3", slot_faction_tier_2_troop, "trp_khergit_skirmisher"),
(faction_set_slot, "fac_culture_3", slot_faction_tier_3_troop, "trp_khergit_horseman"),
(faction_set_slot, "fac_culture_3", slot_faction_tier_4_troop, "trp_khergit_horse_archer"),
(faction_set_slot, "fac_culture_3", slot_faction_tier_5_troop, "trp_khergit_veteran_horse_archer"),
(faction_set_slot, "fac_culture_4", slot_faction_tier_1_troop, "trp_nord_recruit"),
(faction_set_slot, "fac_culture_4", slot_faction_tier_2_troop, "trp_nord_footman"),
(faction_set_slot, "fac_culture_4", slot_faction_tier_3_troop, "trp_nord_trained_footman"),
(faction_set_slot, "fac_culture_4", slot_faction_tier_4_troop, "trp_nord_warrior"),
(faction_set_slot, "fac_culture_4", slot_faction_tier_5_troop, "trp_nord_veteran"),
(faction_set_slot, "fac_culture_5", slot_faction_tier_1_troop, "trp_rhodok_tribesman"),
(faction_set_slot, "fac_culture_5", slot_faction_tier_2_troop, "trp_rhodok_spearman"),
(faction_set_slot, "fac_culture_5", slot_faction_tier_3_troop, "trp_rhodok_trained_spearman"),
(faction_set_slot, "fac_culture_5", slot_faction_tier_4_troop, "trp_rhodok_veteran_spearman"),
(faction_set_slot, "fac_culture_5", slot_faction_tier_5_troop, "trp_rhodok_sergeant"),
(faction_set_slot, "fac_culture_6", slot_faction_tier_1_troop, "trp_sarranid_recruit"),
(faction_set_slot, "fac_culture_6", slot_faction_tier_2_troop, "trp_sarranid_footman"),
(faction_set_slot, "fac_culture_6", slot_faction_tier_3_troop, "trp_sarranid_archer"),
(faction_set_slot, "fac_culture_6", slot_faction_tier_4_troop, "trp_sarranid_horseman"),
(faction_set_slot, "fac_culture_6", slot_faction_tier_5_troop, "trp_sarranid_mamluke"),
(faction_set_slot, "fac_culture_1", slot_faction_town_walker_male_troop, "trp_town_walker_1"),
(faction_set_slot, "fac_culture_1", slot_faction_town_walker_female_troop, "trp_town_walker_2"),
(faction_set_slot, "fac_culture_1", slot_faction_village_walker_male_troop, "trp_village_walker_1"),
(faction_set_slot, "fac_culture_1", slot_faction_village_walker_female_troop, "trp_village_walker_2"),
(faction_set_slot, "fac_culture_1", slot_faction_town_spy_male_troop, "trp_spy_walker_1"),
(faction_set_slot, "fac_culture_1", slot_faction_town_spy_female_troop, "trp_spy_walker_2"),
(faction_set_slot, "fac_culture_2", slot_faction_town_walker_male_troop, "trp_town_walker_1"),
(faction_set_slot, "fac_culture_2", slot_faction_town_walker_female_troop, "trp_town_walker_2"),
(faction_set_slot, "fac_culture_2", slot_faction_village_walker_male_troop, "trp_village_walker_1"),
(faction_set_slot, "fac_culture_2", slot_faction_village_walker_female_troop, "trp_village_walker_2"),
(faction_set_slot, "fac_culture_2", slot_faction_town_spy_male_troop, "trp_spy_walker_1"),
(faction_set_slot, "fac_culture_2", slot_faction_town_spy_female_troop, "trp_spy_walker_2"),
(faction_set_slot, "fac_culture_3", slot_faction_town_walker_male_troop, "trp_khergit_townsman"),
(faction_set_slot, "fac_culture_3", slot_faction_town_walker_female_troop, "trp_khergit_townswoman"),
(faction_set_slot, "fac_culture_3", slot_faction_village_walker_male_troop, "trp_khergit_townsman"),
(faction_set_slot, "fac_culture_3", slot_faction_village_walker_female_troop, "trp_khergit_townswoman"),
(faction_set_slot, "fac_culture_3", slot_faction_town_spy_male_troop, "trp_spy_walker_1"),
(faction_set_slot, "fac_culture_3", slot_faction_town_spy_female_troop, "trp_spy_walker_2"),
(faction_set_slot, "fac_culture_4", slot_faction_town_walker_male_troop, "trp_town_walker_1"),
(faction_set_slot, "fac_culture_4", slot_faction_town_walker_female_troop, "trp_town_walker_2"),
(faction_set_slot, "fac_culture_4", slot_faction_village_walker_male_troop, "trp_village_walker_1"),
(faction_set_slot, "fac_culture_4", slot_faction_village_walker_female_troop, "trp_village_walker_2"),
(faction_set_slot, "fac_culture_4", slot_faction_town_spy_male_troop, "trp_spy_walker_1"),
(faction_set_slot, "fac_culture_4", slot_faction_town_spy_female_troop, "trp_spy_walker_2"),
(faction_set_slot, "fac_culture_5", slot_faction_town_walker_male_troop, "trp_town_walker_1"),
(faction_set_slot, "fac_culture_5", slot_faction_town_walker_female_troop, "trp_town_walker_2"),
(faction_set_slot, "fac_culture_5", slot_faction_village_walker_male_troop, "trp_village_walker_1"),
(faction_set_slot, "fac_culture_5", slot_faction_village_walker_female_troop, "trp_village_walker_2"),
(faction_set_slot, "fac_culture_5", slot_faction_town_spy_male_troop, "trp_spy_walker_1"),
(faction_set_slot, "fac_culture_5", slot_faction_town_spy_female_troop, "trp_spy_walker_2"),
(faction_set_slot, "fac_culture_6", slot_faction_town_walker_male_troop, "trp_sarranid_townsman"),
(faction_set_slot, "fac_culture_6", slot_faction_town_walker_female_troop, "trp_sarranid_townswoman"),
(faction_set_slot, "fac_culture_6", slot_faction_village_walker_male_troop, "trp_sarranid_townsman"),
(faction_set_slot, "fac_culture_6", slot_faction_village_walker_female_troop, "trp_sarranid_townswoman"),
(faction_set_slot, "fac_culture_6", slot_faction_town_spy_male_troop, "trp_spy_walker_1"),
(faction_set_slot, "fac_culture_6", slot_faction_town_spy_female_troop, "trp_spy_walker_2"),
(try_begin),
(eq, "$cheat_mode", 1),
(assign, reg3, "$cheat_mode"),
(display_message, "@{!}DEBUG : Completed faction troop assignments, cheat mode: {reg3}"),
(try_end),
# Factions:
(faction_set_slot, "fac_kingdom_1", slot_faction_culture, "fac_culture_1"),
(faction_set_slot, "fac_kingdom_1", slot_faction_leader, "trp_kingdom_1_lord"),
(troop_set_slot, "trp_kingdom_1_lord", slot_troop_renown, 1200),
(faction_set_slot, "fac_kingdom_2", slot_faction_culture, "fac_culture_2"),
(faction_set_slot, "fac_kingdom_2", slot_faction_leader, "trp_kingdom_2_lord"),
(troop_set_slot, "trp_kingdom_2_lord", slot_troop_renown, 1200),
(faction_set_slot, "fac_kingdom_3", slot_faction_culture, "fac_culture_3"),
(faction_set_slot, "fac_kingdom_3", slot_faction_leader, "trp_kingdom_3_lord"),
(troop_set_slot, "trp_kingdom_3_lord", slot_troop_renown, 1200),
(faction_set_slot, "fac_kingdom_4", slot_faction_culture, "fac_culture_4"),
(faction_set_slot, "fac_kingdom_4", slot_faction_leader, "trp_kingdom_4_lord"),
(troop_set_slot, "trp_kingdom_4_lord", slot_troop_renown, 1200),
(faction_set_slot, "fac_kingdom_5", slot_faction_culture, "fac_culture_5"),
(faction_set_slot, "fac_kingdom_5", slot_faction_leader, "trp_kingdom_5_lord"),
(troop_set_slot, "trp_kingdom_5_lord", slot_troop_renown, 1200),
(faction_set_slot, "fac_kingdom_6", slot_faction_culture, "fac_culture_6"),
(faction_set_slot, "fac_kingdom_6", slot_faction_leader, "trp_kingdom_6_lord"),
(troop_set_slot, "trp_kingdom_6_lord", slot_troop_renown, 1200),
#Cait - added KAOSPolitical stuff here from update_game_start4, put here based on Modmerger documentation at the bottom of KAOSPolitical_scripts. And HERE because it makes sense.
#KAOS (POLITICAL)
(faction_set_slot, "fac_kingdom_7", slot_faction_culture, "fac_culture_1"),
(faction_set_slot, "fac_kingdom_8", slot_faction_culture, "fac_culture_2"),
(faction_set_slot, "fac_kingdom_9", slot_faction_culture, "fac_culture_3"),
(faction_set_slot, "fac_kingdom_10", slot_faction_culture, "fac_culture_4"),
(faction_set_slot, "fac_kingdom_11", slot_faction_culture, "fac_culture_5"),
(faction_set_slot, "fac_kingdom_12", slot_faction_culture, "fac_culture_6"),
(faction_set_slot, "fac_kingdom_13", slot_faction_culture, "fac_culture_1"),
(faction_set_slot, "fac_kingdom_14", slot_faction_culture, "fac_culture_2"),
(faction_set_slot, "fac_kingdom_15", slot_faction_culture, "fac_culture_3"),
(faction_set_slot, "fac_kingdom_16", slot_faction_culture, "fac_culture_4"),
(faction_set_slot, "fac_kingdom_17", slot_faction_culture, "fac_culture_5"),
(faction_set_slot, "fac_kingdom_18", slot_faction_culture, "fac_culture_6"),
(faction_set_slot, "fac_kingdom_7", slot_faction_banner, "mesh_banner_kingdom_e"),
(faction_set_slot, "fac_kingdom_8", slot_faction_banner, "mesh_banner_kingdom_d"),
(faction_set_slot, "fac_kingdom_9", slot_faction_banner, "mesh_banner_kingdom_f"),
(faction_set_slot, "fac_kingdom_10", slot_faction_banner, "mesh_banner_kingdom_b"),
(faction_set_slot, "fac_kingdom_11", slot_faction_banner, "mesh_banner_kingdom_a"),
(faction_set_slot, "fac_kingdom_12", slot_faction_banner, "mesh_banner_kingdom_c"),
(faction_set_slot, "fac_kingdom_13", slot_faction_banner, "mesh_banner_kingdom_a"),
(faction_set_slot, "fac_kingdom_14", slot_faction_banner, "mesh_banner_kingdom_f"),
(faction_set_slot, "fac_kingdom_15", slot_faction_banner, "mesh_banner_kingdom_c"),
(faction_set_slot, "fac_kingdom_16", slot_faction_banner, "mesh_banner_kingdom_e"),
(faction_set_slot, "fac_kingdom_17", slot_faction_banner, "mesh_banner_kingdom_b"),
(faction_set_slot, "fac_kingdom_18", slot_faction_banner, "mesh_banner_kingdom_d"),
(faction_set_slot, "fac_player_supporters_faction", slot_kaoses_faction_title_type, "fac_player_supporters_faction"),
(faction_set_slot, "fac_kingdom_1", slot_kaoses_faction_title_type, "fac_kingdom_1"),
(faction_set_slot, "fac_kingdom_2", slot_kaoses_faction_title_type, "fac_kingdom_2"),
(faction_set_slot, "fac_kingdom_3", slot_kaoses_faction_title_type, "fac_kingdom_3"),
(faction_set_slot, "fac_kingdom_4", slot_kaoses_faction_title_type, "fac_kingdom_4"),
(faction_set_slot, "fac_kingdom_5", slot_kaoses_faction_title_type, "fac_kingdom_5"),
(faction_set_slot, "fac_kingdom_6", slot_kaoses_faction_title_type, "fac_kingdom_6"),
(faction_set_slot, "fac_kingdom_7", slot_kaoses_faction_title_type, "fac_kingdom_1"),
(faction_set_slot, "fac_kingdom_8", slot_kaoses_faction_title_type, "fac_kingdom_2"),
(faction_set_slot, "fac_kingdom_9", slot_kaoses_faction_title_type, "fac_kingdom_3"),
(faction_set_slot, "fac_kingdom_10", slot_kaoses_faction_title_type, "fac_kingdom_4"),
(faction_set_slot, "fac_kingdom_11", slot_kaoses_faction_title_type, "fac_kingdom_5"),
(faction_set_slot, "fac_kingdom_12", slot_kaoses_faction_title_type, "fac_kingdom_6"),
(faction_set_slot, "fac_kingdom_13", slot_kaoses_faction_title_type, "fac_kingdom_1"),
(faction_set_slot, "fac_kingdom_14", slot_kaoses_faction_title_type, "fac_kingdom_2"),
(faction_set_slot, "fac_kingdom_15", slot_kaoses_faction_title_type, "fac_kingdom_3"),
(faction_set_slot, "fac_kingdom_16", slot_kaoses_faction_title_type, "fac_kingdom_4"),
(faction_set_slot, "fac_kingdom_17", slot_kaoses_faction_title_type, "fac_kingdom_5"),
(faction_set_slot, "fac_kingdom_18", slot_kaoses_faction_title_type, "fac_kingdom_6"),
#KAOS (POLITICAL)
(assign, ":player_faction_culture", "fac_culture_1"),
(faction_set_slot, "fac_player_supporters_faction", slot_faction_culture, ":player_faction_culture"),
(faction_set_slot, "fac_player_faction", slot_faction_culture, ":player_faction_culture"),
(try_for_range, ":faction_no", kingdoms_begin, kingdoms_end),
(faction_set_slot, ":faction_no", slot_faction_marshall, -1),
(try_end),
(faction_set_slot, "fac_player_supporters_faction", slot_faction_marshall, "trp_player"),
(call_script, "script_initialize_faction_troop_types"),
##diplomacy begin
(call_script, "script_dplmc_init_domestic_policy"),
##diplomacy end
# Towns:
(try_for_range, ":item_no", trade_goods_begin, trade_goods_end),
(store_sub, ":offset", ":item_no", trade_goods_begin),
(val_add, ":offset", slot_town_trade_good_prices_begin),
(try_for_range, ":center_no", centers_begin, centers_end),
(party_set_slot, ":center_no", ":offset", average_price_factor), #1000
(try_end),
(try_end),
(call_script, "script_initialize_trade_routes"),
(call_script, "script_initialize_town_arena_info"),
#start some tournaments
(try_for_range, ":town_no", towns_begin, towns_end),
(store_random_in_range, ":rand", 0, 100),
(lt, ":rand", 20),
(store_random_in_range, ":random_days", 12, 15),
(party_set_slot, ":town_no", slot_town_has_tournament, ":random_days"),
(try_end),
#village products -- at some point we might make it so that the villages supply raw materials to towns, and the towns produce manufactured goods
#village products designate the raw materials produced in the vicinity
#right now, just doing a test for grain produced in the swadian heartland
# fill_village_bound_centers
#pass 1: Give one village to each castle
(try_for_range, ":cur_center", castles_begin, castles_end),
(assign, ":min_dist", 999999),
(assign, ":min_dist_village", -1),
(try_for_range, ":cur_village", villages_begin, villages_end),
(neg|party_slot_ge, ":cur_village", slot_village_bound_center, 1), #skip villages which are already bound.
(store_distance_to_party_from_party, ":cur_dist", ":cur_village", ":cur_center"),
(lt, ":cur_dist", ":min_dist"),
(assign, ":min_dist", ":cur_dist"),
(assign, ":min_dist_village", ":cur_village"),
(try_end),
(party_set_slot, ":min_dist_village", slot_village_bound_center, ":cur_center"),
(store_faction_of_party, ":town_faction", ":cur_center"),
(call_script, "script_give_center_to_faction_aux", ":min_dist_village", ":town_faction"),
(try_end),
#pass 2: Give other villages to closest town.
(try_for_range, ":cur_village", villages_begin, villages_end),
(neg|party_slot_ge, ":cur_village", slot_village_bound_center, 1), #skip villages which are already bound.
(assign, ":min_dist", 999999),
(assign, ":min_dist_town", -1),
(try_for_range, ":cur_town", towns_begin, towns_end),
(store_distance_to_party_from_party, ":cur_dist", ":cur_village", ":cur_town"),
(lt, ":cur_dist", ":min_dist"),
(assign, ":min_dist", ":cur_dist"),
(assign, ":min_dist_town", ":cur_town"),
(try_end),
(party_set_slot, ":cur_village", slot_village_bound_center, ":min_dist_town"),
(store_faction_of_party, ":town_faction", ":min_dist_town"),
(call_script, "script_give_center_to_faction_aux", ":cur_village", ":town_faction"),
(try_end),
# Towns (loop)
(try_for_range, ":town_no", towns_begin, towns_end),
(store_sub, ":offset", ":town_no", towns_begin),
(party_set_slot,":town_no", slot_party_type, spt_town),
#(store_add, ":cur_object_no", "trp_town_1_seneschal", ":offset"),
#(party_set_slot,":town_no", slot_town_seneschal, ":cur_object_no"),
(store_add, ":cur_object_no", "scn_town_1_center", ":offset"),
(party_set_slot,":town_no", slot_town_center, ":cur_object_no"),
(store_add, ":cur_object_no", "scn_town_1_castle", ":offset"),
(party_set_slot,":town_no", slot_town_castle, ":cur_object_no"),
(store_add, ":cur_object_no", "scn_town_1_prison", ":offset"),
(party_set_slot,":town_no", slot_town_prison, ":cur_object_no"),
(store_add, ":cur_object_no", "scn_town_1_walls", ":offset"),
(party_set_slot,":town_no", slot_town_walls, ":cur_object_no"),
(store_add, ":cur_object_no", "scn_town_1_tavern", ":offset"),
(party_set_slot,":town_no", slot_town_tavern, ":cur_object_no"),
(store_add, ":cur_object_no", "scn_town_1_store", ":offset"),
(party_set_slot,":town_no", slot_town_store, ":cur_object_no"),
(store_add, ":cur_object_no", "scn_town_1_arena", ":offset"),
(party_set_slot,":town_no", slot_town_arena, ":cur_object_no"),
(store_add, ":cur_object_no", "scn_town_1_alley", ":offset"),
(party_set_slot,":town_no", slot_town_alley, ":cur_object_no"),
(store_add, ":cur_object_no", "trp_town_1_mayor", ":offset"),
(party_set_slot,":town_no", slot_town_elder, ":cur_object_no"),
(store_add, ":cur_object_no", "trp_town_1_tavernkeeper", ":offset"),
(party_set_slot,":town_no", slot_town_tavernkeeper, ":cur_object_no"),
(store_add, ":cur_object_no", "trp_town_1_weaponsmith", ":offset"),
(party_set_slot,":town_no", slot_town_weaponsmith, ":cur_object_no"),
(store_add, ":cur_object_no", "trp_town_1_armorer", ":offset"),
(party_set_slot,":town_no", slot_town_armorer, ":cur_object_no"),
(store_add, ":cur_object_no", "trp_town_1_merchant", ":offset"),
(party_set_slot,":town_no", slot_town_merchant, ":cur_object_no"),
(store_add, ":cur_object_no", "trp_town_1_horse_merchant", ":offset"),
(party_set_slot,":town_no", slot_town_horse_merchant, ":cur_object_no"),
(store_add, ":cur_object_no", "scn_town_1_center", ":offset"),
(party_set_slot,":town_no", slot_town_center, ":cur_object_no"),
(party_set_slot,":town_no", slot_town_reinforcement_party_template, "pt_center_reinforcements"),
(try_end),
# Castles
(try_for_range, ":castle_no", castles_begin, castles_end),
(store_sub, ":offset", ":castle_no", castles_begin),
(val_mul, ":offset", 3),
# (store_add, ":senechal_troop_no", "trp_castle_1_seneschal", ":offset"),
# (party_set_slot,":castle_no", slot_town_seneschal, ":senechal_troop_no"),
(store_add, ":exterior_scene_no", "scn_castle_1_exterior", ":offset"),
(party_set_slot,":castle_no", slot_castle_exterior, ":exterior_scene_no"),
(store_add, ":interior_scene_no", "scn_castle_1_interior", ":offset"),
(party_set_slot,":castle_no", slot_town_castle, ":interior_scene_no"),
(store_add, ":interior_scene_no", "scn_castle_1_prison", ":offset"),
(party_set_slot,":castle_no", slot_town_prison, ":interior_scene_no"),
(party_set_slot,":castle_no", slot_town_reinforcement_party_template, "pt_center_reinforcements"),
(party_set_slot,":castle_no", slot_party_type, spt_castle),
(party_set_slot,":castle_no", slot_center_is_besieged_by, -1),
(try_end),
# Set which castles need to be attacked with siege towers.
(party_set_slot,"p_town_13", slot_center_siege_with_belfry, 1),
(party_set_slot,"p_town_16", slot_center_siege_with_belfry, 1),
(party_set_slot,"p_castle_1", slot_center_siege_with_belfry, 1),
(party_set_slot,"p_castle_2", slot_center_siege_with_belfry, 1),
(party_set_slot,"p_castle_4", slot_center_siege_with_belfry, 1),
(party_set_slot,"p_castle_7", slot_center_siege_with_belfry, 1),
(party_set_slot,"p_castle_8", slot_center_siege_with_belfry, 1),
(party_set_slot,"p_castle_9", slot_center_siege_with_belfry, 1),
(party_set_slot,"p_castle_11", slot_center_siege_with_belfry, 1),
(party_set_slot,"p_castle_13", slot_center_siege_with_belfry, 1),
(party_set_slot,"p_castle_21", slot_center_siege_with_belfry, 1),
(party_set_slot,"p_castle_25", slot_center_siege_with_belfry, 1),
(party_set_slot,"p_castle_34", slot_center_siege_with_belfry, 1),
(party_set_slot,"p_castle_35", slot_center_siege_with_belfry, 1),
(party_set_slot,"p_castle_38", slot_center_siege_with_belfry, 1),
(party_set_slot,"p_castle_40", slot_center_siege_with_belfry, 1),
(party_set_slot,"p_castle_41", slot_center_siege_with_belfry, 1),
(party_set_slot,"p_castle_42", slot_center_siege_with_belfry, 1),
(party_set_slot,"p_castle_43", slot_center_siege_with_belfry, 1),
# Villages characters
(try_for_range, ":village_no", villages_begin, villages_end),
(store_sub, ":offset", ":village_no", villages_begin),
(store_add, ":exterior_scene_no", "scn_village_1", ":offset"),
(party_set_slot,":village_no", slot_castle_exterior, ":exterior_scene_no"),
(store_add, ":store_troop_no", "trp_village_1_elder", ":offset"),
(party_set_slot,":village_no", slot_town_elder, ":store_troop_no"),
(party_set_slot,":village_no", slot_party_type, spt_village),
(party_set_slot,":village_no", slot_village_raided_by, -1),
(call_script, "script_refresh_village_defenders", ":village_no"),
(call_script, "script_refresh_village_defenders", ":village_no"),
(call_script, "script_refresh_village_defenders", ":village_no"),
(call_script, "script_refresh_village_defenders", ":village_no"),
(try_end),
(try_for_range, ":center_no", centers_begin, centers_end),
(party_set_slot, ":center_no", slot_center_last_spotted_enemy, -1),
(party_set_slot, ":center_no", slot_center_is_besieged_by, -1),
(party_set_slot, ":center_no", slot_center_last_taken_by_troop, -1),
##diplomacy start+ Set the home slots for town merchants, elders, etc. for reverse-lookup
(try_for_range, ":offset", dplmc_slot_town_merchants_begin, dplmc_slot_town_merchants_end),
(party_get_slot, ":npc", ":center_no", ":offset"),
(gt, ":npc", 0),
(neg|troop_slot_ge, ":npc", slot_troop_home, 1),#If the startup script wasn't altered by another mod, we don't have to worry about this condition.
(troop_set_slot, ":npc", slot_troop_home, ":center_no"),
(try_end),
##diplomacy end+
(try_end),
# Troops:
# Assign banners and renown.
# We assume there are enough banners for all kingdom heroes.
#faction banners
(faction_set_slot, "fac_kingdom_1", slot_faction_banner, "mesh_banner_kingdom_f"),
(faction_set_slot, "fac_kingdom_2", slot_faction_banner, "mesh_banner_kingdom_b"),
(faction_set_slot, "fac_kingdom_3", slot_faction_banner, "mesh_banner_kingdom_c"),
(faction_set_slot, "fac_kingdom_4", slot_faction_banner, "mesh_banner_kingdom_a"),
(faction_set_slot, "fac_kingdom_5", slot_faction_banner, "mesh_banner_kingdom_d"),
(faction_set_slot, "fac_kingdom_6", slot_faction_banner, "mesh_banner_kingdom_e"),
(try_for_range, ":cur_faction", npc_kingdoms_begin, npc_kingdoms_end),
(faction_get_slot, ":cur_faction_king", ":cur_faction", slot_faction_leader),
(faction_get_slot, ":cur_faction_banner", ":cur_faction", slot_faction_banner),
(val_sub, ":cur_faction_banner", banner_meshes_begin),
(val_add, ":cur_faction_banner", banner_scene_props_begin),
(troop_set_slot, ":cur_faction_king", slot_troop_banner_scene_prop, ":cur_faction_banner"),
(try_end),
(assign, ":num_khergit_lords_assigned", 0),
(assign, ":num_sarranid_lords_assigned", 0),
(assign, ":num_other_lords_assigned", 0),
(try_for_range, ":kingdom_hero", active_npcs_begin, active_npcs_end),
(this_or_next|troop_slot_eq, ":kingdom_hero", slot_troop_occupation, slto_kingdom_hero),
(troop_slot_eq, ":kingdom_hero", slot_troop_occupation, slto_inactive_pretender),
(store_troop_faction, ":kingdom_hero_faction", ":kingdom_hero"),
(neg|faction_slot_eq, ":kingdom_hero_faction", slot_faction_leader, ":kingdom_hero"),
(try_begin),
(eq, ":kingdom_hero_faction", "fac_kingdom_3"), #Khergit Khanate
(store_add, ":kingdom_3_banners_begin", banner_scene_props_begin, khergit_banners_begin_offset),
(store_add, ":banner_id", ":kingdom_3_banners_begin", ":num_khergit_lords_assigned"),
(troop_set_slot, ":kingdom_hero", slot_troop_banner_scene_prop, ":banner_id"),
(val_add, ":num_khergit_lords_assigned", 1),
(else_try),
(eq, ":kingdom_hero_faction", "fac_kingdom_6"), #Sarranid Sultanate
(store_add, ":kingdom_6_banners_begin", banner_scene_props_begin, sarranid_banners_begin_offset),
(store_add, ":banner_id", ":kingdom_6_banners_begin", ":num_sarranid_lords_assigned"),
(troop_set_slot, ":kingdom_hero", slot_troop_banner_scene_prop, ":banner_id"),
(val_add, ":num_sarranid_lords_assigned", 1),
(else_try),
(assign, ":hero_offset", ":num_other_lords_assigned"),
(try_begin),
(gt, ":hero_offset", khergit_banners_begin_offset),#Do not add khergit banners to other lords
(val_add, ":hero_offset", khergit_banners_end_offset),
(val_sub, ":hero_offset", khergit_banners_begin_offset),
(try_end),
(try_begin),
(gt, ":hero_offset", sarranid_banners_begin_offset),#Do not add sarranid banners to other lords
(val_add, ":hero_offset", sarranid_banners_end_offset),
(val_sub, ":hero_offset", sarranid_banners_begin_offset),
(try_end),
(store_add, ":banner_id", banner_scene_props_begin, ":hero_offset"),
(troop_set_slot, ":kingdom_hero", slot_troop_banner_scene_prop, ":banner_id"),
(val_add, ":num_other_lords_assigned", 1),
(try_end),
(try_begin),
(this_or_next|lt, ":banner_id", banner_scene_props_begin),
(gt, ":banner_id", banner_scene_props_end_minus_one),
(display_message, "@{!}ERROR: Not enough banners for heroes!"),
(try_end),
(store_character_level, ":level", ":kingdom_hero"),
(store_mul, ":renown", ":level", ":level"),
(val_div, ":renown", 4), #for top lord, is about 400
(troop_get_slot, ":age", ":kingdom_hero", slot_troop_age),
(store_mul, ":age_addition", ":age", ":age"),
(val_div, ":age_addition", 8), #for top lord, is about 400
(val_add, ":renown", ":age_addition"),
(try_begin),
(faction_slot_eq, ":kingdom_hero_faction", slot_faction_leader, ":kingdom_hero"),
(store_random_in_range, ":random_renown", 250, 400),
(else_try),
(store_random_in_range, ":random_renown", 0, 100),
(try_end),
(val_add, ":renown", ":random_renown"),
(troop_set_slot, ":kingdom_hero", slot_troop_renown, ":renown"),
(try_end),
(try_for_range, ":troop_no", "trp_player", "trp_merchants_end"),
(add_troop_note_tableau_mesh, ":troop_no", "tableau_troop_note_mesh"),
(try_end),
(try_for_range, ":center_no", centers_begin, centers_end),
(add_party_note_tableau_mesh, ":center_no", "tableau_center_note_mesh"),
(try_end),
(try_for_range, ":faction_no", kingdoms_begin, kingdoms_end),
(is_between, ":faction_no", "fac_kingdom_1", kingdoms_end), #Excluding player kingdom
(add_faction_note_tableau_mesh, ":faction_no", "tableau_faction_note_mesh"),
(else_try),
(add_faction_note_tableau_mesh, ":faction_no", "tableau_faction_note_mesh_banner"),
(try_end),