SP Tutorial Module System Make your own Companions

Users who are viewing this thread

kalarhan said:
Arios said:
guys do the companions realy need a personality clash or can it be removed

That is your design decision. On the tech/code side you will need to handle it by disabling the feature of course.
wish i knew how
i know that the FYSG mod has a option to stop all companions complains
 
didnt work
after i hit build module i get this errors
File "process_init.py", line 5
    print "Initializing..."
                          ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Initializing...")?
  File "process_global_variables.py", line 23
    add_variable(varb, variable_list, variable_uses)
                                                  ^
TabError: inconsistent use of tabs and spaces in indentation
  File "process_strings.py", line 24
    print "Exporting strings..."
                              ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Exporting strings...")?
  File "process_skills.py", line 30
    print "Exporting skills..."
                              ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Exporting skills...")?
  File "process_music.py", line 21
    print "Exporting tracks..."
                              ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Exporting tracks...")?
  File "process_animations.py", line 58
    print "Exporting animations..."
                                  ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Exporting animations...")?
  File "process_meshes.py", line 23
    print "Exporting meshes..."
                              ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Exporting meshes...")?
  File "process_sounds.py", line 49
    print "Exporting sounds..."
                              ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Exporting sounds...")?
  File "process_skins.py", line 104
    print "Exporting skins..."
                            ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Exporting skins...")?
  File "process_map_icons.py", line 32
    print "Exporting map icons..."
                                ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Exporting map icons...")?
  File "process_factions.py", line 27
    print "ERROR faction not found: "+ rel_name
                                    ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("ERROR faction not found: "+ rel_name)?
  File "process_items.py", line 60
    print "Exporting item data..."
                                ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Exporting item data...")?
  File "process_scenes.py", line 12
    print "Exporting scene data..."
                                  ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Exporting scene data...")?
  File "process_troops.py", line 104
    print "Exporting troops data"
                                ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Exporting troops data")?
  File "process_particle_sys.py", line 60
    print "Exporting particle data..."
                                    ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Exporting particle data...")?
  File "process_scene_props.py", line 26
    print "Exporting scene props..."
                                  ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Exporting scene props...")?
  File "process_tableau_materials.py", line 25
    print "Exporting tableau materials data..."
                                              ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Exporting tableau materials data...")?
  File "process_presentations.py", line 27
    print "Exporting presentations..."
                                    ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Exporting presentations...")?
  File "process_party_tmps.py", line 28
    print "Error! NUMBER OF TEMPLATE MEMBERS EXCEEDS 6 " + party_template[0]
                                                      ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Error! NUMBER OF TEMPLATE MEMBERS EXCEEDS 6 " + party_template[0])?
  File "process_parties.py", line 28
    print "Error: Unable to find menu-id :" + menu_param
                                          ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Error: Unable to find menu-id :" + menu_param)?
  File "process_quests.py", line 29
    print "Exporting quest data..."
                                  ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Exporting quest data...")?
  File "process_info_pages.py", line 25
    print "Exporting info_page data..."
                                      ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Exporting info_page data...")?
  File "process_scripts.py", line 34
    print "Exporting scripts..."
                              ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Exporting scripts...")?
  File "process_mission_tmps.py", line 29
    print "ERROR: Too many item_overrides!"
                                          ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("ERROR: Too many item_overrides!")?
  File "process_game_menus.py", line 41
    print "Exporting game menus data..."
                                      ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Exporting game menus data...")?
  File "process_simple_triggers.py", line 19
    print "exporting simple triggers..."
                                      ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("exporting simple triggers...")?
  File "process_dialogs.py", line 95
    print sentence[ipt_token_pos]
                ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(sentence[ipt_token_pos])?
  File "process_global_variables_unused.py", line 6
    print "Checking global variable usages..."
                                            ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Checking global variable usages...")?
  File "process_postfx.py", line 26
    print "Exporting postfx_params..."
                                    ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Exporting postfx_params...")?
Could Not Find C:\Program Files\TaleWorlds Entertainment\Mount and Blade Warband - Viking Conquest Reforged Edition\Modules\FYSG_2.76\Module_system 1.153\*.pyc
 
thanks guys for the help and info but no mater what i do it wont work
so il just add new troops  and new items useing  morgh to the mod i play
 
Hello. I am having an issue that I see has been reported here before. In the home description and home recap, my new companion is using Klethi's lines, the NPC before him in the module system. There don't seem to be duplicate lines, and I have revised the steps.
Any help is appreciated

SirKeeper

EDIT:
There actually was a duplicate line, my bad:
'("npc13_home_description")' was present twice.

I'm not sure if it was my mistake or if it was like that since the beginning. I am using the latest diplomacy source code.
 
I've used this tutorial to successfully create 24 companions so far, but I'm curious if anyone has figured out how to make custom companions available in Multiplayer Invasion mode.  I'm using version 1.171 as the base for my mod, but I have yet to find the source of a bug I'm encountering in doing this.  I'll post in the related code I have found so far, marking my changes in red.

