# Updating player icon in every frame
(0, [
(try_for_range, ":kingdom_hero", active_npcs_begin, active_npcs_end),
(troop_get_slot, ":party", ":kingdom_hero", slot_troop_leaded_party),
(troop_slot_eq, ":kingdom_hero", slot_troop_occupation, slto_kingdom_hero),
(party_get_current_terrain, ":terrain", ":party"),
(try_begin),
(eq, ":terrain", rt_bridge),
(party_set_icon, ":party", "icon_ship"),
(else_try),
(party_get_icon, ":icon", ":party"),
(eq, ":icon", "icon_ship"),
(party_set_icon, ":party", "icon_flagbearer_a"),
(try_end),
(try_end),
(troop_get_inventory_slot, ":cur_horse", "trp_player", 8), #horse slot
(party_get_current_terrain, ":terrain", "p_main_party"),
(assign, ":new_icon", "icon_player"),
(try_begin),
(eq, "$g_player_icon_state", pis_normal),
(try_begin),
(eq, ":terrain", rt_bridge),
(assign, ":new_icon", "icon_ship"),
(else_try),
(ge, ":cur_horse", 0),
(assign, ":new_icon", "icon_player_horseman"),
(else_try),
(party_get_num_companion_stacks, ":num_stacks","p_main_party"),
(assign, ":num_men", 0),
(try_for_range, ":i_stack", 1, ":num_stacks"),
(party_stack_get_troop_id, ":stack_troop","p_main_party",":i_stack"),
(try_begin),
(troop_is_hero, ":stack_troop"),
(val_add, ":num_men", 1), #it was 3 in "Mount&Blade", now it is 1 in Warband
(else_try),
(party_stack_get_size, ":stack_size","p_main_party",":i_stack"),
(val_add, ":num_men", ":stack_size"),
(try_end),
(gt, ":num_men", 8),
(assign, ":new_icon", "icon_player_with_party"),
(try_end),
(else_try),
(eq, "$g_player_icon_state", pis_camping),
(assign, ":new_icon", "icon_camp"),
(else_try),
(eq, "$g_player_icon_state", pis_ship),
(assign, ":new_icon", "icon_ship"),
(try_end),
(neq, ":new_icon", "$g_player_party_icon"),
(assign, "$g_player_party_icon", ":new_icon"),
(party_set_icon, "p_main_party", ":new_icon"),
]),