SP Native [WB] A collection of alternative companions

Currently Viewing (Users: 0, Guests: 1)

yrizoud

Recruit
Best answers
0
Are you fed up of having Jeremus as your medic on every campaign? Read on.
I'm working on a mod that replaces the 16 native companions, allowing for a different play experiences (and experimentations). I played many campaigns with the native 16, and I find I'm running in circles, always using the same guys for the same role. Malik's companion collection has given me a lot of food for thought, but I know I want the 16 to stay low-level enough that you can customize them over the course of the game.

All companions have very basic equipment so that the player equips them as he wants, with little regard for the low-level stuff they originally came with. For the same reason, they have equalized weapon proficiencies and some basics of strong draw / throwing / horse archery.
Dislikes are disabled, and I don't plan to implement any character-specific ones.
No companions are 'noble'. Calradian nobles should object to you granting fiefs to *anyone* you found in a tavern !:smile:
No companions are warriors by design. All have the potential of being strong warriors if you specialize them as such (and it will never make you waste the potential of an unreplaceable specialist).



I made 4 groups:
The sergents
Hiring cost : 1500, level:15, number: 2
Their unusual train:7 makes them teach the player, all companions, and T1 - T3 troops. However you need to level them further, if you want them to train T4 then T5 troops.
They can be useful at any point of the game, but if you don't carry them throughout the game, a more INT-optimized companion will catch up levels and easily overtake their skill.
I made 2, so that it's easier to find one. Their stats are subtly different, but it's mostly for flavor.
I also gave them Surgery 2, because when all hell breaks loose (better medics are KO), good sergents keep rookies alive.

The blank slates
Hiring cost : 0, level:1, number: 5
They are balanced and scaled similarly as the original Marnid/Ymira.
If you optimize them for INT they will be your experts in at least 2 domains, if you optimize them for combat they will be your most optimized fighters.

The adventurers
Hiring cost : 200, level:6, number: 6
Each one has a 1-3 points in 5 support skills, so they are early "jack-of-all-trades" helpers. They pay these early advantages by taking a bit longer to reach INT 30.
It's still not a mistake to use one as your specialist for some support skill.

The early specialists
Hiring cost : 500, level:10, number: 3
  • A medic (wound treatment, surgery, first aid: 4)
  • A scout (pathfinding, spotting, tracking: 4)
  • A scholar (engineer, tactics, trade: 4)
Getting one early is an advantage because of their specialties, but it's not necessary to travel all over Calradia looking for one, as a level 6 one can easily catch up by the time you finally find the one you were looking for.

The mod is designed to be easy to patcg into the mods I mostly play (Tocan's Calradia, Native enhanced expansion)
TODO :
  • In-depth testing and balancing
  • The sergents probably need some tradeoff / upkeep / requirement for balance.
  • Random 'contacts' town (current placeholder is Ichamur)
  • More generic dialogs, instead of using the ones from the companion they replace

version 1, 30/08/2019
module_scripts.py
Code:
  ("initialize_npcs",
    [

# set strings

#--- alternative companions - begin ---
        (try_for_range, ":npc", companions_begin, companions_end),
			(troop_set_slot, ":npc", slot_troop_morality_type, tmt_humanitarian),
			(troop_set_slot, ":npc", slot_troop_morality_value, 2),  
			(troop_set_slot, ":npc", slot_troop_2ary_morality_type, tmt_honest),
			(troop_set_slot, ":npc", slot_troop_2ary_morality_value, 1),
			(troop_set_slot, ":npc", slot_troop_personalityclash_object, "trp_kradus"),
			(troop_set_slot, ":npc", slot_troop_personalityclash2_object, "trp_kradus"),
			(troop_set_slot, ":npc", slot_troop_personalitymatch_object, "trp_kradus"),
			(troop_set_slot, ":npc", slot_troop_home, "p_zendar"),
			(troop_set_slot, ":npc", slot_troop_kingsupport_argument, argument_commons),
			(troop_set_slot, ":npc", slot_troop_kingsupport_opponent, "trp_kradus"),
			#(store_random_in_range, ":contacts_town", 1, 22),
			(troop_set_slot, ":npc", slot_troop_town_with_contacts, "p_town_17"),
			(troop_set_slot, ":npc", slot_troop_original_faction, 0),
			(store_random_in_range, ":reputation", lrep_martial, lrep_custodian),
			(troop_set_slot, ":npc", slot_lord_reputation_type, ":reputation"),
		(try_end),
		
		(troop_set_slot, "trp_npc1", slot_troop_payment_request, 1500),
		(troop_set_slot, "trp_npc2", slot_troop_payment_request, 1500),
		(troop_set_slot, "trp_npc3", slot_troop_payment_request, 0),
		(troop_set_slot, "trp_npc4", slot_troop_payment_request, 0),
		(troop_set_slot, "trp_npc5", slot_troop_payment_request, 0),
		(troop_set_slot, "trp_npc6", slot_troop_payment_request, 0),
		(troop_set_slot, "trp_npc7", slot_troop_payment_request, 0),
		(troop_set_slot, "trp_npc8", slot_troop_payment_request, 200),
		(troop_set_slot, "trp_npc9", slot_troop_payment_request, 200),
		(troop_set_slot, "trp_npc10", slot_troop_payment_request, 200),
		(troop_set_slot, "trp_npc11", slot_troop_payment_request, 200),
		(troop_set_slot, "trp_npc12", slot_troop_payment_request, 200),
		(troop_set_slot, "trp_npc13", slot_troop_payment_request, 200),
		(troop_set_slot, "trp_npc14", slot_troop_payment_request, 500),
		(troop_set_slot, "trp_npc15", slot_troop_payment_request, 500),
		(troop_set_slot, "trp_npc16", slot_troop_payment_request, 500),

#--- alternative companions - end ---
        (store_sub, "$number_of_npc_slots", slot_troop_strings_end, slot_troop_intro),

        (try_for_range, ":npc", companions_begin, companions_end),
module_troops.py
Code:
#Companions
  ["kingdom_heroes_including_player_begin",  "kingdom_heroes_including_player_begin",  "kingdom_heroes_including_player_begin",  tf_hero, 0,reserved,  fac_kingdom_1,[],          lord_attrib,wp(220),knows_lord_1, 0x000000000010918a01f248377289467d],
#--- alternative companions - start ---

# sergents
  ["npc1","Valeria","Valeria",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_aketon_green,itm_splinted_leather_greaves,itm_scale_gauntlets,itm_bastard_sword_a,itm_tab_shield_kite_b,itm_hunter],
   str_11|agi_13|int_8|cha_12|level(15),wp(110),knows_inventory_management_2|knows_trainer_7|knows_tactics_4|knows_surgery_2|knows_engineer_2|knows_looting_2|knows_ironflesh_3|knows_power_strike_1|knows_power_throw_2|knows_power_draw_2|knows_weapon_master_4|knows_shield_1|knows_athletics_2|knows_riding_3|knows_horse_archery_2|knows_leadership_3,
   0x0000000f790420043bd929a12429b8d300000000001db9040000000000000000],
  ["npc2","Heinrich","Heinrich", tf_hero|tf_unmoveable_in_party_window, 0,reserved, fac_commoners,[itm_aketon_green,itm_splinted_leather_greaves,itm_scale_gauntlets,itm_winged_mace,itm_tab_shield_pavise_a,itm_crossbow,itm_bolts],
   str_13|agi_11|int_8|cha_12|level(15),wp(110),knows_inventory_management_2|knows_trainer_7|knows_tactics_2|knows_surgery_2|knows_engineer_4|knows_looting_2|knows_ironflesh_4|knows_power_strike_1|knows_power_throw_3|knows_power_draw_2|knows_weapon_master_4|knows_shield_1|knows_athletics_4|knows_riding_2|knows_leadership_3,
   0x0000000fff1015450b0dada49a41defe00000000001d39320000000000000000],
# level 1 blank slates
   ["npc3","Ava","Ava",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_short_tunic,itm_woolen_hose,itm_dagger],
   str_8|agi_8|int_11|cha_12|level(1),wp(40),knows_inventory_management_2|knows_tracking_1|knows_pathfinding_1|knows_ironflesh_2|knows_power_strike_2|knows_power_throw_2|knows_power_draw_2|knows_weapon_master_2|knows_shield_1|knows_athletics_1|knows_riding_1,
   0x00000002210040030f1851b888699d1200000000001e36430000000000000000],
  ["npc4","Clement","Clement",tf_hero|tf_unmoveable_in_party_window, 0,reserved, fac_commoners,[itm_red_shirt,itm_hide_boots,itm_dagger],
   str_8|agi_8|int_11|cha_12|level(1),wp(40),knows_inventory_management_2|knows_tactics_1|knows_spotting_1|knows_ironflesh_2|knows_power_strike_2|knows_power_throw_2|knows_power_draw_2|knows_weapon_master_2|knows_shield_1|knows_athletics_1|knows_riding_1,
   0x00000007bf083007460e8937a610069c00000000001f78b20000000000000000],
  ["npc5","Elina","Elina",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_peasant_dress,itm_woolen_hose,itm_dagger],
   str_8|agi_8|int_11|cha_12|level(1),wp(40),knows_inventory_management_2|knows_surgery_1|knows_looting_1|knows_ironflesh_2|knows_power_strike_2|knows_power_throw_2|knows_power_draw_2|knows_weapon_master_2|knows_shield_1|knows_athletics_1|knows_riding_1,
   0x00000002290c30064b947642e38e252d00000000001e36ea0000000000000000],
  ["npc6","Arthur","Arthur",tf_hero|tf_unmoveable_in_party_window, 0,reserved, fac_commoners,[itm_hide_boots,itm_dagger,itm_headcloth],
   str_8|agi_8|int_11|cha_12|level(1),wp(40),knows_inventory_management_2|knows_wound_treatment_1|knows_first_aid_1|knows_ironflesh_2|knows_power_strike_2|knows_power_throw_2|knows_power_draw_2|knows_weapon_master_2|knows_shield_1|knows_athletics_1|knows_riding_1,
   0x000000002f042044469c12352baac95a00000000001f43340000000000000000],
  ["npc7","Susan","Susan",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_red_shirt,itm_woolen_hose,itm_dagger],
   str_8|agi_8|int_11|cha_12|level(1),wp(40),knows_inventory_management_2|knows_engineer_1|knows_trade_1|knows_ironflesh_2|knows_power_strike_2|knows_power_throw_2|knows_power_draw_2|knows_weapon_master_2|knows_shield_1|knows_athletics_1|knows_riding_1,
   0x000000021204200132928358cb6a472c00000000001dc2d50000000000000000],