module_troops.py just before the upgrade path declarations:
...
  ["coop_faction_troop_templates_end","{!}multiplayer_end","{!}multiplayer_end", 0, 0, 0, fac_kingdom_5, [], 0, 0, 0, 0, 0],
  #tier 1
  ["npc1_1","Borcha","Borcha",tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_khergit_armor,itm_nomad_boots,itm_knife, itm_courser],
  str_16|agi_17|int_6|cha_30|level(25),wpex(250,80,140,160,90,250),knows_tracking_10|knows_engineer_10|knows_first_aid_10|knows_surgery_10|knows_wound_treatment_10|knows_tactics_10|knows_trainer_10|knows_looting_10|
  knows_ironflesh_1|knows_power_strike_7|knows_pathfinding_3|knows_athletics_5|knows_tracking_1|knows_riding_6|knows_power_throw_7|knows_power_draw_5, #skills 2/3 player at that level
  0x00000004bf086143259d061a9046e23500000000001db52c0000000000000000],
  ["npc2_1","Marnid","Marnid", tf_hero|tf_unmoveable_in_party_window, 0,reserved, fac_commoners,[itm_linen_tunic,itm_hide_boots,itm_club, itm_saddle_horse],
  str_14|agi_17|int_6|cha_30|level(25),wpex(240,130,170,150,170,90),knows_tracking_10|knows_engineer_10|knows_first_aid_10|knows_surgery_10|knows_wound_treatment_10|knows_tactics_10|knows_trainer_10|knows_looting_10|
  knows_trade_2|knows_weapon_master_1|knows_ironflesh_1|knows_wound_treatment_1|knows_athletics_5|knows_first_aid_1|knows_leadership_1|knows_riding_4|knows_power_strike_7|knows_power_draw_3|knows_power_throw_3,
  0x000000019d004001570b893712c8d28d00000000001dc8990000000000000000],
  ["npc3_1","Ymira","Ymira",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_dress,itm_woolen_hose,itm_knife, itm_hunter],
  str_24|agi_13|int_6|cha_30|level(25),wpex(190,80,240,180,180,80),knows_tracking_10|knows_engineer_10|knows_first_aid_10|knows_surgery_10|knows_wound_treatment_10|knows_tactics_10|knows_trainer_10|knows_looting_10|
  knows_wound_treatment_1|knows_trade_1|knows_first_aid_3|knows_surgery_1|knows_athletics_6|knows_riding_8|knows_power_strike_5|knows_power_draw_3|knows_power_throw_3,
  0x0000000083040001583b6db8dec5925b00000000001d80980000000000000000],
  ["npc4_1","Rolf","Rolf",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_leather_jerkin,itm_nomad_boots, itm_sword_medieval_a, itm_hunter],
  str_20|agi_13|int_6|cha_30|level(25),wpex(210,230,200,90,100,95),knows_tracking_10|knows_engineer_10|knows_first_aid_10|knows_surgery_10|knows_wound_treatment_10|knows_tactics_10|knows_trainer_10|knows_looting_10|
  knows_weapon_master_2|knows_power_strike_9|knows_riding_8|knows_athletics_7|knows_power_throw_3|knows_first_aid_1|knows_surgery_1|knows_tactics_2|knows_leadership_2|knows_power_draw_2,
  0x000000057f1074002c75c6a8a58ad72e00000000001e1a890000000000000000],
  ["npc5_1","Baheshtur","Baheshtur",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_nomad_vest,itm_nomad_boots, itm_sword_khergit_1, itm_steppe_horse],
  str_18|agi_13|int_6|cha_30|level(25),wpex(160,80,130,250,50,230),knows_tracking_10|knows_engineer_10|knows_first_aid_10|knows_surgery_10|knows_wound_treatment_10|knows_tactics_10|knows_trainer_10|knows_looting_10|
  knows_riding_7|knows_horse_archery_9|knows_power_draw_8|knows_leadership_2|knows_weapon_master_1|knows_power_strike_5|knows_power_throw_8|knows_athletics_5,
  0x000000088910318b5c6f972328324a6200000000001cd3310000000000000000],
  ["npc6_1","Firentis","Firentis",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_tabard,itm_nomad_boots, itm_sword_medieval_a, itm_sumpter_horse],
  str_20|agi_19|int_6|cha_30|level(25),wpex(240,210,180,90,100,80),knows_tracking_10|knows_engineer_10|knows_first_aid_10|knows_surgery_10|knows_wound_treatment_10|knows_tactics_10|knows_trainer_10|knows_looting_10|
  knows_riding_7|knows_weapon_master_2|knows_athletics_8|knows_trainer_1|knows_leadership_1|knows_power_strike_7|knows_power_draw_2|knows_power_throw_3,
  0x00000002050052036a1895d0748f3ca30000000000000f0b0000000000000000],
  ["npc7_1","Deshavi","Deshavi",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_ragged_outfit,itm_wrapping_boots, itm_hunting_bow, itm_arrows, itm_quarter_staff, itm_arabian_horse_b],
  str_16|agi_13|int_6|cha_30|level(25),wpex(90,80,230,280,110,130),knows_tracking_10|knows_engineer_10|knows_first_aid_10|knows_surgery_10|knows_wound_treatment_10|knows_tactics_10|knows_trainer_10|knows_looting_10|
  knows_tracking_2|knows_athletics_8|knows_spotting_1|knows_pathfinding_1|knows_power_draw_10|knows_riding_4|knows_power_strike_6|knows_power_throw_5,
  0x00000001fc08400533a15297634d44f400000000001e02db0000000000000000],
  ["npc8_1","Matheld","Matheld",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_tribal_warrior_outfit,itm_nomad_boots, itm_sword_viking_1, itm_courser],
  str_18|agi_15|int_6|cha_30|level(25),wpex(190,250,80,120,80,250),knows_tracking_10|knows_engineer_10|knows_first_aid_10|knows_surgery_10|knows_wound_treatment_10|knows_tactics_10|knows_trainer_10|knows_looting_10|
  knows_weapon_master_3|knows_athletics_10|knows_leadership_3|knows_tactics_1|knows_riding_4|knows_power_strike_10|knows_power_draw_2|knows_power_throw_8,
  0x00000005800c000637db8314e331e76e00000000001c46db0000000000000000],
  ["npc9_1","Alayen","Alayen",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_tabard,itm_nomad_boots, itm_sword_medieval_b_small, itm_courser],
  str_22|agi_19|int_6|cha_30|level(25),wpex(80,230,130,220,70,160),knows_tracking_10|knows_engineer_10|knows_first_aid_10|knows_surgery_10|knows_wound_treatment_10|knows_tactics_10|knows_trainer_10|knows_looting_10|
  knows_weapon_master_1|knows_riding_4|knows_athletics_6|knows_leadership_1|knows_tactics_1|knows_power_strike_4|knows_power_draw_7|knows_power_throw_5,
  0x000000030100300f499d5b391b6db8d300000000001dc2e10000000000000000],
  ["npc10_1","Bunduk","Bunduk",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_padded_leather,itm_nomad_boots, itm_crossbow, itm_bolts, itm_pickaxe, itm_saddle_horse],
  str_24|agi_19|int_6|cha_30|level(25),wpex(170,80,80,160,290,150),knows_tracking_10|knows_engineer_10|knows_first_aid_10|knows_surgery_10|knows_wound_treatment_10|knows_tactics_10|knows_trainer_10|knows_looting_10|
  knows_weapon_master_3|knows_tactics_1|knows_leadership_1|knows_ironflesh_3|knows_trainer_2|knows_first_aid_2|knows_riding_4|knows_power_strike_5|knows_power_draw_5|knows_power_throw_5|knows_athletics_7,
  0x0000000a3f081006572c91c71c8d46cb00000000001e468a0000000000000000],
  ["npc11_1","Katrin","Katrin",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_leather_apron, itm_falchion, itm_wrapping_boots, itm_sumpter_horse],
  str_16|agi_17|int_6|cha_30|level(25),wpex(140,230,130,80,210,170),knows_tracking_10|knows_engineer_10|knows_first_aid_10|knows_surgery_10|knows_wound_treatment_10|knows_tactics_10|knows_trainer_10|knows_looting_10|
  knows_weapon_master_1|knows_first_aid_1|knows_wound_treatment_2|knows_ironflesh_3|knows_inventory_management_5|knows_riding_4|knows_power_strike_5|knows_power_draw_2|knows_power_throw_7|knows_athletics_5,
  0x0000000d7f0400035915aa226b4d975200000000001ea49e0000000000000000],
  ["npc12_1","Jeremus","Jeremus",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_pilgrim_disguise,itm_nomad_boots, itm_staff, itm_sumpter_horse],
  str_16|agi_17|int_6|cha_30|level(25),wpex(120,110,290,80,110,120),  knows_tracking_10|knows_engineer_10|knows_first_aid_10|knows_surgery_10|knows_wound_treatment_10|knows_tactics_10|knows_trainer_10|knows_looting_10|
  knows_ironflesh_1|knows_power_strike_7|knows_surgery_4|knows_wound_treatment_3|knows_first_aid_3|knows_riding_4|knows_power_draw_2|knows_power_throw_3|knows_athletics_7,
  0x000000078000500e4f8ba62a9cd5d36d00000000001e36250000000000000000],
  ["npc13_1","Nizar","Nizar",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_nomad_robe,itm_nomad_boots, itm_scimitar, itm_courser],
  str_14|agi_17|int_6|cha_30|level(25),wpex(250,80,140,210,110,140),knows_tracking_10|knows_engineer_10|knows_first_aid_10|knows_surgery_10|knows_wound_treatment_10|knows_tactics_10|knows_trainer_10|knows_looting_10|
  knows_riding_9|knows_leadership_2|knows_athletics_5|knows_ironflesh_2|knows_power_strike_6|knows_weapon_master_1|knows_power_draw_7|knows_power_throw_4,
  0x00000004bf0475c85f4e9592de4e574c00000000001e369c0000000000000000],
  ["npc14_1","Lezalit","Lezalit",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_nobleman_outfit,itm_nomad_boots, itm_sword_medieval_b_small, itm_courser],
  str_18|agi_19|int_6|cha_30|level(25),wpex(280,170,170,170,170,180),knows_tracking_10|knows_engineer_10|knows_first_aid_10|knows_surgery_10|knows_wound_treatment_10|knows_tactics_10|knows_trainer_10|knows_looting_10|
  knows_trainer_4|knows_weapon_master_3|knows_leadership_2|knows_power_strike_1|knows_riding_7|knows_power_strike_7|knows_power_draw_6|knows_power_throw_6|knows_athletics_8,
  0x00000001a410259144d5d1d6eb55e96a00000000001db0db0000000000000000],
  ["npc15_1","Artimenner","Artimenner",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_rich_outfit,itm_nomad_boots, itm_sword_medieval_b_small, itm_hunter],
  str_18|agi_13|int_6|cha_30|level(25),wpex(190,290,130,210,90,90),knows_tracking_10|knows_engineer_10|knows_first_aid_10|knows_surgery_10|knows_wound_treatment_10|knows_tactics_10|knows_trainer_10|knows_looting_10|
  knows_tactics_2|knows_engineer_4|knows_trade_3|knows_tracking_1|knows_spotting_1|knows_riding_6|knows_power_strike_7|knows_power_draw_7|knows_power_throw_3|knows_athletics_5,
  0x0000000f2e1021862b4b9123594eab5300000000001d55360000000000000000],
  ["npc16_1","Klethi","Klethi",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_peasant_dress,itm_nomad_boots, itm_dagger, itm_throwing_knives, itm_saddle_horse],
  str_14|agi_17|int_6|cha_30|level(25),wpex(260,10,100,160,30,300),knows_tracking_10|knows_engineer_10|knows_first_aid_10|knows_surgery_10|knows_wound_treatment_10|knows_tactics_10|knows_trainer_10|knows_looting_10|
  knows_power_throw_10|knows_athletics_10|knows_power_strike_8|knows_riding_4|knows_power_draw_5,
  0x00000000000c100739ce9c805d2f381300000000001cc7ad0000000000000000],
  ["npc17_1","Excalibur","Excalibur",tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_leather_armor,itm_hunting_bow, itm_arrows, itm_spear],
  str_15|agi_16|int_9|cha_30|level(25),wpex(275,250,300,300,125,60),
  knows_ironflesh_10|knows_power_strike_8|knows_power_throw_3|knows_power_draw_8|knows_looting_10|knows_weapon_master_10|knows_shield_3|knows_athletics_10|knows_riding_4|knows_horse_archery_4|knows_trainer_10|knows_tracking_10|knows_tactics_10|knows_pathfinding_10|knows_wound_treatment_10|knows_surgery_10|knows_first_aid_10|knows_engineer_10|knows_leadership_3,
  0x00000000f708134136ec6dd865a9ab1b00000000001d6f1b0000000000000000],

 
    #tier 2
  ["npc1_2","Borcha","Borcha",tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_leather_steppe_cap_c,itm_leather_gloves,itm_nomad_robe,itm_hide_boots,itm_sword_medieval_b_small, itm_courser],
  str_16|agi_17|int_12|cha_7|level(14),wp(60),knows_tracker_npc|
  knows_ironflesh_1|knows_power_strike_1|knows_pathfinding_3|knows_athletics_2|knows_tracking_1|knows_riding_2, #skills 2/3 player at that level
  0x00000004bf086143259d061a9046e23500000000001db52c0000000000000000],
  ["npc2_2","Marnid","Marnid", tf_hero|tf_unmoveable_in_party_window, 0,reserved, fac_commoners,[itm_nasal_helmet,itm_padded_leather,itm_leather_boots,itm_mace_2,itm_tab_shield_small_round_a, itm_saddle_horse],
  str_14|agi_17|int_11|cha_6|level(14),wp(40),knows_merchant_npc|
  knows_trade_2|knows_weapon_master_1|knows_ironflesh_1|knows_wound_treatment_1|knows_athletics_2|knows_first_aid_1|knows_leadership_1,
  0x000000019d004001570b893712c8d28d00000000001dc8990000000000000000],
  ["npc3_2","Ymira","Ymira",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_head_wrappings,itm_leather_jerkin,itm_wrapping_boots,itm_sword_medieval_b_small, itm_hunter],
  str_24|agi_13|int_11|cha_6|level(14),wp(20),knows_merchant_npc|
  knows_wound_treatment_1|knows_trade_1|knows_first_aid_3|knows_surgery_1|knows_athletics_1|knows_riding_1,
  0x0000000083040001583b6db8dec5925b00000000001d80980000000000000000],
  ["npc4_2","Rolf","Rolf",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_kettle_hat,itm_leather_gloves,itm_studded_leather_coat,itm_leather_boots,itm_sword_medieval_c,itm_tab_shield_heater_c, itm_hunter],
  str_20|agi_13|int_13|cha_10|level(27),wp(110),knows_warrior_npc|
  knows_weapon_master_2|knows_power_strike_2|knows_riding_2|knows_athletics_2|knows_power_throw_2|knows_first_aid_1|knows_surgery_1|knows_tactics_2|knows_leadership_2,
  0x000000057f1074002c75c6a8a58ad72e00000000001e1a890000000000000000],
  ["npc5_2","Baheshtur","Baheshtur",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_sword_khergit_2, itm_tab_shield_small_round_b, itm_leather_steppe_cap_b, itm_tribal_warrior_outfit, itm_khergit_leather_boots, itm_steppe_horse],
  str_18|agi_13|int_12|cha_7|level(23),wp(90),knows_warrior_npc|
  knows_riding_2|knows_horse_archery_3|knows_power_draw_3|knows_leadership_2|knows_weapon_master_1,
  0x000000088910318b5c6f972328324a6200000000001cd3310000000000000000],
  ["npc6_2","Firentis","Firentis",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_bastard_sword_a, itm_mail_coif, itm_mail_with_tunic_red, itm_ankle_boots, itm_sumpter_horse],
  str_20|agi_19|int_10|cha_5|level(25),wp(105),knows_warrior_npc|
  knows_riding_2|knows_weapon_master_2|knows_power_strike_2|knows_athletics_3|knows_trainer_1|knows_leadership_1,
  0x00000002050052036a1895d0748f3ca30000000000000f0b0000000000000000],
  ["npc7_2","Deshavi","Deshavi",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_voulge, itm_short_bow, itm_barbed_arrows, itm_nordic_fighter_helmet, itm_leather_gloves, itm_studded_leather_coat, itm_leather_boots, itm_arabian_horse_b],
  str_16|agi_13|int_10|cha_6|level(17),wp(80),knows_tracker_npc|
  knows_tracking_2|knows_athletics_2|knows_spotting_1|knows_pathfinding_1|knows_power_draw_2,
  0x00000001fc08400533a15297634d44f400000000001e02db0000000000000000],
  ["npc8_2","Matheld","Matheld",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_sword_viking_2, itm_nordic_helmet, itm_byrnie, itm_leather_boots, itm_courser],
  str_18|agi_15|int_9|cha_10|level(26),wp(90),knows_warrior_npc|
  knows_weapon_master_3|knows_power_strike_2|knows_athletics_2|knows_leadership_3|knows_tactics_1,
  0x00000005800c000637db8314e331e76e00000000001c46db0000000000000000],
  ["npc9_2","Alayen","Alayen",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_sword_medieval_c, itm_vaegir_fur_cap, itm_leather_vest, itm_nomad_boots, itm_courser],
  str_22|agi_19|int_7|cha_8|level(17),wp(100),knows_warrior_npc|
  knows_weapon_master_1|knows_riding_1|knows_athletics_1|knows_leadership_1|knows_tactics_1|knows_power_strike_1,
  0x000000030100300f499d5b391b6db8d300000000001dc2e10000000000000000],
  ["npc10_2","Bunduk","Bunduk",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_military_sickle_a, itm_heavy_crossbow, itm_bolts, itm_mail_coif, itm_leather_gloves, itm_aketon_green, itm_leather_boots, itm_saddle_horse],
  str_24|agi_19|int_9|cha_11|level(27),wp(105),knows_warrior_npc|
  knows_weapon_master_3|knows_tactics_1|knows_leadership_1|knows_ironflesh_3|knows_trainer_2|knows_first_aid_2,
  0x0000000a3f081006572c91c71c8d46cb00000000001e468a0000000000000000],
  ["npc11_2","Katrin","Katrin",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_sarranid_axe_a, itm_arming_cap, itm_leather_gloves, itm_padded_cloth, itm_ankle_boots, itm_sumpter_horse],
  str_16|agi_17|int_10|cha_10|level(26),wp(70),knows_merchant_npc|
  knows_weapon_master_1|knows_first_aid_1|knows_wound_treatment_2|knows_ironflesh_3|knows_inventory_management_5,
  0x0000000d7f0400035915aa226b4d975200000000001ea49e0000000000000000],
  ["npc12_2","Jeremus","Jeremus",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_iron_staff, itm_padded_coif, itm_leather_gloves, itm_pilgrim_disguise, itm_leather_boots, itm_sumpter_horse],
  str_16|agi_17|int_13|cha_7|level(20),wp(30),  knows_merchant_npc|
  knows_ironflesh_1|knows_power_strike_1|knows_surgery_4|knows_wound_treatment_3|knows_first_aid_3,
  0x000000078000500e4f8ba62a9cd5d36d00000000001e36250000000000000000],
  ["npc13_2","Nizar","Nizar",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_scimitar, itm_tab_shield_small_round_b, itm_sarranid_warrior_cap, itm_sarranid_leather_armor, itm_sarranid_boots_b, itm_courser],
  str_14|agi_17|int_12|cha_8|level(19),wp(80),knows_warrior_npc|
  knows_riding_2|knows_leadership_2|knows_athletics_2|knows_ironflesh_2|knows_power_strike_1|knows_weapon_master_1,
  0x00000004bf0475c85f4e9592de4e574c00000000001e369c0000000000000000],
  ["npc14_2","Lezalit","Lezalit",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_sword_medieval_b, itm_tab_shield_heater_c, itm_mail_coif, itm_studded_leather_coat, itm_leather_boots, itm_courser],
  str_18|agi_19|int_11|cha_8|level(23),wp(100),knows_warrior_npc|
  knows_trainer_4|knows_weapon_master_3|knows_leadership_2|knows_power_strike_1,
  0x00000001a410259144d5d1d6eb55e96a00000000001db0db0000000000000000],
  ["npc15_2","Artimenner","Artimenner",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_long_axe, itm_helmet_with_neckguard, itm_leather_gloves, itm_red_gambeson, itm_leather_boots, itm_hunter],
  str_18|agi_13|int_12|cha_8|level(25),wp(80),knows_warrior_npc|
  knows_tactics_2|knows_engineer_4|knows_trade_3|knows_tracking_1|knows_spotting_1,
  0x0000000f2e1021862b4b9123594eab5300000000001d55360000000000000000],
  ["npc16_2","Klethi","Klethi",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_sword_viking_2_small, itm_light_throwing_axes, itm_helmet_with_neckguard, itm_leather_gloves, itm_leather_jerkin, itm_ankle_boots, itm_saddle_horse],
  str_14|agi_17|int_8|cha_7|level(17),wp(80),knows_tracker_npc|
  knows_power_throw_3|knows_athletics_2|knows_power_strike_1,
  0x00000000000c100739ce9c805d2f381300000000001cc7ad0000000000000000],
  ["npc17_2","Excalibur","Excalibur",tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_padded_leather,itm_hide_boots,itm_padded_coif,itm_leather_gloves,itm_short_bow, itm_arrows, itm_spear, itm_arrows],
  str_15|agi_16|int_21|cha_12|level(27),wpex(100,75,125,125,60,10),
  knows_ironflesh_2|knows_power_strike_1|knows_power_draw_1|knows_weapon_master_2|knows_shield_1|knows_athletics_2|knows_trainer_1|knows_pathfinding_3|knows_wound_treatment_1|knows_first_aid_1|knows_engineer_1|knows_tactics_3,
  0x00000000f708134136ec6dd865a9ab1b00000000001d6f1b0000000000000000],


  #tier 3
  ["npc1_3","Borcha","Borcha",tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_khergit_war_helmet,itm_lamellar_gauntlets,itm_lamellar_vest_khergit,itm_khergit_leather_boots,itm_sword_medieval_c_small, itm_courser],
  str_16|agi_17|int_12|cha_7|level(14),wp(60),knows_tracker_npc|
  knows_ironflesh_1|knows_power_strike_1|knows_pathfinding_3|knows_athletics_2|knows_tracking_1|knows_riding_2, #skills 2/3 player at that level
  0x00000004bf086143259d061a9046e23500000000001db52c0000000000000000],
  ["npc2_3","Marnid","Marnid", tf_hero|tf_unmoveable_in_party_window, 0,reserved, fac_commoners,[itm_nordic_veteran_archer_helmet,itm_leather_gloves,itm_byrnie,itm_leather_boots,itm_mace_3,itm_tab_shield_small_round_b, itm_saddle_horse],
  str_14|agi_17|int_11|cha_6|level(14),wp(40),knows_merchant_npc|
  knows_trade_2|knows_weapon_master_1|knows_ironflesh_1|knows_wound_treatment_1|knows_athletics_2|knows_first_aid_1|knows_leadership_1,
  0x000000019d004001570b893712c8d28d00000000001dc8990000000000000000],
  ["npc3_3","Ymira","Ymira",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_skullcap,itm_leather_gloves,itm_mail_shirt,itm_wrapping_boots,itm_sword_medieval_c_small, itm_hunter],
  str_24|agi_13|int_11|cha_6|level(14),wp(20),knows_merchant_npc|
  knows_wound_treatment_1|knows_trade_1|knows_first_aid_3|knows_surgery_1|knows_athletics_1|knows_riding_1,
  0x0000000083040001583b6db8dec5925b00000000001d80980000000000000000],
  ["npc4_3","Rolf","Rolf",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_bascinet_2,itm_leather_gloves,itm_surcoat_over_mail,itm_mail_chausses,itm_sword_medieval_c_long,itm_tab_shield_heater_c, itm_hunter],
  str_20|agi_13|int_13|cha_10|level(27),wp(110),knows_warrior_npc|
  knows_weapon_master_2|knows_power_strike_2|knows_riding_2|knows_athletics_2|knows_power_throw_2|knows_first_aid_1|knows_surgery_1|knows_tactics_2|knows_leadership_2,
  0x000000057f1074002c75c6a8a58ad72e00000000001e1a890000000000000000],
  ["npc5_3","Baheshtur","Baheshtur",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_scimitar, itm_tab_shield_small_round_c, itm_khergit_cavalry_helmet, itm_leather_gloves, itm_lamellar_vest, itm_khergit_leather_boots, itm_steppe_horse],
  str_18|agi_13|int_12|cha_7|level(23),wp(90),knows_warrior_npc|
  knows_riding_2|knows_horse_archery_3|knows_power_draw_3|knows_leadership_2|knows_weapon_master_1,
  0x000000088910318b5c6f972328324a6200000000001cd3310000000000000000],
  ["npc6_3","Firentis","Firentis",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_bastard_sword_b, itm_flat_topped_helmet, itm_mail_mittens, itm_haubergeon, itm_mail_chausses, itm_sumpter_horse],
  str_20|agi_19|int_10|cha_5|level(25),wp(105),knows_warrior_npc|
  knows_riding_2|knows_weapon_master_2|knows_power_strike_2|knows_athletics_3|knows_trainer_1|knows_leadership_1,
  0x00000002050052036a1895d0748f3ca30000000000000f0b0000000000000000],
  ["npc7_3","Deshavi","Deshavi",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_long_bardiche, itm_strong_bow, itm_barbed_arrows, itm_nordic_helmet, itm_leather_gloves, itm_mail_hauberk, itm_splinted_leather_greaves, itm_arabian_horse_b],
  str_16|agi_13|int_10|cha_6|level(17),wp(80),knows_tracker_npc|
  knows_tracking_2|knows_athletics_2|knows_spotting_1|knows_pathfinding_1|knows_power_draw_2,
  0x00000001fc08400533a15297634d44f400000000001e02db0000000000000000],
  ["npc8_3","Matheld","Matheld",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_battle_axe, itm_nordic_huscarl_helmet, itm_leather_gloves, itm_mail_hauberk, itm_mail_chausses, itm_courser],
  str_18|agi_15|int_9|cha_10|level(26),wp(90),knows_warrior_npc|
  knows_weapon_master_3|knows_power_strike_2|knows_athletics_2|knows_leadership_3|knows_tactics_1,
  0x00000005800c000637db8314e331e76e00000000001c46db0000000000000000],
  ["npc9_3","Alayen","Alayen",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_sword_medieval_c_long, itm_vaegir_lamellar_helmet, itm_leather_gloves, itm_lamellar_vest, itm_leather_boots, itm_courser],
  str_22|agi_19|int_7|cha_8|level(17),wp(100),knows_warrior_npc|
  knows_weapon_master_1|knows_riding_1|knows_athletics_1|knows_leadership_1|knows_tactics_1|knows_power_strike_1,
  0x000000030100300f499d5b391b6db8d300000000001dc2e10000000000000000],
  ["npc10_3","Bunduk","Bunduk",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_military_pick, itm_heavy_crossbow, itm_steel_bolts, itm_kettle_hat, itm_leather_gloves, itm_mail_with_tunic_green, itm_leather_boots, itm_saddle_horse],
  str_24|agi_19|int_9|cha_11|level(27),wp(105),knows_warrior_npc|
  knows_weapon_master_3|knows_tactics_1|knows_leadership_1|knows_ironflesh_3|knows_trainer_2|knows_first_aid_2,
  0x0000000a3f081006572c91c71c8d46cb00000000001e468a0000000000000000],
  ["npc11_3","Katrin","Katrin",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_sarranid_axe_b, itm_arming_cap, itm_leather_gloves, itm_mail_with_surcoat, itm_mail_chausses, itm_sumpter_horse],
  str_16|agi_17|int_10|cha_10|level(26),wp(70),knows_merchant_npc|
  knows_weapon_master_1|knows_first_aid_1|knows_wound_treatment_2|knows_ironflesh_3|knows_inventory_management_5,
  0x0000000d7f0400035915aa226b4d975200000000001ea49e0000000000000000],
  ["npc12_3","Jeremus","Jeremus",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_iron_staff, itm_mail_coif, itm_mail_mittens, itm_pilgrim_disguise, itm_mail_chausses, itm_sumpter_horse],
  str_16|agi_17|int_13|cha_7|level(20),wp(30),  knows_merchant_npc|
  knows_ironflesh_1|knows_power_strike_1|knows_surgery_4|knows_wound_treatment_3|knows_first_aid_3,
  0x000000078000500e4f8ba62a9cd5d36d00000000001e36250000000000000000],
  ["npc13_3","Nizar","Nizar",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_scimitar, itm_tab_shield_small_round_c, itm_sarranid_mail_coif, itm_arabian_armor_b, itm_sarranid_boots_c, itm_courser],
  str_14|agi_17|int_12|cha_8|level(19),wp(80),knows_warrior_npc|
  knows_riding_2|knows_leadership_2|knows_athletics_2|knows_ironflesh_2|knows_power_strike_1|knows_weapon_master_1,
  0x00000004bf0475c85f4e9592de4e574c00000000001e369c0000000000000000],
  ["npc14_3","Lezalit","Lezalit",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_sword_medieval_c, itm_tab_shield_heater_c, itm_bascinet_2, itm_leather_gloves, itm_surcoat_over_mail, itm_mail_chausses, itm_courser],
  str_18|agi_19|int_11|cha_8|level(23),wp(100),knows_warrior_npc|
  knows_trainer_4|knows_weapon_master_3|knows_leadership_2|knows_power_strike_1,
  0x00000001a410259144d5d1d6eb55e96a00000000001db0db0000000000000000],
  ["npc15_3","Artimenner","Artimenner",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_long_axe_b, itm_guard_helmet, itm_mail_mittens, itm_haubergeon, itm_mail_chausses, itm_hunter],
  str_18|agi_13|int_12|cha_8|level(25),wp(80),knows_warrior_npc|
  knows_tactics_2|knows_engineer_4|knows_trade_3|knows_tracking_1|knows_spotting_1,
  0x0000000f2e1021862b4b9123594eab5300000000001d55360000000000000000],
  ["npc16_3","Klethi","Klethi",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_sword_viking_2_small, itm_throwing_axes, itm_vaegir_fur_helmet, itm_leather_gloves, itm_lamellar_vest, itm_leather_boots, itm_saddle_horse],
  str_14|agi_17|int_8|cha_7|level(17),wp(80),knows_tracker_npc|
  knows_power_throw_3|knows_athletics_2|knows_power_strike_1,
  0x00000000000c100739ce9c805d2f381300000000001cc7ad0000000000000000],
  ["npc17_3","Excalibur","Excalibur",tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_lamellar_vest,itm_leather_boots,itm_leather_cap,itm_mail_mittens,itm_khergit_bow, itm_barbed_arrows, itm_boar_spear, itm_barbed_arrows, itm_saddle_horse],
  str_15|agi_16|int_21|cha_12|level(27),wpex(175,150,180,180,125,60),
  knows_ironflesh_2|knows_power_strike_1|knows_power_draw_1|knows_weapon_master_2|knows_shield_1|knows_athletics_2|knows_trainer_1|knows_pathfinding_3|knows_wound_treatment_1|knows_first_aid_1|knows_engineer_1|knows_tactics_3,
  0x00000000f708134136ec6dd865a9ab1b00000000001d6f1b0000000000000000],


  #tier 4
  ["npc1_4","Borcha","Borcha",tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_khergit_guard_helmet,itm_lamellar_gauntlets,itm_khergit_guard_armor,itm_khergit_guard_boots,itm_sword_viking_3_small, itm_courser],
  str_16|agi_17|int_12|cha_7|level(14),wp(60),knows_tracker_npc|
  knows_ironflesh_1|knows_power_strike_1|knows_pathfinding_3|knows_athletics_2|knows_tracking_1|knows_riding_2, #skills 2/3 player at that level
  0x00000004bf086143259d061a9046e23500000000001db52c0000000000000000],
  ["npc2_4","Marnid","Marnid", tf_hero|tf_unmoveable_in_party_window, 0,reserved, fac_commoners,[itm_nordic_helmet,itm_mail_mittens,itm_mail_hauberk,itm_mail_chausses,itm_mace_4,itm_tab_shield_small_round_c, itm_saddle_horse],
  str_14|agi_17|int_11|cha_6|level(14),wp(40),knows_merchant_npc|
  knows_trade_2|knows_weapon_master_1|knows_ironflesh_1|knows_wound_treatment_1|knows_athletics_2|knows_first_aid_1|knows_leadership_1,
  0x000000019d004001570b893712c8d28d00000000001dc8990000000000000000],
  ["npc3_4","Ymira","Ymira",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_guard_helmet,itm_gauntlets,itm_plate_armor,itm_plate_boots,itm_sword_viking_3_small, itm_hunter],
  str_24|agi_13|int_11|cha_6|level(14),wp(20),knows_merchant_npc|
  knows_wound_treatment_1|knows_trade_1|knows_first_aid_3|knows_surgery_1|knows_athletics_1|knows_riding_1,
  0x0000000083040001583b6db8dec5925b00000000001d80980000000000000000],
  ["npc4_4","Rolf","Rolf",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_full_helm,itm_scale_gauntlets,itm_heraldic_mail_with_tabard,itm_iron_greaves,itm_sword_medieval_d_long,itm_tab_shield_heater_d, itm_hunter],
  str_20|agi_13|int_13|cha_10|level(27),wp(110),knows_warrior_npc|
  knows_weapon_master_2|knows_power_strike_2|knows_riding_2|knows_athletics_2|knows_power_throw_2|knows_first_aid_1|knows_surgery_1|knows_tactics_2|knows_leadership_2,
  0x000000057f1074002c75c6a8a58ad72e00000000001e1a890000000000000000],
  ["npc5_4","Baheshtur","Baheshtur",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_scimitar_b, itm_tab_shield_small_round_c, itm_khergit_guard_helmet, itm_scale_gauntlets, itm_lamellar_armor, itm_iron_greaves, itm_steppe_horse],
  str_18|agi_13|int_12|cha_7|level(23),wp(90),knows_warrior_npc|
  knows_riding_2|knows_horse_archery_3|knows_power_draw_3|knows_leadership_2|knows_weapon_master_1,
  0x000000088910318b5c6f972328324a6200000000001cd3310000000000000000],
  ["npc6_4","Firentis","Firentis",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_sword_two_handed_b, itm_bascinet, itm_gauntlets, itm_cuir_bouilli, itm_plate_boots, itm_sumpter_horse],
  str_20|agi_19|int_10|cha_5|level(25),wp(105),knows_warrior_npc|
  knows_riding_2|knows_weapon_master_2|knows_power_strike_2|knows_athletics_3|knows_trainer_1|knows_leadership_1,
  0x00000002050052036a1895d0748f3ca30000000000000f0b0000000000000000],
  ["npc7_4","Deshavi","Deshavi",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_great_long_bardiche, itm_war_bow, itm_khergit_arrows, itm_nordic_huscarl_helmet, itm_scale_gauntlets, itm_heraldic_mail_with_tabard, itm_iron_greaves, itm_arabian_horse_b],
  str_16|agi_13|int_10|cha_6|level(17),wp(80),knows_tracker_npc|
  knows_tracking_2|knows_athletics_2|knows_spotting_1|knows_pathfinding_1|knows_power_draw_2,
  0x00000001fc08400533a15297634d44f400000000001e02db0000000000000000],
  ["npc8_4","Matheld","Matheld",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_great_axe, itm_nordic_warlord_helmet, itm_mail_mittens, itm_banded_armor, itm_mail_chausses, itm_courser],
  str_18|agi_15|int_9|cha_10|level(26),wp(90),knows_warrior_npc|
  knows_weapon_master_3|knows_power_strike_2|knows_athletics_2|knows_leadership_3|knows_tactics_1,
  0x00000005800c000637db8314e331e76e00000000001c46db0000000000000000],
  ["npc9_4","Alayen","Alayen",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_bastard_sword_b, itm_vaegir_war_helmet, itm_lamellar_gauntlets, itm_banded_armor, itm_iron_greaves, itm_courser],
  str_22|agi_19|int_7|cha_8|level(17),wp(100),knows_warrior_npc|
  knows_weapon_master_1|knows_riding_1|knows_athletics_1|knows_leadership_1|knows_tactics_1|knows_power_strike_1,
  0x000000030100300f499d5b391b6db8d300000000001dc2e10000000000000000],
  ["npc10_4","Bunduk","Bunduk",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_military_pick, itm_sniper_crossbow, itm_steel_bolts, itm_full_helm, itm_mail_mittens, itm_surcoat_over_mail, itm_splinted_leather_greaves, itm_saddle_horse],
  str_24|agi_19|int_9|cha_11|level(27),wp(105),knows_warrior_npc|
  knows_weapon_master_3|knows_tactics_1|knows_leadership_1|knows_ironflesh_3|knows_trainer_2|knows_first_aid_2,
  0x0000000a3f081006572c91c71c8d46cb00000000001e468a0000000000000000],
  ["npc11_4","Katrin","Katrin",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_sarranid_two_handed_axe_a, itm_great_helmet, itm_gauntlets, itm_brigandine_red, itm_plate_boots, itm_sumpter_horse],
  str_16|agi_17|int_10|cha_10|level(26),wp(70),knows_merchant_npc|
  knows_weapon_master_1|knows_first_aid_1|knows_wound_treatment_2|knows_ironflesh_3|knows_inventory_management_5,
  0x0000000d7f0400035915aa226b4d975200000000001ea49e0000000000000000],
  ["npc12_4","Jeremus","Jeremus",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_iron_staff, itm_kettle_hat, itm_gauntlets, itm_surcoat_over_mail, itm_plate_boots, itm_sumpter_horse],
  str_16|agi_17|int_13|cha_7|level(20),wp(30),  knows_merchant_npc|
  knows_ironflesh_1|knows_power_strike_1|knows_surgery_4|knows_wound_treatment_3|knows_first_aid_3,
  0x000000078000500e4f8ba62a9cd5d36d00000000001e36250000000000000000],
  ["npc13_4","Nizar","Nizar",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_scimitar_b, itm_tab_shield_small_round_c, itm_sarranid_veiled_helmet, itm_scale_gauntlets, itm_mamluke_mail, itm_sarranid_boots_d, itm_courser],
  str_14|agi_17|int_12|cha_8|level(19),wp(80),knows_warrior_npc|
  knows_riding_2|knows_leadership_2|knows_athletics_2|knows_ironflesh_2|knows_power_strike_1|knows_weapon_master_1,
  0x00000004bf0475c85f4e9592de4e574c00000000001e369c0000000000000000],
  ["npc14_4","Lezalit","Lezalit",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_sword_medieval_d_long, itm_tab_shield_heater_d, itm_great_helmet, itm_gauntlets, itm_heraldic_mail_with_surcoat, itm_plate_boots, itm_courser],
  str_18|agi_19|int_11|cha_8|level(23),wp(100),knows_warrior_npc|
  knows_trainer_4|knows_weapon_master_3|knows_leadership_2|knows_power_strike_1,
  0x00000001a410259144d5d1d6eb55e96a00000000001db0db0000000000000000],
  ["npc15_4","Artimenner","Artimenner",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_long_axe_c, itm_full_helm, itm_scale_gauntlets, itm_heraldic_mail_with_surcoat, itm_iron_greaves, itm_hunter],
  str_18|agi_13|int_12|cha_8|level(25),wp(80),knows_warrior_npc|
  knows_tactics_2|knows_engineer_4|knows_trade_3|knows_tracking_1|knows_spotting_1,
  0x0000000f2e1021862b4b9123594eab5300000000001d55360000000000000000],
  ["npc16_4","Klethi","Klethi",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_sword_viking_3_small, itm_heavy_throwing_axes, itm_vaegir_lamellar_helmet, itm_lamellar_gauntlets, itm_lamellar_armor, itm_khergit_guard_boots, itm_saddle_horse],
  str_14|agi_17|int_8|cha_7|level(17),wp(80),knows_tracker_npc|
  knows_power_throw_3|knows_athletics_2|knows_power_strike_1,
  0x00000000000c100739ce9c805d2f381300000000001cc7ad0000000000000000],
  ["npc17_4","Excalibur","Excalibur",tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_lamellar_armor,itm_splinted_greaves,itm_skullcap,itm_lamellar_gauntlets,itm_strong_bow, itm_bodkin_arrows, itm_war_spear, itm_bodkin_arrows, itm_courser],
  str_15|agi_16|int_21|cha_12|level(27),wpex(175,150,180,180,125,60),
  knows_ironflesh_2|knows_power_strike_1|knows_power_draw_1|knows_weapon_master_2|knows_shield_1|knows_athletics_2|knows_trainer_1|knows_pathfinding_3|knows_wound_treatment_1|knows_first_aid_1|knows_engineer_1|knows_tactics_3,
  0x00000000f708134136ec6dd865a9ab1b00000000001d6f1b0000000000000000],

