##diplomacy start+
("dplmc_affiliated_family_report",0,
"{s0}",
"none",
[
(str_clear, s0),
(str_clear, s1),
(try_for_range, ":troop_no", active_npcs_including_player_begin, heroes_end),
(try_begin),
(eq, ":troop_no", active_npcs_including_player_begin),
(assign, ":troop_no", "trp_player"),
(try_end),
#$g_player_affiliated_troop
(assign, reg0, -1),
(call_script, "script_dplmc_store_troop_is_eligible_for_affiliate_messages", ":troop_no"),
(try_begin),
# #cheat mode: for debugging, add spouse's relatives
(ge, "$cheat_mode", 1),
(lt, reg0, 1),
(troop_get_slot, reg1, "trp_player", slot_troop_spouse),
(is_between, reg1, heroes_begin, heroes_end),
(call_script, "script_dplmc_troop_get_family_relation_to_troop",":troop_no",reg1),
(try_end),
(this_or_next|ge, reg0, 1),#affiliate
(this_or_next|eq, "trp_player", ":troop_no"),#self
(troop_slot_eq, "trp_player", slot_troop_spouse, ":troop_no"),#spouse
(str_clear, s1),
(str_store_string, s0, "str_dplmc_s0_newline_s1"),#add blank line to start
#Vital stats for each.
#first, name and relative status:
#(str_store_troop_name, s44, ":troop_no"),
#(try_begin),
# (eq, "trp_player", ":troop_no"),
#(else_try),
# (eq, "$g_player_affiliated_troop", ":troop_no"),
# (str_store_string, s3, "@affiliated family member"),
#(else_try),
# (troop_slot_eq, "trp_player", slot_troop_spouse, ":troop_no"),
# (call_script, "script_troop_get_family_relation_to_troop",":troop_no","trp_player"),#reg0 gets strength, s11 gets name
# (str_store_troop_name, s3, "trp_player"),
# (str_store_string_reg, s2, s11),
# (str_store_string, s3, "str_s3s_s2"),
#(else_try),
# (call_script, "script_troop_get_family_relation_to_troop",":troop_no","$g_player_affiliated_troop"),#reg0 gets strength, s11 gets name
# (str_store_troop_name, s3, "$g_player_affiliated_troop"),
# (str_store_string_reg, s2, s11),
# (str_store_string, s3, "str_s3s_s2"),
#(try_end),
#(try_begin),
# (neq, "trp_player", ":troop_no"),
# (str_store_string, s44, "@ {s44} (s3}"),#s60: {name} (troop's relative)
#(try_end),
#(str_store_string, s43, "str_s43_s44"),#add line
#next, location
(try_begin),
(this_or_next|eq, ":troop_no", active_npcs_including_player_begin),
(eq, ":troop_no", "trp_player"),
(str_store_string, s1, "@{playername}"),
(else_try),
(call_script, "script_get_information_about_troops_position", ":troop_no", 0),#s1 = String, reg0 = knows-or-not
(try_end),
(str_store_string, s0, "str_dplmc_s0_newline_s1"),#add line
#next, relation:
(try_begin),
(neq, "trp_player", ":troop_no"),
(call_script, "script_troop_get_player_relation", ":troop_no"),
(assign, reg1, reg0) ,
(str_store_string, s1, "str_relation_reg1"),
(str_store_string, s0, "str_dplmc_s0_newline_s1"),#add line
(try_end),
#next, troops
(try_begin),
(neg|troop_slot_eq,":troop_no", slot_troop_occupation, slto_kingdom_lady),
(neg|troop_slot_eq,":troop_no", slot_troop_occupation, slto_inactive),
(troop_get_slot, ":led_party", ":troop_no", slot_troop_leaded_party),
(ge, ":led_party", 0),
(this_or_next|eq, ":troop_no", "trp_player"),
(gt, ":led_party", 0),
(party_is_active, ":led_party"),
(assign, reg0, 0),
(party_get_num_companions, reg1, ":led_party"),#number of troops
#(assign, reg2, "$g_dplmc_terrain_advantage"),#save parameter
#(assign, "$g_dplmc_terrain_advantage", 0),#avoid wierdness
#(call_script, "script_party_calculate_strength", ":led_party", 1),
#(assign, "$g_dplmc_terrain_advantage", reg2),#revert preference
(str_store_string, s1, "@Troops: {reg1}"),
#(str_store_string, s44, "@Troops: {reg1} (strength estimate {reg0})"),
(str_store_string, s0, "str_dplmc_s0_newline_s1"),#add line
(try_end),
##next, fief (only display lack-of-fiefs if a kingdom hero)
#(call_script, "script_print_troop_owned_centers_in_numbers_to_s0", ":troop_no"),
#(str_clear, s12),
#(try_begin),
# (this_or_next|ge, reg0, 1),
# (this_or_next|troop_slot_eq, ":troop_no", slot_troop_occupation, slto_kingdom_hero),
# (eq,":troop_no", "trp_player"),
# (try_begin),
# (eq, reg0, 0),
# (str_store_string, s50, "str_no_fiefss12"),
# (else_try),
# (str_store_string, s50, "str_fiefs_s0s12"),
# (try_end),
#(try_end),
##next, fiefs
#(assign, reg0, 0),
#(str_clear, s50),#second-most-recent owned center
#(str_store_string, s50, "str_dplmc_none"),
#(try_for_range, ":center_no", centers_begin, centers_end),
# (party_slot_eq, ":center_no", slot_town_lord, ":troop_no"),
# (try_begin),
# (ge, reg0, 1),
# (str_store_party_name, s51, ":center_no"),
# (str_store_string, s50, "str_s50_comma_s51"),
# (else_try),
# (str_store_party_name, s50, ":center_no"),
# (try_end),
# (assign, reg0, 1),
#(try_end),
#(str_store_string_reg, s44, s50),
#(str_store_string, s43, "str_s43_s44"),#add line
(try_end),
],
[
("lord_relations",[],"View list of all known lords by relation.",
[
(jump_to_menu, "mnu_lord_relations"),
]
),
("jump_to_dplmc_lord_relations_2", [
(assign, ":any_lords", 0),
(try_for_range, ":active_npc", heroes_begin, heroes_end),
(troop_slot_eq, ":active_npc", slot_troop_occupation, slto_kingdom_hero),
(troop_slot_ge, ":active_npc", slot_troop_met, 1),
(store_faction_of_troop, ":npc_faction", ":active_npc"),
(this_or_next|eq, ":npc_faction", "$players_kingdom"),
(this_or_next|eq, ":npc_faction", "fac_player_supporters_faction"),
(faction_slot_eq, ":npc_faction", slot_faction_leader, "trp_player"),
(val_add, ":any_lords", 1),
(try_end),
(ge, ":any_lords", 0),
], "Show lords of player faction and numbers of fiefs", [(jump_to_menu, "mnu_dplmc_lord_relations_2")]),
("continue",[],"Continue...",
[(jump_to_menu, "mnu_reports"),
]
),
]
),
("dplmc_lord_relations_2",0,
"{s1}",
"none",
[
(try_for_range, ":active_npc", heroes_begin, heroes_end),
(troop_set_slot, ":active_npc", slot_troop_temp_slot, 0),
(try_end),
(str_clear, s1),
(try_for_range, ":unused", heroes_begin, heroes_end),
(assign, ":score_to_beat", -100),
(assign, ":best_relation_remaining_npc", -1),
(try_for_range, ":active_npc", heroes_begin, heroes_end),
(troop_slot_eq, ":active_npc", slot_troop_temp_slot, 0),
(troop_slot_eq, ":active_npc", slot_troop_occupation, slto_kingdom_hero),
(troop_slot_ge, ":active_npc", slot_troop_met, 1),
(store_faction_of_troop, ":npc_faction", ":active_npc"),
(this_or_next|eq, ":npc_faction", "$players_kingdom"),
(this_or_next|eq, ":npc_faction", "fac_player_supporters_faction"),
(faction_slot_eq, ":npc_faction", slot_faction_leader, "trp_player"),
(call_script, "script_troop_get_player_relation", ":active_npc"),
(assign, ":relation_with_player", reg0),
(ge, ":relation_with_player", ":score_to_beat"),
(assign, ":score_to_beat", ":relation_with_player"),
(assign, ":best_relation_remaining_npc", ":active_npc"),
(try_end),
(gt, ":best_relation_remaining_npc", -1),
(str_store_troop_name_link, s4, ":best_relation_remaining_npc"),
(assign, reg4, ":score_to_beat"),
(call_script, "script_print_troop_owned_centers_in_numbers_to_s0", ":best_relation_remaining_npc"),
(str_clear, s12),
(try_begin),
(eq, reg0, 0),
(str_store_string, s50, "str_no_fiefss12"),
(else_try),
(str_store_string, s50, "str_fiefs_s0s12"),
(try_end),
(str_store_string, s1, "@{!}{s1}^{s4}: {reg4} {s50}"),
(troop_set_slot, ":best_relation_remaining_npc", slot_troop_temp_slot, 1),
(try_end),
],
[
("lord_relations",[],"View list of all known lords by relation.",
[
(jump_to_menu, "mnu_lord_relations"),
]
),
("view_affiliated_family_report",[
#(this_or_next|troop_slot_ge, "trp_player", slot_troop_spouse, 1),
(this_or_next|ge,"$cheat_mode",1),
(is_between, "$g_player_affiliated_troop", heroes_begin, heroes_end),
], "View affiliated family member / spouse report.",
[
(jump_to_menu, "mnu_dplmc_affiliated_family_report"),
]
),
("continue",[],"Continue...",
[(jump_to_menu, "mnu_reports"),
]
),
]
),
("dplmc_start_select_prejudice",menu_text_color(0xFF000000)|mnf_disable_all_keys,
"In the traditional medieval society depicted in the game, war and politics are usually dominated by male members of the nobility. Beacuse of this, a female character can face initial prejudice, and some opportunities open to men will not be available (although a woman will also have some opportunities a man will not). Some players might find distasteful, so if you want you can ignore that aspect of society in Calradia.^^You can later change your mind through the options in the Camp menu.",
"none",
[],
[
("dplmc_start_prejudice_yes",[],"I do not mind encountering sexism.",
[
(assign, "$g_disable_condescending_comments", 0),#Default value
(jump_to_menu,"mnu_start_character_1"),
]
),
("dplmc_start_prejudice_no",[],"I would prefer not to encounter as much sexism.",
[
(assign, "$g_disable_condescending_comments", 2),#Any value 2 or higher shuts off sexist setting elements
(jump_to_menu, "mnu_start_character_1"),
]
),
("go_back",[],"Go back",
[
(jump_to_menu,"mnu_start_game_1"),
]),
]
),
##diplomacy end+