Re-equip and rebalance MP bot troops - with examples

Users who are viewing this thread

This is something I and others have already requested quite a few times; but I guess it was not seen as a high priority, and doesn't seem likely to happen. So I decided to have a go at it myself; to explain it more fully, and for any players or server admins to apply to their native module: it doesn't need any changes to the clients.

The main problems are, in my opinion: Khergit bots are too powerful and well armoured - and this has been changed for the worse in 1.126; Vaegir and Sarranid bots are too weak, with weapons bots are bad at using, bad armour, or low skills; and most bot troops are equipped with generic or ugly items, or items from another faction. So I went through each troop, removing extra items (since MP bots only ever use one combination of equipment, for some reason), swapping generic or non faction gear for items that the human players can buy; trying to: give items that players generally buy, use weapons which are iconic for the faction, give them more armour than the average player to account for AI retardedness, and use matching colours for the faction when possible. Descriptions and pictures of the changes made follow: the changed version is on the left, and the native version on the right. When I speak of "faction equipment" I mean the things accessible to that faction in multi player, not the items used in single player.

These changes have been tested and attempted to be given some sort of balance by watching bots fight without player input; I used a local dedicated server, battle mode, ruins, 10 bots per side, and probably watched at the very least three rounds of each match up between factions; trying to take into account results that were affected by one side having a lot of their weak or strong classes. They might not be very balanced when players are commanding them; I don't know. I haven't really been able to test how balanced the ranged classes are compared to anything else, since I still have the bug where bots shoot wildly and rarely hit anything.

I think this faction is pretty good regarding balance; it pretty much served as the baseline to match other factions with. Heavily armoured, but average at dealing damage.

Crossbowmen: change from generic to faction armour.
Infantry: swap Vaegir horseman armour for haubergeon; Rhodok pike for awlpike; bastard sword for sword - as bots always use a shield with it and get the speed penalty; add two handed sword - which they unfortunately never seem to use; and give them a mail armour set.
Man at arms: minor armour change to make them look better; though the bastard sword with shield is slow when dismounted, this does not matter much when on horseback.
swadian.jpg
This faction was noticeably weaker than Swadia, mainly since the spearman bots are pretty useless with a spear and spiked club, and the saddle horses die very easily. I may have made them slightly too powerful with the bardiches and hunters, but I like the similarity to the Vaegir knights, and don't want to ruin the look; the faction isn't too overpowered.

Archer: use Vaegir helmet; switch to strong bow so they deal decent damage; keep very light armour so they die quickly in melee.
Spearman: swap the useless spiked club for the scimitar; swap the javelins for the bardiche as suiting the faction more - unfortunately they seldom switch to it; use vaegir armour.
Horseman: swap saddle horse for hunter - this makes the troop comparable with the Swadian man at arms, slightly less armour but slightly more attack power; swap the generic battle axe for the bardiche; use faction armour including the studded leather coat the Swadian infantry bots stole.
tcuz.jpg
These were real balance problems; very heavy armour, horses to soak up damage and bump with, and in 1.126 very high stats. You might think I missed out the dismounted lancer in the screen shot, but he's on the left; for some reason in 1.126 they were changed to have a horse and nearly identical equipment to the lancer - as well as all weapon skills at 150, higher than any other multiplayer troop, with 7 riding, 5 power strike, and 5 iron flesh... some dev is a Khergit fanboy. I have reset the skills back similar to pre 1.126; they were more balanced like that.

Horse archer: gave them lighter armour, sword, and shield to bring them closer to the level of the other archers, taking into account the shielding effect of the horse.
Dismounted lancer: trying to go with a light skirmisher look: tribal warrior outfit, with other leather gear - this means they have less armour than other infantry, but they have good weapons and skills; removed extra weapons for speed, leaving heavy sabre and hafted blade; I wanted to give them javelins but it makes them too powerful for faction balance.
Lancer: swapped heavy sabre for the slightly longer version; changed to less heavy factional armour - stolen from the horse archer, but I like the look, and the shiny lamellar armour is just too powerful; swap for correct mace.
khergit.jpg
Not much in the way of large balance changes, just trying to change towards the Nord axeman feel.

Archer: swapped generic leather armour for byrnie - it is heavy for an archer but I wanted to make this a hybrid archer / infantry class, which is what a lot of players do; swapped short bow for long bow - intentionally less effective for most situations, but feels right for the faction; swapped two handed axe and sword for one handed axe, so they are not too dangerous in melee; use faction helm.
Veteran: add two handed axe - the troop's signature item; change one handed axe to nordic sword; use faction helm.
Scout: changed to use faction armour rather than mountain bandit rubbish - the armour might look too powerful, but with the weak weapons and horse they still die about as quickly (and it looks nice).
nordc.jpg
Made a bit more effective, mainly by buffing the spearman; and using faction specific gear. Aiming for high damage dealing with average armour.

Crossbowman: changed to steel bolts which along with the heavy crossbow should make them fairly damaging; swap spiked staff for fighting pick - to avoid one / two hander penalty; use factional armour.
Spearman: swap ashwood pike for pike - unfortunately they never seem to use it, or the sledgehammer; swap spiked staff for military pick - it is a high tier weapon, but needed for faction balance; use faction helmet; use surcoat over mail - I didn't want to use the top tier armour, but the faction is just too useless as bots with the ragged outfit. Besides, the green fits with the colour scheme.
Scout change from being a duplicate of the Nord scout; swapping javelin for darts, sword for military cleaver, spear for light lance; change to ragged outfit and light faction armour. Less armoured than the Nord scout, but slightly more damaging because of the lance and extra darts.
rhodok.jpg
These needed buffing, as their skills were much lower than all the other troops; as if they had been just copied from a bandit or something. Trying to go for a light armoured fast moving skirmishing feel.