...

module_scripts.py starting around line 51000 (give or take for my 24 new companions' code blocks):
    (try_begin),
      (eq, ":companion_alive", 0), #for dead companions, we check their class and level to get the right template
      (try_for_range, ":cur_slot", slot_player_companion_ids_begin, slot_player_companion_ids_end),
        (player_slot_eq, ":my_player_no", ":cur_slot", ":troop_no"), #check which companion we're using (since this isn't sent as a parameter...)
        (try_begin),
          (gt, ":cur_slot", slot_player_companion_ids_begin),
          (val_add, ":canvas_no", 2), #the second companion uses different troops
        (try_end),
        (val_add, ":cur_slot", 2),
        (player_get_slot, ":template_no", ":my_player_no", ":cur_slot"), #get their class
        (val_add, ":cur_slot", 2),
        (player_get_slot, ":level_no", ":my_player_no", ":cur_slot"), #and upgrade it for their level
        (try_begin),
          (ge, ":template_no", "trp_npc1_1"), #companion class troops come after faction class troops
          (val_mul, ":level_no", 17), #there are (companion mod)17 at each level tier (one for each companion) so multiply by (companion mod)17 to get to the right level
          (val_add, ":template_no", ":level_no"),
        (else_try),
          (val_mul, ":level_no", 21), #(companion mod)21 at each level tier for faction classes ((companion mod)7 factions * 3 troops, one ranged, one melee, one cav)
          (val_add, ":template_no", ":level_no"),
        (try_end),
        (try_for_range, ":cur_inv_slot", 0, 8 ),
          (troop_get_inventory_slot, ":cur_item", ":template_no", ":cur_inv_slot"),
          (ge, ":cur_item", 0),
          (cur_tableau_add_override_item, ":cur_item"),
        (try_end),
      (try_end),
    (try_end),
(Note: I highlighted a line that I changed for a different purpose in purple)

The bug I'm getting is that all the companions, not just my new one, are upgrading to the previous companion's next tier each time (except for borcha, marnid, and ymira, who end up down one tier from the others).

The second set of code should have been the problem and my change should have resolved it, but there seems to be a second set of code somewhere that overrides this change.  The original code was a 16 instead of a 17, just for reference.

EDIT:  I figured it out.  There is a second script managing the troop updates.  If anyone else is curious how it's done, the code is in the next post from me (with changes in red).
 
module_scripts.py around 30 lines into the "cf_multiplayer_upgrade_companion_equipment" script:
(try_begin),
      (is_between, ":companion_template", multiplayer_coop_class_templates_begin, multiplayer_coop_class_templates_end),
      (assign, ":multiplier", 21), #formerly 18 (6*3 for vanilla factions)
    (else_try),
      (assign, ":multiplier", 18 ), #formerly 16 (klethi, npc16, max companion id)
    (try_end),
   
    (try_begin),
      (lt, ":companion_level", 3),
      (store_mul, ":template_leveler", ":companion_level", ":multiplier"),
      (val_add, ":companion_template", ":template_leveler"),
    (else_try),
      (store_mul, ":template_leveler", 3, ":multiplier"), #4 is max level
      (val_add, ":companion_template", ":template_leveler"),
    (try_end),
 
Is it important to maintain the order of lines in module_strings.py in STEP 4? I added 6 new companions to the game following this tutorial and now I would like to add custom dialogues to them. But it would be just easier to edit them by putting all the 40 dialog strings of one npc together. And would it also be possible to do the same within the game_strings.csv? (for the German translation)
 
There isn't a post in this thread for almost a year, but here we go:

I just begun to mod the game, and today I am still quite fond of Viking Conquest. I really like the story.

So, I pick up the game again, and I am trying to add some companions. I followed this tutorial (btw, thanks!) adopted it to Viking Conquest. but I have a problem that I saw that other users also found: the heroes don't show up in the world.

I changed the 4 files (module_info.py, module_scripts.py, module_strings.py and module_troops.py) to introduce 10 new companions (1 is just for all the others to hate!). And the dialogues and stories are still a WIP, but first I really wanted that they showed up in the taverns.

Since they don't show up, I am doing something wrong.

This is what I made in module_troops.py the stats and items things still need to be worked, so some are in part still clones of other companions until they appear in the game.

The game runs well, all the dialogues are well, the heroes/companions just don't appear.

So we have Beowulf, Saint Gall (the guy that all will hate), Gunnar, Fafnir, Sigurd, Wiglaf, Mother, Little Signy (sister), Valkyrie and Loki (half-brother). All pagans except the Saint.

Code:
  ["npc17","Beowulf","Beowulf",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_btunic_12,(itm_carbatinae_10, imod_tattered), itm_light_spear2,(itm_throwing_spears, imod_bent),(itm_hatchet, imod_rusty),itm_phrygian16],
    str_15 | agi_12 | int_12 | cha_12|level(13),wpex(117,72,92,72,72,72)|wp_firearm(91),
   knows_sea_king_1|knows_navigation_1|knows_ironflesh_7|knows_power_strike_7|knows_power_throw_7|knows_power_draw_2|knows_maintenance_6|knows_weapon_master_6|knows_athletics_4|knows_riding_4|knows_trainer_5|knows_tactics_6|knows_inventory_management_6|knows_first_aid_3|knows_engineer_3|knows_persuasion_4|knows_leadership_5|knows_trade_3|knows_shield_3,
   0x0000000fcc10174d4962649592accadd00000000001dc8a30000000000000000], #Beowulf

  ["npc18","Saint Gall","Saint Gall",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_robe, itm_knife,itm_staff],
    str_9 | agi_9 | int_14 | cha_13|level(6),wpex(91,72,91,82,77,78)|wp_firearm(91),
   knows_ironflesh_5|knows_power_throw_4|knows_weapon_master_1|knows_athletics_4|knows_riding_2|knows_looting_4|knows_tactics_5|knows_inventory_management_5|knows_wound_treatment_7|knows_surgery_5|knows_first_aid_7|knows_engineer_4|knows_persuasion_7|knows_leadership_5|knows_trade_6|knows_shield_1,
   0x0000000fcc10174d4962649592accadd00000000001dc8a30000000000000000], #Saint Gall all hate him - needs face

  ["npc19","Gunnar","Gunnar",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_btunic_12,(itm_carbatinae_10, imod_tattered), itm_light_spear2,(itm_throwing_spears, imod_bent),(itm_hatchet, imod_rusty),itm_phrygian16],
    str_15 | agi_12 | int_12 | cha_12|level(13),wpex(117,72,92,72,72,72)|wp_firearm(91),
   knows_sea_king_4|knows_navigation_6|knows_ironflesh_7|knows_power_strike_7|knows_power_throw_7|knows_maintenance_4|knows_weapon_master_6|knows_athletics_4|knows_looting_2|knows_pathfinding_2|knows_inventory_management_6|knows_wound_treatment_2|knows_surgery_2|knows_first_aid_3|knows_persuasion_6|knows_trainer_3|knows_leadership_6|knows_trade_5|knows_shield_2,
   0x0000000fcc10174d4962649592accadd00000000001dc8a30000000000000000], #Gunnar ? - needs face

  ["npc20","Fafnir","Fafnir",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_btunic_12,(itm_carbatinae_10, imod_tattered), itm_light_spear2,(itm_throwing_spears, imod_bent),(itm_hatchet, imod_rusty),itm_phrygian16],
    str_15 | agi_12 | int_12 | cha_12|level(13),wpex(117,72,92,72,72,72)|wp_firearm(91),
   knows_sea_king_4|knows_navigation_6|knows_ironflesh_7|knows_power_strike_7|knows_power_throw_7|knows_maintenance_4|knows_weapon_master_6|knows_athletics_4|knows_looting_2|knows_pathfinding_2|knows_inventory_management_6|knows_wound_treatment_2|knows_surgery_2|knows_first_aid_3|knows_persuasion_6|knows_trainer_3|knows_leadership_6|knows_trade_5|knows_shield_2,
   0x0000000fcc10174d4962649592accadd00000000001dc8a30000000000000000], #Fafnir - needs face

  ["npc21","Sigurd","Sigurd",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_btunic_12,(itm_carbatinae_10, imod_tattered), itm_light_spear2,(itm_throwing_spears, imod_bent),(itm_hatchet, imod_rusty),itm_phrygian16],
    str_15 | agi_12 | int_12 | cha_12|level(13),wpex(117,72,92,72,72,72)|wp_firearm(91),
   knows_sea_king_4|knows_navigation_6|knows_ironflesh_7|knows_power_strike_7|knows_power_throw_7|knows_maintenance_4|knows_weapon_master_6|knows_athletics_4|knows_looting_2|knows_pathfinding_2|knows_inventory_management_6|knows_wound_treatment_2|knows_surgery_2|knows_first_aid_3|knows_persuasion_6|knows_trainer_3|knows_leadership_6|knows_trade_5|knows_shield_2,
   0x0000000fcc10174d4962649592accadd00000000001dc8a30000000000000000], #Sigurd - needs face

  ["npc22","Wiglaf","Wiglaf",tf_hero|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_btunic_12,(itm_carbatinae_10, imod_tattered), itm_light_spear2,(itm_throwing_spears, imod_bent),(itm_hatchet, imod_rusty),itm_phrygian16],
    str_15 | agi_12 | int_12 | cha_12|level(13),wpex(117,72,92,72,72,72)|wp_firearm(91),
   knows_sea_king_4|knows_navigation_6|knows_ironflesh_7|knows_power_strike_7|knows_power_throw_7|knows_maintenance_4|knows_weapon_master_6|knows_athletics_4|knows_looting_2|knows_pathfinding_2|knows_inventory_management_6|knows_wound_treatment_2|knows_surgery_2|knows_first_aid_3|knows_persuasion_6|knows_trainer_3|knows_leadership_6|knows_trade_5|knows_shield_2,
   0x0000000f070032c616db8d446545e6e600000000001d37940000000000000000], #Wiglaf Beowulf companion

  ["npc23","Mother","Mother",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_woman_saxon8,itm_knife2],
    str_9 | agi_10 | int_14 | cha_14|level(5),wpex(91,72,91,80,72,91)|wp_firearm(100),
   knows_ironflesh_4|knows_power_strike_3|knows_power_throw_4|knows_maintenance_7|knows_weapon_master_1|knows_athletics_5|knows_looting_5|knows_inventory_management_6|knows_wound_treatment_2|knows_first_aid_7|knows_persuasion_6|knows_leadership_1|knows_trade_6|knows_shield_1,
   0x0000000e160c10021ab16dd631b2b65c00000000001dd2a20000000000000000], #Mother

  ["npc24","Little Signy","Little Signy",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_woman_norse3,itm_veil_b,itm_knife2],
    str_8 | agi_11 | int_14 | cha_14|level(5),wpex(91,72,91,80,72,91)|wp_firearm(100),
   knows_ironflesh_4|knows_power_strike_3|knows_power_throw_4|knows_maintenance_7|knows_weapon_master_1|knows_athletics_5|knows_looting_5|knows_inventory_management_6|knows_wound_treatment_2|knows_first_aid_7|knows_persuasion_6|knows_leadership_1|knows_trade_6|knows_shield_1,
   0x00000000031050083ae58a4891d0b6e300000000001dc7160000000000000000], #Little Signy sister - needs face

  ["npc25","Valkyrie","Valkyrie",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_woman_norse3,itm_veil_b,itm_knife2],
    str_15 | agi_12 | int_12 | cha_12|level(13),wpex(117,72,92,72,72,72)|wp_firearm(91),
   knows_ironflesh_4|knows_power_strike_3|knows_power_throw_4|knows_maintenance_7|knows_weapon_master_1|knows_athletics_5|knows_looting_5|knows_inventory_management_6|knows_wound_treatment_2|knows_first_aid_7|knows_persuasion_6|knows_leadership_1|knows_trade_6|knows_shield_1,
   0x00000000031050083ae58a4891d0b6e300000000001dc7160000000000000000], #Valkyrie

  ["npc26","Loki","Loki",tf_hero|tf_guarantee_armor|tf_unmoveable_in_party_window, 0, reserved,  fac_commoners,[itm_robe6, itm_staff, itm_sling3, itm_sling_rock1],
    str_12 | agi_10 | int_16 | cha_14|level(8),wpex(91,72,91,80,72,82)|wp_firearm(91),
   knows_ironflesh_6|knows_power_strike_1|knows_power_throw_5|knows_power_draw_2|knows_weapon_master_2|knows_athletics_4|knows_riding_4|knows_tactics_2|knows_inventory_management_7|knows_wound_treatment_7|knows_surgery_7|knows_first_aid_7|knows_engineer_1|knows_persuasion_7|knows_leadership_3|knows_trade_4|knows_shield_1,
   0x00000008cb001508452311ba9d75d91900000000001d16650000000000000000], #Loki half brother - needs face

