FISH&CHIP OSP
Flag Icons Support for Heraldry and Camo/Heraldry Items Pack
Download on Google Drive
Download on Nexus Mods
Flag Icons Support for Heraldry and Camo/Heraldry Items Pack
Download on Google Drive
Download on Nexus Mods
CONTENTS
In this OSP pack, you will find the following:
1. Heraldry Support for Map Icon Flags
After lots of careful tinkering I have finally managed to adapt heraldic tableau code to all three variants of the flag map icons (vertical, horizontal and square).
With this fix, you can replace the 140+ map icons used by Native to support party flags with just three. Since Warband has a hardcoded limit to 255 map icons, freeing up 140 of them might prove useful if you wish to see a lot of variety on your world map.
Code:
("get_banner_mesh_for_party",
[
(store_script_param_1, ":party_id"),
(assign, ":lord_id", -1),
(try_begin),
(this_or_next|party_slot_eq, ":party_id", slot_party_type, spt_castle),
(party_slot_eq, ":party_id", slot_party_type, spt_town),
(party_get_slot, ":lord_id", ":party_id", slot_town_lord),
(else_try),
(eq, ":party_id", "p_main_party"),
(assign, ":lord_id", "trp_player"),
(else_try),
(party_slot_eq, ":party_id", slot_party_type, spt_kingdom_hero_party),
(party_get_num_companion_stacks, ":stacks", ":party_id"),
(gt, ":stacks", 0),
(party_stack_get_troop_id, ":lord_id", ":party_id", 0),
(try_end),
(try_begin),
(this_or_next|eq, ":lord_id", "trp_player"),
(is_between, ":lord_id", active_npcs_begin, active_npcs_end),
(troop_get_slot, reg0, ":lord_id", slot_troop_banner_scene_prop),
(val_sub, reg0, banner_scene_props_begin),
(val_add, reg0, banner_meshes_begin),
(else_try),
(assign, reg0, "mesh_banners_default_a"),
(try_end),
]
),
2. Seventeen New Heraldic Items.
With these you will have much greater variety equipping your troops for peace and war.
Code:
["hera_shirt_a", "Heraldic Linen Tunic", [("shirt_a",0)], itp_merchandise|itp_type_body_armor|itp_civilian|itp_covers_legs,0,6,weight(1)|abundance(100)|head_armor(0)|body_armor(6)|leg_armor(1)|difficulty(0),imodbits_cloth,
[(ti_on_init_item, [(store_trigger_param_1, ":agent_id"),(store_trigger_param_2, ":troop_id"),(call_script, "script_shield_item_set_banner", "tableau_heraldic_shirt_a", ":agent_id", ":troop_id")])],[]],
["hera_arena_tunicW", "Heraldic Arena Tunic", [("arena_tunicW_new",0)], itp_type_body_armor |itp_covers_legs ,0, 47 , weight(2)|abundance(100)|head_armor(0)|body_armor(16)|leg_armor(6), imodbits_cloth,
[(ti_on_init_item, [(store_trigger_param_1, ":agent_id"),(store_trigger_param_2, ":troop_id"),(call_script, "script_shield_item_set_banner", "tableau_heraldic_arena_tunicW", ":agent_id", ":troop_id")])],[]],
["hera_rich_tunic_a", "Heraldic Tunic", [("rich_tunic_a",0)], itp_type_body_armor |itp_civilian |itp_covers_legs ,0, 10 , weight(1)|abundance(100)|head_armor(0)|body_armor(7)|leg_armor(1)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(store_trigger_param_1, ":agent_id"),(store_trigger_param_2, ":troop_id"),(call_script, "script_shield_item_set_banner", "tableau_heraldic_rich_tunic_a", ":agent_id", ":troop_id")])],[]],
["hera_tabard_b", "Heraldic Tabard", [("tabard_b",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs |itp_civilian,0, 107 , weight(3)|abundance(100)|head_armor(0)|body_armor(14)|leg_armor(6)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(store_trigger_param_1, ":agent_id"),(store_trigger_param_2, ":troop_id"),(call_script, "script_shield_item_set_banner", "tableau_heraldic_tabard_b", ":agent_id", ":troop_id")])], []],
["hera_padded_cloth_a", "Heraldic Aketon", [("padded_cloth_a",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs ,0, 297 , weight(11)|abundance(100)|head_armor(0)|body_armor(22)|leg_armor(6)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(store_trigger_param_1, ":agent_id"),(store_trigger_param_2, ":troop_id"),(call_script, "script_shield_item_set_banner", "tableau_heraldic_padded_cloth_a", ":agent_id", ":troop_id")])],[]],
["hera_padded_cloth_b", "Heraldic Padded Cloth", [("padded_cloth_b",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs ,0, 297 , weight(11)|abundance(100)|head_armor(0)|body_armor(22)|leg_armor(6)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(store_trigger_param_1, ":agent_id"),(store_trigger_param_2, ":troop_id"),(call_script, "script_shield_item_set_banner", "tableau_heraldic_padded_cloth_b", ":agent_id", ":troop_id")])],[]],
["hera_archers_vest", "Heraldic Archer's Padded Vest", [("archers_vest",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs ,0, 260 , weight(6)|abundance(100)|head_armor(0)|body_armor(23)|leg_armor(12)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(store_trigger_param_1, ":agent_id"),(store_trigger_param_2, ":troop_id"),(call_script, "script_shield_item_set_banner", "tableau_heraldic_archers_vest", ":agent_id", ":troop_id")])],[]],
["hera_leather_vest", "Heraldic Leather Vest", [("leather_vest_a",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs|itp_civilian ,0, 146 , weight(4)|abundance(100)|head_armor(0)|body_armor(15)|leg_armor(7)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(store_trigger_param_1, ":agent_id"),(store_trigger_param_2, ":troop_id"),(call_script, "script_shield_item_set_banner", "tableau_heraldic_leather_vest_a", ":agent_id", ":troop_id")])],[]],
["hera_sarranid_leather_armor", "Heraldic Sarranid Leather Armor", [("sarranid_leather_armor",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs ,0, 650 , weight(9)|abundance(100)|head_armor(0)|body_armor(32)|leg_armor(12)|difficulty(0) ,imodbits_armor,
[(ti_on_init_item, [(store_trigger_param_1, ":agent_id"),(store_trigger_param_2, ":troop_id"),(call_script, "script_shield_item_set_banner", "tableau_heraldic_sarranid_leather_armor", ":agent_id", ":troop_id")])],[]],
["hera_tribal_warrior_outfit_a_new", "Heraldic Tribal Warrior Outfit", [("tribal_warrior_outfit_a_new",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs|itp_civilian ,0, 520 , weight(14)|abundance(100)|head_armor(0)|body_armor(30)|leg_armor(10)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(store_trigger_param_1, ":agent_id"),(store_trigger_param_2, ":troop_id"),(call_script, "script_shield_item_set_banner", "tableau_heraldic_tribal_warrior_outfit_a", ":agent_id", ":troop_id")])],[]],
["hera_light_mail_and_plate", "Heraldic Light Mail and Plate", [("light_mail_and_plate",0)], itp_type_body_armor|itp_covers_legs ,0, 532 , weight(10)|abundance(100)|head_armor(0)|body_armor(32)|leg_armor(12)|difficulty(0) ,imodbits_armor,
[(ti_on_init_item, [(store_trigger_param_1, ":agent_id"),(store_trigger_param_2, ":troop_id"),(call_script, "script_shield_item_set_banner", "tableau_heraldic_light_mail_and_plate", ":agent_id", ":troop_id")])],[]],
["hera_mail_and_plate", "Heraldic Mail and Plate", [("mail_and_plate",0)], itp_type_body_armor|itp_covers_legs ,0, 593 , weight(16)|abundance(100)|head_armor(0)|body_armor(34)|leg_armor(12)|difficulty(0) ,imodbits_armor,
[(ti_on_init_item, [(store_trigger_param_1, ":agent_id"),(store_trigger_param_2, ":troop_id"),(call_script, "script_shield_item_set_banner", "tableau_heraldic_mail_and_plate", ":agent_id", ":troop_id")])],[]],
["hera_cuir_bouilli_a", "Heraldic Cuir Bouilli", [("cuir_bouilli_a",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs ,0, 3100 , weight(24)|abundance(100)|head_armor(0)|body_armor(50)|leg_armor(15)|difficulty(8) ,imodbits_armor,
[(ti_on_init_item, [(store_trigger_param_1, ":agent_id"),(store_trigger_param_2, ":troop_id"),(call_script, "script_shield_item_set_banner", "tableau_heraldic_cuir_bouilli_a", ":agent_id", ":troop_id")])],[]],
["hera_brigandine_b", "Heraldic Brigandine", [("brigandine_b",0)], itp_merchandise| itp_type_body_armor|itp_covers_legs,0, 1830 , weight(19)|abundance(100)|head_armor(0)|body_armor(46)|leg_armor(12)|difficulty(0) ,imodbits_armor,
[(ti_on_init_item, [(store_trigger_param_1, ":agent_id"),(store_trigger_param_2, ":troop_id"),(call_script, "script_shield_item_set_banner", "tableau_heraldic_brigandine_b", ":agent_id", ":troop_id")])],[]],
["hera_arena_armorW", "Heraldic Arena Armor", [("arena_armorW_new",0)], itp_type_body_armor |itp_covers_legs ,0, 650 , weight(16)|abundance(100)|head_armor(0)|body_armor(29)|leg_armor(13), imodbits_armor,
[(ti_on_init_item, [(store_trigger_param_1, ":agent_id"),(store_trigger_param_2, ":troop_id"),(call_script, "script_shield_item_set_banner", "tableau_heraldic_arena_armorW", ":agent_id", ":troop_id")])], []],
["hera_mail_long_surcoat", "Heraldic Mail with Surcoat", [("mail_long_surcoat_new",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs ,0, 1544 , weight(22)|abundance(100)|head_armor(0)|body_armor(42)|leg_armor(14)|difficulty(7) ,imodbits_armor,
[(ti_on_init_item, [(store_trigger_param_1, ":agent_id"),(store_trigger_param_2, ":troop_id"),(call_script, "script_shield_item_set_banner", "tableau_heraldic_mail_long_surcoat", ":agent_id", ":troop_id")])],[]],
["hera_plate_armor", "Heraldic Plate Armor", [("full_plate_armor",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs ,0, 6553 , weight(27)|abundance(100)|head_armor(0)|body_armor(55)|leg_armor(17)|difficulty(9) ,imodbits_plate,
[(ti_on_init_item, [(store_trigger_param_1, ":agent_id"),(store_trigger_param_2, ":troop_id"),(call_script, "script_shield_item_set_banner", "tableau_heraldic_full_plate", ":agent_id", ":troop_id")])], []],
3. Fourteen New Camo Items.
Main feature of this mod is the Camo Items. As a mod author, you can clone these items however you like, painting them with any color or texture you can make.
Essentially, with Camo Items, to add an item's recolored or retextured version you only need to add one extra entry in module_items.py!
Well, strictly speaking if you want to use a new texture, you will have to make it as well. This is as difficult as creating a new image and flood-filling it with a texture - and once it's ready, you can apply it to any of the available item meshes!
Code:
["camo_peasant_dress_b", "Camo Peasant Dress", [("peasant_dress_b_new",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs|itp_civilian ,0, 6 , weight(1)|abundance(100)|head_armor(0)|body_armor(6)|leg_armor(2)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_peasant_dress_b", -0x800000)])],[]],
["camo_blue_dress", "Camo Dress", [("blue_dress_new",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs|itp_civilian ,0, 6 , weight(1)|abundance(100)|head_armor(0)|body_armor(6)|leg_armor(2)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_blue_dress", -0x800000)])], []],
["camo_shirt_a", "Camo Linen Tunic", [("shirt_a",0)], itp_merchandise|itp_type_body_armor|itp_civilian|itp_covers_legs,0,6,weight(1)|abundance(100)|head_armor(0)|body_armor(6)|leg_armor(1)|difficulty(0),imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_shirt_a", -0x800000)])],[]],
["camo_arena_tunicW", "Camo Arena Tunic", [("arena_tunicW_new",0)], itp_type_body_armor |itp_covers_legs ,0, 47 , weight(2)|abundance(100)|head_armor(0)|body_armor(16)|leg_armor(6), imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_arena_tunicW", -0x800000)])],[]],
["camo_rich_tunic_a", "Camo Tunic", [("rich_tunic_a",0)], itp_type_body_armor |itp_civilian |itp_covers_legs ,0, 10 , weight(1)|abundance(100)|head_armor(0)|body_armor(7)|leg_armor(1)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_rich_tunic_a", -0x800000)])],[]],
["camo_coarse_tunic_a", "Camo Tunic with vest", [("coarse_tunic_a",0)], itp_merchandise| itp_type_body_armor |itp_civilian |itp_covers_legs ,0, 47 , weight(2)|abundance(100)|head_armor(0)|body_armor(11)|leg_armor(6)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_coarse_tunic_a", -0x800000)])],[]],
["camo_tabard_b", "Camo Tabard", [("tabard_b",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs |itp_civilian,0, 107 , weight(3)|abundance(100)|head_armor(0)|body_armor(14)|leg_armor(6)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_tabard_b", -0x800000)])], []],
["camo_sarranid_cloth_robe_b", "Camo Worn Robe", [("sar_robe_b",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs ,0, 33 , weight(1)|abundance(100)|head_armor(0)|body_armor(9)|leg_armor(9)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_sarranid_cloth_robe_b", -0x800000)])],[]],
["camo_padded_cloth_a", "Camo Aketon", [("padded_cloth_a",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs ,0, 297 , weight(11)|abundance(100)|head_armor(0)|body_armor(22)|leg_armor(6)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_padded_cloth_a", -0x800000)])],[]],
["camo_padded_cloth_b", "Camo Padded Cloth", [("padded_cloth_b",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs ,0, 297 , weight(11)|abundance(100)|head_armor(0)|body_armor(22)|leg_armor(6)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_padded_cloth_b", -0x800000)])],[]],
["camo_red_gambeson_a", "Camo Gambeson", [("red_gambeson_a",0)], itp_merchandise| itp_type_body_armor|itp_covers_legs|itp_civilian,0, 275 , weight(5)|abundance(100)|head_armor(0)|body_armor(21)|leg_armor(5)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_red_gambeson_a", -0x800000)])],[]],
["camo_fur_coat", "Camo Fur Coat", [("fur_coat",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs |itp_civilian,0, 117 , weight(6)|abundance(100)|head_armor(0)|body_armor(13)|leg_armor(6)|difficulty(0) ,imodbits_armor,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_fur_coat", -0x800000)])],[]],
["camo_archers_vest", "Camo Archer's Padded Vest", [("archers_vest",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs ,0, 260 , weight(6)|abundance(100)|head_armor(0)|body_armor(23)|leg_armor(12)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_archers_vest", -0x800000)])],[]],
["camo_tribal_warrior_outfit_a_new", "Camo Tribal Warrior Outfit", [("tribal_warrior_outfit_a_new",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs|itp_civilian ,0, 520 , weight(14)|abundance(100)|head_armor(0)|body_armor(30)|leg_armor(10)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_tribal_warrior_outfit_a", -0x800000)])],[]],
Code:
["camo_rich_tunic_a_01", "Re-Textured Tunic 01", [("rich_tunic_a",0)], itp_type_body_armor |itp_civilian |itp_covers_legs ,0, 10 , weight(1)|abundance(100)|head_armor(0)|body_armor(7)|leg_armor(1)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_rich_tunic_a", "mesh_camo_texture_01")])],[]],
["camo_rich_tunic_a_02", "Re-Textured Tunic 02", [("rich_tunic_a",0)], itp_type_body_armor |itp_civilian |itp_covers_legs ,0, 10 , weight(1)|abundance(100)|head_armor(0)|body_armor(7)|leg_armor(1)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_rich_tunic_a", "mesh_camo_texture_02")])],[]],
["camo_rich_tunic_a_03", "Re-Textured Tunic 03", [("rich_tunic_a",0)], itp_type_body_armor |itp_civilian |itp_covers_legs ,0, 10 , weight(1)|abundance(100)|head_armor(0)|body_armor(7)|leg_armor(1)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_rich_tunic_a", "mesh_camo_texture_03")])],[]],
["camo_rich_tunic_a_04", "Re-Textured Tunic 04", [("rich_tunic_a",0)], itp_type_body_armor |itp_civilian |itp_covers_legs ,0, 10 , weight(1)|abundance(100)|head_armor(0)|body_armor(7)|leg_armor(1)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_rich_tunic_a", "mesh_camo_texture_04")])],[]],
["camo_rich_tunic_a_05", "Re-Textured Tunic 05", [("rich_tunic_a",0)], itp_type_body_armor |itp_civilian |itp_covers_legs ,0, 10 , weight(1)|abundance(100)|head_armor(0)|body_armor(7)|leg_armor(1)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_rich_tunic_a", "mesh_camo_texture_05")])],[]],
["camo_rich_tunic_a_06", "Re-Textured Tunic 06", [("rich_tunic_a",0)], itp_type_body_armor |itp_civilian |itp_covers_legs ,0, 10 , weight(1)|abundance(100)|head_armor(0)|body_armor(7)|leg_armor(1)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_rich_tunic_a", "mesh_camo_texture_06")])],[]],
["camo_rich_tunic_a_07", "Re-Textured Tunic 07", [("rich_tunic_a",0)], itp_type_body_armor |itp_civilian |itp_covers_legs ,0, 10 , weight(1)|abundance(100)|head_armor(0)|body_armor(7)|leg_armor(1)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_rich_tunic_a", "mesh_camo_texture_07")])],[]],
["camo_rich_tunic_a_08", "Re-Textured Tunic 08", [("rich_tunic_a",0)], itp_type_body_armor |itp_civilian |itp_covers_legs ,0, 10 , weight(1)|abundance(100)|head_armor(0)|body_armor(7)|leg_armor(1)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_rich_tunic_a", "mesh_camo_texture_08")])],[]],
["camo_rich_tunic_a_09", "Re-Textured Tunic 09", [("rich_tunic_a",0)], itp_type_body_armor |itp_civilian |itp_covers_legs ,0, 10 , weight(1)|abundance(100)|head_armor(0)|body_armor(7)|leg_armor(1)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_rich_tunic_a", "mesh_camo_texture_09")])],[]],
["camo_rich_tunic_a_10", "Re-Textured Tunic 10", [("rich_tunic_a",0)], itp_type_body_armor |itp_civilian |itp_covers_legs ,0, 10 , weight(1)|abundance(100)|head_armor(0)|body_armor(7)|leg_armor(1)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_rich_tunic_a", "mesh_camo_texture_10")])],[]],
["camo_rich_tunic_a_11", "Re-Textured Tunic 11", [("rich_tunic_a",0)], itp_type_body_armor |itp_civilian |itp_covers_legs ,0, 10 , weight(1)|abundance(100)|head_armor(0)|body_armor(7)|leg_armor(1)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_rich_tunic_a", "mesh_camo_texture_11")])],[]],
["camo_rich_tunic_a_12", "Re-Textured Tunic 12", [("rich_tunic_a",0)], itp_type_body_armor |itp_civilian |itp_covers_legs ,0, 10 , weight(1)|abundance(100)|head_armor(0)|body_armor(7)|leg_armor(1)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_rich_tunic_a", "mesh_camo_texture_12")])],[]],
["camo_rich_tunic_a_13", "Re-Textured Tunic 13", [("rich_tunic_a",0)], itp_type_body_armor |itp_civilian |itp_covers_legs ,0, 10 , weight(1)|abundance(100)|head_armor(0)|body_armor(7)|leg_armor(1)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_rich_tunic_a", "mesh_camo_texture_13")])],[]],
["camo_rich_tunic_a_14", "Re-Textured Tunic 14", [("rich_tunic_a",0)], itp_type_body_armor |itp_civilian |itp_covers_legs ,0, 10 , weight(1)|abundance(100)|head_armor(0)|body_armor(7)|leg_armor(1)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_rich_tunic_a", "mesh_camo_texture_14")])],[]],
FAQ
Q. How do I add a re-colored version of an item?
1. Find a camo item you want to use as the base. For example, "camo_tabard_b":
2. Copy it's entry with a new item ID and name:
3. Change the color code used in item declaration. Note that the script uses a negative value, so don't remove that minus sign. Otherwise, it's a normal color hex code.
4. Done! You now have a blue version of a tabard in your game!
Code:
["camo_tabard_b", "Camo Tabard", [("tabard_b",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs |itp_civilian,0, 107 , weight(3)|abundance(100)|head_armor(0)|body_armor(14)|leg_armor(6)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_tabard_b", -0x800000)])], []],
2. Copy it's entry with a new item ID and name:
Code:
["camo_tabard_b_blue", "Blue Tabard", [("tabard_b",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs |itp_civilian,0, 107 , weight(3)|abundance(100)|head_armor(0)|body_armor(14)|leg_armor(6)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_tabard_b", -0x800000)])], []],
3. Change the color code used in item declaration. Note that the script uses a negative value, so don't remove that minus sign. Otherwise, it's a normal color hex code.
Code:
["camo_tabard_b_blue", "Blue Tabard", [("tabard_b",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs |itp_civilian,0, 107 , weight(3)|abundance(100)|head_armor(0)|body_armor(14)|leg_armor(6)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_tabard_b", -0x000080)])], []],
4. Done! You now have a blue version of a tabard in your game!
Q. How do I add a re-textured version of an item?
1. Find a camo item you want to use as the base. For example, "camo_archers_vest":
2. Copy it's entry with a new item ID and name:
3. Replace the negative color code with a texture mesh that will be used to paint the item. FISH&CHIP is supplied with a small pack of 14 textures, let's use "mesh_camo_texture_09":
4. Done! You now have a very fancy version of an archer's vest in your game!
Code:
["camo_archers_vest", "Camo Archer's Padded Vest", [("archers_vest",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs ,0, 260 , weight(6)|abundance(100)|head_armor(0)|body_armor(23)|leg_armor(12)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_archers_vest", -0x800000)])],[]],
2. Copy it's entry with a new item ID and name:
Code:
["camo_archers_vest_tx1", "Textured Archer's Padded Vest", [("archers_vest",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs ,0, 260 , weight(6)|abundance(100)|head_armor(0)|body_armor(23)|leg_armor(12)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_archers_vest", -0x800000)])],[]],
3. Replace the negative color code with a texture mesh that will be used to paint the item. FISH&CHIP is supplied with a small pack of 14 textures, let's use "mesh_camo_texture_09":
Code:
["camo_archers_vest_tx1", "Textured Archer's Padded Vest", [("archers_vest",0)], itp_merchandise| itp_type_body_armor |itp_covers_legs ,0, 260 , weight(6)|abundance(100)|head_armor(0)|body_armor(23)|leg_armor(12)|difficulty(0) ,imodbits_cloth,
[(ti_on_init_item, [(cur_item_set_tableau_material, "tableau_camo_archers_vest", "mesh_camo_texture_09")])],[]],
4. Done! You now have a very fancy version of an archer's vest in your game!
Q. How do I use my own texture?
1. Create an image file with size 1024*1024.
2. Flood fill it with texture of your choosing. Or paint kittens on it, whatever.
3. Save the file as DDS texture with DXT1 compression (for the best file size). Let's assume you named the file "camo_my_great_texture.dds".
4. Open fish&chip_items.brf in OpenBrf.
5. Import your texture and create matching material (if you create it automatically, it will have the same name as your texture).
6. Check parameters for your material and set them to be identical to other background textures in the file (shader "simple_shader_no_mip", zero Spec RGB, Coeff = 1.0, and in flags set Render order = 1).
7. Open meshes tab, duplicate any mesh with a new name (let's assume it's still "camo_my_great_texture") and set it to use your material.
8. In module_meshes.py, add an entry for your background texture mesh:
9. Done! You can now use your fantastic new mesh to re-texture any camo items from the pack!
2. Flood fill it with texture of your choosing. Or paint kittens on it, whatever.
3. Save the file as DDS texture with DXT1 compression (for the best file size). Let's assume you named the file "camo_my_great_texture.dds".
4. Open fish&chip_items.brf in OpenBrf.
5. Import your texture and create matching material (if you create it automatically, it will have the same name as your texture).
6. Check parameters for your material and set them to be identical to other background textures in the file (shader "simple_shader_no_mip", zero Spec RGB, Coeff = 1.0, and in flags set Render order = 1).
7. Open meshes tab, duplicate any mesh with a new name (let's assume it's still "camo_my_great_texture") and set it to use your material.
8. In module_meshes.py, add an entry for your background texture mesh:
Code:
("camo_my_great_texture", 0, "camo_my_great_texture", 0, 0, 0, 0, 0, 0, 1, 1, 1),
9. Done! You can now use your fantastic new mesh to re-texture any camo items from the pack!
WARNINGS
This pack "heraldifies" the same items as Zagibu's Heraldry Pack, and more. So there's no need to use both. Additionally, some resource names in both packs are the same, which will not result in errors, but may result in slightly unexpected (though still decent-looking) results.