Archer: swap nomad bow for short bow, and give barbed arrows to compensate - to buff them slightly and make them more unique; increase iron flesh from 1 to 2, power draw from 0 to 5, athletics from 0 to 4; change to lighter helmet.
Infantry: change from looking like a dismounted cavalry: use leather armour and mail coif with scale gauntlets to bring up nearer the level of other infantry; increase iron flesh from 2 to 3, power throw from 0 to 3, power strike from 0 to 4, athletics from 0 to 5; swap sword and mace for iron axe; add jarid - iconic to the faction, and needed for balance; remove spear - it just makes the class very ineffective, bots don't know how to use them properly.
Horseman: swap hunter for sarranid horse; swap sword for longer cavalry sword, remove extra weapons; increase iron flesh from 2 to 3.
sarranid.jpg

-- Troops - Cost: sum of all equipment in denars, HA: head armour, BA: body armour, LA: leg armour
Cost HA BA LA Name
1092 28 24 18 swadian_crossbowman
949 15 15 17 vaegir_archer
1599 14 18 26 khergit_veteran_horse_archer
1343 20 39 22 nord_archer
1344 24 22 18 rhodok_veteran_crossbowman
818 14 23 28 sarranid_archer

3351 32 45 30 swadian_infantry
2166 38 42 22 vaegir_spearman
2004 31 32 24 khergit_dismounted_lancer
2998 30 42 33 nord_veteran
2940 35 45 30 rhodok_veteran_spearman
3146 41 37 32 sarranid_infantry

4161 33 46 38 swadian_man_at_arms
3606 21 39 31 vaegir_horseman
3932 36 42 36 khergit_lancer
2212 14 39 28 nord_scout
2336 11 25 37 rhodok_scout
3335 25 40 34 sarranid_horseman

-- Faction costs - sum of all equipment in denars
8604 swadian
6721 vaegir
7535 khergit
6553 nord
6620 rhodok
7299 sarranid
These changes are free for anyone to use for whatever they want, without crediting me; including developers using it for the native mod :wink:.

Edit: I have updated the code below for warband version 1.134; it includes a few tweaks done to stats to try rebalance things due to the changes in multiplayer AI in later versions, so the above explanations might not be exactly correct.
 