# level 6 adventurers
   ["npc8","Ben","Ben",tf_hero|tf_unmoveable_in_party_window, 0,reserved, fac_commoners,[itm_red_tunic,itm_hide_boots,itm_sword_viking_1,itm_nordic_shield,itm_sumpter_horse],
   str_10|agi_9|int_13|cha_11|level(6),wp(80),knows_inventory_management_2|knows_trainer_1|knows_tracking_2|knows_pathfinding_3|knows_spotting_1|knows_wound_treatment_2|knows_trade_3|knows_looting_2|knows_ironflesh_1|knows_power_strike_1|knows_power_throw_1|knows_power_draw_1|knows_weapon_master_3|knows_shield_2|knows_athletics_2|knows_riding_2|knows_horse_archery_3,
   0x00000005750c2145390892ecb3cc38a900000000001d5ad90000000000000000],
  ["npc9","Bridget","Bridget",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_blue_tunic,itm_ankle_boots,itm_spear,itm_nordic_shield,itm_sumpter_horse],
   str_10|agi_9|int_13|cha_11|level(6),wp(80),knows_inventory_management_2|knows_trainer_1|knows_tactics_2|knows_pathfinding_1|knows_spotting_3|knows_first_aid_2|knows_looting_3|knows_ironflesh_1|knows_power_strike_1|knows_power_throw_1|knows_power_draw_1|knows_weapon_master_3|knows_shield_2|knows_athletics_2|knows_riding_2|knows_horse_archery_3,
   0x00000002060810045cec69d2add54b1e000000000005196d0000000000000000],
  ["npc10","Sven","Sven",tf_hero|tf_unmoveable_in_party_window, 0,reserved, fac_commoners,[itm_green_tunic,itm_hide_boots,itm_spear,itm_saddle_horse,itm_nordic_shield],
   str_10|agi_9|int_13|cha_11|level(6),wp(80),knows_inventory_management_2|knows_trainer_1|knows_tracking_3|knows_spotting_2|knows_wound_treatment_1|knows_surgery_2|knows_engineer_2|knows_ironflesh_1|knows_power_strike_1|knows_power_throw_1|knows_power_draw_1|knows_weapon_master_3|knows_shield_2|knows_athletics_2|knows_riding_2|knows_horse_archery_3,
   0x000000008b08030a460e8937a610069c00000000001f78b20000000000000000],
  ["npc11","Louise","Louise",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_linen_tunic,itm_woolen_hose,itm_spear,itm_saddle_horse,itm_nordic_shield],
   str_10|agi_9|int_13|cha_11|level(6),wp(80),knows_inventory_management_2|knows_trainer_1|knows_tracking_2|knows_tactics_4|knows_pathfinding_2|knows_engineer_2|knows_trade_1|knows_ironflesh_1|knows_power_strike_1|knows_power_throw_1|knows_power_draw_1|knows_weapon_master_3|knows_shield_2|knows_athletics_2|knows_riding_2|knows_horse_archery_3,
   0x000000091808000356094b389161a48000000000001e52860000000000000000],
  ["npc12","Malik","Malik",tf_hero|tf_unmoveable_in_party_window, 0,reserved, fac_commoners,[itm_linen_tunic,itm_hide_boots,itm_axe,itm_short_bow,itm_arrows],
   str_10|agi_9|int_13|cha_11|level(6),wp(80),knows_inventory_management_2|knows_trainer_1|knows_wound_treatment_3|knows_surgery_2|knows_first_aid_1|knows_engineer_3|knows_trade_2|knows_ironflesh_1|knows_power_strike_1|knows_power_throw_1|knows_power_draw_1|knows_weapon_master_3|knows_shield_2|knows_athletics_2|knows_riding_2|knows_horse_archery_3,
   0x00000009f40472802921b1c79da9a51400000000001d8af30000000000000000],
  ["npc13","Sophia","Sophia",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_short_tunic,itm_woolen_hose,itm_fighting_axe,itm_wooden_shield,itm_short_bow,itm_arrows],
   str_12|agi_10|int_13|cha_11|level(6),wp(80),knows_inventory_management_2|knows_trainer_1|knows_tactics_2|knows_surgery_3|knows_first_aid_3|knows_looting_1|knows_ironflesh_1|knows_power_strike_1|knows_power_throw_1|knows_power_draw_1|knows_weapon_master_3|knows_shield_2|knows_athletics_2|knows_riding_2|knows_horse_archery_3,
   0x00000006cd100003420fbf165cd4fd2c00000000001c12680000000000000000],
# level 10 specialists
   ["npc14","Andy","Andy",tf_hero|tf_unmoveable_in_party_window, 0,reserved, fac_commoners,[itm_tunic_with_green_cape,itm_hunter_boots,itm_crossbow,itm_bolts],
   str_9|agi_10|int_14|cha_13|level(10),wp(60),knows_inventory_management_2|knows_trainer_3|knows_tactics_4|knows_engineer_4|knows_trade_4|knows_ironflesh_2|knows_power_strike_1|knows_power_throw_1|knows_power_draw_1|knows_weapon_master_2|knows_athletics_3|knows_riding_2|knows_horse_archery_2,
   0x00000009c90405c4695c8dba9440c8e900000000001ca6e20000000000000000],
  ["npc15","Blandine","Blandine",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_blue_gambeson,itm_woolen_hose,itm_mace_2,itm_tab_shield_heater_a],
   str_9|agi_9|int_14|cha_13|level(10),wp(60),knows_inventory_management_2|knows_trainer_3|knows_surgery_4|knows_first_aid_4|knows_engineer_4|knows_ironflesh_2|knows_power_strike_1|knows_power_throw_1|knows_power_draw_1|knows_weapon_master_2|knows_athletics_3|knows_riding_2|knows_horse_archery_2,
   0x00000001400000010d1a2a26e391cad500000000001e59610000000000000000],
  ["npc16","Gorek","Gorek",tf_hero|tf_unmoveable_in_party_window, 0,reserved, fac_commoners,[itm_red_gambeson,itm_hide_boots,itm_dagger,itm_long_bow,itm_arrows],
   str_10|agi_9|int_14|cha_13|level(10),wp(60),knows_inventory_management_2|knows_trainer_3|knows_tracking_4|knows_pathfinding_4|knows_spotting_4|knows_ironflesh_2|knows_power_strike_1|knows_power_throw_1|knows_power_draw_1|knows_weapon_master_2|knows_athletics_3|knows_riding_2|knows_horse_archery_2,
   0x00000000b008100b460e8937a610069c00000000001f78b20000000000000000],

#--- alternative companions - end ---

#NPC system changes end

#governers olgrel rasevas                                                                        Horse          Bodywear                Footwear_in                     Footwear_out                    Armor                       Weapon                  Shield                  Headwaer
 

yrizoud

