0 of 0

File information

Last updated

Original upload

Created by

aitch-zed

Uploaded by

HeroinZero

Virus scan

Safe to use

About this mod

Fixes the dreaded bug when movement animation glitches out if you reload on the move w/ per-bullet reload type guns.

Requirements
Permissions and credits
Changelogs
As of august, 2021 this mod seems to be redundant because the reloading bug is now fixed by kNVSE and the ammo switch exploit is fixed by lStewieAl's Tweaks, both on the engine level so you should use these mods instead.
I keep this on for archival purposes and for the people who for some reason don't want to use aforementioned mods.




DESCRIPTION

This bug was bothering me for years since the game's release and I finally decided to fix it by myself.
I'm talking about various visual movement glitches that happen when you reload one-by-one reload-type guns while moving in any direction, I talk about guns like .357 magnum, cowboy repeater, hunting shotgun etc.
In fact, around the release it was even worse when the player was unable to shot, aim or access pipboy for a few seconds after a reload, then it was "fixed" by devs and now it's mostly just visual glitches but IMO they're still annoying AF, so annoying that I developed a habit to stand still when reloading such guns.

This mod completely fixes it, now your character will continue to normally move after reloading such guns and will even perform legit-looking cocking trigger/moving lever or pump animation.
More so, it does it with some lightweight scripting-only so there is no edited .nif or .kf files or anything - just a single .esp, so it should work just fine with things like custom guns or new animations.

Version 2.0, in addition to script optimization, also fixes the ammo switch exploit, when you can instantly reload affected guns by spamming ammo switch key.

Version 2.2 is a bit experimental since I've changed the way some things are to allow for controller support. Since I don't have controller to properly test it, user feedback is appreciated.

What amaze me the most is that despite aiming for an overall western-like atmosphere Obsidian left out such glaring bugs with cowboy-style guns, magnum .357 is like the main gun of the game, you see it every time in the main menu, held by a ranger.
Still probably we should be thankful that at least they've tried, Bethesda way to handle LAR reloading in Fallout 3 & 4, when you reload all bullets at once no matter how many you shot is even more lazy.


INSTALLATION & COMPATIBILITY

This mod requires that you have NVSE and, starting with 2.0, JIP LN NVSE Plugin installed and will not work otherwise. Make sure to use the latest versions.
To install manually, simply drag and drop the .esp file in [Game Folder]\Data then activate it in a launcher.

Do it backwards to uninstall.

When updating on an existing save game, make a clean save:
1. Remove previous mod version.
2. Go into the game and make a clean save.
3. Install the new version and keep playing.

This mod is basically just one simple script and thus is pretty compatible with most other mods.

NOTES

I did some excessive testing and have not found issues with mod itself, however due to natural glitcheness of vanilla reload animation there is still issues/bugs left out that I have not found reliable or simple enough way to fix on a script level:

Keep in mind that these are vanilla issues, so you will have them even without the mod

Spoiler:  
Show
-In 1st person if you shot your gun unaimed shortly after you reloaded it then the first shot will look like you're firing it in some wrong direction, however bullets will still come to where your crosshair is.

-In some rare cases your character's hands may get messed up and will look like he/she holding the gun in some weird way. Switching to another gun, holstering or shooting seems to fix it most of the time.

-Switching between crouching and standing while reloading causes the player to stop reloading.

-Weapons with Hunting Shotgun reload animations(Grenade Launcher, Hunting Shotgun, Holorifle) sometimes generate random pumping sound while reloading (reported in comments, never had this happen personally).


How the mod actually works:


Spoiler:  
Show
The mod checks for an event of reloading with a specific reload animation and then, when you stop reloading, it fixes movement glitch in rather hacky but simple and reliable way.

If you're in 1st person mode and moving, then all your movement controls will be disabled for 1 frame and then re-enabled back, starting with 2.2 you'll be set restrained for 1 frame, this has the same effect as disabling controls but allow for an easy autowalk and controller support, this resets the floaty gun animation back to a normal animation, since you basically stop for a brief moment.
However since you keep movement controls pressed and it happens only for a single frame you won't be able to really notice it unless you're playing with very low framerate and even then it'll be barely noticeable.
If you are playing with normal framerate there won't be any stutter or anything, and it only happens once per reload.

In 3rd person the script additionally forces the player model to play a fake attack animation corresponding to a gun type, effectively faking cocking trigger/moving pump/lever animation since there will be no shell casing or fire effects and recoil is barely noticeable the way the gun is held at the moment.

Anyway, any movement fixes only apply when you're moving and finished reloading i.e. in vanilla your guns would glitch out anyway
If you're standing still, normal reload finish animation will play in third person and no controls will be disabled so its a win-win situation.

Ammo switch exploit is fixed by checking if the player has multiple ammo types on ammo switch keypress, starting with 2.2 we simply checking if the player switched current ammo type, and if he do then we reset magazine ammo count to zero.


CREDITS & PERMISSIONS


aitch-zed (former HeroinZero)

You can use this mod or parts of it for whatever you want as long as you're not selling it and as long as you credit me in a readme.