Module system changes:
Code:
#Multiplayer ai troops
  ["swadian_crossbowman_multiplayer_ai","Swadian Crossbowman","Swadian Crossbowmen",tf_guarantee_all,0,0,fac_kingdom_1,
   [itm_bolts,itm_crossbow,itm_sword_medieval_a,itm_tab_shield_heater_b,
    itm_padded_cloth,itm_ankle_boots,itm_leather_gloves,itm_norman_helmet],
   def_attrib|level(19),wp_melee(90)|wp_crossbow(100),knows_ironflesh_4|knows_athletics_6|knows_shield_5|knows_power_strike_3,swadian_face_young_1, swadian_face_old_2],
  ["swadian_infantry_multiplayer_ai","Swadian Infantry","Swadian Infantry",tf_guarantee_all_wo_ranged,0,0,fac_kingdom_1,
   [itm_awlpike,itm_sword_medieval_b,itm_sword_two_handed_b,itm_tab_shield_heater_c,
    itm_haubergeon,itm_mail_chausses,itm_mail_mittens,itm_helmet_with_neckguard],
   def_attrib|level(19),wp_melee(105),knows_ironflesh_4|knows_shield_4|knows_power_strike_4|knows_athletics_4,swadian_face_middle_1, swadian_face_old_2],
  ["swadian_man_at_arms_multiplayer_ai","Swadian Man at Arms","Swadian Men at Arms",tf_mounted|tf_guarantee_all_wo_ranged,0,0,fac_kingdom_1,
   [itm_lance,itm_bastard_sword_a,itm_tab_shield_heater_c,
    itm_mail_with_surcoat,itm_mail_chausses,itm_mail_mittens,itm_flat_topped_helmet,itm_hunter],
   def_attrib|level(19),wp_melee(100),knows_riding_4|knows_ironflesh_4|knows_shield_4|knows_power_strike_3|knows_athletics_1,swadian_face_young_1, swadian_face_old_2],
  ["vaegir_archer_multiplayer_ai","Vaegir Archer","Vaegir Archers",tf_guarantee_all,0,0,fac_kingdom_2,
   [itm_arrows,itm_scimitar,itm_strong_bow,
    itm_leather_vest,itm_hide_boots,itm_vaegir_fur_cap],
   def_attrib|str_12|level(19),wp_melee(70)|wp_archery(110),knows_ironflesh_4|knows_power_draw_5|knows_athletics_6|knows_shield_2,vaegir_face_young_1, vaegir_face_older_2],
  ["vaegir_spearman_multiplayer_ai","Vaegir Spearman","Vaegir Spearmen",tf_guarantee_all_wo_ranged,0,0,fac_kingdom_2,
   [itm_spear,itm_tab_shield_kite_b,itm_scimitar,itm_bardiche,
    itm_lamellar_vest,itm_nomad_boots,itm_leather_gloves,itm_vaegir_lamellar_helmet],
   def_attrib|str_12|level(19),wp_melee(90),knows_ironflesh_4|knows_athletics_6|knows_power_throw_3|knows_power_strike_3|knows_shield_2,vaegir_face_young_1, vaegir_face_older_2],
  ["vaegir_horseman_multiplayer_ai","Vaegir Horseman","Vaegir Horsemen",tf_mounted|tf_guarantee_all_wo_ranged,0,0,fac_kingdom_2,
   [itm_bardiche,itm_scimitar,itm_lance,itm_tab_shield_kite_cav_a,
     itm_studded_leather_coat,itm_splinted_leather_greaves,itm_scale_gauntlets,itm_vaegir_fur_helmet,itm_hunter],
   def_attrib|level(19),wp(100),knows_riding_4|knows_ironflesh_3|knows_power_strike_4|knows_shield_3,vaegir_face_young_1, vaegir_face_older_2],
  ["khergit_dismounted_lancer_multiplayer_ai","Khergit Dismounted Lancer","Khergit Dismounted Lancer",tf_guarantee_all_wo_ranged,0,0,fac_kingdom_3,
   [itm_sword_khergit_4,itm_hafted_blade_a,itm_tab_shield_small_round_c,
    itm_khergit_war_helmet,itm_tribal_warrior_outfit,itm_nomad_boots,itm_leather_gloves],
   def_attrib|level(19),wp(110),knows_power_strike_5|knows_power_throw_2|knows_ironflesh_5,khergit_face_middle_1, khergit_face_older_2],
  ["khergit_veteran_horse_archer_multiplayer_ai","Khergit Horse Archer","Khergit Horse Archers",tf_mounted|tf_guarantee_all,0,0,fac_kingdom_3,
   [itm_sword_khergit_2,itm_khergit_bow,itm_khergit_arrows,itm_tab_shield_small_round_a,
    itm_leather_steppe_cap_b,itm_steppe_armor,itm_khergit_leather_boots,itm_leather_gloves,itm_steppe_horse],
   def_attrib|level(21),wp(90)|wp_archery(150),knows_riding_6|knows_power_draw_3|knows_shield_2|knows_horse_archery_5,khergit_face_middle_1, khergit_face_older_2],
  ["khergit_lancer_multiplayer_ai","Khergit Lancer","Khergit Lancers",tf_guarantee_all_wo_ranged,0,0,fac_kingdom_3,
   [itm_sword_khergit_3,itm_mace_3,itm_lance,itm_tab_shield_small_round_c,
    itm_khergit_cavalry_helmet,itm_lamellar_vest_khergit,itm_splinted_greaves,itm_leather_gloves,itm_courser],
   def_attrib|level(23),wp(120),knows_riding_6|knows_power_strike_2|knows_power_draw_2|knows_power_throw_2|knows_ironflesh_2|knows_horse_archery_1,khergit_face_middle_1, khergit_face_older_2],
  ["nord_veteran_multiplayer_ai","Nord Footman","Nord Footmen",tf_guarantee_all_wo_ranged,0,0,fac_kingdom_4,
   [itm_sword_viking_2,itm_two_handed_battle_axe_2,itm_tab_shield_round_d,itm_throwing_axes,
    itm_nordic_footman_helmet,itm_mail_hauberk,itm_splinted_leather_greaves,itm_leather_gloves],
   def_attrib|level(19),wp(130),knows_ironflesh_5|knows_power_strike_5|knows_power_throw_3|knows_athletics_5|knows_shield_3,nord_face_young_1, nord_face_older_2],
  ["nord_scout_multiplayer_ai","Nord Scout","Nord Scouts",tf_mounted|tf_guarantee_all,0,0,fac_kingdom_4,
   [itm_javelin,itm_sword_viking_1,itm_spear,itm_tab_shield_small_round_a,
    itm_nordic_archer_helmet,itm_mail_shirt,itm_leather_boots,itm_leather_gloves,itm_saddle_horse],
   def_attrib|level(19),wp(100),knows_riding_5|knows_ironflesh_2|knows_power_strike_3|knows_shield_1|knows_horse_archery_2|knows_power_throw_3,nord_face_young_1, nord_face_older_2],
  ["nord_archer_multiplayer_ai","Nord Archer","Nord Archers",tf_guarantee_all,0,0,fac_kingdom_4,
   [itm_arrows,itm_long_bow,itm_one_handed_war_axe_a,
    itm_nordic_veteran_archer_helmet,itm_byrnie,itm_leather_boots],
   def_attrib|str_11|level(19),wp_melee(80)|wp_archery(110),knows_ironflesh_4|knows_power_strike_2|knows_shield_1|knows_power_draw_5|knows_athletics_6,nord_face_young_1, nord_face_old_2],
  ["rhodok_veteran_crossbowman_multiplayer_ai","Rhodok Crossbowman","Rhodok Crossbowmen",tf_guarantee_all,0,0,fac_kingdom_5,
   [itm_fighting_pick,itm_tab_shield_pavise_c,itm_heavy_crossbow,itm_steel_bolts,
    itm_footman_helmet,itm_aketon_green,itm_ankle_boots],
   def_attrib|level(19),wp_melee(100)|wp_crossbow(120),knows_ironflesh_4|knows_shield_5|knows_power_strike_3|knows_athletics_6,rhodok_face_middle_1, rhodok_face_older_2],
  ["rhodok_veteran_spearman_multiplayer_ai","Rhodok Spearman","Rhodok Spearmen",tf_guarantee_all_wo_ranged,0,0,fac_kingdom_5,
   [itm_military_pick,itm_pike,itm_sledgehammer,itm_tab_shield_pavise_c,
    itm_kettle_hat,itm_surcoat_over_mail,itm_leather_boots,itm_leather_gloves],
   def_attrib|level(19),wp(115),knows_ironflesh_5|knows_shield_3|knows_power_strike_4|knows_athletics_3,rhodok_face_young_1, rhodok_face_older_2],
  ["rhodok_scout_multiplayer_ai","Rhodok Scout","Rhodok Scouts",tf_mounted|tf_guarantee_all,0,0,fac_kingdom_5,
   [itm_darts,itm_military_cleaver_b,itm_light_lance,itm_tab_shield_heater_cav_a,
    itm_padded_coif,itm_ragged_outfit,itm_splinted_greaves,itm_leather_gloves,itm_saddle_horse],
   def_attrib|level(19),wp(100),knows_riding_5|knows_ironflesh_2|knows_power_strike_2|knows_shield_1|knows_horse_archery_2|knows_power_throw_3,rhodok_face_young_1, rhodok_face_older_2],
  ["sarranid_infantry_multiplayer_ai","Sarranid Infantry","Sarranid Infantries",tf_guarantee_shield|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet,0,0,fac_kingdom_6,
   [itm_sarranid_axe_b,itm_tab_shield_kite_c,itm_jarid,
    itm_sarranid_leather_armor,itm_sarranid_mail_coif,itm_sarranid_boots_c,itm_scale_gauntlets],
   def_attrib|level(20),wp_melee(105),knows_ironflesh_3|knows_shield_3|knows_power_throw_4|knows_power_strike_4|knows_athletics_5|knows_riding_1,swadian_face_middle_1, swadian_face_old_2],
  ["sarranid_archer_multiplayer_ai","Sarranid Archer","Sarranid Archers",tf_guarantee_ranged|tf_guarantee_boots|tf_guarantee_armor,0,0,fac_kingdom_6,
   [itm_barbed_arrows,itm_short_bow,itm_arabian_sword_b,
    itm_archers_vest,itm_sarranid_boots_b,itm_desert_turban],
   def_attrib|level(19),wp_melee(90)|wp_archery(100),knows_ironflesh_2|knows_power_draw_5|knows_athletics_4|knows_riding_1, swadian_face_young_1, swadian_face_old_2],
  ["sarranid_horseman_multiplayer_ai","Sarranid Horseman","Sarranid Horsemen",tf_mounted|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet|tf_guarantee_horse|tf_guarantee_shield,0,0,fac_kingdom_6,
   [itm_lance,itm_sarranid_cavalry_sword,itm_tab_shield_small_round_b,
    itm_sarranid_mail_shirt,itm_sarranid_boots_c,itm_sarranid_horseman_helmet,itm_arabian_horse_b],
   def_attrib|level(20),wp_melee(100),knows_riding_4|knows_ironflesh_3|knows_shield_2|knows_power_strike_3, swadian_face_young_1, swadian_face_old_2],