and in module_scipts.py (I would think that the problem is in one of this two files):

Code:
      (troop_set_slot, "trp_npc17", slot_troop_morality_type, tmt_aristocratic), # Beowulf
      (troop_set_slot, "trp_npc17", slot_troop_morality_value, 4),
      (troop_set_slot, "trp_npc17", slot_troop_2ary_morality_type, -1),
      (troop_set_slot, "trp_npc17", slot_troop_2ary_morality_value, 0),
      (troop_set_slot, "trp_npc17", slot_troop_personalityclash_object, "trp_npc18"), #Beowulf - Saint Gall
      (troop_set_slot, "trp_npc17", slot_troop_personalityclash2_object, "trp_npc18"), #Beowulf - Saint Gall
      (troop_set_slot, "trp_npc17", slot_troop_personalitymatch_object, "trp_npc11"), #Beowulf - Solveig
      (troop_set_slot, "trp_npc17", slot_troop_home, "p_town_5"), #Tunsberg
      (troop_set_slot, "trp_npc17", slot_troop_payment_request, 300),
      (troop_set_slot, "trp_npc17", slot_troop_kingsupport_argument, argument_claim),
      (troop_set_slot, "trp_npc17", slot_troop_kingsupport_opponent, "trp_npc18"), #Saint Gall
      (troop_set_slot, "trp_npc17", slot_troop_town_with_contacts, "p_town_5"), #Tunsberg
      (troop_set_slot, "trp_npc17", slot_troop_original_faction, 0), #
      (troop_set_slot, "trp_npc17", slot_lord_reputation_type, lrep_custodian), #
      (troop_set_slot, "trp_npc17", slot_troop_religion, 2), # pagan

      (troop_set_slot, "trp_npc18", slot_troop_morality_type, tmt_humanitarian), # Saint Gall
      (troop_set_slot, "trp_npc18", slot_troop_morality_value, 2),
      (troop_set_slot, "trp_npc18", slot_troop_2ary_morality_type, -1),
      (troop_set_slot, "trp_npc18", slot_troop_2ary_morality_value, 0),
      (troop_set_slot, "trp_npc18", slot_troop_personalityclash_object, "trp_npc17"), #Beowulf - Saint Gall
      (troop_set_slot, "trp_npc18", slot_troop_personalityclash2_object, "trp_npc17"), #Beowulf - Saint Gall
      (troop_set_slot, "trp_npc18", slot_troop_personalitymatch_object, "trp_npc16"), #Saint Gall - Beda
      (troop_set_slot, "trp_npc18", slot_troop_home, "p_town_18"), #Ceall Cainnigh Ireland
      (troop_set_slot, "trp_npc18", slot_troop_payment_request, 300),
      (troop_set_slot, "trp_npc18", slot_troop_kingsupport_argument, argument_claim),
      (troop_set_slot, "trp_npc18", slot_troop_kingsupport_opponent, "trp_npc17"), #Beowulf
      (troop_set_slot, "trp_npc18", slot_troop_town_with_contacts, "p_town_18"), #Ceall Cainnigh Ireland
      (troop_set_slot, "trp_npc18", slot_troop_original_faction, 0), #
      (troop_set_slot, "trp_npc18", slot_lord_reputation_type, lrep_custodian), #
      (troop_set_slot, "trp_npc18", slot_troop_religion, 1), # christian

      (troop_set_slot, "trp_npc19", slot_troop_morality_type, tmt_aristocratic), # Gunnar
      (troop_set_slot, "trp_npc19", slot_troop_morality_value, 4),
      (troop_set_slot, "trp_npc19", slot_troop_2ary_morality_type, -1),
      (troop_set_slot, "trp_npc19", slot_troop_2ary_morality_value, 0),
      (troop_set_slot, "trp_npc19", slot_troop_personalityclash_object, "trp_npc18"), #Gunnar - Saint Gall
      (troop_set_slot, "trp_npc19", slot_troop_personalityclash2_object, "trp_npc18"), #Gunnar - Saint Gall
      (troop_set_slot, "trp_npc19", slot_troop_personalitymatch_object, "trp_npc17"), #Gunnar - Beowulf
      (troop_set_slot, "trp_npc19", slot_troop_home, "p_town_4"), #Ribe
      (troop_set_slot, "trp_npc19", slot_troop_payment_request, 300),
      (troop_set_slot, "trp_npc19", slot_troop_kingsupport_argument, argument_claim),
      (troop_set_slot, "trp_npc19", slot_troop_kingsupport_opponent, "trp_npc18"), #Saint Gall
      (troop_set_slot, "trp_npc19", slot_troop_town_with_contacts, "p_town_4"), #Ribe
      (troop_set_slot, "trp_npc19", slot_troop_original_faction, 0), #
      (troop_set_slot, "trp_npc19", slot_lord_reputation_type, lrep_custodian), #
      (troop_set_slot, "trp_npc19", slot_troop_religion, 2), # pagan

      (troop_set_slot, "trp_npc20", slot_troop_morality_type, tmt_aristocratic), # Fafnir
      (troop_set_slot, "trp_npc20", slot_troop_morality_value, 4),
      (troop_set_slot, "trp_npc20", slot_troop_2ary_morality_type, -1),
      (troop_set_slot, "trp_npc20", slot_troop_2ary_morality_value, 0),
      (troop_set_slot, "trp_npc20", slot_troop_personalityclash_object, "trp_npc18"), #Fafnir - Saint Gall
      (troop_set_slot, "trp_npc20", slot_troop_personalityclash2_object, "trp_npc18"), #Fafnir - Saint Gall
      (troop_set_slot, "trp_npc20", slot_troop_personalitymatch_object, "trp_npc17"), #Fafnir - Beowulf
      (troop_set_slot, "trp_npc20", slot_troop_home, "p_castle_53"), #Skiringssalr
      (troop_set_slot, "trp_npc20", slot_troop_payment_request, 300),
      (troop_set_slot, "trp_npc20", slot_troop_kingsupport_argument, argument_claim),
      (troop_set_slot, "trp_npc20", slot_troop_kingsupport_opponent, "trp_npc18"), #Saint Gall
      (troop_set_slot, "trp_npc20", slot_troop_town_with_contacts, "p_castle_53"), #Skiringssalr
      (troop_set_slot, "trp_npc20", slot_troop_original_faction, 0), #
      (troop_set_slot, "trp_npc20", slot_lord_reputation_type, lrep_custodian), #
      (troop_set_slot, "trp_npc20", slot_troop_religion, 2), # pagan

      (troop_set_slot, "trp_npc21", slot_troop_morality_type, tmt_aristocratic), # Sigurd
      (troop_set_slot, "trp_npc21", slot_troop_morality_value, 4),
      (troop_set_slot, "trp_npc21", slot_troop_2ary_morality_type, -1),
      (troop_set_slot, "trp_npc21", slot_troop_2ary_morality_value, 0),
      (troop_set_slot, "trp_npc21", slot_troop_personalityclash_object, "trp_npc18"), #Sigurd - Saint Gall
      (troop_set_slot, "trp_npc21", slot_troop_personalityclash2_object, "trp_npc18"), #Sigurd - Saint Gall
      (troop_set_slot, "trp_npc21", slot_troop_personalitymatch_object, "trp_npc17"), #Sigurd - Beowulf
      (troop_set_slot, "trp_npc21", slot_troop_home, "p_castle_54"), #Hordaland
      (troop_set_slot, "trp_npc21", slot_troop_payment_request, 300),
      (troop_set_slot, "trp_npc21", slot_troop_kingsupport_argument, argument_claim),
      (troop_set_slot, "trp_npc21", slot_troop_kingsupport_opponent, "trp_npc18"), #Saint Gall
      (troop_set_slot, "trp_npc21", slot_troop_town_with_contacts, "p_castle_54"), #Hordaland
      (troop_set_slot, "trp_npc21", slot_troop_original_faction, 0), #
      (troop_set_slot, "trp_npc21", slot_lord_reputation_type, lrep_custodian), #
      (troop_set_slot, "trp_npc21", slot_troop_religion, 2), # pagan

      (troop_set_slot, "trp_npc22", slot_troop_morality_type, tmt_aristocratic), # Wiglaf
      (troop_set_slot, "trp_npc22", slot_troop_morality_value, 4),
      (troop_set_slot, "trp_npc22", slot_troop_2ary_morality_type, -1),
      (troop_set_slot, "trp_npc22", slot_troop_2ary_morality_value, 0),
      (troop_set_slot, "trp_npc22", slot_troop_personalityclash_object, "trp_npc18"), #Wiglaf - Saint Gall
      (troop_set_slot, "trp_npc22", slot_troop_personalityclash2_object, "trp_npc18"), #Wiglaf - Saint Gall
      (troop_set_slot, "trp_npc22", slot_troop_personalitymatch_object, "trp_npc17"), #Wiglaf - Beowulf
      (troop_set_slot, "trp_npc22", slot_troop_home, "p_castle_55"), #Agdir
      (troop_set_slot, "trp_npc22", slot_troop_payment_request, 300),
      (troop_set_slot, "trp_npc22", slot_troop_kingsupport_argument, argument_claim),
      (troop_set_slot, "trp_npc22", slot_troop_kingsupport_opponent, "trp_npc18"), #Saint Gall
      (troop_set_slot, "trp_npc22", slot_troop_town_with_contacts, "p_castle_55"), #Agdir
      (troop_set_slot, "trp_npc22", slot_troop_original_faction, 0), #
      (troop_set_slot, "trp_npc22", slot_lord_reputation_type, lrep_custodian), #
      (troop_set_slot, "trp_npc22", slot_troop_religion, 2), # pagan

      (troop_set_slot, "trp_npc23", slot_troop_morality_type, tmt_aristocratic), # Mother
      (troop_set_slot, "trp_npc23", slot_troop_morality_value, 4),
      (troop_set_slot, "trp_npc23", slot_troop_2ary_morality_type, -1),
      (troop_set_slot, "trp_npc23", slot_troop_2ary_morality_value, 0),
      (troop_set_slot, "trp_npc23", slot_troop_personalityclash_object, "trp_npc18"), #Mother - Saint Gall
      (troop_set_slot, "trp_npc23", slot_troop_personalityclash2_object, "trp_npc18"), #Mother - Saint Gall
      (troop_set_slot, "trp_npc23", slot_troop_personalitymatch_object, "trp_npc24"), #Mother - Little Signy
      (troop_set_slot, "trp_npc23", slot_troop_home, "p_castle_49"), #Skyfa
      (troop_set_slot, "trp_npc23", slot_troop_payment_request, 0),
      (troop_set_slot, "trp_npc23", slot_troop_kingsupport_argument, argument_claim),
      (troop_set_slot, "trp_npc23", slot_troop_kingsupport_opponent, "trp_npc18"), #Saint Gall
      (troop_set_slot, "trp_npc23", slot_troop_town_with_contacts, "p_castle_49"), #Skyfa
      (troop_set_slot, "trp_npc23", slot_troop_original_faction, 0), #
      (troop_set_slot, "trp_npc23", slot_lord_reputation_type, lrep_custodian), #
      (troop_set_slot, "trp_npc23", slot_troop_religion, 2), # pagan

      (troop_set_slot, "trp_npc24", slot_troop_morality_type, tmt_aristocratic), # Little Signy - Sister
      (troop_set_slot, "trp_npc24", slot_troop_morality_value, 4),
      (troop_set_slot, "trp_npc24", slot_troop_2ary_morality_type, -1),
      (troop_set_slot, "trp_npc24", slot_troop_2ary_morality_value, 0),
      (troop_set_slot, "trp_npc24", slot_troop_personalityclash_object, "trp_npc18"), #Little Signy - Saint Gall
      (troop_set_slot, "trp_npc24", slot_troop_personalityclash2_object, "trp_npc18"), #Little Signy - Saint Gall
      (troop_set_slot, "trp_npc24", slot_troop_personalitymatch_object, "trp_npc23"), #Little Signy - Mother
      (troop_set_slot, "trp_npc24", slot_troop_home, "p_village_49"), #Skyfa_By
      (troop_set_slot, "trp_npc24", slot_troop_payment_request, 0),
      (troop_set_slot, "trp_npc24", slot_troop_kingsupport_argument, argument_claim),
      (troop_set_slot, "trp_npc24", slot_troop_kingsupport_opponent, "trp_npc18"), #Saint Gall
      (troop_set_slot, "trp_npc24", slot_troop_town_with_contacts, "p_village_49"), #Skyfa_By
      (troop_set_slot, "trp_npc24", slot_troop_original_faction, 0), #
      (troop_set_slot, "trp_npc24", slot_lord_reputation_type, lrep_custodian), #
      (troop_set_slot, "trp_npc24", slot_troop_religion, 2), # pagan

      (troop_set_slot, "trp_npc25", slot_troop_morality_type, tmt_aristocratic), # Valkyrie
      (troop_set_slot, "trp_npc25", slot_troop_morality_value, 4),
      (troop_set_slot, "trp_npc25", slot_troop_2ary_morality_type, -1),
      (troop_set_slot, "trp_npc25", slot_troop_2ary_morality_value, 0),
      (troop_set_slot, "trp_npc25", slot_troop_personalityclash_object, "trp_npc18"), #Valkyrie - Saint Gall
      (troop_set_slot, "trp_npc25", slot_troop_personalityclash2_object, "trp_npc18"), #Valkyrie - Saint Gall
      (troop_set_slot, "trp_npc25", slot_troop_personalitymatch_object, "trp_npc17"), #Valkyrie - Beowulf
      (troop_set_slot, "trp_npc25", slot_troop_home, "p_castle_52"), #Heidabyr
      (troop_set_slot, "trp_npc25", slot_troop_payment_request, 300),
      (troop_set_slot, "trp_npc25", slot_troop_kingsupport_argument, argument_claim),
      (troop_set_slot, "trp_npc25", slot_troop_kingsupport_opponent, "trp_npc18"), #Saint Gall
      (troop_set_slot, "trp_npc25", slot_troop_town_with_contacts, "p_castle_52"), #Heidabyr
      (troop_set_slot, "trp_npc25", slot_troop_original_faction, 0), #
      (troop_set_slot, "trp_npc25", slot_lord_reputation_type, lrep_custodian), #
      (troop_set_slot, "trp_npc25", slot_troop_religion, 2), # pagan

      (troop_set_slot, "trp_npc26", slot_troop_morality_type, tmt_aristocratic), # Loki
      (troop_set_slot, "trp_npc26", slot_troop_morality_value, 4),
      (troop_set_slot, "trp_npc26", slot_troop_2ary_morality_type, -1),
      (troop_set_slot, "trp_npc26", slot_troop_2ary_morality_value, 0),
      (troop_set_slot, "trp_npc26", slot_troop_personalityclash_object, "trp_npc18"), #Loki - Saint Gall
      (troop_set_slot, "trp_npc26", slot_troop_personalityclash2_object, "trp_npc18"), #Loki - Saint Gall
      (troop_set_slot, "trp_npc26", slot_troop_personalitymatch_object, "trp_npc17"), #Loki - Beowulf
      (troop_set_slot, "trp_npc26", slot_troop_home, "p_castle_50"), #Vebjorg
      (troop_set_slot, "trp_npc26", slot_troop_payment_request, 0),
      (troop_set_slot, "trp_npc26", slot_troop_kingsupport_argument, argument_claim),
      (troop_set_slot, "trp_npc26", slot_troop_kingsupport_opponent, "trp_npc18"), #Saint Gall
      (troop_set_slot, "trp_npc26", slot_troop_town_with_contacts, "p_castle_50"), #Vebjorg
      (troop_set_slot, "trp_npc26", slot_troop_original_faction, 0), #
      (troop_set_slot, "trp_npc26", slot_lord_reputation_type, lrep_custodian), #
      (troop_set_slot, "trp_npc26", slot_troop_religion, 2), # pagan

Any ideas? Anybody out there?

EDIT: Thanks to the mod for the editing!
 
Last edited:
Ok, I decided to try a new thing, I begun a new game not in the "storyline campaign" but in the "sandbox campaign"... and buumm... all the 10 companions were there...
 
Back
Top Bottom