Recruit
Best answers
0
Progress report...
With Tocan's Calradia (1.6) :
+ This merges easily with the Python files. all the native items I had chosen are still there
- Tocan's uses a different 'face' system with more sliders, and the binary numbers I designed in Native don't look the same. I should re-create the faces in the editor and store the Tocan's faces separately.
Haven't played a real game with it.

With Native Expansion :
This was very hard to integrate because the last available Python sources are from  .608b, in 2013. Further developments are only distributed in txt form.
I had to compile the .608 sources and compare the results to the .625 txt, in order to reverse-engineer the "initialize_npcs" function in scripts.txt.
In case this helps someone for his own works... At this time, the original line is
286 500 3 355 62 2 500 3 355 63 4 500 3 355 64 1 500 3 355 66 -1 500 3 355 71 361 500 3 355 73 370 500 3 355 75 356 500 3 355 60 117 500 3 355 141 300 500 3 355 143 2 500 3 355 144 368 500 3 355 67 39 500 3 355 14 0 500 3 355 52 8 500 3 355 14 17 500 3 355 301 -100 500 3 355 302 0 500 3 356 62 3 500 3 356 63 2 500 3 356 64 4 500 3 356 66 1 500 3 356 71 359 500 3 356 73 363 500 3 356 75 355 500 3 356 60 23 500 3 356 141 0 500 3 356 143 4 500 3 356 144 370 500 3 356 67 23 500 3 356 14 0 500 3 356 52 10 500 3 356 14 14 500 3 356 301 -100 500 3 356 302 0 500 3 357 62 3 500 3 357 63 4 500 3 357 64 1 500 3 357 66 -1 500 3 357 71 368 500 3 357 73 362 500 3 357 75 363 500 3 357 60 25 500 3 357 141 0 500 3 357 143 5 500 3 357 144 359 500 3 357 67 37 500 3 357 14 0 500 3 357 52 9 500 3 357 141 12000 500 3 357 14 13 500 3 357 301 6 500 3 357 302 0 500 3 358 62 1 500 3 358 63 4 500 3 358 64 4 500 3 358 66 -1 500 3 358 71 364 500 3 358 73 361 500 3 358 75 359 500 3 358 60 126 500 3 358 141 300 500 3 358 143 1 500 3 358 144 360 500 3 358 67 25 500 3 358 14 0 500 3 358 52 4 500 3 358 141 500 500 3 358 14 16 500 3 358 301 -100 500 3 358 302 0 500 3 359 62 2 500 3 359 63 3 500 3 359 64 -1 500 3 359 66 0 500 3 359 71 356 500 3 359 73 365 500 3 359 75 358 500 3 359 60 36 500 3 359 141 400 500 3 359 143 2 500 3 359 144 363 500 3 359 67 32 500 3 359 14 15 500 3 359 52 4 500 3 359 301 -100 500 3 359 302 0 500 3 360 62 3 500 3 360 63 2 500 3 360 64 4 500 3 360 66 1 500 3 360 71 365 500 3 360 73 367 500 3 360 75 366 500 3 360 60 26 500 3 360 141 0 500 3 360 143 4 500 3 360 144 362 500 3 360 67 29 500 3 360 14 13 500 3 360 52 7 500 3 360 301 -100 500 3 360 302 0 500 3 361 62 2 500 3 361 63 3 500 3 361 64 -1 500 3 361 66 0 500 3 361 71 355 500 3 361 73 358 500 3 361 75 370 500 3 361 60 97 500 3 361 143 4 500 3 361 144 357 500 3 361 67 24 500 3 361 14 0 500 3 361 52 10 500 3 361 14 17 500 3 361 301 -100 500 3 361 302 0 500 3 362 62 1 500 3 362 63 3 500 3 362 64 -1 500 3 362 66 0 500 3 362 71 366 500 3 362 73 357 500 3 362 75 367 500 3 362 60 228 500 3 362 143 5 500 3 362 144 356 500 3 362 67 34 500 3 362 14 16 500 3 362 52 1 500 3 362 141 700 500 3 362 301 9 500 3 362 302 0 500 3 363 62 1 500 3 363 63 2 500 3 363 64 4 500 3 363 66 1 500 3 363 71 367 500 3 363 73 356 500 3 363 75 357 500 3 363 60 35 500 3 363 143 5 500 3 363 144 355 500 3 363 67 30 500 3 363 14 14 500 3 363 52 1 500 3 363 141 16000 500 3 363 301 6 500 3 363 302 0 500 3 364 62 3 500 3 364 63 2 500 3 364 64 2 500 3 364 66 1 500 3 364 71 358 500 3 364 73 368 500 3 364 75 365 500 3 364 60 72 500 3 364 141 200 500 3 364 143 2 500 3 364 144 361 500 3 364 67 27 500 3 364 14 17 500 3 364 52 9 500 3 364 301 -100 500 3 364 302 0 500 3 365 62 2 500 3 365 63 3 500 3 365 64 -1 500 3 365 66 0 500 3 365 71 360 500 3 365 73 359 500 3 365 75 364 500 3 365 60 28 500 3 365 141 100 500 3 365 143 1 500 3 365 144 369 500 3 365 67 28 500 3 365 14 0 500 3 365 52 10 500 3 365 301 -100 500 3 365 302 0 500 3 366 62 3 500 3 366 63 3 500 3 366 64 -1 500 3 366 66 0 500 3 366 71 362 500 3 366 73 369 500 3 366 75 360 500 3 366 60 60 500 3 366 141 0 500 3 366 143 1 500 3 366 144 367 500 3 366 67 36 500 3 366 14 0 500 3 366 52 9 500 3 366 301 -100 500 3 366 302 0 500 3 367 62 1 500 3 367 63 3 500 3 367 64 -1 500 3 367 66 0 500 3 367 71 363 500 3 367 73 360 500 3 367 75 362 500 3 367 60 59 500 3 367 141 300 500 3 367 143 1 500 3 367 144 364 500 3 367 67 26 500 3 367 14 0 500 3 367 52 8 500 3 367 301 -100 500 3 367 302 0 500 3 368 62 1 500 3 368 63 4 500 3 368 64 2 500 3 368 66 -1 500 3 368 71 357 500 3 368 73 364 500 3 368 75 369 500 3 368 60 62 500 3 368 141 400 500 3 368 143 4 500 3 368 144 365 500 3 368 67 38 500 3 368 14 0 500 3 368 52 3 500 3 368 141 14000 500 3 368 14 13 500 3 368 301 -100 500 3 368 302 200 500 3 369 62 2 500 3 369 63 2 500 3 369 64 4 500 3 369 66 1 500 3 369 71 370 500 3 369 73 366 500 3 369 75 368 500 3 369 60 45 500 3 369 141 300 500 3 369 143 2 500 3 369 144 358 500 3 369 67 40 500 3 369 52 10 500 3 369 141 18000 500 3 369 14 13 500 3 369 301 -100 500 3 369 302 200 500 3 370 62 1 500 3 370 63 4 500 3 370 64 3 500 3 370 66 -1 500 3 370 71 369 500 3 370 73 355 500 3 370 75 361 500 3 370 60 112 500 3 370 141 200 500 3 370 143 5 500 3 370 144 366 500 3 370 67 31 500 3 370 52 8 500 3 370 14 15 500 3 370 301 -100 500 3 370 302 0 2121 3 144115188075856541 141 101 6 3 1224979098644774912 355 371 6 3 1224979098644774913 0 144115188075856541 2120 3 1224979098644774914 1224979098644774913 101 2122 3 1224979098644774915 1224979098644774913 16 2120 3 1224979098644774916 216172782113784255 1224979098644774915 2105 2 1224979098644774916 1224979098644774912 2106 2 1224979098644774916 355 500 3 1224979098644774912 1224979098644774914 1224979098644774916 3 0 3 0 1 6 402 45 0 -1 -1 -1 500 3 510 14 13 500 3 511 14 14 500 3 512 14 15 500 3 513 14 16 500 3 514 14 17 500 3 515 14 18 6 3 1224979098644774917 510 516 500 3 1224979098644774917 52 0 3 0
and my modified version is
285 500 3 355 62 -1 500 3 355 63 4 500 3 355 64 -1 500 3 355 66 -1 500 3 355 71 318 500 3 355 73 318 500 3 355 75 318 500 3 355 60 -1 500 3 355 141 1500 500 3 355 143 2 500 3 355 144 318 500 3 355 67 39 500 3 355 14 0 500 3 355 52 8 500 3 355 14 17 500 3 355 301 -100 500 3 355 302 0 500 3 356 62 -1 500 3 356 63 4 500 3 356 64 -1 500 3 356 66 1 500 3 356 71 318 500 3 356 73 318 500 3 356 75 318 500 3 356 60 -1 500 3 356 141 1500 500 3 356 143 4 500 3 356 144 318 500 3 356 67 23 500 3 356 14 0 500 3 356 52 10 500 3 356 14 14 500 3 356 301 -100 500 3 356 302 0 500 3 357 62 -1 500 3 357 63 4 500 3 357 64 -1 500 3 357 66 -1 500 3 357 71 318 500 3 357 73 318 500 3 357 75 318 500 3 357 60 -1 500 3 357 141 0 500 3 357 143 5 500 3 357 144 318 500 3 357 67 37 500 3 357 14 0 500 3 357 52 9 500 3 357 14 13 500 3 357 301 -100 500 3 357 302 0 500 3 358 62 -1 500 3 358 63 4 500 3 358 64 -1 500 3 358 66 -1 500 3 358 71 318 500 3 358 73 318 500 3 358 75 318 500 3 358 60 -1 500 3 358 141 0 500 3 358 143 1 500 3 358 144 318 500 3 358 67 25 500 3 358 14 0 500 3 358 52 4 500 3 358 141 500 500 3 358 14 16 500 3 358 301 -100 500 3 358 302 0 500 3 359 62 -1 500 3 359 63 4 500 3 359 64 -1 500 3 359 66 0 500 3 359 71 318 500 3 359 73 318 500 3 359 75 318 500 3 359 60 -1 500 3 359 141 0 500 3 359 143 2 500 3 359 144 318 500 3 359 67 32 500 3 359 14 15 500 3 359 52 4 500 3 359 301 -100 500 3 359 302 0 500 3 360 62 -1 500 3 360 63 4 500 3 360 64 -1 500 3 360 66 1 500 3 360 71 318 500 3 360 73 318 500 3 360 75 318 500 3 360 60 -1 500 3 360 141 0 500 3 360 143 4 500 3 360 144 318 500 3 360 67 29 500 3 360 14 13 500 3 360 52 7 500 3 360 301 -100 500 3 360 302 0 500 3 361 62 -1 500 3 361 63 4 500 3 361 64 -1 500 3 361 66 0 500 3 361 71 318 500 3 361 73 318 500 3 361 75 318 500 3 361 60 -1 500 3 361 143 4 500 3 361 144 318 500 3 361 67 24 500 3 361 14 0 500 3 361 52 10 500 3 361 14 17 500 3 361 301 -100 500 3 361 302 0 500 3 362 62 -1 500 3 362 63 4 500 3 362 64 -1 500 3 362 66 0 500 3 362 71 318 500 3 362 73 318 500 3 362 75 318 500 3 362 60 -1 500 3 362 143 5 500 3 362 144 318 500 3 362 67 34 500 3 362 14 16 500 3 362 52 1 500 3 362 141 200 500 3 362 301 -100 500 3 362 302 0 500 3 363 62 -1 500 3 363 63 4 500 3 363 64 -1 500 3 363 66 1 500 3 363 71 318 500 3 363 73 318 500 3 363 75 318 500 3 363 60 -1 500 3 363 143 5 500 3 363 144 318 500 3 363 67 30 500 3 363 14 14 500 3 363 52 1 500 3 363 141 200 500 3 363 301 -100 500 3 363 302 0 500 3 364 62 -1 500 3 364 63 4 500 3 364 64 -1 500 3 364 66 1 500 3 364 71 318 500 3 364 73 318 500 3 364 75 318 500 3 364 60 -1 500 3 364 141 200 500 3 364 143 2 500 3 364 144 318 500 3 364 67 27 500 3 364 14 17 500 3 364 52 9 500 3 364 301 -100 500 3 364 302 0 500 3 365 62 -1 500 3 365 63 4 500 3 365 64 -1 500 3 365 66 0 500 3 365 71 318 500 3 365 73 318 500 3 365 75 318 500 3 365 60 -1 500 3 365 141 200 500 3 365 143 1 500 3 365 144 318 500 3 365 67 28 500 3 365 14 0 500 3 365 52 10 500 3 365 301 -100 500 3 365 302 0 500 3 366 62 -1 500 3 366 63 4 500 3 366 64 -1 500 3 366 66 0 500 3 366 71 318 500 3 366 73 318 500 3 366 75 318 500 3 366 60 -1 500 3 366 141 200 500 3 366 143 1 500 3 366 144 318 500 3 366 67 36 500 3 366 14 0 500 3 366 52 9 500 3 366 301 -100 500 3 366 302 0 500 3 367 62 -1 500 3 367 63 4 500 3 367 64 -1 500 3 367 66 0 500 3 367 71 318 500 3 367 73 318 500 3 367 75 318 500 3 367 60 -1 500 3 367 141 200 500 3 367 143 1 500 3 367 144 318 500 3 367 67 26 500 3 367 14 0 500 3 367 52 8 500 3 367 301 -100 500 3 367 302 0 500 3 368 62 -1 500 3 368 63 4 500 3 368 64 -1 500 3 368 66 -1 500 3 368 71 318 500 3 368 73 318 500 3 368 75 318 500 3 368 60 -1 500 3 368 141 500 500 3 368 143 4 500 3 368 144 318 500 3 368 67 38 500 3 368 14 0 500 3 368 52 3 500 3 368 141 500 500 3 368 14 13 500 3 368 301 -100 500 3 368 302 0 500 3 369 62 -1 500 3 369 63 4 500 3 369 64 -1 500 3 369 66 1 500 3 369 71 318 500 3 369 73 318 500 3 369 75 318 500 3 369 60 -1 500 3 369 141 500 500 3 369 143 2 500 3 369 144 318 500 3 369 67 40 500 3 369 52 10 500 3 369 141 500 500 3 369 14 13 500 3 369 301 -100 500 3 369 302 0 500 3 370 62 -1 500 3 370 63 4 500 3 370 64 -1 500 3 370 66 -1 500 3 370 71 318 500 3 370 73 318 500 3 370 75 318 500 3 370 60 -1 500 3 370 141 200 500 3 370 143 5 500 3 370 144 318 500 3 370 67 31 500 3 370 52 8 500 3 370 14 15 500 3 370 301 -100 500 3 370 302 0 2121 3 144115188075856541 141 101 6 3 1224979098644774912 355 371 6 3 1224979098644774913 0 144115188075856541 2120 3 1224979098644774914 1224979098644774913 101 2122 3 1224979098644774915 1224979098644774913 16 2120 3 1224979098644774916 216172782113784255 1224979098644774915 2105 2 1224979098644774916 1224979098644774912 2106 2 1224979098644774916 355 500 3 1224979098644774912 1224979098644774914 1224979098644774916 3 0 3 0 1 6 402 45 0 -1 -1 -1 500 3 510 14 13 500 3 511 14 14 500 3 512 14 15 500 3 513 14 16 500 3 514 14 17 500 3 515 14 18 6 3 1224979098644774917 510 516 500 3 1224979098644774917 52 0 3 0
trp_npc1 to npc16 are (in this version) ID 355 to 370.
500 3 355 62 -1 sets morality to a non-existing value, and it seems to succeed in making the character object to 'nothing' (and not enjoy it either).
500 3 355 64 -1 is the same for the second morality slot (som companions disapprove two categories of actions)
500 3 355 71 318 is the first character dislike - 318 would be Kradus, unless I miscounted
500 3 355 73 318 is the second character dislike
500 3 355 75 318 is character he enjoys - Again I set all to Kradus (which is never in player's troop, so that the case never happens)
500 3 355 60 some_party_id : This sets the home village, this is what triggers the 'Hey I know this place' speech. This is more tricky because I couldn't find a "party" that was guaranteed to be "nowhere in the map" in parties.txt. I set -1, it doesn't seem to crash or output errors.
500 3 355 141 100 is the payment request. Here I had a little problem with Ymira, because the Native Expansion accidentally sets it twice, and I had only replaced the first one - the remaining price was 12000, because the Ymira replacement is a top-tier, ruler-level character! I removed the second block, which is why the line's first number is reduced by one : 286 -> 285
500 3 355 301 -100 This is specific to Native Expansion : it is the minimum honour to be able to recruit the NPC.
500 3 355 302 0 This is specific to Native Expansion : it is the minimum reknown to be able to recruit the NPC.

troops.txt :
I could copy most of what I generated, but the first line of each character is a list of item IDs, and converting looking up the ID of each item is going to take a lot of time... At the moment, I settled to copying the entire equipment of a "Camp defender" for the sergents, and some peasant stuff for all others.



After playing 65 days in Native Expansion :
I noticed I accidentally gave Blandine Tactics instead of Wound Treatment. It was a typo in the spreadsheet I used to generate the Python line.

The early game is hard because it requires a lot of money to outfit a companion that was basically naked. It's especially harsh in NE where a lot of the loot from bandits has STR 10-13 requirement, so you can't equip your companions with it. It gets much easier once you have some stronger troops that can punch through forest bandits and get their loot.
-> It's probably more interesting to increase the companion cost while giving him items that may be useful for him or someone else : the odd good shield, a pair of chainmail gloves,..
Early game (20 days?) I really lacked wound treatment. 2-3 points in every over skill felt much sufficient.
The low-level characters could catch up higher-level characters as I expected. By day 65 (IIRC), I had two at INT 21 with many skill points to spare, and then I made them specialize in the skills where no-one could quickly improve.
I found a sergent early and I think it worked pretty much how I hoped it would. He was really not a damage-dealer, and spent a lot of time KO. Still, the ability to speed up troops training is precious at every point in the game, and he can often be given high-str equipment before other characters are optimized for strength.
I only found the second sergent ~55 days into the game, despite touring 75% of the cities in general. For balance/variety, I think I will make the sergents dislike each other, with a gimmick that they are actually a married couple that can't stand serving in the same army.
Hairstyle is rarely visible because of helmets, so Clement ang Gorek are never easily recognizable. I should choose faces that rely less on hairstyle.
I tended to repeat the same levelling and "template" for several characters, which is a bit unfortunate. Maybe it's my own bias, but I feel "str-based cavalry" is always better for companions, as it gives them more occasions to kill (and thus get XP) in all the battles where you steamroll smaller groups. You can always push a precious character to the back lines when starting a tricky battle, it doesn't matter that he doesn't get XP in those.
 

Ettenrocal

Baron
Best answers
0
Very interesting mod, i wonder why it was not done before ! (Ok maybe cause not much people are playing native) Native companions are very basic and their stats often not fit with their background. So what base will be your mod Tocan's or native expansion ?
 

Antonis

Marquis
WBWF&SVCNW
Best answers
0
There's the old Malik Faris 82 companions, but it adds a TON of NPCs. This seems more organized, more cohesive.
 

yrizoud

Recruit
Best answers
0
Thanks you all for your interest and advice!
I want to make things require Native-only, so that it can easily be patched in any mod that hasn't moved too far from Native.
(Who plays raw Native? You should use the QoL improvements, like Diplomacy)
In practice, Tocan's and Native Expansion are the ones I'll be re-playing most in the months to come, so I'll maintain a set of txt files for these (ie: "NE .625 + modified companions")
The mod-specific versions may have some specifics - for example if I find more variety of starting items in the target mod.

If somebody's asking however, I'll see if I can patch another mod :smile: As long as the python files are public...

Tocan's Calradia actually already includes a work-in-progress-at-the-time of Malik's companions, so I played with them for a long time. (And it made me think "80 companions....and only two medics, one of them costing 5000 denars ?")

A funny thing is that I chose names based on portraits first (and much later associated a "function") The name Malik came naturally for the turk-looking guy, and it's only a day later that I re-discovered how it was the name of the original author of one of the mods used in Tocan's!
 

yrizoud

Recruit
Best answers
0
Here's updated version.
Changes
All dialogs implemented
The two old sergeants dislike fighting together, for a rather unusual reason.
Valeria:
Begging your pardon, captain, but there's something you should know about Heinrich. The old man's too stiff-necked to complain, but his old bones hurt, and it's getting difficult for him to keep pace with the troop.
It was merciful of you to take him along for a while, but now you should take pity of him and give him some rest. It would really put my mind to rest if he went home, where our sons can keep an eye on him.
Heinrich:
Captain, I have to speak up about Valeria. See, we're two faces of the same coin. We fought in the same wars, and not always in the same side of a battlefield. It's no wonder we married and raised our kids, got bored when they grew up and moved out, and sought out employment again at the same moment of our life.
But the clash of battle has started to hurt her hearing. She hides it masterfully, but it's getting difficult for me to focus in battle when I worry that her reduced awareness may cost her her life.
Credits and license
Everything is made by me from scratch, except some strings copied from Warband (Native)
You're free to do whatever you want with it.
Installation for Tocan's Calradia
module_scripts.py
In the line (store_mul, ":string_addition", ":slot_addition", 76), replace 76 by 16 because I stripped the companions 17-76
At the beginning of ("initialize_npcs", replace all the series of troop_set_slot by :
Code:
        (try_for_range, ":npc", companions_begin, companions_end),
			(troop_set_slot, ":npc", slot_troop_morality_type, -1),
			(troop_set_slot, ":npc", slot_troop_morality_value, 0),  
			(troop_set_slot, ":npc", slot_troop_2ary_morality_type, -1),
			(troop_set_slot, ":npc", slot_troop_2ary_morality_value, 0),
			(troop_set_slot, ":npc", slot_troop_personalityclash_object, "trp_kradus"),
			(troop_set_slot, ":npc", slot_troop_personalityclash2_object, "trp_kradus"),
			(troop_set_slot, ":npc", slot_troop_personalitymatch_object, "trp_kradus"),
			(troop_set_slot, ":npc", slot_troop_home, "p_zendar"),
			(troop_set_slot, ":npc", slot_troop_kingsupport_argument, argument_commons),
			(troop_set_slot, ":npc", slot_troop_kingsupport_opponent, "trp_kradus"),
			#(store_random_in_range, ":contacts_town", 1, 22),
			(troop_set_slot, ":npc", slot_troop_original_faction, 0),
			(store_random_in_range, ":reputation", lrep_martial, lrep_custodian),
			(troop_set_slot, ":npc", slot_lord_reputation_type, ":reputation"),
		(try_end),
		
		(troop_set_slot, "trp_npc1", slot_troop_personalityclash_object, "trp_npc2"),
		(troop_set_slot, "trp_npc2", slot_troop_personalityclash_object, "trp_npc1"),
		(troop_set_slot, "trp_npc1", slot_troop_payment_request, 1500),
		(troop_set_slot, "trp_npc2", slot_troop_payment_request, 1500),
		(troop_set_slot, "trp_npc3", slot_troop_payment_request, 0),
		(troop_set_slot, "trp_npc4", slot_troop_payment_request, 0),
		(troop_set_slot, "trp_npc5", slot_troop_payment_request, 0),
		(troop_set_slot, "trp_npc6", slot_troop_payment_request, 0),
		(troop_set_slot, "trp_npc7", slot_troop_payment_request, 0),
		(troop_set_slot, "trp_npc8", slot_troop_payment_request, 200),
		(troop_set_slot, "trp_npc9", slot_troop_payment_request, 200),
		(troop_set_slot, "trp_npc10", slot_troop_payment_request, 200),
		(troop_set_slot, "trp_npc11", slot_troop_payment_request, 200),
		(troop_set_slot, "trp_npc12", slot_troop_payment_request, 200),
		(troop_set_slot, "trp_npc13", slot_troop_payment_request, 200),
		(troop_set_slot, "trp_npc14", slot_troop_payment_request, 500),
		(troop_set_slot, "trp_npc15", slot_troop_payment_request, 500),
		(troop_set_slot, "trp_npc16", slot_troop_payment_request, 500),
		(troop_set_slot, "trp_npc1", slot_troop_town_with_contacts, "p_town_1"),
		(troop_set_slot, "trp_npc2", slot_troop_town_with_contacts, "p_town_2"),
		(troop_set_slot, "trp_npc3", slot_troop_town_with_contacts, "p_town_3"),
		(troop_set_slot, "trp_npc4", slot_troop_town_with_contacts, "p_town_4"),
		(troop_set_slot, "trp_npc5", slot_troop_town_with_contacts, "p_town_5"),
		(troop_set_slot, "trp_npc6", slot_troop_town_with_contacts, "p_town_6"),
		(troop_set_slot, "trp_npc7", slot_troop_town_with_contacts, "p_town_7"),
		(troop_set_slot, "trp_npc8", slot_troop_town_with_contacts, "p_town_8"),
		(troop_set_slot, "trp_npc9", slot_troop_town_with_contacts, "p_town_9"),
		(troop_set_slot, "trp_npc10", slot_troop_town_with_contacts, "p_town_10"),
		(troop_set_slot, "trp_npc11", slot_troop_town_with_contacts, "p_town_11"),
		(troop_set_slot, "trp_npc12", slot_troop_town_with_contacts, "p_town_12"),
		(troop_set_slot, "trp_npc13", slot_troop_town_with_contacts, "p_town_13"),
		(troop_set_slot, "trp_npc14", slot_troop_town_with_contacts, "p_town_14"),
		(troop_set_slot, "trp_npc15", slot_troop_town_with_contacts, "p_town_15"),
		(troop_set_slot, "trp_npc16", slot_troop_town_with_contacts, "p_town_16"),
module_troops.py
replace the series of npc1 - npc76 by:
Code:
# sergents
  ["npc1","Valeria","Valeria",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_aketon_green,itm_splinted_leather_greaves,itm_scale_gauntlets,itm_bastard_sword_a,itm_tab_shield_kite_b,itm_hunter],
   str_11|agi_13|int_8|cha_12|level(15),wp(110),knows_inventory_management_2|knows_trainer_7|knows_tactics_4|knows_surgery_2|knows_engineer_2|knows_looting_2|knows_ironflesh_3|knows_power_strike_1|knows_power_throw_2|knows_power_draw_2|knows_weapon_master_4|knows_shield_1|knows_athletics_2|knows_riding_3|knows_horse_archery_2|knows_leadership_3,
   0x0000000f790420043bd929a12429b8d300000000001db9040000000000000000],
  ["npc2","Heinrich","Heinrich", tf_hero|tf_unmoveable_in_party_window, 0,reserved, fac_commoners,[itm_aketon_green,itm_splinted_leather_greaves,itm_scale_gauntlets,itm_winged_mace,itm_tab_shield_pavise_a,itm_crossbow,itm_bolts],
   str_13|agi_11|int_8|cha_12|level(15),wp(110),knows_inventory_management_2|knows_trainer_7|knows_tactics_2|knows_surgery_2|knows_engineer_4|knows_looting_2|knows_ironflesh_4|knows_power_strike_1|knows_power_throw_3|knows_power_draw_2|knows_weapon_master_4|knows_shield_1|knows_athletics_4|knows_riding_2|knows_leadership_3,
   0x0000000fff1015450b0dada49a41defe00000000001d39320000000000000000],
# level 1 blank slates
   ["npc3","Ava","Ava",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_short_tunic,itm_woolen_hose,itm_dagger],
   str_8|agi_8|int_11|cha_12|level(1),wp(40),knows_inventory_management_2|knows_tracking_1|knows_pathfinding_1|knows_ironflesh_2|knows_power_strike_2|knows_power_throw_2|knows_power_draw_2|knows_weapon_master_2|knows_shield_1|knows_athletics_1|knows_riding_1,
   0x00000002210040030f1851b888699d1200000000001e36430000000000000000],
  ["npc4","Clement","Clement",tf_hero|tf_unmoveable_in_party_window, 0,reserved, fac_commoners,[itm_red_shirt,itm_hide_boots,itm_dagger],
   str_8|agi_8|int_11|cha_12|level(1),wp(40),knows_inventory_management_2|knows_tactics_1|knows_spotting_1|knows_ironflesh_2|knows_power_strike_2|knows_power_throw_2|knows_power_draw_2|knows_weapon_master_2|knows_shield_1|knows_athletics_1|knows_riding_1,
   0x00000007bf083007460e8937a610069c00000000001f78b20000000000000000],
  ["npc5","Elina","Elina",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_peasant_dress,itm_woolen_hose,itm_dagger],
   str_8|agi_8|int_11|cha_12|level(1),wp(40),knows_inventory_management_2|knows_surgery_1|knows_looting_1|knows_ironflesh_2|knows_power_strike_2|knows_power_throw_2|knows_power_draw_2|knows_weapon_master_2|knows_shield_1|knows_athletics_1|knows_riding_1,
   0x00000002290c30064b947642e38e252d00000000001e36ea0000000000000000],
  ["npc6","Arthur","Arthur",tf_hero|tf_unmoveable_in_party_window, 0,reserved, fac_commoners,[itm_hide_boots,itm_dagger,itm_headcloth],
   str_8|agi_8|int_11|cha_12|level(1),wp(40),knows_inventory_management_2|knows_wound_treatment_1|knows_first_aid_1|knows_ironflesh_2|knows_power_strike_2|knows_power_throw_2|knows_power_draw_2|knows_weapon_master_2|knows_shield_1|knows_athletics_1|knows_riding_1,
   0x000000002f042044469c12352baac95a00000000001f43340000000000000000],
  ["npc7","Susan","Susan",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_red_shirt,itm_woolen_hose,itm_dagger],
   str_8|agi_8|int_11|cha_12|level(1),wp(40),knows_inventory_management_2|knows_engineer_1|knows_trade_1|knows_ironflesh_2|knows_power_strike_2|knows_power_throw_2|knows_power_draw_2|knows_weapon_master_2|knows_shield_1|knows_athletics_1|knows_riding_1,
   0x000000021204200132928358cb6a472c00000000001dc2d50000000000000000],
