Mount and Blade is a 3D, open-ended, single-player, third- or first-person, computer role-playing game, created and distributed by the Turkish development house TaleWorlds. Mount and Blade has a medieval setting, without any fantasy elements. Mount and Blade is notable for its emphasis on realistic cavalry combat, which was common in the era, but is largely absent in most RPG titles.

Post tutorial Report RSS Breakdown of Module_Troops.py for Mount&Blade

This is a examination of Module_Troops.py. It will teach you everything about troops and hopefully how to make your own. This is my first tutorial so bear with me. If you see a way it can be improved please tell me.

Posted by on - Basic Client Side Coding

Module_Troops is one of the simpler module files you'll use over the course of making your mod. It is also one of the most essential and like any module file when starting out, it'll have you tearing your hair out in no time if it isn't explained. So pull up a chair, grab a bear (something dark) and lets get started.

  ["farmer","Farmer","Farmers",tf_guarantee_armor,no_scene,reserved,fac_commoners,
   [itm_cleaver,itm_knife,itm_pitch_fork, itm_sickle,itm_club,itm_stones,itm_leather_cap,itm_felt_hat,itm_felt_hat, itm_linen_tunic,itm_coarse_tunic,itm_nomad_boots,itm_wrapping_boots],
   def_attrib|level(4), wp(60), knows_common, man_face_middle_1, man_face_old_2], 

Now its time for a tuple examination:

*farmer = troop ID: Troop ID is used for referencing the troop in other files. So if you want create a new party (more on that later) that has farmers in it, the game looks to the troop ID to see what troop your talking about.

*Farmer = Troop Name: This simply the name that will appear in-game.

*Farmers = Plural Troop Name: This is the name that appears when there's multiple of that troop.

*tf_guarantee_armor = Troop Flag: Guarantees that the troop will wear body armor. Below is a list of helpful starter troop flags (a full list can be found in header_troops).

tf_male = Self Explanatory
tf_female = Self Explanatory
tf_undead = Would not recommend using: Been known to cause crashes
tf_hero = Marks the troop as special a special NPC (non-playable-character). Health will shown as a percentage instead of simply showing as wounded or not wounded (e.g companions and lords)
tf_allways_fall_dead = Cannot be knocked unconscious, will always be killed
tf_mounted = Will not slow down world party map movement speed
tf_randomize_face = Randomizes faces at the beginning of the game
tf_guarantee_boots = Self Explanatory
tf_guarantee_armor = Self Explanatory
tf_guarantee_helmet = Self Explanatory
tf_guarantee_gloves = Self Explanatory
tf_guarantee_horse = Self Explanatory
tf_guarantee_shield = Self Explanatory
tf_guarantee_ranged = Guarantees archers and crossbowmen their respective ranged weapons
tf_unmoveable_in_party_window = Can't be placed in garrisons

*no_scene = Only used for NPCs: this troop will not appear in a scene (a scene is a location in the game)

*reserved = Not used: don't worry about it

*fac_commoners = The Troops Faction: Used for determining what faction the troop will appear in. (Check Module_Factions for a list of factions)

*[itm_blablabla] = Troop Inventory: Used for determining what items will be used on the troop. It is selected randomly but adding a troop flag will guarantee a troop a particular item (adding the same item multiple times will increase the chance of the troop receiving that item). Its recommended that you work with module_items to dress your soldiers.

*str_5|agi_5|int_5|cha_5 = Custom Attributes: This tuple is not used on the farmer but is essential for creating your own troops, its fairly straight forward. The number goes from a minimum of 4 to a maximum of 30. Below explains what each attribute does.

str = Strength: Each point of strength gives one hitpoint.
agi = Agility: Each point of agility increases weapon speed by 0.5 percent
int = Intelligence: Each point of intelligence gives one extra skill point. Not necessary for regular soldiers.
cha = Charisma: Each point of charisma allows you to command one extra troop. Not necessary for regular soldiers.

*def_attrib = Preassigned Attributes: in this case str_7 | agi_5 | int_4 | cha_4

*level(4) = Troop level: one of three major factors that determines advantage in autoresolve (every battle that your not a part of).

*wp(60) = Weapon Proficiency: Weapon proficiency determines weapon speed and damage for melee weapons and accuracy for ranged weapons. wp(60) means that all weapons proficiencies will be approximately 60.
Or if you want a more precise control of weapon proficiencies use this
wpex(60,59,58,57,56,55,54)
One Handed Equals (60)
Two Handed Equals (59)
Polearms Equals (58)
Archery Equals (57)
Crossbows Equals (56)
Throwing Equals (55)

*knows_common = Preassigned Skills: As in it will automatically assign whatever it happens to be.
You can also assign your own skills like this. Type knows_ironflesh_4 and modify the skill that you want and the desired strength of skill on a scale of 1 to 10.

man_face_middle_1, man_face_old_2 = Premade face codes: below is a full list of premade face codes. If put in two faces the game will randomly choose between them.
Warning Big
swadian_face_younger_1
swadian_face_young_1
swadian_face_middle_1
swadian_face_old_1
swadian_face_older_1
swadian_face_younger_2
swadian_face_young_2
swadian_face_middle_2
swadian_face_old_2
swadian_face_older_2
vaegir_face_younger_1
vaegir_face_young_1
vaegir_face_middle_1
vaegir_face_old_1
vaegir_face_older_1
vaegir_face_younger_2
vaegir_face_young_2
vaegir_face_middle_2
vaegir_face_old_2
vaegir_face_older_2
khergit_face_younger_1
khergit_face_young_1
khergit_face_middle_1
khergit_face_old_1
khergit_face_older_1
khergit_face_younger_2
khergit_face_young_2
khergit_face_middle_2
khergit_face_old_2
khergit_face_older_2
nord_face_younger_1
nord_face_young_1
nord_face_middle_1
nord_face_old_1
nord_face_older_1
nord_face_younger_2
nord_face_young_2
nord_face_middle_2
nord_face_old_2
nord_face_older_2
rhodok_face_younger_1
rhodok_face_young_1
rhodok_face_middle_1
rhodok_face_old_1
rhodok_face_older_1
rhodok_face_younger_2
rhodok_face_young_2
rhodok_face_middle_2
rhodok_face_old_2
rhodok_face_older_2
man_face_younger_1
man_face_young_1
man_face_middle_1
man_face_old_1
man_face_older_1
man_face_younger_2
man_face_young_2
man_face_middle_2
man_face_old_2
man_face_older_2
merchant_face_1 = man_face_young_1
merchant_face_2 = man_face_older_2
woman_face_1
woman_face_2
swadian_woman_face_1
swadian_woman_face_2
khergit_woman_face_1
khergit_woman_face_2
refugee_face1 = woman_face_1
refugee_face2 = woman_face_2
girl_face1 = woman_face_1
girl_face2 = woman_face_2
mercenary_face_1
mercenary_face_2
vaegir_face1 = vaegir_face_young_1
vaegir_face2 = vaegir_face_older_2
bandit_face1 = man_face_young_1
bandit_face2 = man_face_older_2

You can also make your own facecodes. Open Mount&Blade, Go to configure, enable edit mode, start the game and to the face generator (you can do this by creating a new character or go to the character screen and click the avatar) make the desired face and press ctrl~E, copy the face code and paste it in that field.

I hope I provided you with a clear tutorial and all the tools you'll need to make your very own troops. Good Luck.

Post comment Comments
usnavy30
usnavy30

These tutorials should be on the Taleworlds forum on the Forge Board.

Reply Good karma Bad karma+1 vote
Michadr
Michadr

Nice first tutorial!

Reply Good karma Bad karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: