("upgrade_to_hero",0,
"You notice that one or more of your warriors exceeds your expectations in battle. ^You walk towards the lines of your troops, and ...",
"none",
[
(assign, reg11, 0), # sub menu 1
(assign, reg12, 0), # sub menu 2
(assign, reg13, 0), # sub menu 3
(assign, reg14, 0), # sub menu 4
(assign, "$g_upgrade_talk", 0),
],
[
("hero_1",
[
(assign, ":limit", reg10),
(assign, ":found", 0),
(try_for_range, ":hero_id", ":limit", additional_heroes_end),
(eq, ":found", 0),
(troop_get_slot, ":hero_ocu", ":hero_id", slot_troop_occupation),
(gt, ":hero_ocu", 0),
(neq, ":hero_ocu",slto_kingdom_hero),
(neq, ":hero_ocu",slto_player_companion),
(main_party_has_troop, ":hero_ocu"),
(assign, ":found", 1),
(assign, reg11, ":hero_id"),
(try_end),
(eq, ":found", 1),
(str_store_troop_name,s1,reg11),
],"stop to talk to {s1}",
[
(assign, ":hero_id", reg11),
(troop_get_slot, ":troop_id", ":hero_id", slot_troop_occupation),
(assign, reg20, ":troop_id"),
(assign, reg21, ":hero_id"),
(assign, "$g_upgrade_talk", 1),
(start_map_conversation, ":troop_id"),
(change_screen_return),
]
),
("hero_2",
[
(ge, reg11, reg10),
(store_add, ":limit", reg11, 1),
(assign, ":found", 0),
(try_for_range, ":hero_id", ":limit", additional_heroes_end),
(eq, ":found", 0),
(troop_get_slot, ":hero_ocu", ":hero_id", slot_troop_occupation),
(gt, ":hero_ocu", 0),
(neq, ":hero_ocu",slto_kingdom_hero),
(neq, ":hero_ocu",slto_player_companion),
(main_party_has_troop, ":hero_ocu"),
(assign, ":found", 1),
(assign, reg12, ":hero_id"),
(try_end),
(eq, ":found", 1),
(str_store_troop_name,s1,reg12),
],"stop to talk to {s1}",
[
(assign, ":hero_id", reg12),
(troop_get_slot, ":troop_id", ":hero_id", slot_troop_occupation),
(assign, reg20, ":troop_id"),
(assign, reg21, ":hero_id"),
(assign, "$g_upgrade_talk", 1),
(start_map_conversation, ":troop_id"),
(change_screen_return),
]
),
("hero_3",
[
(gt, reg12, reg11),
(store_add, ":limit", reg12, 1),
(assign, ":found", 0),
(try_for_range, ":hero_id", ":limit", additional_heroes_end),
(eq, ":found", 0),
(troop_get_slot, ":hero_ocu", ":hero_id", slot_troop_occupation),
(gt, ":hero_ocu", 0),
(neq, ":hero_ocu",slto_kingdom_hero),
(neq, ":hero_ocu",slto_player_companion),
(main_party_has_troop, ":hero_ocu"),
(assign, ":found", 1),
(assign, reg13, ":hero_id"),
(try_end),
(eq, ":found", 1),
(str_store_troop_name,s1,reg13),
],"stop to talk to {s1}",
[
(assign, ":hero_id", reg13),
(troop_get_slot, ":troop_id", ":hero_id", slot_troop_occupation),
(assign, reg20, ":troop_id"),
(assign, reg21, ":hero_id"),
(assign, "$g_upgrade_talk", 1),
(start_map_conversation, ":troop_id"),
(change_screen_return),
]
),
("hero_4",
[
(gt, reg13, reg12),
(store_add, ":limit", reg13, 1),
(assign, ":found", 0),
(try_for_range, ":hero_id", ":limit", additional_heroes_end),
(eq, ":found", 0),
(troop_get_slot, ":hero_ocu", ":hero_id", slot_troop_occupation),
(gt, ":hero_ocu", 0),
(neq, ":hero_ocu",slto_kingdom_hero),
(neq, ":hero_ocu",slto_player_companion),
(main_party_has_troop, ":hero_ocu"),
(assign, ":found", 1),
(assign, reg14, ":hero_id"),
(try_end),
(eq, ":found", 1),
(str_store_troop_name,s1,reg14),
],"stop to talk to {s1}",
[
(assign, ":hero_id", reg14),
(troop_get_slot, ":troop_id", ":hero_id", slot_troop_occupation),
(assign, reg20, ":troop_id"),
(assign, reg21, ":hero_id"),
(assign, "$g_upgrade_talk", 1),
(start_map_conversation, ":troop_id"),
(change_screen_return),
]
),
("prev",
[
(gt, reg10, additional_heroes_begin),
(assign, ":limit", reg10),
(assign, ":found", 0),
(try_for_range_backwards, ":hero_id", ":limit", additional_heroes_begin),
(lt, ":found", 4),
(troop_get_slot, ":hero_ocu", ":hero_id", slot_troop_occupation),
(gt, ":hero_ocu", 0),
(neq, ":hero_ocu",slto_kingdom_hero),
(neq, ":hero_ocu",slto_player_companion),
(main_party_has_troop, ":hero_ocu"),
(assign, reg15, ":hero_id"),
(val_add, ":found", 1),
(try_end),
(gt, ":found", 0),
],"go to the previous lines",
[
(assign, reg10, reg15),
(jump_to_menu, "mnu_upgrade_to_hero"),
]
),
("next",
[
(gt, reg14, reg13),
(store_add, ":limit", reg14, 1),
(assign, ":found", 0),
(try_for_range, ":hero_id", ":limit", additional_heroes_end),
(eq, ":found", 0),
(troop_get_slot, ":hero_ocu", ":hero_id", slot_troop_occupation),
(gt, ":hero_ocu", 0),
(neq, ":hero_ocu",slto_kingdom_hero),
(neq, ":hero_ocu",slto_player_companion),
(main_party_has_troop, ":hero_ocu"),
(assign, ":found", 1),
(try_end),
(eq, ":found", 1),
],"go to the next lines",
[
(store_add, reg10, reg14, 1),
(jump_to_menu, "mnu_upgrade_to_hero"),
]
),
("close",
[
],"close",
[
(assign, "$g_upgrade_talk", 1),
(change_screen_map),
]
),
]
),