# level 6 adventurers
   ["npc8","Ben","Ben",tf_hero|tf_unmoveable_in_party_window, 0,reserved, fac_commoners,[itm_red_tunic,itm_hide_boots,itm_sword_viking_1,itm_nordic_shield,itm_sumpter_horse],
   str_10|agi_9|int_13|cha_11|level(6),wp(80),knows_inventory_management_2|knows_trainer_1|knows_tracking_2|knows_pathfinding_3|knows_spotting_1|knows_wound_treatment_2|knows_trade_3|knows_looting_2|knows_ironflesh_1|knows_power_strike_1|knows_power_throw_1|knows_power_draw_1|knows_weapon_master_3|knows_shield_2|knows_athletics_2|knows_riding_2|knows_horse_archery_3,
   0x00000005750c2145390892ecb3cc38a900000000001d5ad90000000000000000],
  ["npc9","Bridget","Bridget",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_blue_tunic,itm_ankle_boots,itm_spear,itm_nordic_shield,itm_sumpter_horse],
   str_10|agi_9|int_13|cha_11|level(6),wp(80),knows_inventory_management_2|knows_trainer_1|knows_tactics_2|knows_pathfinding_1|knows_spotting_3|knows_first_aid_2|knows_looting_3|knows_ironflesh_1|knows_power_strike_1|knows_power_throw_1|knows_power_draw_1|knows_weapon_master_3|knows_shield_2|knows_athletics_2|knows_riding_2|knows_horse_archery_3,
   0x00000002060810045cec69d2add54b1e000000000005196d0000000000000000],
  ["npc10","Sven","Sven",tf_hero|tf_unmoveable_in_party_window, 0,reserved, fac_commoners,[itm_green_tunic,itm_hide_boots,itm_spear,itm_saddle_horse,itm_nordic_shield],
   str_10|agi_9|int_13|cha_11|level(6),wp(80),knows_inventory_management_2|knows_trainer_1|knows_tracking_3|knows_spotting_2|knows_wound_treatment_1|knows_surgery_2|knows_engineer_2|knows_ironflesh_1|knows_power_strike_1|knows_power_throw_1|knows_power_draw_1|knows_weapon_master_3|knows_shield_2|knows_athletics_2|knows_riding_2|knows_horse_archery_3,
   0x000000008b08030a460e8937a610069c00000000001f78b20000000000000000],
  ["npc11","Louise","Louise",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_linen_tunic,itm_woolen_hose,itm_spear,itm_saddle_horse,itm_nordic_shield],
   str_10|agi_9|int_13|cha_11|level(6),wp(80),knows_inventory_management_2|knows_trainer_1|knows_tracking_2|knows_tactics_4|knows_pathfinding_2|knows_engineer_2|knows_trade_1|knows_ironflesh_1|knows_power_strike_1|knows_power_throw_1|knows_power_draw_1|knows_weapon_master_3|knows_shield_2|knows_athletics_2|knows_riding_2|knows_horse_archery_3,
   0x000000091808000356094b389161a48000000000001e52860000000000000000],
  ["npc12","Malik","Malik",tf_hero|tf_unmoveable_in_party_window, 0,reserved, fac_commoners,[itm_linen_tunic,itm_hide_boots,itm_axe,itm_short_bow,itm_arrows],
   str_10|agi_9|int_13|cha_11|level(6),wp(80),knows_inventory_management_2|knows_trainer_1|knows_wound_treatment_3|knows_surgery_2|knows_first_aid_1|knows_engineer_3|knows_trade_2|knows_ironflesh_1|knows_power_strike_1|knows_power_throw_1|knows_power_draw_1|knows_weapon_master_3|knows_shield_2|knows_athletics_2|knows_riding_2|knows_horse_archery_3,
   0x00000009f40472802921b1c79da9a51400000000001d8af30000000000000000],
  ["npc13","Sophia","Sophia",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_short_tunic,itm_woolen_hose,itm_fighting_axe,itm_wooden_shield,itm_short_bow,itm_arrows],
   str_12|agi_10|int_13|cha_11|level(6),wp(80),knows_inventory_management_2|knows_trainer_1|knows_tactics_2|knows_surgery_3|knows_first_aid_3|knows_looting_1|knows_ironflesh_1|knows_power_strike_1|knows_power_throw_1|knows_power_draw_1|knows_weapon_master_3|knows_shield_2|knows_athletics_2|knows_riding_2|knows_horse_archery_3,
   0x00000006cd100003420fbf165cd4fd2c00000000001c12680000000000000000],
