# script_cf_process_training_fail
# Input: training center, upgrade path
# Output: none
("cf_process_training_fail", [
(store_script_param_1, ":party_no"),
(store_script_param_2, ":path"),
(assign, ":num_troops_to_train", 0),
(store_skill_level, ":trainer_level", skl_trainer, "trp_player"),
(try_begin),
(le, ":trainer_level", 1),
(store_add, ":num_troops_to_train", ":trainer_level", 4),
(else_try),
(store_add, ":num_troops_to_train", ":trainer_level", 3),
(try_end),
(try_begin),
(store_attribute_level, ":int", "trp_player", ca_intelligence),
(ge, ":int", 1
,
(val_add, ":num_troops_to_train", 1),
(try_end),
(party_get_num_companion_stacks, ":num_stacks", ":party_no"),
(assign, ":trained", 0),
(try_for_range_backwards, ":i_stack", 0, ":num_stacks"), #MOTO go from bottom of stack (which player can easily manipulate)
(eq, ":trained", 0),
(party_stack_get_troop_id, ":troop_id", ":party_no", ":i_stack"),
(neg|troop_is_hero, ":troop_id"),
(troop_get_upgrade_troop, ":upgrade_troop", ":troop_id" , ":path"),
(try_begin),
(le, ":upgrade_troop", 0),
(troop_get_upgrade_troop, ":upgrade_troop", ":troop_id", 0),
(try_end),
#only proceed if troop is upgradable
(gt, ":upgrade_troop", 0),
(store_character_level, ":troop_level", ":troop_id"),
#only proceed if troop level is basic
(
le, ":troop_level", AI_Poor_Troop_Level-7), #train up to L3
(try_begin),
(le, ":troop_level", 12), #chief cambia MOTO change from 22 to 15 (level of recruits)
(val_add, ":num_troops_to_train", 10), #more recruits are trained during improved training
(try_end),
(str_store_party_name, s10, ":party_no"),
(party_count_members_of_type,":cur_number",":party_no",":troop_id"),
(val_min, ":num_troops_to_train", ":cur_number"),
(call_script, "script_game_get_upgrade_cost", ":troop_id"),
(val_add, reg0, 10), #MOTO per upgrade
(store_mul, ":upgrade_cost", ":num_troops_to_train", reg0), #MOTO make PER upgrade