#Family notes
(try_begin),
(this_or_next|is_between, ":troop_no", lords_begin, kingdom_ladies_end),
(eq, ":troop_no", "trp_player"),
(neg|is_between, ":troop_no", pretenders_begin, pretenders_end),
(assign, ":num_relations", 0),
(try_begin),
(call_script, "script_troop_get_family_relation_to_troop", "trp_player", ":troop_no"),
(gt, reg0, 0),
(val_add, ":num_relations", 1),
(try_end),
(try_for_range, ":aristocrat", lords_begin, kingdom_ladies_end),
(call_script, "script_troop_get_family_relation_to_troop", ":aristocrat", ":troop_no"),
(gt, reg0, 0),
(val_add, ":num_relations", 1),
(try_end),
(try_begin),
(gt, ":num_relations", 0),
(try_begin),
(eq, ":troop_no", "trp_player"),
(str_store_string, s49, "str__family_"),
(else_try),
(troop_get_slot, reg1, ":troop_no", slot_troop_age),
(str_store_string, s49, "str__age_reg1_family_"),
(try_end),
(try_begin),
(call_script, "script_troop_get_family_relation_to_troop", "trp_player", ":troop_no"),
(gt, reg0, 0),
(str_store_troop_name_link, s12, "trp_player"),
(val_sub, ":num_relations", 1),
(try_begin),
(eq, ":num_relations", 0),
(str_store_string, s49, "str_s49_s12_s11_end"),
(else_try),
(str_store_string, s49, "str_s49_s12_s11"),
(try_end),
(try_end),
(try_for_range, ":aristocrat", lords_begin, kingdom_ladies_end),
(call_script, "script_troop_get_family_relation_to_troop", ":aristocrat", ":troop_no"),
(gt, reg0, 0),
(try_begin),
(neg|is_between, ":aristocrat", kingdom_ladies_begin, kingdom_ladies_end),
(eq, "$cheat_mode", 1),
(str_store_troop_name_link, s12, ":aristocrat"),
(call_script, "script_troop_get_relation_with_troop", ":aristocrat", ":troop_no"),
(str_store_string, s49, "str_s49_s12_s11_rel_reg0"),
(else_try),
(str_store_troop_name_link, s12, ":aristocrat"),
(val_sub, ":num_relations", 1),
(try_begin),
(eq, ":num_relations", 0),
(str_store_string, s49, "str_s49_s12_s11_end"),
(else_try),
(str_store_string, s49, "str_s49_s12_s11"),
(try_end),
(try_end),
(try_end),
(try_end),
(try_end),