("get_troop_backup_hp_times_factor",
[
(store_script_param, ":troop_no", 1),
(store_character_level, ":troop_level", ":troop_no"),
(store_mul, ":backup_hp_factor", ":troop_level", 4),
(assign, reg0, ":backup_hp_factor"),
]),
("get_agent_backup_hp_times_factor",
[
(store_script_param, ":agent_no", 1),
(agent_get_party_id, ":party_no", ":agent_no"),
(try_begin),
(le, ":party_no", -1),
(assign, ":backup_hp_factor", 0),
(else_try),
(party_stack_get_troop_id, ":leader", ":party_no", 0),
(troop_is_hero, ":leader"),
(store_skill_level, ":leadership_level", "skl_leadership", ":leader"),
(store_mul, ":backup_hp_factor", ":leadership_level", 6),
(try_begin),
(eq, ":party_no", "p_main_party"),
(agent_get_troop_id, ":troop_no", ":agent_no"),
(call_script, "script_game_get_morale_of_troops_from_faction", ":troop_no"),
(assign, ":troop_morale", reg0),
(val_clamp, ":troop_morale", 0, 100),
(val_mul, ":backup_hp_factor", ":troop_morale"),
(val_div, ":backup_hp_factor", 99),
(try_end),
(else_try),
(assign, ":backup_hp_factor", 0),
(try_end),
(assign, reg0, ":backup_hp_factor"),
]),