Added Narf's Men at Arms armor sets, the folder contains extra textures. You'll also need the original textures here.
Code:
["aketon", "Aketon", [("aketon",0)], itp_merchandise| itp_type_body_armor|itp_covers_legs|itp_civilian,0,
325 , weight(3)|abundance(100)|head_armor(0)|body_armor(22)|leg_armor(6)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item,
[
(store_trigger_param_1, ":agent_no"),
# (gt, ":agent_no", -1),
(store_trigger_param_2, ":troop_no"),
(call_script, "script_init_aketon", ":agent_no", ":troop_no", 1),
(cur_item_add_mesh, s1), #submesh 1
(call_script, "script_init_aketon", ":agent_no", ":troop_no", 2),
(cur_item_add_mesh, s1), #submesh 2
(try_begin),
(troop_is_hero, ":troop_no"),
(item_get_slot, ":color", "itm_aketon", slot_item_player_color),
(gt, ":color", -1),
(else_try),
(store_random_in_range, ":color", 0, 6),
(try_end),
(val_mod, ":color", 6),
(str_clear, s1),
(val_add, ":color", "str_hose_r"),
(str_store_string, s1, ":color"),
(cur_item_set_material, s1, 2), #second mesh = legs
])
]],
["aketon_kneecops", "Aketon with Plate", [("aketon",0)], itp_merchandise| itp_type_body_armor|itp_covers_legs|itp_civilian,0,
575 , weight(6)|abundance(100)|head_armor(0)|body_armor(32)|leg_armor(15)|difficulty(0) ,imodbits_plate,
[(ti_on_init_item,
[
(store_trigger_param_1, ":agent_no"),
(store_trigger_param_2, ":troop_no"),
(try_begin),
(item_get_slot, ":color", "itm_aketon_kneecops", slot_item_player_slots_end - 1),
(neq, ":color", 0), #enabled by default
(call_script, "script_init_aketon_kneecops", ":agent_no", ":troop_no", 3, 0),
(cur_item_add_mesh, s1), #submesh 1 accessory
(try_end),
(try_begin),
(item_get_slot, ":color", "itm_aketon_kneecops", slot_item_player_slots_begin),
(eq, ":color", -1),
(store_random_in_range, ":color", 0, 2),
(try_end),
(call_script, "script_init_aketon_kneecops", ":agent_no", ":troop_no", 2, ":color"),
(cur_item_add_mesh, s1), #submesh 2 legs
(call_script, "script_init_aketon_kneecops", ":agent_no", ":troop_no", 1, 0),
(cur_item_add_mesh, s1), #submesh 3 arms
(try_begin),
(troop_is_hero, ":troop_no"),
(item_get_slot, ":color", "itm_aketon_kneecops", slot_item_player_color),
(gt, ":color", -1),
(else_try),
(store_random_in_range, ":color", 0, 6),
(try_end),
(val_mod, ":color", 6),
(str_clear, s1),
(val_add, ":color", "str_hose_r"),
(str_store_string, s1, ":color"),
(cur_item_set_material, s1, 2), #second mesh = legs
])
]],
["hauberk", "Hauberk", [("aketon_hauberk",0)], itp_merchandise|itp_type_body_armor|itp_covers_legs,0,
1544 , weight(18)|abundance(100)|head_armor(0)|body_armor(42)|leg_armor(14)|difficulty(7) ,imodbits_armor,
[(ti_on_init_item,
[
(store_trigger_param_1, ":agent_no"),
(store_trigger_param_2, ":troop_no"),
(call_script, "script_init_hauberk", ":agent_no", ":troop_no", 0, 0),
(cur_item_add_mesh, s1), #submesh 1, under the mail
(try_begin),
(item_get_slot, ":color", "itm_hauberk", slot_item_player_slots_begin + 1),
(eq, ":color", -1),
(store_random_in_range, ":color", 0, 2),
(try_end),
(val_mod, ":color", 2),
(call_script, "script_init_hauberk", ":agent_no", ":troop_no", 2, ":color"),
(cur_item_add_mesh, s1), #submesh 2, legs
(try_begin),
(troop_is_hero, ":troop_no"),
(item_get_slot, ":color", "itm_hauberk", slot_item_player_color),
(gt, ":color", -1),
(else_try),
(store_random_in_range, ":color", 0, 6),
(try_end),
(val_mod, ":color", 6),
(str_clear, s1),
(val_add, ":color", "str_hose_r"),
(str_store_string, s1, ":color"),
(cur_item_set_material, s1, 2), #third mesh = legs
#add arms, can be chain+cloth, chain+jack+cloth, or chain+plate
(try_begin),
(item_get_slot, ":color", "itm_hauberk", slot_item_player_slots_begin),
(eq, ":color", -1),
#skip the simple variant
(store_random_in_range, ":color", 0, 2),
(val_add, ":color", armor_armor),
(try_end),
(call_script, "script_init_hauberk", ":agent_no", ":troop_no", 1, ":color"),
(try_begin),
(eq, ":color", armor_plate),
# (call_script, "script_init_hauberk", ":agent_no", ":troop_no", 1, armor_plate),
(cur_item_add_mesh, s1), #submesh 3, mail under
# (call_script, "script_init_hauberk", ":agent_no", ":troop_no", 3, armor_plate),
(cur_item_add_mesh, s2), #submesh 4, plate over
(else_try),
(eq, ":color", armor_armor),
# (call_script, "script_init_hauberk", ":agent_no", ":troop_no", 1, armor_armor),
(cur_item_add_mesh, s1), #submesh 3, arm under
# (call_script, "script_init_hauberk", ":agent_no", ":troop_no", 3, armor_armor),
(cur_item_add_mesh, s2), #submesh 4, mail sleeve over
(try_begin), #added jack on top
(item_get_slot, ":color", "itm_hauberk", slot_item_player_slots_end - 1),
(neq, ":color", 0),
(call_script, "script_init_hauberk", ":agent_no", ":troop_no", 3, 0),
(cur_item_add_mesh, s1), #submesh 5, jack over mail/cloth
(try_end),
(else_try),
# (call_script, "script_init_hauberk", ":agent_no", ":troop_no", 1, armor_cloth),
(cur_item_add_mesh, s1), #submesh 3, arm under
(try_end),
])
]],
["brigandine_cloth", "Brigandine", [("brigandine_torso",0)], itp_merchandise|itp_type_body_armor|itp_covers_legs,0,
1720 , weight(22)|abundance(60)|head_armor(0)|body_armor(43)|leg_armor(14)|difficulty(7) ,imodbits_cloth,
[(ti_on_init_item,
[
(store_trigger_param_1, ":agent_no"),
(store_trigger_param_2, ":troop_no"),
(try_begin),
(troop_is_hero, ":troop_no"),
(item_get_slot, ":color", "itm_brigandine_cloth", slot_item_player_color),
(gt, ":color", -1),
(else_try),
(store_random_in_range, ":color", 0, 5),
(try_end),
(val_mod, ":color", 5), #RGBY + Black
(str_clear, s1),
(val_add, ":color", "str_brigandine_r"),
(str_store_string, s1, ":color"),
(cur_item_set_material, s1, 0), #base mesh = torso
(call_script, "script_init_brigandine_cloth", ":agent_no", ":troop_no", 2, armor_cloth),
(cur_item_add_mesh, s1), #submesh 1, legs
(store_random_in_range, ":color", 0, 6),
(val_mod, ":color", 6),
(str_clear, s1),
(val_add, ":color", "str_hose_r"),
(str_store_string, s1, ":color"),
(cur_item_set_material, s1, 1), #first mesh
(call_script, "script_init_brigandine_cloth", ":agent_no", ":troop_no", 1, armor_cloth),
(cur_item_add_mesh, s1), #submesh 2, arms
(try_begin),
(troop_is_hero, ":troop_no"),
(item_get_slot, ":color", "itm_brigandine_cloth", slot_item_player_slots_end - 1),
(neq, ":color", 0), #enabled by default
(call_script, "script_init_brigandine_cloth", ":agent_no", ":troop_no", 3, 0),
(cur_item_add_mesh, s1), #submesh 3, jack over arms
(try_end),
])
]],
["brigandine_mail", "Brigandine and Mail", [("brigandine_torso",0)], itp_merchandise|itp_type_body_armor|itp_covers_legs,0,
3828 , weight(25)|abundance(50)|head_armor(0)|body_armor(52)|leg_armor(16)|difficulty(8) ,imodbits_armor,
[(ti_on_init_item,
[
(store_trigger_param_1, ":agent_no"),
(store_trigger_param_2, ":troop_no"),
(try_begin),
(troop_is_hero, ":troop_no"),
(item_get_slot, ":color", "itm_brigandine_mail", slot_item_player_color),
(gt, ":color", -1),
(else_try),
(store_random_in_range, ":color", 0, 5),
(try_end),
(val_mod, ":color", 5), #RGBY + Black
(str_clear, s1),
(val_add, ":color", "str_brigandine_r"),
(str_store_string, s1, ":color"),
(cur_item_set_material, s1, 0), #base mesh = torso
(try_begin), #slot 2
(item_get_slot, ":color", "itm_brigandine_mail", slot_item_player_slots_begin),
(eq, ":color", -1),
(try_begin),
(troop_is_hero, ":troop_no"),
(store_add, ":color", ":troop_no", 3),
(else_try),
(agent_is_active, ":agent_no"),
(store_add, ":color", ":agent_no", 2),
(else_try),
(store_random_in_range, ":color", 0, 2),
(val_add, ":color", 1), #do not normally use cloth
(try_end),
(try_end),
(val_mod, ":color", 3),
(call_script, "script_init_brigandine_mail", ":agent_no", ":troop_no", 2, ":color"),
(cur_item_add_mesh, s1), #submesh 1, legs
(store_random_in_range, ":color", 0, 6),
(val_mod, ":color", 6),
(str_clear, s1),
(val_add, ":color", "str_hose_r"),
(str_store_string, s1, ":color"),
(cur_item_set_material, s1, 1), #first mesh
(call_script, "script_init_brigandine_mail", ":agent_no", ":troop_no", 1, 0),
(cur_item_add_mesh, s1), #submesh 2, arms
#add in extra mail
(try_begin),
(item_get_slot, ":color", "itm_brigandine_mail", slot_item_player_slots_end - 1),
(this_or_next|neq, ":color", 0), #enabled by default
(neg|troop_is_hero, ":troop_no"),
(call_script, "script_init_brigandine_mail", ":agent_no", ":troop_no", 3, 0),
(cur_item_add_mesh, s1), #submesh 3, jack over arms
(try_end),
(try_begin),
(item_get_slot, ":color", "itm_brigandine_mail", slot_item_player_slots_end - 2),
(this_or_next|neq, ":color", 0), #enabled by default
(neg|troop_is_hero, ":troop_no"),
(call_script, "script_init_brigandine_mail", ":agent_no", ":troop_no", 3, 1),
(cur_item_add_mesh, s1), #submesh 4, over legs
(try_end),
])
]],
["brigandine_plate", "Brigandine and Plate", [("brigandine_torso",0)], itp_merchandise| itp_type_body_armor|itp_covers_legs,0,
4330 , weight(26)|abundance(40)|head_armor(0)|body_armor(55)|leg_armor(18)|difficulty(9) ,imodbits_plate,
[(ti_on_init_item,
[
(store_trigger_param_1, ":agent_no"),
(store_trigger_param_2, ":troop_no"),
(store_random_in_range, ":color", 0, 5),
(try_begin),
(troop_is_hero, ":troop_no"),
(item_get_slot, ":color", "itm_brigandine_plate", slot_item_player_color),
(gt, ":color", -1),
(else_try),
(store_random_in_range, ":color", 0, 5),
(try_end),
(str_clear, s1),
(val_add, ":color", "str_brigandine_r"),
(str_store_string, s1, ":color"),
(cur_item_set_material, s1, 0), #base mesh = torso
(try_begin), #slot 2
(item_get_slot, ":color", "itm_brigandine_plate", slot_item_player_slots_begin + 1),
(eq, ":color", -1),
(try_begin),
(troop_is_hero, ":troop_no"),
(store_add, ":color", ":troop_no", 3),
(else_try),
(agent_is_active, ":agent_no"),
(store_add, ":color", ":agent_no", 2),
(else_try),
(store_random_in_range, ":color", 0, 2),
(try_end),
(try_end),
(val_mod, ":color", 2),
(call_script, "script_init_brigandine_plate", ":agent_no", ":troop_no", 2, ":color"),
(cur_item_add_mesh, s1), #submesh 1, legs
(store_random_in_range, ":color", 0, 6),
(val_mod, ":color", 6),
(str_clear, s1),
(val_add, ":color", "str_hose_r"),
(str_store_string, s1, ":color"),
(cur_item_set_material, s1, 1), #first mesh
(try_begin),
(item_get_slot, ":arms", "itm_brigandine_plate", slot_item_player_slots_begin),
(eq, ":arms", -1),
(store_random_in_range, ":arms", 0, 2),
(try_end),
(call_script, "script_init_brigandine_plate", ":agent_no", ":troop_no", 1, ":arms"),
#two variants, mail + skirt or cloth plated arms
(cur_item_add_mesh, s1), #submesh 2, under arms base
(cur_item_add_mesh, s2), #submesh 3, over arms plate
(try_begin),
(item_get_slot, ":value", "itm_brigandine_plate", slot_item_player_slots_end - 2),
(this_or_next|eq, ":value", -1), #enabled by default
(eq, ":value", 1), #turned on
(call_script, "script_init_brigandine_plate", ":agent_no", ":troop_no", 3, 1),
(cur_item_add_mesh, s1), #submesh 4, Rondel/Besagew
(try_end),
(try_begin), #not cloth, add mail skirt
(item_get_slot, ":value", "itm_brigandine_plate", slot_item_player_slots_end - 1),
(neq, ":value", 0), #not disabled
(this_or_next|eq, ":value", 1), #on
(neq, ":arms", 0), #arm is valid
(call_script, "script_init_brigandine_plate", ":agent_no", ":troop_no", 3, 0),
(cur_item_add_mesh, s1), #submesh 5, over legs
(try_end),
])
]],
Code:
(try_for_range, ":item_no", "itm_aketon", "itm_brigandine_cloth"),
(item_set_slot, ":item_no", slot_item_materials_begin, "str_hose_r"),
(item_set_slot, ":item_no", slot_item_materials_end, "str_hood_r"),
(try_for_range, ":slot_no", slot_item_player_slots_begin, slot_item_player_slots_end + 1),
(item_set_slot, ":item_no", ":slot_no", -1),
(try_end),
(try_end),
(item_set_slot, "itm_aketon", slot_item_init_script, "script_init_aketon"),
(item_set_slot, "itm_aketon_kneecops", slot_item_init_script, "script_init_aketon_kneecops"),
(item_set_slot, "itm_hauberk", slot_item_init_script, "script_init_hauberk"),
(item_set_slot, "itm_aketon", slot_item_num_components, 3),
(item_set_slot, "itm_aketon_kneecops", slot_item_num_components, 3),
(item_set_slot, "itm_hauberk", slot_item_num_components, 4),
#6 if you include legs
(assign, ":script", "script_init_brigandine_cloth"),
(store_add, ":end", "itm_brigandine_plate", 1),
(store_add, ":str_end", "str_brigandine_x", 1),
(try_for_range, ":item_no", "itm_brigandine_cloth", ":end"),
(item_set_slot, ":item_no", slot_item_materials_begin, "str_brigandine_r"),
(item_set_slot, ":item_no", slot_item_materials_end, "str_horse_pa"),
(item_set_slot, ":item_no", slot_item_init_script, ":script"),
(try_for_range, ":slot_no", slot_item_player_slots_begin, slot_item_player_slots_end + 1),
(item_set_slot, ":item_no", ":slot_no", -1),
(try_end),
(val_add, ":script", 1),
(try_end),
(item_set_slot, "itm_brigandine_cloth", slot_item_num_components, 4),
(item_set_slot, "itm_brigandine_mail", slot_item_num_components, 4),
(item_set_slot, "itm_brigandine_plate", slot_item_num_components, 4),
(item_set_slot, "itm_kettle_hood", slot_item_materials_begin, "str_hood_r"),
(item_set_slot, "itm_kettle_hood", slot_item_materials_end, "str_brigandine_r"),
(item_set_slot, "itm_kettle_hood", slot_item_init_script, "script_init_chapel_de_fer"),
(item_set_slot, "itm_kettle_hood", slot_item_player_color, -1),
Code:
#script_init_aketon
#input: agent_no, troop_no, sub_mesh, sub_mats
#output: s1, "$g_custom_armor_param_count" (number of submaterials), "$g_custom_armor_mandatory" (mandatory or accessory)
#can also output category name for presentation? (torso/arms/legs)
("init_aketon",
[
(store_script_param, ":agent_no", 1),
(store_script_param, ":troop_no", 2),
(store_script_param, ":sub_mesh", 3), #0 is torso, 1 is arm, 2 is legs
# (store_script_param, ":sub_mats", 4), #0 is torso, 1 is arm, 2 is legs
(str_clear, s1),
#item parameters, 1 mesh variation and both are mandatory
(assign, "$g_custom_armor_param_count", 1),
(assign, "$g_custom_armor_mandatory", 1),
(try_begin),
(eq, ":sub_mesh", 1),
(str_store_string, s1, "@brigandine_arms_cloth"),
(else_try),
(eq, ":sub_mesh", 2),
(str_store_string, s1, "@aketon_legs_cloth"),
(else_try),
(assign, "$g_custom_armor_param_count", 0),
(assign, "$g_custom_armor_mandatory", 0),
(try_end),
# (display_message, s1),
]
),
("init_aketon_kneecops",
[
(store_script_param, ":agent_no", 1),
(store_script_param, ":troop_no", 2),
(store_script_param, ":sub_mesh", 3), #0 is torso, 1 is arm, 2 is legs, 3 is accessory
(store_script_param, ":sub_mats", 4), #0/1 plate legs
(str_clear, s1),
(assign, "$g_custom_armor_param_count", 1),
(assign, "$g_custom_armor_mandatory", 1),
(try_begin), #not sub_mesh 0
(eq, ":sub_mesh", 3),
(eq, ":sub_mats", 0),
(assign, "$g_custom_armor_mandatory", 0), #jacks can be removed
(str_store_string, s1, "@aketon_hauberk_arms_jack"),
(else_try), #cloth arms
(eq, ":sub_mesh", 1),
(eq, ":sub_mats", 0),
(str_store_string, s1, "@brigandine_arms_cloth"),
(else_try), #legs
(eq, ":sub_mesh", 2),
(assign, "$g_custom_armor_param_count", 2),
(try_begin),
(eq, ":sub_mats", 0),
(str_store_string, s1, "@aketon_legs_kneecop"),
(else_try),
(eq, ":sub_mats", 1),
(str_store_string, s1, "@aketon_legs_plate"),
(try_end),
(else_try),
(assign, "$g_custom_armor_param_count", 0),
(assign, "$g_custom_armor_mandatory", 0),
(try_end),
# (display_message, s1),
]
),
("init_hauberk",
[
(store_script_param, ":agent_no", 1),
(store_script_param, ":troop_no", 2),
(store_script_param, ":sub_mesh", 3),
(store_script_param, ":sub_mats", 4),
(str_clear, s1),
(str_clear, s2),
(assign, "$g_custom_armor_param_count", 1),
(assign, "$g_custom_armor_mandatory", 1),
(try_begin), #torso
(eq, ":sub_mesh", 0),
(eq, ":sub_mats", armor_cloth),
(str_store_string, s1, "@aketon_hauberk_torso"),
(else_try), #arms
(eq, ":sub_mesh", 1),
(assign, "$g_custom_armor_param_count", 3),
(try_begin),
(eq, ":sub_mats", armor_cloth),
(str_store_string, s1, "@brigandine_arms_mail"),
(else_try),
(eq, ":sub_mats", armor_armor),
(str_store_string, s1, "@aketon_hauberk_arms_underjack"),
(str_store_string, s2, "@aketon_hauberk_arms_chainmail"),
(else_try),
# (troop_is_hero, ":troop_no"),
(eq, ":sub_mats", armor_plate),
(str_store_string, s1, "@brigandine_arms_platemail"),
(str_store_string, s2, "@brigandine_arms_plate"),
(try_end),
(else_try), #legs
(eq, ":sub_mesh", 2),
(call_script, "script_init_aketon_kneecops", ":agent_no", ":troop_no", ":sub_mesh", ":sub_mats"),
(assign, "$g_custom_armor_param_count", 2),
(assign, "$g_custom_armor_mandatory", 1),
(else_try), #accessory, secondary arm meshes
(eq, ":sub_mesh", 3),
(assign, "$g_custom_armor_param_count", 2),
(assign, "$g_custom_armor_mandatory", 0),
(try_begin),
(eq, ":sub_mats", armor_cloth),
(str_store_string, s1, "@aketon_hauberk_arms_jack"),
(else_try),
(eq, ":sub_mats", armor_armor),
(str_store_string, s1, "@brigandine_arms_plate_rondel"),
(assign, "$g_custom_armor_mandatory", 0),
# (str_store_string, s1, "@aketon_hauberk_arms_chainmail"),
# (assign, "$g_custom_armor_mandatory", 0),
# (else_try),
# (eq, ":sub_mats", armor_plate),
# (str_store_string, s1, "@brigandine_arms_plate"),
# (assign, "$g_custom_armor_mandatory", 1),
(try_end),
(else_try),
(assign, "$g_custom_armor_param_count", 0),
(assign, "$g_custom_armor_mandatory", 0),
(try_end),
]
),
#the basis for the 3 brigandine archetypes
("init_brigandine",
[
# (store_script_param, ":agent_no", 1),
# (store_script_param, ":troop_no", 2),
(store_script_param, ":sub_mesh", 3), #0 is torso, 1 is legs, 2 is arms, 3+ are accessory
(store_script_param, ":sub_mats", 4),
(str_clear, s1),
(str_clear, s2),
(assign, "$g_custom_armor_param_count", 3),
(assign, "$g_custom_armor_mandatory", 1),
(try_begin), #arms
# (eq, ":sub_mesh", 0),
# (assign, "$g_custom_armor_param_count", 2),
# (try_begin),
# (eq, ":sub_mats", armor_cloth),
# (str_store_string, s1, "@brigandine_arms_platecloth"),
# (else_try),
# (eq, ":sub_mats", armor_armor),
# (str_store_string, s1, "@brigandine_arms_platemail"),
# (try_end),
# (else_try),
(eq, ":sub_mesh", 1),
(assign, "$g_custom_armor_param_count", 4), #arms plate/cloth
(try_begin),
(eq, ":sub_mats", armor_cloth),
(str_store_string, s1, "@brigandine_arms_cloth"),
(else_try),
(eq, ":sub_mats", armor_armor), #rest added in accessories
(str_store_string, s1, "@brigandine_arms_undermail"), #brigandine_arms_mail works too
(else_try),
(eq, ":sub_mats", armor_plate),
(str_store_string, s1, "@brigandine_arms_platecloth"),
(str_store_string, s2, "@brigandine_arms_plate"),
(else_try),
(eq, ":sub_mats", armor_plate + 1),
(str_store_string, s1, "@brigandine_arms_platemail"),
(str_store_string, s2, "@brigandine_arms_plate"),
(try_end),
(else_try), #legs
(eq, ":sub_mesh", 2),
(try_begin),
(eq, ":sub_mats", armor_cloth),
(str_store_string, s1, "@brigandine_leg_cloth"),
(else_try),
(eq, ":sub_mats", armor_armor),
(str_store_string, s1, "@brigandine_leg_plate_short"),
(else_try),
(eq, ":sub_mats", armor_plate),
(str_store_string, s1, "@brigandine_leg_plate_long"),
(try_end),
(else_try), #accessories (for arm)
(eq, ":sub_mesh", 3),
(assign, "$g_custom_armor_param_count", 4),
(assign, "$g_custom_armor_mandatory", 0),
(try_begin),
(eq, ":sub_mats", 0),
(str_store_string, s1, "@aketon_hauberk_arms_jack"),
(else_try),
(eq, ":sub_mats", 1),
(str_store_string, s1, "@brigandine_mail_sleeves"),
(else_try),
(eq, ":sub_mats", 2),
(str_store_string, s1, "@brigandine_mail_skirt"),
(else_try),
(eq, ":sub_mats", 3),
(str_store_string, s1, "@brigandine_arms_plate_rondel"),
(try_end),
(else_try),
(assign, "$g_custom_armor_param_count", 0),
(assign, "$g_custom_armor_mandatory", 0),
(try_end),
# (display_message, s1),
]
),
("init_brigandine_cloth",
[
(store_script_param, ":agent_no", 1),
(store_script_param, ":troop_no", 2),
(store_script_param, ":sub_mesh", 3),
(store_script_param, ":sub_mats", 4),
(str_clear, s1),
(str_clear, s2),
(assign, "$g_custom_armor_param_count", 1),
(assign, "$g_custom_armor_mandatory", 1),
(try_begin), #arms
(eq, ":sub_mesh", 1),
(eq, ":sub_mats", armor_cloth),
(call_script, "script_init_brigandine", ":agent_no", ":troop_no", ":sub_mesh", armor_cloth),
# (str_store_string, s1, "@brigandine_arms_cloth"),
(assign, "$g_custom_armor_param_count", 1),
(else_try), #legs
(eq, ":sub_mesh", 2),
(eq, ":sub_mats", armor_cloth),
(call_script, "script_init_brigandine", ":agent_no", ":troop_no", ":sub_mesh", armor_cloth),
(assign, "$g_custom_armor_param_count", 1),
(else_try), #accessories (for arm)
(eq, ":sub_mesh", 3),
(eq, ":sub_mats", 0),
(call_script, "script_init_brigandine", ":agent_no", ":troop_no", ":sub_mesh", 0),
# (str_store_string, s1, "@aketon_hauberk_arms_jack"),
(assign, "$g_custom_armor_param_count", 1),
(assign, "$g_custom_armor_mandatory", 0),
(else_try),
(assign, "$g_custom_armor_param_count", 0),
(assign, "$g_custom_armor_mandatory", 0),
(try_end),
# (display_message, s1),
]
),
("init_brigandine_mail",
[
(store_script_param, ":agent_no", 1),
(store_script_param, ":troop_no", 2),
(store_script_param, ":sub_mesh", 3),
(store_script_param, ":sub_mats", 4),
(str_clear, s1),
(str_clear, s2),
# (assign, "$g_custom_armor_param_count", 1),
# (assign, "$g_custom_armor_mandatory", 1),
(try_begin), #arms
(eq, ":sub_mesh", 1),
(eq, ":sub_mats", 0),
(call_script, "script_init_brigandine", ":agent_no", ":troop_no", ":sub_mesh", armor_armor),
# (str_store_string, s1, "@brigandine_arms_cloth"),
(assign, "$g_custom_armor_param_count", 1),
(assign, "$g_custom_armor_mandatory", 1),
(else_try), #legs
(eq, ":sub_mesh", 2),
(is_between, ":sub_mats", 0, 3), #enable cloth
# (val_add, ":sub_mats", armor_armor),
(call_script, "script_init_brigandine", ":agent_no", ":troop_no", ":sub_mesh", ":sub_mats"),
(assign, "$g_custom_armor_param_count", 3), #3 variants
(assign, "$g_custom_armor_mandatory", 1),
(else_try), #add extra mail
(eq, ":sub_mesh", 3),
(is_between, ":sub_mats", 0, 2),
(val_add, ":sub_mats", 1),
(call_script, "script_init_brigandine", ":agent_no", ":troop_no", ":sub_mesh", ":sub_mats"),
# (str_store_string, s1, "@aketon_hauberk_arms_jack"),
(assign, "$g_custom_armor_param_count", 2),
(assign, "$g_custom_armor_mandatory", 0),
(else_try),
(assign, "$g_custom_armor_param_count", 0),
(assign, "$g_custom_armor_mandatory", 0),
(try_end),
]
),
("init_brigandine_plate",
[
(store_script_param, ":agent_no", 1),
(store_script_param, ":troop_no", 2),
(store_script_param, ":sub_mesh", 3),
(store_script_param, ":sub_mats", 4),
(str_clear, s1),
(str_clear, s2),
(try_begin), #arms, 2 types
(eq, ":sub_mesh", 1),
(is_between, ":sub_mats", 0, 2),
(val_add, ":sub_mats", armor_plate),
(call_script, "script_init_brigandine", ":agent_no", ":troop_no", ":sub_mesh", ":sub_mats"),
(assign, "$g_custom_armor_param_count", 2),
(assign, "$g_custom_armor_mandatory", 1),
(else_try), #legs
(eq, ":sub_mesh", 2),
(is_between, ":sub_mats", 0, 2),
(val_add, ":sub_mats", armor_armor),
(call_script, "script_init_brigandine", ":agent_no", ":troop_no", ":sub_mesh", ":sub_mats"),
(assign, "$g_custom_armor_param_count", 2),
(assign, "$g_custom_armor_mandatory", 1),
(else_try), #add extra mail
(eq, ":sub_mesh", 3),
(is_between, ":sub_mats", 0, 2),
(val_add, ":sub_mats", 2),
(call_script, "script_init_brigandine", ":agent_no", ":troop_no", ":sub_mesh", ":sub_mats"),
(assign, "$g_custom_armor_param_count", 2),
(assign, "$g_custom_armor_mandatory", 0),
(else_try),
(assign, "$g_custom_armor_param_count", 0),
(assign, "$g_custom_armor_mandatory", 0),
(try_end),
]
),
Code:
#narf material stuff
("hose_r", "hosen_red"),
("hose_g", "hosen_green"),
("hose_b", "hosen_blue"),
("hose_y", "hosen_yellow"),
("hose_grey", "hosen_grey"),
("hose_brown", "hosen_brown"),
("hood_r", "hood_red"),
("hood_g", "hood_green"),
("hood_b", "hood_blue"),
("hood_y", "hood_brown"),
("brigandine_r", "brigandine_red"),
("brigandine_g", "brigandine_green"),
("brigandine_b", "brigandine_blue"),
("brigandine_y", "brigandine_brown"),
("brigandine_x", "brigandine_black"),