Alternate format, highlighting changes (red is native, the new parts are blue):
#Multiplayer ai troops
  ["swadian_crossbowman_multiplayer_ai","Swadian Crossbowman","Swadian Crossbowmen",tf_guarantee_all,0,0,fac_kingdom_1,
  [itm_bolts,itm_crossbow,itm_sword_medieval_a,itm_tab_shield_heater_b,
    itm_leather_jerkin,itm_leather_armoritm_padded_cloth,itm_ankle_boots,itm_footman_helmet]itm_leather_gloves,itm_norman_helmet],
  def_attrib|level(19),wp_melee(90)|wp_crossbow(100)knows_common,knows_ironflesh_4|knows_athletics_6|knows_shield_5|knows_power_strike_3, swadian_face_young_1, swadian_face_old_2],
  ["swadian_infantry_multiplayer_ai","Swadian Infantry","Swadian Infantry",tf_guarantee_all_wo_ranged,0,0,fac_kingdom_1,
  [itm_pike,itm_bastard_sword_a[itm_awlpike,itm_sword_medieval_b,itm_sword_two_handed_b,itm_tab_shield_heater_c,
    itm_studded_leather_coat,itm_ankle_boots,itm_flat_topped_helmet]itm_haubergeon,itm_mail_chausses,itm_mail_mittens,itm_helmet_with_neckguard],
  def_attrib|level(19),wp_melee(105),knows_common|knows_ironflesh_5knows_ironflesh_4|knows_shield_4|knows_power_strike_5knows_power_strike_4|knows_athletics_4, swadian_face_middle_1, swadian_face_old_2],
  ["swadian_man_at_arms_multiplayer_ai","Swadian Man at Arms","Swadian Men at Arms",tf_mounted|tf_guarantee_all_wo_ranged,0,0,fac_kingdom_1,
  [itm_lance,itm_bastard_sword_a,itm_tab_shield_heater_cav_aitm_tab_shield_heater_c,
    itm_mail_with_surcoat,itm_hide_boots,itm_norman_helmetitm_mail_chausses,itm_mail_mittens,itm_flat_topped_helmet,itm_hunter],
  def_attrib|level(19),wp_melee(100)knows_common,knows_riding_4|knows_ironflesh_4|knows_shield_4|knows_power_strike_4knows_power_strike_3|knows_athletics_1, swadian_face_young_1, swadian_face_old_2],
  ["vaegir_archer_multiplayer_ai","Vaegir Archer","Vaegir Archers",tf_guarantee_all,0,0,fac_kingdom_2,
  [itm_arrows,itm_scimitar,itm_nomad_bowitm_strong_bow,
    itm_leather_vest,itm_nomad_boots,itm_spiked_helmet,itm_nomad_cap]itm_hide_boots,itm_vaegir_fur_cap],
  def_attrib|str_12|level(19),wp_melee(70)|wp_archery(110),knows_ironflesh_4|knows_power_draw_5|knows_athletics_6|knows_shield_2, vaegir_face_young_1, vaegir_face_older_2],
  ["vaegir_spearman_multiplayer_ai","Vaegir Spearman","Vaegir Spearmen",tf_guarantee_all_wo_ranged,0,0,fac_kingdom_2,
  [itm_padded_leather,itm_nomad_boots,itm_spiked_helmet,itm_nomad_cap, itm_spear[itm_spear,itm_tab_shield_kite_b,itm_mace_1, itm_javelin]itm_scimitar,itm_bardiche,
    itm_lamellar_vest,itm_nomad_boots,itm_leather_gloves,itm_vaegir_lamellar_helmet],
  def_attrib|str_12|level(19),wp_melee(90),knows_ironflesh_4|knows_athletics_6|knows_power_throw_3|knows_power_strike_3|knows_shield_2, vaegir_face_young_1, vaegir_face_older_2],
  ["vaegir_horseman_multiplayer_ai","Vaegir Horseman","Vaegir Horsemen",tf_mounted|tf_guarantee_all_wo_ranged,0,0,fac_kingdom_2,
  [itm_battle_axe[itm_bardiche,itm_scimitar,itm_lance,itm_tab_shield_kite_cav_a,
    itm_studded_leather_coat,itm_lamellar_vest,itm_nomad_boots,itm_spiked_helmet,itm_saddle_horse]itm_splinted_leather_greaves,itm_scale_gauntlets,itm_vaegir_fur_helmet,itm_hunter],
  def_attrib|level(19),wp(100),knows_riding_4|knows_ironflesh_4knows_ironflesh_3|knows_power_strike_4|knows_shield_3, vaegir_face_young_1, vaegir_face_older_2],
  ["khergit_dismounted_lancer_multiplayer_ai","Khergit Dismounted Lancer","Khergit Dismounted Lancer",tf_guarantee_all_wo_ranged,0,0,fac_kingdom_3,
  [itm_sword_khergit_4itm_spiked_mace,itm_one_handed_war_axe_b,itm_one_handed_war_axe_a,itm_hafted_blade_a,itm_hafted_blade_b,itm_heavy_lance,itm_lanceitm_tab_shield_small_round_c,itm_khergit_guard_helmet,itm_khergit_cavalry_helmet
    itm_khergit_war_helmet,itm_lamellar_vest_khergit,itm_lamellar_armor,itm_khergit_leather_boots,itm_splinted_leather_greaves,itm_leather_gloves,itm_mail_mittens,itm_tab_shield_small_round_b,itm_tab_shield_small_round_c]itm_tribal_warrior_outfit,itm_nomad_boots,itm_leather_gloves],
  def_attrib|level(23),wp(150),knows_riding_7level(19),wp(110),knows_power_strike_5knows_power_draw_4|knows_power_throw_2|knows_ironflesh_5knows_horse_archery_1, khergit_face_middle_1, khergit_face_older_2],
  ["khergit_veteran_horse_archer_multiplayer_ai","Khergit Horse Archer","Khergit Horse Archers",tf_mounted|tf_guarantee_all,0,0,fac_kingdom_3,
  [itm_sword_khergit_3[itm_sword_khergit_2,itm_khergit_bow,itm_khergit_arrows,itm_tab_shield_small_round_bitm_tab_shield_small_round_a,
    itm_khergit_cavalry_helmet,itm_tribal_warrior_outfititm_leather_steppe_cap_b,itm_steppe_armor,itm_khergit_leather_boots,itm_leather_gloves,itm_steppe_horse],
  def_attrib|level(21),wp(90)|wp_archery(150),knows_riding_6|knows_power_draw_5knows_power_draw_3|knows_shield_2|knows_horse_archery_5, khergit_face_middle_1, khergit_face_older_2],
  ["khergit_lancer_multiplayer_ai","Khergit Lancer","Khergit Lancers",tf_guarantee_all_wo_ranged,0,0,fac_kingdom_3,
  [itm_sword_khergit_4,itm_spiked_mace,itm_one_handed_war_axe_b,itm_one_handed_war_axe_a,itm_hafted_blade_a,itm_hafted_blade_b,itm_heavy_lance[itm_sword_khergit_3,itm_mace_3,itm_lance,itm_tab_shield_small_round_c,itm_khergit_guard_helmet
    itm_khergit_cavalry_helmetitm_khergit_war_helmet,itm_lamellar_vest_khergit,itm_lamellar_armor,itm_khergit_leather_boots,itm_splinted_leather_greavesitm_splinted_greaves,itm_leather_glovesitm_mail_mittens,itm_scale_gauntlets,itm_tab_shield_small_round_b,itm_tab_shield_small_round_c,itm_courser],
  def_attrib|level(23),wp(130),knows_riding_7|knows_power_strike_5|knows_power_draw_4wp(120),knows_riding_6|knows_power_strike_2|knows_power_draw_2|knows_power_throw_2|knows_ironflesh_5knows_ironflesh_2|knows_horse_archery_1, khergit_face_middle_1, khergit_face_older_2],
  ["nord_veteran_multiplayer_ai","Nord Footman","Nord Footmen",tf_guarantee_all_wo_ranged,0,0,fac_kingdom_4,
  [itm_sword_viking_2,itm_one_handed_battle_axe_b,itm_two_handed_axeitm_two_handed_battle_axe_2,itm_tab_shield_round_d,itm_throwing_axes,
    itm_nordic_helmet,itm_nordic_fighter_helmetitm_nordic_footman_helmet,itm_mail_hauberk,itm_splinted_leather_greavesitm_leather_boots,itm_leather_gloves],
  def_attrib|level(19),wp(130),knows_ironflesh_3knows_ironflesh_5|knows_power_strike_5|knows_power_throw_3|knows_athletics_5|knows_shield_3, nord_face_young_1, nord_face_older_2],
  ["nord_scout_multiplayer_ai","Nord Scout","Nord Scouts",tf_mounted|tf_guarantee_all,0,0,fac_kingdom_4,
  [itm_javelin,itm_sword_viking_1itm_two_handed_axe,itm_spear,itm_tab_shield_round_aitm_tab_shield_small_round_a,itm_skullcap
    itm_nordic_archer_helmet,itm_leather_jerkinitm_mail_shirt,itm_leather_boots,itm_leather_gloves,itm_saddle_horse],
  def_attrib|level(19),wp(100),knows_riding_5|knows_ironflesh_2|knows_power_strike_2knows_power_strike_3|knows_shield_1|knows_horse_archery_2|knows_power_throw_3, nord_face_young_1, nord_face_older_2],
  ["nord_archer_multiplayer_ai","Nord Archer","Nord Archers",tf_guarantee_all,0,0,fac_kingdom_4,
  [itm_arrows,itm_two_handed_axe,itm_sword_viking_2,itm_short_bowitm_long_bow,itm_one_handed_war_axe_a,
    itm_leather_jerkin,itm_blue_tunic,itm_leather_boots,itm_nasal_helmet,itm_leather_cap]itm_nordic_veteran_archer_helmet,itm_byrnie,itm_leather_boots],
  def_attrib|str_11|level(19),wp_melee(80)|wp_archery(110),knows_ironflesh_4|knows_power_strike_2|knows_shield_1|knows_power_draw_5|knows_athletics_6, nord_face_young_1, nord_face_old_2],
  ["rhodok_veteran_crossbowman_multiplayer_ai","Rhodok Crossbowman","Rhodok Crossbowmen",tf_guarantee_all,0,0,fac_kingdom_5,
  [itm_fighting_pickitm_club_with_spike_head,itm_maul,itm_tab_shield_pavise_c,itm_heavy_crossbow,itm_boltsitm_steel_bolts,
    itm_leather_cap,itm_padded_leather,itm_nomad_boots]itm_footman_helmet,itm_aketon_green,itm_ankle_boots],
  def_attrib|level(19),wp_melee(100)|wp_crossbow(120)knows_common,knows_ironflesh_4|knows_shield_5|knows_power_strike_3|knows_athletics_6, rhodok_face_middle_1, rhodok_face_older_2],
  ["rhodok_veteran_spearman_multiplayer_ai","Rhodok Spearman","Rhodok Spearmen",tf_guarantee_all_wo_ranged,0,0,fac_kingdom_5,
  [itm_ashwood_pike,itm_war_spear[itm_military_pick,itm_pikeitm_club_with_spike_head,itm_sledgehammer,itm_tab_shield_pavise_citm_sword_medieval_a,
    itm_leather_cap,itm_byrnie,itm_ragged_outfit,itm_nomad_boots]itm_kettle_hat,itm_surcoat_over_mail,itm_leather_boots,itm_leather_gloves],
  def_attrib|level(19),wp(115)knows_common,knows_ironflesh_5|knows_shield_3|knows_power_strike_4|knows_athletics_3, rhodok_face_young_1, rhodok_face_older_2],
  ["rhodok_scout_multiplayer_ai","Rhodok Scout","Rhodok Scouts",tf_mounted|tf_guarantee_all,0,0,fac_kingdom_5,
  #TODO: Change weapons, copied from Nord Scout
  [itm_javelin,itm_sword_viking_1,itm_two_handed_axe,itm_spear,itm_tab_shield_round_a[itm_darts,itm_military_cleaver_b,itm_light_lance,itm_tab_shield_heater_cav_a,
    itm_skullcap,itm_leather_jerkin,itm_leather_bootsitm_padded_coif,itm_ragged_outfit,itm_splinted_greaves,itm_leather_gloves,itm_saddle_horse],
  def_attrib|level(19),wp(100),knows_riding_5|knows_ironflesh_2|knows_power_strike_2|knows_shield_1|knows_horse_archery_2|knows_power_throw_3, rhodok_face_young_1, rhodok_face_older_2],
  ["sarranid_infantry_multiplayer_ai","Sarranid Infantry","Sarranid Infantries",tf_guarantee_shield|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet,0,0,fac_kingdom_6,
  [itm_sarranid_mail_shirt,itm_sarranid_horseman_helmet,itm_sarranid_boots_b[itm_sarranid_axe_b,itm_tab_shield_kite_c,itm_jarid,
    itm_sarranid_leather_armor,itm_sarranid_mail_coif,itm_sarranid_boots_c,itm_splinted_leather_greaves,itm_arabian_sword_b,itm_mace_3,itm_spear,itm_tab_shield_kite_c]itm_scale_gauntlets],
  def_attrib|level(20),wp_melee(105),knows_common|knows_riding_3|knows_ironflesh_2knows_ironflesh_3|knows_shield_3|knows_power_throw_4|knows_power_strike_4|knows_athletics_5|knows_riding_1, swadian_face_middle_1, swadian_face_old_2],
  ["sarranid_archer_multiplayer_ai","Sarranid Archer","Sarranid Archers",tf_guarantee_ranged|tf_guarantee_boots|tf_guarantee_armor,0,0,fac_kingdom_6,
  [itm_arrows,itm_nomad_bow,itm_arabian_sword_a[itm_barbed_arrows,itm_short_bow,itm_arabian_sword_b,
    itm_archers_vest,itm_sarranid_boots_bitm_sarranid_helmet1,itm_turban,itm_desert_turban],
  def_attrib|level(19),wp_melee(90)|wp_archery(100),knows_common|knows_riding_2|knows_ironflesh_1knows_ironflesh_2|knows_power_draw_5|knows_athletics_4|knows_riding_1, swadian_face_young_1, swadian_face_old_2],
  ["sarranid_horseman_multiplayer_ai","Sarranid Horseman","Sarranid Horsemen",tf_mounted|tf_guarantee_boots|tf_guarantee_armor|tf_guarantee_helmet|tf_guarantee_horse|tf_guarantee_shield,0,0,fac_kingdom_6,
  [itm_lance,itm_arabian_sword_b,itm_scimitar_b,itm_mace_4itm_sarranid_cavalry_sword,itm_tab_shield_small_round_b,
    itm_sarranid_mail_shirtitm_sarranid_boots_b,itm_sarranid_boots_c,itm_sarranid_horseman_helmet,itm_courser,itm_hunter]itm_arabian_horse_b],
  def_attrib|level(20),wp_melee(100)knows_common,knows_riding_4|knows_ironflesh_2knows_ironflesh_3|knows_shield_2|knows_power_strike_3, swadian_face_young_1, swadian_face_old_2],
 
Text file tweak:
For anybody who hosts a server, version 1.134; replace the matching section starting with "trp_swadian_crossbowman_multiplayer_ai" to "trp_sarranid_horseman_multiplayer_ai":
Code:
trp_swadian_crossbowman_multiplayer_ai Swadian_Crossbowman Swadian_Crossbowmen 0 133169152 0 0 15 0 0
  155 0 557 0 434 0 519 0 248 0 170 0 160 0 327 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  7 5 4 4 19
 110 90 100 0 100 0 0
0 0 0 1376 274432 0 
  17179869185 1315051091194281984 1835136 0 50465891015 7916447985573822463 2031036 0 

trp_swadian_infantry_multiplayer_ai Swadian_Infantry Swadian_Infantry 0 66060288 0 0 15 0 0
  488 0 435 0 401 0 520 0 258 0 174 0 161 0 329 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  7 5 4 4 19
 125 105 115 0 0 0 0
0 0 0 1088 278528 0 
  34359738369 1315051091194281984 1835136 0 50465891015 7916447985573822463 2031036 0 

trp_swadian_man_at_arms_multiplayer_ai Swadian_Man_at_Arms Swadian_Men_at_Arms 0 66061312 0 0 15 0 0
  483 0 409 0 520 0 263 0 174 0 161 0 330 0 148 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  7 5 4 4 19
 120 100 110 0 0 0 0
0 0 0 1044 274432 0 
  17179869185 1315051091194281984 1835136 0 50465891015 7916447985573822463 2031036 0 

trp_vaegir_archer_multiplayer_ai Vaegir_Archer Vaegir_Archers 0 133169152 0 0 16 0 0
  151 0 386 0 553 0 243 0 169 0 350 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  15 5 4 4 19
 90 70 80 110 0 0 0
0 0 0 608 262224 0 
  17179869185 1315051091194281984 1835136 0 68467827468 5615707260354297855 2031609 0 

trp_vaegir_spearman_multiplayer_ai Vaegir_Spearman Vaegir_Spearmen 0 66060288 0 0 16 0 0
  478 0 513 0 386 0 426 0 259 0 171 0 160 0 353 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  15 5 4 4 19
 110 90 100 0 0 0 0
0 0 0 608 275200 0 
  17179869185 1315051091194281984 1835136 0 68467827468 5615707260354297855 2031609 0 

trp_vaegir_horseman_multiplayer_ai Vaegir_Horseman Vaegir_Horsemen 0 66061312 0 0 16 0 0
  426 0 386 0 483 0 516 0 256 0 173 0 162 0 351 0 148 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  7 5 4 4 19
 100 100 100 100 100 100 0
0 0 0 772 212992 0 
  17179869185 1315051091194281984 1835136 0 68467827468 5615707260354297855 2031609 0 

trp_khergit_dismounted_lancer_multiplayer_ai Khergit_Dismounted_Lancer Khergit_Dismounted_Lancer 0 66060288 0 0 17 0 0
  449 0 432 0 530 0 574 0 254 0 171 0 160 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  7 5 4 4 19
 110 110 110 110 110 110 0
0 0 0 0 348672 0 
  33437004041 2337368206605287424 1867847 0 68702724557 7890302010022882286 2095999 0 

trp_khergit_veteran_horse_archer_multiplayer_ai Khergit_Horse_Archer Khergit_Horse_Archers 0 133170176 0 0 17 0 0
  447 0 552 0 152 0 528 0 320 0 244 0 179 0 160 0 144 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  7 5 4 4 21
 90 90 90 222 90 90 0
0 0 1342177280 518 48 0 
  33437004041 2337368206605287424 1867847 0 68702724557 7890302010022882286 2095999 0 

trp_khergit_lancer_multiplayer_ai Khergit_Lancer Khergit_Lancers 0 66060288 0 0 17 0 0
  448 0 452 0 483 0 530 0 578 0 260 0 175 0 160 0 146 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  7 5 4 4 23
 120 120 120 120 120 120 0
0 0 268435456 6 139808 0 
  33437004041 2337368206605287424 1867847 0 68702724557 7890302010022882286 2095999 0 

trp_nord_veteran_multiplayer_ai Nord_Footman Nord_Footmen 0 66060288 0 0 18 0 0
  442 0 417 0 510 0 544 0 346 0 262 0 173 0 160 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  7 5 4 4 19
 130 130 130 130 130 130 0
0 0 0 848 348928 0 
  17179869185 1315051091194281984 1835136 0 68467827464 5615707260354297855 2031609 0 

trp_nord_scout_multiplayer_ai Nord_Scout Nord_Scouts 0 133170176 0 0 18 0 0
  533 0 441 0 478 0 528 0 344 0 261 0 172 0 160 0 143 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  7 5 4 4 19
 100 100 100 100 100 100 0
0 0 536870912 261 144128 0 
  17179869185 1315051091194281984 1835136 0 68467827464 5615707260354297855 2031609 0 

trp_nord_archer_multiplayer_ai Nord_Archer Nord_Archers 0 133169152 0 0 18 0 0
  151 0 551 0 411 0 345 0 257 0 172 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  15 5 4 4 19
 100 80 90 110 0 0 0
0 0 0 352 270416 0 
  17179869185 1315051091194281984 1835136 0 53435441928 5615707260354297855 2031609 0 

trp_rhodok_veteran_crossbowman_multiplayer_ai Rhodok_Crossbowman Rhodok_Crossbowmen 0 133169152 0 0 19 0 0
  377 0 526 0 558 0 156 0 325 0 249 0 170 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  7 5 4 4 19
 120 100 110 0 120 0 0
0 0 0 1376 274432 0 
  35584483331 1441151880758558720 1867840 0 67645760199 7916447985573822463 2031036 0 

trp_rhodok_veteran_spearman_multiplayer_ai Rhodok_Spearman Rhodok_Spearmen 0 66060288 0 0 19 0 0
  378 0 486 0 373 0 526 0 331 0 264 0 172 0 160 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  7 5 4 4 19
 115 115 115 115 115 115 0
0 0 0 816 344064 0 
  18404614147 1441151880758558720 1867840 0 67645760199 7916447985573822463 2031036 0 

trp_rhodok_scout_multiplayer_ai Rhodok_Scout Rhodok_Scouts 0 133170176 0 0 19 0 0
  531 0 406 0 482 0 522 0 313 0 252 0 175 0 160 0 143 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  7 5 4 4 19
 100 100 100 100 100 100 0
0 0 536870912 261 140032 0 
  18404614147 1441151880758558720 1867840 0 67645760199 7916447985573822463 2031036 0 

trp_sarranid_infantry_multiplayer_ai Sarranid_Infantry Sarranid_Infantries 0 40894464 0 0 20 0 0
  461 0 514 0 537 0 284 0 342 0 182 0 162 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  7 5 4 4 20
 125 105 115 0 0 0 0
0 0 0 849 214016 0 
  34359738369 1315051091194281984 1835136 0 50465891015 7916447985573822463 2031036 0 

trp_sarranid_archer_multiplayer_ai Sarranid_Archer Sarranid_Archers 0 70254592 0 0 20 0 0
  153 0 549 0 389 0 283 0 181 0 338 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  7 5 4 4 19
 110 90 100 100 0 0 0
0 0 0 65 131152 0 
  17179869185 1315051091194281984 1835136 0 50465891015 7916447985573822463 2031036 0 

trp_sarranid_horseman_multiplayer_ai Sarranid_Horseman Sarranid_Horsemen 0 57672704 0 0 20 0 0
  483 0 390 0 529 0 287 0 182 0 340 0 147 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 
  7 5 4 4 20
 120 100 110 0 0 0 0
0 0 0 516 208896 0 
  17179869185 1315051091194281984 1835136 0 50465891015 7916447985573822463 2031036 0
 
Completely agree with your changes, but why not make a ready to use mod out of this? You've already done everything needed, so what's stopping you from making a module and uploading it on the Caravanserai forum, where it'd get tons more hits?
I'd love to have a mod just like this, that I could point friends to and have massive bot battles where we coordinate all the action :grin:
You've done some great work, now why just leave it where most people'll never see it?
 
My idea was for server administrators to modify the troops.txt file on their server, since clients don't need to change anything; I could upload a modded troops.txt file, but overwriting later versions of that file could have problems, whereas finding the section and pasting in the changes should work with any new taleworlds release.

I thought about making another thread in the released modules board, but it doesn't seem like much of a mod, just a small tweak. I might do that later; the fixes to how bots use ranged weapons in version 1.127 have thrown off the balance again - at least Vaegir archer bots are now a bit to deadly for faction balance, based on some quick tests... I can't continue with testing for another week or so, as I'm on holiday; but I'll probably rebalance and try posting to the Caravanseri some time.
 
Very good! I agree with every change save for the Nord Scout. :razz: That leather hat with the Mail Shirt just looks wrong to me. I liked their native slightly better.
 
Back
Top Bottom