(
"crafting_proceed",
[],
"Proceed",
[
#just operations cause condidtion checked earlier
(store_mul, ":recipe_position", "$g_choosen_crafting_id", 10),
(troop_get_slot, ":num_of_ingredients", "trp_crafting_recipes", ":recipe_position"),
(store_add, ":loop_end", ":num_of_ingredients", 1),
(try_for_range, ":ingredient_pos_in_recipe", 1, ":loop_end"),
(store_add, ":ingredient_pos", ":ingredient_pos_in_recipe", ":recipe_position"),
(troop_get_slot, ":ingredient_id", "trp_crafting_recipes", ":ingredient_pos"),
(troop_remove_items, "trp_player", ":ingredient_id", 1),
(try_end),
(troop_get_slot, ":crafted_item", "trp_crafting_array", "$g_choosen_crafting_id"),
#test imod no item
(store_skill_level, ":eng_lvl", "skl_engineer", "trp_player"),
(try_begin),
(ge, ":eng_lvl", 10),
(item_get_type, ":i_type", ":crafted_item"),
(try_begin),
(eq, ":i_type", itp_type_horse),
(troop_add_item, "trp_player", ":crafted_item", imod_champion),
(else_try),
(is_between, ":i_type", itp_type_head_armor, itp_type_pistol),
(troop_add_item, "trp_player", ":crafted_item", imod_lordly),
(else_try),
(eq, ":i_type", itp_type_shield),
(troop_add_item, "trp_player", ":crafted_item", imod_reinforced),
(else_try),
(this_or_next|is_between, ":i_type", itp_type_one_handed_wpn, itp_type_goods),
(is_between, ":i_type", itp_type_pistol, itp_type_animal),
(troop_add_item, "trp_player", ":crafted_item", imod_masterwork),
(else_try),
(troop_add_item, "trp_player", ":crafted_item", imod_plain),
(try_end),
(else_try),
(ge, ":eng_lvl", 7),
(lt, ":eng_lvl", 10),
(item_get_type, ":i_type", ":crafted_item"),
(try_begin),
(eq, ":i_type", itp_type_horse),
(troop_add_item, "trp_player", ":crafted_item", imod_heavy),
(else_try),
(is_between, ":i_type", itp_type_head_armor, itp_type_pistol),
(troop_add_item, "trp_player", ":crafted_item", imod_reinforced),
(else_try),
(eq, ":i_type", itp_type_shield),
(troop_add_item, "trp_player", ":crafted_item", imod_thick),
(else_try),
(this_or_next|is_between, ":i_type", itp_type_one_handed_wpn, itp_type_goods),
(is_between, ":i_type", itp_type_pistol, itp_type_animal),
(troop_add_item, "trp_player", ":crafted_item", imod_balanced),
(else_try),
(troop_add_item, "trp_player", ":crafted_item", imod_thick),
(try_end),
(else_try),
(ge, ":eng_lvl", 4),
(lt, ":eng_lvl", 7),
(troop_add_item, "trp_player", ":crafted_item", imod_plain),
(else_try),
(lt, ":eng_lvl", 4),
(troop_add_item, "trp_player", ":crafted_item", 1),
(try_end),
(play_sound,"snd_hammer"),### BONUS, not required
# end test
#(troop_add_items, "trp_player", ":crafted_item", 1),
(change_screen_map),
(rest_for_hours, "$g_crafting_time", 5, 0),
],
),