B Tutorial Other Adding things such as overhead stab, crouching, extra formations options.

Users who are viewing this thread

So I wasn't sure where to put this but there's a number of mechanics you can implement to almost any mod that I haven't seen on the vast majority of mods.

Overhead stabbing (2h)
What is overhead stabbing?
If you've played Napoleonic Wars, With Fire and Sword, or Viking Conquest you'll know you can stab in two directions with a spear. You can add this functionality to native as well as most if not all mods.
1. Download Notepad++
2. Open the actions.txt of the module you're playing with Notepad++
3. Cntrl f overswing_spear or just scroll down to line 965
4. Copy and paste this over lines 965-974:
ready_overswing_spear 1678835712 1679818762  1
  0.350000 attacks_staff_thrust_overhead 6 21 7 0 0.0 0.0 0.0 0.0
release_overswing_spear 1678835712 2183135242  1
  0.450000 attacks_staff_thrust_overhead 21 43 6 0 0.0 0.0 0.0 0.0
release_overswing_spear_continue 0 572522497  1
  0.300000 attacks_staff_thrust_overhead 43 50 3 0 0.0 0.0 0.0 0.0
parried_overswing_spear 0 35651599  1
  0.300000 attacks_staff_thrust_overhead 50 43 3 0 0.0 0.0 0.0 0.0
blocked_overswing_spear 0 35651599  1
  0.300000 attacks_staff_thrust_overhead 50 43 3 0 0.0 0.0 0.0 0.0