# level 10 specialists
   ["npc14","Andy","Andy",tf_hero|tf_unmoveable_in_party_window, 0,reserved, fac_commoners,[itm_tunic_with_green_cape,itm_hunter_boots,itm_crossbow,itm_bolts],
   str_9|agi_10|int_14|cha_13|level(10),wp(60),knows_inventory_management_2|knows_trainer_3|knows_tactics_4|knows_engineer_4|knows_trade_4|knows_ironflesh_2|knows_power_strike_1|knows_power_throw_1|knows_power_draw_1|knows_weapon_master_2|knows_athletics_3|knows_riding_2|knows_horse_archery_2,
   0x00000009c90405c4695c8dba9440c8e900000000001ca6e20000000000000000],
  ["npc15","Blandine","Blandine",tf_female|tf_hero|tf_unmoveable_in_party_window, 0, reserved, fac_commoners,[itm_blue_gambeson,itm_woolen_hose,itm_mace_2,itm_tab_shield_heater_a],
   str_9|agi_9|int_14|cha_13|level(10),wp(60),knows_inventory_management_2|knows_trainer_3|knows_surgery_4|knows_first_aid_4|knows_wound_treatment_4|knows_ironflesh_2|knows_power_strike_1|knows_power_throw_1|knows_power_draw_1|knows_weapon_master_2|knows_athletics_3|knows_riding_2|knows_horse_archery_2,
   0x00000001400000010d1a2a26e391cad500000000001e59610000000000000000],
  ["npc16","Gorek","Gorek",tf_hero|tf_unmoveable_in_party_window, 0,reserved, fac_commoners,[itm_red_gambeson,itm_hide_boots,itm_dagger,itm_long_bow,itm_arrows],
   str_10|agi_9|int_14|cha_13|level(10),wp(60),knows_inventory_management_2|knows_trainer_3|knows_tracking_4|knows_pathfinding_4|knows_spotting_4|knows_ironflesh_2|knows_power_strike_1|knows_power_throw_1|knows_power_draw_1|knows_weapon_master_2|knows_athletics_3|knows_riding_2|knows_horse_archery_2,
   0x00000000b008100b460e8937a610069c00000000001f78b20000000000000000],
