#script_count_mission_casualties_from_agents
# INPUT: none
# OUTPUT: none
("count_mission_casualties_from_agents",
[(party_clear, "p_player_casualties"),
(party_clear, "p_enemy_casualties"),
(party_clear, "p_ally_casualties"),
(assign, "$any_allies_at_the_last_battle", 0),
(try_for_agents, ":cur_agent"),
(agent_is_human, ":cur_agent"),
(agent_get_party_id, ":agent_party", ":cur_agent"),
(try_begin),
(neq, ":agent_party", "p_main_party"),
(agent_is_ally, ":cur_agent"),
(assign, "$any_allies_at_the_last_battle", 1),
(try_end),
(neg|agent_is_alive, ":cur_agent"),
##############################################################
# Exclude rout agents
# (try_begin),
# (agent_slot_eq, ":cur_agent", <slot_agent_rout>, 1),
# (party_add_members, "p_spawned_deserter", ":agent_troop_id", 1),
# (try_end),
(neg|agent_slot_eq, ":cur_agent", <slot_agent_rout>, 1),
##############################################################
(agent_get_troop_id, ":agent_troop_id", ":cur_agent"),
(try_begin),
(eq, ":agent_party", "p_main_party"),
(party_add_members, "p_player_casualties", ":agent_troop_id", 1),
(try_begin),
(agent_is_wounded, ":cur_agent"),
(party_wound_members, "p_player_casualties", ":agent_troop_id", 1),
(try_end),
(else_try),
(agent_is_ally, ":cur_agent"),
(party_add_members, "p_ally_casualties", ":agent_troop_id", 1),
(try_begin),
(agent_is_wounded, ":cur_agent"),
(party_wound_members, "p_ally_casualties", ":agent_troop_id", 1),
(try_end),
(else_try),
(party_add_members, "p_enemy_casualties", ":agent_troop_id", 1),
(try_begin),
(agent_is_wounded, ":cur_agent"),
(party_wound_members, "p_enemy_casualties", ":agent_troop_id", 1),
(try_end),
(try_end),
(try_end),
]),