Make sure all the lines match up nice and straight, if anything is offset the game might crash or the animation won't work.
5. Save and exit
6. Get Morgh's WB/WFAS editor
7. Open the item_kinds1.txt with Morgh's
8. Scroll down and find the weapon you're looking for
9. Uncheck the overswing_polearm flag (in the "Capabilities" column)
10. Scroll down to the bottom and check the overswing_spear flag
11. You may want to buff the pierce damage depending on the polearm, native thrust damages are kind of low
12. Update and save, then exit
13. Test to see if it works, if you've done it right it should
14. If you want to get rid of that blur effect, open up Morgh's again and scroll down to the bottom of the left column (the "Flags" column) then check the no_blur flag, update, save, exit.
Modsys version
1. Download Notepad++
2. Open the module_animations of the module with Notepad++
3. Cntrl f overswing_spear
4. Copy and paste this over the overswing spear lines (on Native it should be lines 1829 to 1843):
["ready_overswing_spear", acf_overswing|acf_rot_vertical_bow|acf_anim_length(100), amf_priority_attack|amf_use_weapon_speed|amf_use_inertia|amf_keep|amf_client_owner_prediction,
  [ready_durn, "attacks_staff_thrust_overhead", 6, 21, blend_in_ready],
],
["release_overswing_spear", acf_overswing|acf_rot_vertical_bow|acf_anim_length(100), amf_priority_attack|amf_use_weapon_speed|amf_play|amf_continue_to_next,
  [0.45, "attacks_staff_thrust_overhead", 21, 43, blend_in_release],
],
["release_overswing_spear_continue", 0, amf_priority_continue|amf_use_weapon_speed|amf_play|amf_client_owner_prediction,
  [0.3, "attacks_staff_thrust_overhead", 43, 50, arf_blend_in_2],
],
["parried_overswing_spear", 0, amf_priority_parried|amf_use_weapon_speed|amf_play,
  [0.3, "attacks_staff_thrust_overhead", 50, 43, arf_blend_in_2],
],
["blocked_overswing_spear", 0, amf_priority_blocked|amf_use_weapon_speed|amf_play,
  [0.3, "attacks_staff_thrust_overhead", 50, 43, arf_blend_in_2],
],
5. Save and exit
6. Head to your header_items.py file
7. You'll have to define some new combined flags which'll make adding these flags to weapons a lot easier, here's some I use:
itc_spear_upstab =  itc_spear|itcf_force_64_bits|itcf_overswing_spear|itcf_overswing_musket|itcf_slashleft_polearm|itcf_slashright_polearm
itc_lance_upstab =  itc_spear|itcf_force_64_bits|itcf_overswing_spear|itcf_overswing_musket
itc_great_lance_upstab =  itc_greatlance|itcf_force_64_bits|itcf_overswing_spear|itcf_overswing_musket
itc_pike_upstab = itc_parry_polearm|itcf_force_64_bits|itcf_overswing_spear|itcf_thrust_polearm
These are used for their appropriate weapons (ie spears use the first, lances the second, greatlances that you can't block with the third, and two handed polearms that can upthrust the fourth).
8. Now open your module_items.py file.
9. Head down to the weapons you'll want to add this to, so probably any of the four listed above (spears, lances, greatlances, pikes).
10. You'll want to replace the redundant attack capabilities (ie itc_spear for spears since the new version has it included) with your new itc_ combination flag.
11. Depending on what weapons you're changing you might want to keep some item attack types so that's up to your discretion.
12. You may want to buff the pierce damage depending on the polearm, native thrust damages are kind of low.
13. Save, exit, and compile.
14. Test to see if it works, if you've done it right it should.
15. If you want to get rid of that blur effect, add the itp_no_blur capability to the item before the itc/itcf capabilities, update, save, exit.
Overhead stabbing (1h)
This is a one handed version of the above, which means you can stab in two directions with a shield. Essential for a hoplite.
1. You'll need to do the following above, due to the way the engine works it needs the overswing_spear flag as well as the one we'll be using in this, so do that first.
2. You'll need to download an animations file, which you can get here: http://www.mediafire.com/download/68azscba6a6b4kf/mbg_pastebin_anims.brf
3. You should have Notepad++ by now, open your actions.txt with it
4. Cntrl f overswing_musket or just scroll down to line 977
5. Copy and paste this over lines 977-986:
ready_overswing_musket 1678835712 1679818762  1
  0.500000 1h_spear_thrust_overhead 0 20 7 0 0.0 0.0 0.0 0.0
release_overswing_musket 1678835712 2183135242  1
  0.450000 1h_spear_thrust_overhead 20 41 6 0 0.0 0.0 0.0 0.0
release_overswing_musket_continue 0 572522497  1
  0.300000 1h_spear_thrust_overhead 41 52 3 0 0.0 0.0 0.0 0.0
parried_overswing_musket 0 35651599  1
  0.900000 1h_spear_thrust_overhead 26 22 3 0 0.0 0.0 0.0 0.0
blocked_overswing_musket 0 35651599  1
  0.600000 1h_spear_thrust_overhead 26 22 3 0 0.0 0.0 0.0 0.0
Make sure all the lines match up nice and straight, if anything is offset the game might crash or the animation won't work.
6. Save and exit
7. Open the item_kinds1.txt with Morgh's editor
8. Scroll down and find the weapon you're looking for
9. Remove the overswing_polearm flag (in the "Capabilities" column) and scroll down about halfway
10. Make sure the thrust_onehanded_lance and thrust_onehanded_lance_horseback flags are checked then scroll to the bottom
11. Check the overswing_spear (if you haven't already) AND the overswing_musket
12. Update, save, and exit.
13. Now you need to load the .brf file from the download link, so download that.
14. Put this file in your Resource folder in the module folder (ex. Modules/Native/Resource)
15. Open your module.ini
16. Cntrl f ani_low_walk
17. Delete the ani_low_walk and ani_crouch_down lines and replace them with:
      load_mod_resource = mbg_pastebin_anims
18. Save and exit, and test to see if it works.
Modsys version
1. You'll need to do the following above, due to the way the engine works it needs the overswing_spear flag as well as the one we'll be using in this, so do that first.
2. You'll need to download an animations file, which you can get here: http://www.mediafire.com/download/68azscba6a6b4kf/mbg_pastebin_anims.brf
3. You should have Notepad++ by now, open your module_animations.py with it
4. Cntrl f overswing_musket
5. Copy and paste this over the overswing_musket lines (in Native it's between lines 1847 and 1861:
["ready_overswing_musket", acf_rot_vertical_sword| acf_overswing, amf_priority_attack|amf_use_weapon_speed|amf_use_inertia|amf_keep|amf_client_owner_prediction|amf_rider_rot_thrust,
  [ready_durn, "1h_spear_thrust_overhead", 0, 20, blend_in_ready],
],
["release_overswing_musket", acf_rot_vertical_sword|acf_overswing, amf_priority_attack|amf_use_weapon_speed|amf_play|amf_continue_to_next|amf_rider_rot_thrust,
  [0.45, "1h_spear_thrust_overhead", 20, 41, blend_in_release],
],
["release_overswing_musket_continue", 0, amf_priority_continue|amf_use_weapon_speed|amf_play|amf_client_owner_prediction|amf_rider_rot_thrust,
  [0.3, "1h_spear_thrust_overhead", 41, 52, arf_blend_in_2],
],
["parried_overswing_musket", 0, amf_priority_parried|amf_use_weapon_speed|amf_play,
  [0.3, "1h_spear_thrust_overhead", 26, 22, blend_in_parry],
],
["blocked_overswing_musket", 0, amf_priority_blocked|amf_use_weapon_speed|amf_play,
  [0.3, "1h_spear_thrust_overhead", 26, 22, blend_in_parry],
],
5. Save and exit
6. Head to your header_items.py file
7. You'll have to define some new combined flags which'll make adding these flags to weapons a lot easier, here's some I use:
itc_spear_upstab =  itc_spear|itcf_force_64_bits|itcf_overswing_spear|itcf_overswing_musket|itcf_slashleft_polearm|itcf_slashright_polearm
itc_lance_upstab =  itc_spear|itcf_force_64_bits|itcf_overswing_spear|itcf_overswing_musket
itc_great_lance_upstab =  itc_greatlance|itcf_force_64_bits|itcf_overswing_spear|itcf_overswing_musket
itc_pike_upstab = itc_parry_polearm|itcf_force_64_bits|itcf_overswing_spear|itcf_thrust_polearm
These are used for their appropriate weapons (ie spears use the first, lances the second, greatlances that you can't block with the third, and two handed polearms that can upthrust the fourth).
8. Now open your module_items.py file.
9. Head down to the weapons you'll want to add this to, so probably any of the four listed above (spears, lances, greatlances, pikes).
10. You'll want to replace the redundant attack capabilities (ie itc_spear for spears since the new version has it included) with your new itc_ combination flag.
11. Depending on what weapons you're changing you might want to keep some item attack types so that's up to your discretion.
12. You may want to buff the pierce damage depending on the polearm, native thrust damages are kind of low.
13. Save, exit, and compile.
14. Test to see if it works, if you've done it right it should.
15. If you want to get rid of that blur effect, add the itp_no_blur capability to the item before the itc/itcf capabilities, update, save, exit.
16. Now you need to load the .brf file from the download link, so download that.
17. Put this file in your Resource folder in the module folder (ex. Modules/Native/Resource)
18. Open your module.ini
19. Cntrl f ani_low_walk
20. Delete the ani_low_walk and ani_crouch_down lines and replace them with:
      load_mod_resource = mbg_pastebin_anims
21. Save and exit, and test to see if it works.
Crouching and pike bracing
Adds crouching functionality and fixes the normal animation issues you see with it as well as pike bracing, which if you've played With Fire and Sword or Napoleonic Wars you've seen. It's basically crouching with a weapon flagged as a pike, and if any cavalry rides into the pike they'll take huge damage. You can also kill the rider if you aim it right.
1. You'll need to download an animations file, which you can get here: http://www.mediafire.com/download/68azscba6a6b4kf/mbg_pastebin_anims.brf
2. You should have Notepad++ by now, open your actions.txt with it
3. Cntrl f "crouch"
4. There will be multiple locations where animations have to be replaced, (change the search function from up to down on cntrl f) starting from first to last:
walk_forward_crouch 256 0  1
  1.700000 low_walk 0 48 536870912 58726 0.0 0.0 0.0 0.0
stand_to_crouch 256 0  1
  1.300000 crouch_down 0 50 2 0 0.000000 0.000000 0.000000  0.0
crouch_to_stand 256 0  1
  1.000000 crouch_down 56 91 2 0 0.000000 0.000000 0.000000  0.0
--------------------------------------------------------------------
crouch_unarmed 0 16777216  1
  11.000000 crouch_stand_man 0 315 1342177280 0 0.000000 0.000000 0.000000  0.250000
crouch_single 0 16777216  1
  11.000000 crouch_stand_man 0 315 1342177280 0 0.000000 0.000000 0.000000  0.250000
crouch_greatsword 0 16777216  1
  6.000000 crouch_greatsword_cstance 0 170 1342177280 0 0.000000 0.000000 0.000000  0.250000
crouch_staff 0 16777216  1
  5.000000 crouch_staff_cstance 0 120 1342177280 0 0.000000 0.000000 0.000000  0.000000
crouch_crossbow 0 16777216  1
  2.000000 staff_cstance 0 60 1342177280 0 0.000000 0.000000 0.000000  0.000000
crouch_ready_pistol 1679818752 606093322  1
  0.300000 crouch_fire_pistol 1 12 7 0 0.0 0.0 0.0 0.0
crouch_release_pistol 1679818752 572538890  1
  0.300000 crouch_fire_pistol 12 21 2 0 0.0 0.0 0.0 0.0
----------------------------------------------------------------------------------------------
crouch_pike 0 16777216  1
  3.300000 crouch_staff_cstance_attack 0 100 1342177280 0 0.000000 0.000000 0.000000  0.000000
crouch_pike_recover 0 35651599  1
  1.200000 crouch_staff_cstance_attack 105 137 4 0 0.000000 0.000000 0.000000  0.000000
Make sure all the lines match up nice and straight, if anything is offset the game might crash or the animation won't work.
5. Save and exit
6. Open your module.ini
7. Cntrl f ani_low_walk
8. Delete the ani_low_walk and ani_crouch_down lines and replace them with:
      load_mod_resource = mbg_pastebin_anims
9. Cntrl f can_crouch and change the value to 1
    Alternatively, if it isn't in the module.ini then you can just add can_crouch = 1 to the bottom
10. Save and exit
11. To enable pike bracing, open Morgh's editor
12. Scroll down to find the weapon you're looking for
13. On the "Flags" column, scroll down to the bottom and enable the is_pike flag
14. Update, save, and exit.
15. Now test it in game, pike bracing works by equipping the pike and then crouching, if it's flagged as a pike the polearm will be pointing out forward rather than being held close to the characters chest
16. The UI prompt for crouch will say there's no string, but we'll fix that in the next part
Modsys version
1. You'll need to download an animations file, which you can get here: http://www.mediafire.com/download/68azscba6a6b4kf/mbg_pastebin_anims.brf
2. Unless you're modifying an older module, then you shouldn't need to edit the crouching animations at all. If you are, then just using an application like WinMerge with a 1.171 module_animations.py file and your module's animations.py file will highlight the differences.
3. Open your module.ini
4. Cntrl f ani_low_walk
5. Delete the ani_low_walk and ani_crouch_down lines and replace them with:
      load_mod_resource = mbg_pastebin_anims
6. Cntrl f can_crouch and change the value to 1
    Alternatively, if it isn't in the module.ini then you can just add can_crouch = 1 to the bottom
7. Save and exit
8. Open your module_items.py file
9. Now you'll need to add the itp_is_pike property to your pike weapons (add this before itc/itcf capabilities on the item). Generally what you want to be a pike weapon is a two handed only polearm (or two handed weapon, depending on the weapon) that has decent reach and can thrust.
14. Save and exit, then compile.
15. Now test it in game, pike bracing works by equipping the pike and then crouching, if it's flagged as a pike the polearm will be pointing out forward rather than being held close to the characters chest.
With Fire and Sword formation system
The WFAS formations elaborate on native's formations by adding some very useful extra functionality. The main advantage of these is that they can be used in scenes where advanced formations mods such as PBOD can't.
1. Open the module.ini
2. Scroll to the bottom
3. Change use_advanced_formation = 0 to 1
    Alternatively, if it isn't in the module.ini then you can just add use_advanced_formation = 1 to the bottom
4. Save and exit
5. Open the ui.csv file of the module (in Modules/whatever module/languages/en/ui.csv)
    Alternatively, if the module has no ui.csv file you can just edit the one in MountBlade Warband/languages/en/ui.csv
6. Copy and paste this to the bottom:
ui_cut|Cutting
ui_pierce|Piercing
ui_blunt|Blunt
ui_use_melee_weapons_e_|%s, use melee weapons!
ui_use_ranged_weapons_e_|%s, use ranged weapons!
ui_order_button_use_melee_weapons|Use melee weapons
ui_order_button_use_ranged_weapons|Use ranged weapons
ui_order_button_weapon_usage_orders|Weapon usage orders
ui_fire_at_my_command_e_|%s, fire at my command!
ui_fire_now_e_|%s, fire!
ui_order_button_fire_at_my_command|Fire at my command
ui_order_button_fire_now|Fire
ui_order_form_1_row|Form 1 row
ui_order_form_2_row|Form 2 rows
ui_order_form_3_row|Form 3 rows
ui_order_form_4_row|Form 4 rows
ui_order_form_5_row|Form 5 rows
ui_form_1_row_e_|%s, form 1 row!
ui_form_2_row_e_|%s, form 2 rows!
ui_form_3_row_e_|%s, form 3 rows!
ui_form_4_row_e_|%s, form 4 rows!
ui_form_5_row_e_|%s, form 5 rows!
ui_order_7|Select Order 7
ui_order_8|Select Order 8
ui_all_fire_now_e_|%s, volley fire!
ui_left_fire_now_e_|%s, left flank volley fire!
ui_middle_fire_now_e_|%s, middle group volley fire!
ui_right_fire_now_e_|%s, right flank volley fire!
ui_order_button_all_fire_now|All volley fire
ui_order_button_left_fire_now|Left flank volley fire
ui_order_button_middle_fire_now|Middle group volley fire
ui_order_button_right_fire_now|Right flank volley fire
ui_crouch|Crouch

Leave a line break after crouch otherwise the string gets cut off
7. Save and test, you should now have extra formation functionality.
Module.ini options
These aren't displayed in most mods, but you can paste them in the module.ini for them and they should work on almost all of them as long as they're running on the latest version of warband.
#1.151 things
can_crouch = 0
can_objects_make_sound = 0
disable_zoom = 0
use_advanced_formation = 0
use_crossbow_as_firearm = 0
can_reload_while_moving = 0
can_run_faster_with_skills = 0
use_phased_reload = 0
horses_try_running_away = 0
horses_rear_with_attack = 1
lance_pike_effect_speed = 3.0
no_friendly_fire_for_bots = 0
can_adjust_camera_distance = 1
sync_ragdoll_effects = 0
has_forced_particles = 0
can_use_scene_props_in_single_player = 1
disable_attack_while_jumping = 0
disable_high_hdr = 0
has_accessories_for_female = 0
#1.168 things
operation_set_version = 1168  # to force new version of engine API
supports_directx_7 = 1
reduce_texture_loader_memory_usage = 1  # this should improve loading time by making it multithread
use_case_insensitive_mesh_searches = 0
use_texture_degration_cache = 1 #improve loading times but generate chache files.
use_scene_unloading = 1
auto_compute_party_radius = 1 #helps space, select if mod has large icons
disable_disband_on_terrain_type = 0
use_strict_pathfinding_for_ships = 0 #keeps ships at sea for sea-to-sea routes
disable_force_leaving_conversations = 1 #no TAB end in conversations.
shorter_pistol_aiming = 1 #add pistols to the exception just like in crossbow and muskets
apply_all_ammo_damage_modifiers = 1
maximum_number_of_notification_messages = 4 #msg in battle. Common 10
ai_decide_direction_according_to_damage = 1
far_plane_distance = 2000 #Default is 1250 cm
battle_size_min = 30 #minimum battle size for module
battle_size_max = 150 #maximum battle size for module
blood_multiplier = 6.0 #chief aumentado
consider_weapon_length_for_weapon_quality = 0 #weapon selection
use_bordered_shadow_sampler = 0
show_troop_upgrades_button = 0
You can individually copy and paste these if you wish.
Halfswording
Halfswording is generally using a sword as a much more close quarters weapon by using both hands on the weapon akin to a polearm. Here we're going to refer to it as using it as a short spear.
1. Open your item_kinds1.txt
2. Paste this at the bottom (1h version):
itm_1h_halfsword Knightly_Sword_(Halfswordable) Knightly_Sword_(Halfswordable) 2  sword_medieval_d 0  sword_medieval_d_scabbard 3458764513820540928  2251800363204610 9223388564182532111 250 222228 2.250000 100 0 0 0 0 27648 95 0 95 0 278 27
0
0

itm_1h_halfsword_alt Knightly_Sword_(Melee) Knightly_Sword_(Melee) 2  sword_medieval_d 0  sword_medieval_d_scabbard 3458764513820540928  2251800094703620 9236601395388350720 0 222228 2.250000 100 0 0 0 0 27648 95 0 95 0 286 0
0
0

3. Paste this at the bottom (2h version):
itm_2h_halfsword Two_Handed_Sword_(Halfswordable) Two_Handed_Sword_(Halfswordable) 1  arena_sword_two_handed 0  2251800356913155 9223635924435337456 1000 156692 3.500000 100 0 0 0 12 46080 85 0 109 0 286 40
0
0

itm_2h_halfsword_alt Two_Handed_Sword_(Melee) Two_Handed_Sword_(Melee) 1  arena_sword_two_handed 0  2251799819976708 9236601365524906240 0 156692 3.500000 0 0 0 0 12 46080 90 0 109 0 291 0
0
0

Make sure the all the lines are correct, the game might crash otherwise.
You can change the names if you want, I just use them so they're easier to identify
4. Save and close
5. If you pasted these at the bottom then open the item_kinds1 with morgh's and it'll tell you it detected some new items. Click ok then save changes, morgh's will update the item count for you.
6. Test in game
How does this work?
Basically like those long axes in native, but the secondary mode is now thrust oriented.
Modsys version
1. Open your module_items.py file
2. Paste these somewhere in the module_items file, as long as it's where the other items are it's fine:
["bastard_sword_b", "Swadian Longsword", [("bastard_sword_b",0),("bastard_sword_b_scabbard", ixmesh_carry)], itp_type_two_handed_wpn|itp_no_blur|itp_merchandise|itp_next_item_as_melee|itp_primary, itc_bastardsword|itcf_carry_sword_left_hip|itcf_show_holster_when_drawn, 500 , weight(3)|difficulty(9)|spd_rtng(9:cool: | weapon_length(105)|swing_damage(31 , cut) | thrust_damage(33 ,  pierce),imodbits_sword_high ],
["bastard_sword_b_alt", "Swadian Longsword", [("bastard_sword_b",0),("bastard_sword_b_scabbard", ixmesh_carry)], itp_type_polearm|itp_no_blur|itp_two_handed|itp_cant_use_on_horseback|itp_primary, itc_pike_upstab|itcf_carry_sword_left_hip|itcf_show_holster_when_drawn, 500 , weight(3)|difficulty(9)|spd_rtng(9:cool: | weapon_length(105)|swing_damage(0 , cut) | thrust_damage(35 ,  pierce),imodbits_sword_high ],
3. I've bolded the important flags, which are the flags necessary for this to work. Of course you can customize everything else to suit your needs, I just took this code from one of my mods. Remember that I defined itc_pike_upstab earlier, if you haven't done that make sure you read the earlier parts of this guide!
4. Save, exit, compile, test.
Mordhau
Mordhau is a technique in halfswording where you flip the sword over and use the pommel as a mace.
1. You'll need to download an animations file, which you can get here: http://www.mediafire.com/download/68azscba6a6b4kf/mbg_pastebin_anims.brf
2. Open your item_kinds1.txt
3. Paste this at the bottom (1h version):
itm_1h_mordhau Knightly_Arming_Sword_(Mordhau) Knightly_Arming_Sword_(Mordhau) 2  sword_medieval_d_long 0  sword_medieval_d_long_scabbard 3458764513820540928  2251800363204610 9223388564182532111 250 222228 2.250000 100 0 0 0 0 27648 95 0 102 0 281 30
0
0

itm_1h_mordhau_alt Knightly_Sword_(Melee) Knightly_Sword_(Melee) 2  sword_medieval_d_long 0  sword_medieval_d_long_scabbard 3458764513820540928  3377974879453188 9227594196133613312 0 222228 2.250000 100 0 0 0 0 27648 95 0 102 0 527 532
0
0

4. Paste this at the bottom (2h version):
itm_2h_mordhau Two_Handed_Sword_(Mordhau) Two_Handed_Sword 1  sword_two_handed_b 0  2286984729001987 9223635924435337456 1000 156692 3.500000 100 0 0 0 12 46080 85 0 109 0 286 40
0
0

itm_2h_mordhau_alt Two_Handed_Sword_(Melee) Two_Handed_Sword_(Melee) 1  sword_two_handed_b 0  3377699995254788 9227594166068842240 0 156692 3.500000 0 0 0 0 12 46080 90 0 109 0 532 537
0
0

Make sure the all the lines are correct, the game might crash otherwise.
You can change the names if you want, I just use them so they're easier to identify
5. Save and close
6. Open your actions.txt
7. Cntrl+f equip_bayonet
8. Copy and paste these over the equip and unequip musket lines:
equip_bayonet 0 184549446  1
  0.300000 equip_musket 5 13 1 0 0.0 0.0 0.0 0.0
unequip_bayonet 0 184549446  1
  0.300000 equip_musket 5 13 1 0 0.0 0.0 0.0 0.0
9. Save and close
10. If you pasted these at the bottom then open the item_kinds1 with morgh's and it'll tell you it detected some new items. Click ok then save changes, morgh's will update the item count for you.
11. Test in game
How does this work?
If you've played Napoleonic Wars or With Fire and Sword, when you use a non-bayonetted firearm as a melee weapon, the mesh flips over (via the offset_musket flag). This is just applying that same principle to melee weapons. The animation stuff is just there so there's an animation to show the character flips the weapon. It isn't necessary so you can take it off by removing the has_bayonet and cant_reload_while_moving flags.
Modsys version
1. Open your module_items.py file
2. Paste these somewhere in your items file, as long as they're between some items it'll be fine:
["sword_medieval_d_long", "Knightly Arming Sword", [("sword_medieval_d_long",0),("sword_medieval_d_long_scabbard", ixmesh_carry)], itp_type_one_handed_wpn|itp_no_blur|itp_merchandise|itp_next_item_as_melee|itp_primary, itc_longsword|itcf_carry_sword_left_hip|itcf_show_holster_when_drawn, 425 , weight(2.5)|difficulty(0)|spd_rtng(9:cool: | weapon_length(102)|swing_damage(29 , cut) | thrust_damage(31 ,  pierce),imodbits_sword ],
["sword_medieval_d_long_alt", "Knightly Arming Sword", [("sword_medieval_d_long",0),("sword_medieval_d_long_scabbard", ixmesh_carry)], itp_type_polearm|itp_no_blur|itp_two_handed|itp_unbalanced|itp_offset_musket|itp_cant_use_on_horseback|itp_primary, itc_staff|itcf_carry_sword_left_hip|itcf_show_holster_when_drawn, 425 , weight(2.5)|difficulty(0)|spd_rtng(95) | weapon_length(102)|swing_damage(23 , blunt) | thrust_damage(25 ,  blunt),imodbits_sword ],
3. I've bolded the important flags, which are the flags necessary for this to work. Of course you can customize everything else to suit your needs, I just took this code from one of my mods.
4. You can also add the has_bayonet capability to have an animation between switching modes but it isn't necessary.
5. Save, exit, compile, and test.
Thrust buffs
So natively thrusts are kinda crappy due to their slow speed. In Viking Conquest the animation speed was tweaked slightly so the attack ends up being that much faster, and much more effective.
1. Open your actions.txt
2. Cntrl+f release_thrust_onehanded
3. The code directly below it should start with 0.62, change this to 0.47
4. Cntrl+f release_thrust_onehanded_horseback
5. The code directly below it should start with 0.62, change this to 0.47
6. Cntrl+f release_thrust_onehanded_lance
7. The code directly below it should start with 0.62, change this to 0.47
8. Cntrl+f release_thrust_staff
9. The code directly below it should start with 0.60, change this to 0.45
10. Cntrl+f release_thrust_twohanded
11. The code directly below it should start with 0.61, change this to 0.46
12. Save and close
Modsys version
1. Open your module_animations.py file.
2. Cntrl+f release_thrust_onehanded
3. The code directly below it should start with 0.62, change this to 0.47
4. Cntrl+f release_thrust_onehanded_horseback
5. The code directly below it should start with 0.62, change this to 0.47
6. Cntrl+f release_thrust_onehanded_lance
7. The code directly below it should start with 0.62, change this to 0.47
8. Cntrl+f release_thrust_staff
9. The code directly below it should start with 0.60, change this to 0.45
10. Cntrl+f release_thrust_twohanded
11. The code directly below it should start with 0.61, change this to 0.46
12. Make sure you edited the actual code and not the commented out code!
13. Save and close
Formation mod compatibility
So a big problem with formation mods is that most of them tend to be incompatible with the WFAS formations since both of these use F4 as a new menu. What you can do is rebind the menu key to another key in order to have both on with no overlap issue.
1. Open your mission_templates.txt (make a backup too)
2. cntrl f mst_lead_charge and scroll down till you find a code block that looks like this:
0.000000 0.000000 0.000000  2 73 1 23 2147484654 0  20 2367 1 144115188075857087 4 0 2147483679 2 144115188075857081 23 2147483679 2 144115188075857081 24 2147483679 2 144115188075857081 25 2133 2 144115188075857081 23 2133 2 144115188075857084 0 2133 2 144115188075857082 0 5 0 31 2 144115188075857081 23 2133 2 144115188075857082 1 5 0 31 2 144115188075857081 24 2133 2 144115188075857081 0 902 1 0 1 2 936748722493063760 5 5 0 31 2 144115188075857081 25 2133 2 144115188075857081 0 3 0
0.000000 0.000000 0.000000  2 73 1 24 2147484654 0  20 4 0 2147483679 2 144115188075857081 23 2147483679 2 144115188075857081 24 2147483679 2 144115188075857081 25 2133 2 144115188075857081 24 2133 2 144115188075857084 0 900 1 1513209474796486700 5 0 31 2 144115188075857081 23 2133 2 144115188075857081 0 1 2 936748722493063760 1 5 0 31 2 144115188075857081 24 2133 2 144115188075857081 0 902 1 0 1 2 936748722493063760 6 5 0 31 2 144115188075857081 25 2133 2 144115188075857081 0 3 0
0.000000 0.000000 0.000000  2 73 1 25 2147484654 0  19 4 0 2147483679 2 144115188075857081 23 2147483679 2 144115188075857081 24 2147483679 2 144115188075857081 25 2133 2 144115188075857081 25 2133 2 144115188075857084 0 5 0 31 2 144115188075857081 23 2133 2 144115188075857081 0 1 2 936748722493063760 2 5 0 31 2 144115188075857081 24 2133 2 144115188075857081 0 902 1 0 1 2 936748722493063760 8 5 0 31 2 144115188075857081 25 2133 2 144115188075857081 0 3 0
0.000000 0.000000 0.000000  2 73 1 26 2147484654 0  34 4 0 31 2 144115188075857081 0 31 2 144115188075857100 0 2133 2 144115188075857081 26 900 1 1513209474796486700 5 0 31 2 144115188075857081 23 2133 2 144115188075857081 0 1 2 936748722493063760 11 5 0 31 2 144115188075857081 24 2133 2 144115188075857081 0 902 1 0 1 2 936748722493063760 7 5 0 31 2 144115188075857081 25 2133 2 144115188075857081 0 5 0 31 2 144115188075857081 26 2133 2 144115188075857081 0 1 1 936748722493063739 6 3 1224979098644774912 0 9 1775 2 144115188075857086 1224979098644774912 2120 3 1224979098644774913 293 1224979098644774912 509 3 144115188075857086 1224979098644774913 -1 2120 3 1224979098644774913 14 1224979098644774912 569 3 144115188075857086 1224979098644774913 1 2120 3 1224979098644774913 221 1224979098644774912 509 3 144115188075857086 1224979098644774913 1 1 4 936748722493063758 1224979098644774912 2 1 3 0 31 2 144115188075857084 1 900 1 1513209474796486700 3 0
0.000000 0.000000 0.000000  2 73 1 27 2147484654 0  25 4 0 31 2 144115188075857081 23 2133 2 144115188075857081 0 1 2 936748722493063760 14 5 0 31 2 144115188075857081 24 2133 2 144115188075857081 0 902 1 0 5 0 31 2 144115188075857081 26 2133 2 144115188075857081 0 1 1 936748722493063739 6 3 1224979098644774912 0 9 1775 2 144115188075857086 1224979098644774912 2120 3 1224979098644774913 293 1224979098644774912 509 3 144115188075857086 1224979098644774913 -1 2120 3 1224979098644774913 14 1224979098644774912 569 3 144115188075857086 1224979098644774913 1 2120 3 1224979098644774913 221 1224979098644774912 509 3 144115188075857086 1224979098644774913 1 1 4 936748722493063758 1224979098644774912 3 1 3 0 31 2 144115188075857084 1 900 1 1513209474796486700 3 0
0.000000 0.000000 0.000000  2 73 1 28 2147484654 0  22 4 0 31 2 144115188075857081 24 2133 2 144115188075857081 0 902 1 0 1 2 936748722493063760 4 5 0 31 2 144115188075857081 26 2133 2 144115188075857081 0 1 1 936748722493063739 6 3 1224979098644774912 0 9 1775 2 144115188075857086 1224979098644774912 2120 3 1224979098644774913 293 1224979098644774912 509 3 144115188075857086 1224979098644774913 -1 2120 3 1224979098644774913 14 1224979098644774912 569 3 144115188075857086 1224979098644774913 1 2120 3 1224979098644774913 221 1224979098644774912 509 3 144115188075857086 1224979098644774913 1 1 4 936748722493063758 1224979098644774912 4 1 3 0 31 2 144115188075857084 1 900 1 1513209474796486700 3 0
0.000000 0.000000 0.000000  2 71 1 65 2147484654 0  51 4 0 31 2 144115188075857081 24 6 3 1224979098644774912 0 9 1775 2 144115188075857086 1224979098644774912 2120 3 1224979098644774913 14 1224979098644774912 569 3 144115188075857086 1224979098644774913 1 2120 3 1224979098644774913 194 1224979098644774912 529 3 1224979098644774914 144115188075857086 1224979098644774913 2120 3 1224979098644774913 200 1224979098644774912 502 3 432345564227567629 1224979098644774913 1224979098644774914 2120 3 1224979098644774913 203 1224979098644774912 529 3 1224979098644774914 144115188075857086 1224979098644774913 2120 3 1224979098644774913 209 1224979098644774912 502 3 432345564227567629 1224979098644774913 1224979098644774914 1710 2 1 144115188075857085 4 0 1 4 936748722493063769 38 144115188075857086 9 2147483679 2 72057594037927936 0 1 3 936748722493063761 1 38 3 0 1794 3 34 144115188075857086 1224979098644774912 717 3 39 1 34 726 2 1224979098644774914 39 2120 3 1224979098644774913 218 1224979098644774912 502 3 432345564227567629 1224979098644774913 1224979098644774914 727 2 1224979098644774914 39 2120 3 1224979098644774913 227 1224979098644774912 502 3 432345564227567629 1224979098644774913 1224979098644774914 2120 3 1224979098644774913 185 1224979098644774912 529 3 1224979098644774914 144115188075857086 1224979098644774913 1 3 936748722493063759 1 1224979098644774914 2120 3 72057594037927936 1224979098644774912 1 1106 1 1585267068834414968 3 0 5 0 31 2 144115188075857081 26 2133 2 144115188075857081 0 1 1 936748722493063739 6 3 1224979098644774912 0 9 1775 2 144115188075857086 1224979098644774912 2120 3 1224979098644774913 293 1224979098644774912 509 3 144115188075857086 1224979098644774913 -1 2120 3 1224979098644774913 14 1224979098644774912 569 3 144115188075857086 1224979098644774913 1 2120 3 1224979098644774913 221 1224979098644774912 509 3 144115188075857086 1224979098644774913 1 1 4 936748722493063758 1224979098644774912 5 1 3 0 31 2 144115188075857084 1 900 1 1513209474796486700 3 0
0.000000 0.000000 0.000000  2 71 1 66 2147484654 0  21 4 0 31 2 144115188075857081 24 6 3 1224979098644774912 0 9 1775 2 144115188075857086 1224979098644774912 2120 3 1224979098644774913 218 1224979098644774912 502 3 432345564227567629 1224979098644774913 0 2120 3 1224979098644774913 14 1224979098644774912 569 3 144115188075857086 1224979098644774913 1 2120 3 1224979098644774913 185 1224979098644774912 529 3 1224979098644774914 144115188075857086 1224979098644774913 1 3 936748722493063759 1 1224979098644774914 2120 3 72057594037927936 1224979098644774912 1 1106 1 1585267068834414969 3 0 5 0 31 2 144115188075857081 26 2133 2 144115188075857081 0 1 2 936748722493063760 2 31 2 144115188075857084 1 900 1 1513209474796486700 3 0 
What you're looking for is that vertical row of 23, 24, 25, 26, 27, 28, 65, and 66. You won't really see it as a row here but you will in Notepad++
3. Change the 26 to 51 and 66 to 67. This will rebind the formation menu (and ranks, they seem to be tied together) to F8 and the no division command to F9.
Why these keys?
Well F8 is never called upon even with WFAS commands on, and it's the only way I could get it to work well through text editing.
4. Depending on the mod, you'll most likely have to do this multiple times in the text file as some mods have these formations available in multiple scenes (like Viking Conquest) and others just have them available for battle scenes (like 1257). So just look for code blocks in that pattern and change accordingly.
5. Save and exit.
6. Open the quick_strings.txt (make a backup)
7. Search for one of the formation names (wedge, square, ranks etc)
8. Change the Complex formations/advanced formations string (the string that says what button to press to open the advanced formations menu) to F8 instead of F4 (make sure you do these in the second portion of the string, not the first portion)
9. Change both Ranks and No formation from F4 and F8 to F8 and F9 respectively
10. Cntrl x the Ranks line and erase the line break if it leaves one, then make a line break after square and before no formation and paste the whole ranks string there
11. Save and exit
12. Test it to make sure it all works properly
There's a few issues with this still, like on mods that let you memorize division placement F7 interferes with one of the WFAS commands, and when you select a troop division you get overlap from the WFAS weapon commands and the advanced formation menu, but since it's rebound it's only an aesthetic issue.

If anybody has any questions or needs help, post or PM me.
 
Thanks for posting these.  I have tried your version of overhand spear with shield and it works well.

Do you also happen to have the module system code for these functions?
 
Redleg said:
Thanks for posting these.  I have tried your version of overhand spear with shield and it works well.

Do you also happen to have the module system code for these functions?
Sorry I only really do text editing. Since the VC source got released I'd take a look at the source files for them since that's where you can get the overhead stab, 1h overhead stab (though they used a different animation), and crouching code.
 
Hello. First, congratulations for those, they are pretty neat once in game.
Second, do you know if is there a way to fix the small glitch on the animation when toggling from twohanded to polearm in the mordhau section? the character quickly assumes a cross-shaped pose before going to the polearm stance used in the mordhau version of the sword
 
JhonBrazil said:
Hello. First, congratulations for those, they are pretty neat once in game.
Second, do you know if is there a way to fix the small glitch on the animation when toggling from twohanded to polearm in the mordhau section? the character quickly assumes a cross-shaped pose before going to the polearm stance used in the mordhau version of the sword
It's because I left the has_bayonet flag on. Either remove the flag with morgh's or redownload the file as I've updated it with the necessary animations.
 
hoboistice said:
JhonBrazil said:
Hello. First, congratulations for those, they are pretty neat once in game.
Second, do you know if is there a way to fix the small glitch on the animation when toggling from twohanded to polearm in the mordhau section? the character quickly assumes a cross-shaped pose before going to the polearm stance used in the mordhau version of the sword
It's because I left the has_bayonet flag on. Either remove the flag with morgh's or redownload the file as I've updated it with the necessary animations.
Hey, thanks. It works fine now. Good job. I've tried (and succeded) in adding halfswording to my game a few years ago, but never found a way to add a mordhau to the game.
 
JhonBrazil said:
hoboistice said:
JhonBrazil said:
Hello. First, congratulations for those, they are pretty neat once in game.
Second, do you know if is there a way to fix the small glitch on the animation when toggling from twohanded to polearm in the mordhau section? the character quickly assumes a cross-shaped pose before going to the polearm stance used in the mordhau version of the sword
It's because I left the has_bayonet flag on. Either remove the flag with morgh's or redownload the file as I've updated it with the necessary animations.
Hey, thanks. It works fine now. Good job. I've tried (and succeded) in adding halfswording to my game a few years ago, but never found a way to add a mordhau to the game.
No problem. Glad to see you can put it to use.
I should mention for anybody wondering, changing the mesh on the second item won't actually change the model when you swap to the secondary mode, but it will change the icon in the corner.
 
Wow, this is pretty cool. You're like the txt editing guru :grin: Here, have a bump!

As cool as this is, I wish this was done using the Module System. That would make this tutorial very valuable. (Also may be the reason so few mods use this)

Anyway, cool tutorial and great work!
 
Mispronounced said:
Wow, this is pretty cool. You're like the txt editing guru :grin: Here, have a bump!

As cool as this is, I wish this was done using the Module System. That would make this tutorial very valuable. (Also may be the reason so few mods use this)

Anyway, cool tutorial and great work!
Thanks, reason why I did it for text is because there's a lot of finished modules out there that people play that aren't being developed anymore, not too many are still being made. If you're looking on how to do it in source code then you could check the Viking Conquest source or the Napoleonic Wars source or the With Fire and Sword source, which all should have bits and pieces of this. I also don't know anything about the module system.
And I think the reason why a lot of mods don't use this stuff is because it was added in 1.154 and most mods were finished by then, but at least the end user can implement them.
 
You're welcome. You have a point, txt editing does have it's merits for the player, as most mods don't release source files. I would check through the other module systems myself, but I'm just starting to learn about the module system.  Nice to see someone looking out for the average player.
 
I'm trying to add 1-handed overhead stabbing to Silverstag and was wondering if it could be done without deleting the ani_low_walk and ani_crouch_down lines.

Deleting them and replacing with load_mod_resource = mbg_pastebin_anims causes the crouching animations to bug out which wouldn't be an issue in most other mods but Silverstag has commands to make your troops crouch for cover and stand back up again.
 
READHED said:
I'm trying to add 1-handed overhead stabbing to Silverstag and was wondering if it could be done without deleting the ani_low_walk and ani_crouch_down lines.

Deleting them and replacing with load_mod_resource = mbg_pastebin_anims causes the crouching animations to bug out which wouldn't be an issue in most other mods but Silverstag has commands to make your troops crouch for cover and stand back up again.
You don't have to, it's just because that resource file comes with all the crouch anims as most modules don't have them. In that case you can just add the resource file like any other, and open the resource file and delete all the crouching anims if Silverstag uses its own.
 
Рипарариен said:
Under horseback_slash there is only force_64. I'm talking about warband, not wfas.
Yeah, it's just annotated with WFAS because that's where it originally was only in, but it's available for Warband editing since Warband had a number of WFAS features patched into it. You're using Morgh's and not ItemEditor right?
 
hoboistice said:
Рипарариен said:
Under horseback_slash there is only force_64. I'm talking about warband, not wfas.
Yeah, it's just annotated with WFAS because that's where it originally was only in, but it's available for Warband editing since Warband had a number of WFAS features patched into it. You're using Morgh's and not ItemEditor right?
Of course Morgh's. So, in him I located thrust_onehanded_lance. Maybe it is an analogue?
 
Рипарариен said:
Of course Morgh's. So, in him I located thrust_onehanded_lance. Maybe it is an analogue?
Nope, that's the flag for regular one handed thrusting with spears. Maybe you've got an older version of Morgh's. Unless you're doing module system editing then it doesn't seem to be in there, so you'd have to edit it through the .py files manually and find the modbit they use for overhead thrust, which you could find in the Viking Conquest or With Fire and Sword source code.
 
Hey, thanks so much for posting all of this, but I have a problem with adding the overhead stab for 2h in Floris Expanded.

I opened up the actions.txt but the lines of text don't match up. Not only that, but there doesn't even seem to be an 'overswing_spear' file.
I ctrl+f'd spear and polearm and I only found attacks on horseback and walking animations, but no on-foot attack text lines.
 
Back
Top Bottom