strings.py
replace the lines npc1_intro - npc76_turn_against by : https://pastebin.com/nHgsj5VP
Installation for Native Expansion
troops.txt
Replace trp_npc1 - trp_npc16 with:
Code:
trp_npc1 Valeria Valeria 0 268435473 0 0 1 0 0
  592 0 597 0 598 0 618 0 619 0 599 0 600 0 521 0 522 0 544 0 431 0 434 0 432 0 341 0 793 0 1067 0 1046 0 1004 0 1005 0 979 0 960 0 961 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  11 13 8 12 15
 110 110 110 110 110 110 0
48 1073873410 570425456 16675 201248 0 
  66454822916 4312523890257148115 1947908 0 0 0 0 0 

trp_npc2 Heinrich Heinrich 0 268435472 0 0 1 0 0
  592 0 597 0 598 0 618 0 619 0 599 0 600 0 521 0 522 0 544 0 431 0 434 0 432 0 341 0 793 0 1067 0 1046 0 1004 0 1005 0 979 0 960 0 961 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  13 11 8 12 15
 110 110 110 110 110 110 0
48 537002500 33554544 16706 267040 0 
  68703753541 796483631588695806 1915186 0 0 0 0 0 

trp_npc3 Ava Ava 0 268435473 0 0 1 0 0
  422 0 518 0 576 0 789 0 1066 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  8 8 11 12 1
 40 40 40 40 40 40 0
0 16908288 1 8465 139808 0 
  9143599107 1087709163014429970 1979971 0 0 0 0 0 

trp_npc4 Clement Clement 0 268435472 0 0 1 0 0
  423 0 518 0 585 0 90 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  8 8 11 12 1
 40 40 40 40 40 40 0
0 269615104 0 8465 139808 0 
  33269755911 5048123104431179420 2062514 0 0 0 0 0 

trp_npc5 Elina Elina 0 268435473 0 0 1 0 0
  422 0 518 0 576 0 789 0 1066 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  8 8 11 12 1
 40 40 40 40 40 40 0
0 131328 16777216 8465 139808 0 
  9278599174 5446107879055435053 1980138 0 0 0 0 0 

trp_npc6 Arthur Arthur 0 268435472 0 0 1 0 0
  423 0 518 0 585 0 90 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  8 8 11 12 1
 40 40 40 40 40 40 0
0 135184 0 8465 139808 0 
  788799556 5087961698596997466 2048820 0 0 0 0 0 

trp_npc7 Susan Susan 0 268435473 0 0 1 0 0
  422 0 518 0 576 0 789 0 1066 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  8 8 11 12 1
 40 40 40 40 40 40 0
1 131073 0 8465 139808 0 
  8892194817 3644119465889253164 1950421 0 0 0 0 0 

trp_npc8 Ben Ben 0 268435472 0 0 1 0 0
  423 0 518 0 585 0 90 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  10 9 13 11 6
 80 80 80 80 80 80 0
3 51519488 838860818 12834 69904 0 
  23438565701 4109696205302020265 1923801 0 0 0 0 0 

trp_npc9 Bridget Bridget 0 268435473 0 0 1 0 0
  422 0 518 0 576 0 789 0 1066 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  10 9 13 11 6
 80 80 80 80 80 80 0
0 556924960 855638032 12834 69904 0 
  8691126276 6695843099573570334 334189 0 0 0 0 0 

trp_npc10 Sven Sven 0 268435472 0 0 1 0 0
  423 0 518 0 585 0 90 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  10 9 13 11 6
 80 80 80 80 80 80 0
0 2232834 805306387 12834 69904 0 
  2332558090 5048123104431179420 2062514 0 0 0 0 0 

trp_npc11 Louise Louise 0 268435473 0 0 1 0 0
  422 0 518 0 576 0 789 0 1066 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  10 9 13 11 6
 80 80 80 80 80 80 0
1 1107427330 805306386 12834 69904 0 
  39057883139 6199569068381545600 1987206 0 0 0 0 0 

trp_npc12 Malik Malik 0 268435472 0 0 1 0 0
  423 0 518 0 585 0 90 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  10 9 13 11 6
 80 80 80 80 80 80 0
2 143891 805306384 12834 69904 0 
  42748637824 2963845500688246036 1936115 0 0 0 0 0 

trp_npc13 Sophia Sophia 0 268435473 0 0 1 0 0
  422 0 518 0 576 0 789 0 1066 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  12 10 13 11 6
 80 80 80 80 80 80 0
0 537002800 822083600 12834 69904 0 
  29210181635 4760233433921551660 1839720 0 0 0 0 0 

trp_npc14 Andy Andy 0 268435472 0 0 1 0 0
  423 0 518 0 585 0 90 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  9 10 14 13 10
 60 60 60 60 60 60 0
4 1073872900 536870960 8242 135440 0 
  42027189700 7592098904330520809 1877730 0 0 0 0 0 

trp_npc15 Blandine Blandine 0 268435473 0 0 1 0 0
  422 0 518 0 576 0 789 0 1066 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  9 9 14 13 10
 60 60 60 60 60 60 0
0 132164 536870960 8242 135440 0 
  5368709121 944113418402646741 1988961 0 0 0 0 0 

trp_npc16 Gorek Gorek 0 268435472 0 0 1 0 0
  423 0 518 0 585 0 90 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  10 9 14 13 10
 60 60 60 60 60 60 0
0 71434240 536870964 8242 135440 0 
  2953318411 5048123104431179420 2062514 0 0 0 0 0
scripts.txt
Replace the long line under initialize_npcs with:
Code:
 285 500 3 355 62 -1 500 3 355 63 4 500 3 355 64 -1 500 3 355 66 -1 500 3 355 71 318 500 3 355 73 318 500 3 355 75 318 500 3 355 60 -1 500 3 355 141 1500 500 3 355 143 2 500 3 355 144 318 500 3 355 67 39 500 3 355 14 0 500 3 355 52 8 500 3 355 14 17 500 3 355 301 -100 500 3 355 302 0 500 3 356 62 -1 500 3 356 63 4 500 3 356 64 -1 500 3 356 66 1 500 3 356 71 318 500 3 356 73 318 500 3 356 75 318 500 3 356 60 -1 500 3 356 141 1500 500 3 356 143 4 500 3 356 144 318 500 3 356 67 23 500 3 356 14 0 500 3 356 52 10 500 3 356 14 14 500 3 356 301 -100 500 3 356 302 0 500 3 357 62 -1 500 3 357 63 4 500 3 357 64 -1 500 3 357 66 -1 500 3 357 71 318 500 3 357 73 318 500 3 357 75 318 500 3 357 60 -1 500 3 357 141 0 500 3 357 143 5 500 3 357 144 318 500 3 357 67 37 500 3 357 14 0 500 3 357 52 9 500 3 357 14 13 500 3 357 301 -100 500 3 357 302 0 500 3 358 62 -1 500 3 358 63 4 500 3 358 64 -1 500 3 358 66 -1 500 3 358 71 318 500 3 358 73 318 500 3 358 75 318 500 3 358 60 -1 500 3 358 141 0 500 3 358 143 1 500 3 358 144 318 500 3 358 67 25 500 3 358 14 0 500 3 358 52 4 500 3 358 141 0 500 3 358 14 16 500 3 358 301 -100 500 3 358 302 0 500 3 359 62 -1 500 3 359 63 4 500 3 359 64 -1 500 3 359 66 0 500 3 359 71 318 500 3 359 73 318 500 3 359 75 318 500 3 359 60 -1 500 3 359 141 0 500 3 359 143 2 500 3 359 144 318 500 3 359 67 32 500 3 359 14 15 500 3 359 52 4 500 3 359 301 -100 500 3 359 302 0 500 3 360 62 -1 500 3 360 63 4 500 3 360 64 -1 500 3 360 66 1 500 3 360 71 318 500 3 360 73 318 500 3 360 75 318 500 3 360 60 -1 500 3 360 141 0 500 3 360 143 4 500 3 360 144 318 500 3 360 67 29 500 3 360 14 13 500 3 360 52 7 500 3 360 301 -100 500 3 360 302 0 500 3 361 62 -1 500 3 361 63 4 500 3 361 64 -1 500 3 361 66 0 500 3 361 71 318 500 3 361 73 318 500 3 361 75 318 500 3 361 60 -1 500 3 361 143 4 500 3 361 144 318 500 3 361 67 24 500 3 361 14 0 500 3 361 52 10 500 3 361 14 17 500 3 361 301 -100 500 3 361 302 0 500 3 362 62 -1 500 3 362 63 4 500 3 362 64 -1 500 3 362 66 0 500 3 362 71 318 500 3 362 73 318 500 3 362 75 318 500 3 362 60 -1 500 3 362 143 5 500 3 362 144 318 500 3 362 67 34 500 3 362 14 16 500 3 362 52 1 500 3 362 141 200 500 3 362 301 -100 500 3 362 302 0 500 3 363 62 -1 500 3 363 63 4 500 3 363 64 -1 500 3 363 66 1 500 3 363 71 318 500 3 363 73 318 500 3 363 75 318 500 3 363 60 -1 500 3 363 143 5 500 3 363 144 318 500 3 363 67 30 500 3 363 14 14 500 3 363 52 1 500 3 363 141 200 500 3 363 301 -100 500 3 363 302 0 500 3 364 62 -1 500 3 364 63 4 500 3 364 64 -1 500 3 364 66 1 500 3 364 71 318 500 3 364 73 318 500 3 364 75 318 500 3 364 60 -1 500 3 364 141 200 500 3 364 143 2 500 3 364 144 318 500 3 364 67 27 500 3 364 14 17 500 3 364 52 9 500 3 364 301 -100 500 3 364 302 0 500 3 365 62 -1 500 3 365 63 4 500 3 365 64 -1 500 3 365 66 0 500 3 365 71 318 500 3 365 73 318 500 3 365 75 318 500 3 365 60 -1 500 3 365 141 200 500 3 365 143 1 500 3 365 144 318 500 3 365 67 28 500 3 365 14 0 500 3 365 52 10 500 3 365 301 -100 500 3 365 302 0 500 3 366 62 -1 500 3 366 63 4 500 3 366 64 -1 500 3 366 66 0 500 3 366 71 318 500 3 366 73 318 500 3 366 75 318 500 3 366 60 -1 500 3 366 141 200 500 3 366 143 1 500 3 366 144 318 500 3 366 67 36 500 3 366 14 0 500 3 366 52 9 500 3 366 301 -100 500 3 366 302 0 500 3 367 62 -1 500 3 367 63 4 500 3 367 64 -1 500 3 367 66 0 500 3 367 71 318 500 3 367 73 318 500 3 367 75 318 500 3 367 60 -1 500 3 367 141 200 500 3 367 143 1 500 3 367 144 318 500 3 367 67 26 500 3 367 14 0 500 3 367 52 8 500 3 367 301 -100 500 3 367 302 0 500 3 368 62 -1 500 3 368 63 4 500 3 368 64 -1 500 3 368 66 -1 500 3 368 71 318 500 3 368 73 318 500 3 368 75 318 500 3 368 60 -1 500 3 368 141 500 500 3 368 143 4 500 3 368 144 318 500 3 368 67 38 500 3 368 14 0 500 3 368 52 3 500 3 368 141 500 500 3 368 14 13 500 3 368 301 -100 500 3 368 302 0 500 3 369 62 -1 500 3 369 63 4 500 3 369 64 -1 500 3 369 66 1 500 3 369 71 318 500 3 369 73 318 500 3 369 75 318 500 3 369 60 -1 500 3 369 141 500 500 3 369 143 2 500 3 369 144 318 500 3 369 67 40 500 3 369 52 10 500 3 369 141 500 500 3 369 14 13 500 3 369 301 -100 500 3 369 302 0 500 3 370 62 -1 500 3 370 63 4 500 3 370 64 -1 500 3 370 66 -1 500 3 370 71 318 500 3 370 73 318 500 3 370 75 318 500 3 370 60 -1 500 3 370 141 200 500 3 370 143 5 500 3 370 144 318 500 3 370 67 31 500 3 370 52 8 500 3 370 14 15 500 3 370 301 -100 500 3 370 302 0 2121 3 144115188075856541 141 101 6 3 1224979098644774912 355 371 6 3 1224979098644774913 0 144115188075856541 2120 3 1224979098644774914 1224979098644774913 101 2122 3 1224979098644774915 1224979098644774913 16 2120 3 1224979098644774916 216172782113784255 1224979098644774915 2105 2 1224979098644774916 1224979098644774912 2106 2 1224979098644774916 355 500 3 1224979098644774912 1224979098644774914 1224979098644774916 3 0 3 0 1 6 402 45 0 -1 -1 -1 500 3 510 14 13 500 3 511 14 14 500 3 512 14 15 500 3 513 14 16 500 3 514 14 17 500 3 515 14 18 6 3 1224979098644774917 510 516 500 3 1224979098644774917 52 0 3 0
string.txt
Replace lines str_npc1_intro - str_npc16_turn_against with : https://pastebin.com/QDu3aC33



 

yrizoud

Recruit
Best answers
0
Feedback after playing about 700 days in Native Expansion and 200 in Tocan's Calradia :
- From having companions with similar stats, I've been able to compare and see that it's harder for a companion to gain combat experience if he's not a rider. This makes it preferrable to use normal troops as archers; it's till useful to have companions develop "archery/crossbow" on the side, for use in bandit lair raids and sieges.
- The face system in Tocan's Calradia is different (from Improved male faces OSP) so some characters look much different from what I designed for native system.
- Setting slot_troop_home to p_zendar doesn't work as I expected : Even if this party is not visible, it triggers the "here's my home place" dialog when you're somewhere between Radgohir and Ismirala Castle.

I'll see if I can do a balance tweak for companions that you make into lords. From my research, the stats that have an effect would be level (creates more reputation, giving bigger army limit), raw charisma, leadership skill, pathfinding, training. I'll probably provide an early boost to charisma for everybody - this would also allow an easier "trader" specialist.

I am now looking into rebalancing the stats of ladies, so that they are more interesting as wife-as-a-companion (Tocan's Calradia includes this feature). I'll also see if I can fix the dialogs so that she is acceptable as an embassador.
 

vasul

Sergeant Knight
Best answers
0
Well, why is it so difficult? Pitons, crocodiles Genes, 38 more parrots. It's a pity the time spent by the author on the project. In the program Morkhun, you open the corpse, find the NPS 16 people and put all the skills you need, you can put everything around 10. -Bab check off to whom what. 8 men and 8 women. At least do all the Amazons. At the bottom of the face code, enter the face from some sort of countess or her daughter. Only the top line. And then in the translation do not forget to change the name to match, otherwise it will be Baba Rolf and the man of Imira.
 

yrizoud

Recruit
Best answers
0
I have just started working on a version for the native-like mod called diplomacy.litdum. (For those who don't recognize the name, it's a redesigned / improved Native from 2016-2017. I love how it tastefully extrapolate on the design of khergits, swadians etc. clothes/armors/horses : If you look at a merchant's inventory, everything fits very well together).
Unfortunately sources are not public so I have to make do with the txt files.
The face system is incompatible so I have to recreate the character faces, and it includes the infamous "dollfaces" that allow little variation for female faces. I strayed a little from my original designs in order to employ some of the extra hairstyles.

(original faces/designs below for comparison :smile: