Fallout New Vegas

File information

Last updated

Original upload

Created by

MaggotHATE

Uploaded by

MaggotHATE

Virus scan

Safe to use

About this mod

A recoil mod that affects first person model only and doesn't move camera at all. Based on B42 Inertia implementation and Immersive Recoil 2+ code.

Requirements
Permissions and credits
Changelogs
This mod adds "recoil" effect to the first person model - it does nothing to the camera or third person view, so it should be compatible with any other recoil mod.

Viewmodel recoil was tested with Immersive recoil, Real Recoil, Just Recoil Emulator - it works just fine with any of them, providing additional, separate movement.
I wanted a separate "punch" effect for my weapons, and B42 Weapon Inertia gave me an idea.

The movement works through a formula that depends on:
  • Player strength
  • Player skill, respective of the weapon you use
  • Weapon skill
  • Weapon strength 
  • Weapon weight

The weapon weight works differently for vertical and horizontal movements: assuming that all weapons are front heavy, heavy weight reduces vertical recoil and increases horizontal.
The recoil formula is configurable, including separate vertical and horizontal movement settings.

The settings are:


  • vDirectLoad - allows to load ini values with every shot, so you can see any changes you've made immediately.
  • vVerticalIntensity and vHorizontalIntensity - control constant part of recoil for vertical and horizontal movements.
  • vVerticalLowerLimitvVerticalUpperLimitvHorizontalLowerLimitvHorizontalUpperLimit - these are the minimum and maximum values for recoil. They are absolute, so no other values will affect them in hipfire (see the Ironsights part below).
  • vWeaponDamageCoeff - this controls how much weapon damage affects the recoil. Note, that the formula uses base damage values, so it's doesn't depend on the actual damage you do.
  • vWeaponDamageCoeffH - this is an additional coefficient that is applied to horizontal movement only to make it less snappy.
  • vStrengthCoeffVvStrengthCoeffH - coefficients for the weapon strength requirements.
  • vWeightInfluenceVvWeightInfluenceH - control how much weapon weight affects recoil. Heavy weapons reduce vertical recoil, but increase horizontal.  


For Ironsights there are additional settings
  • vConstantCoefficient - this is a multiplier for the constant part of recoil when using ironsights.
  • vIronsightsSkillBonus - this is an amount of skill "added" to the player skill in formula to make ironsighting easier. The idea here is that it's probably easier to master ironsights than hipfire.
  •  vIronsightsLimitsMultiplier - this multiplier reduces maximum and minimum recoil for ironsighting.

Additionally, there are settings for randomization:
  • vIsRandomized - defines if the weapon model will move horizontally with randomization (moving from side to side) or not
  • vRotationAsVertical - defines what movement will be used for Y movement - it can use vertical movement (that's why in hipfire weapons go to the right ) or randomized horizontal movement (will give some additional shake to the recoil)


Lastly, vVATSfix controls the possible fix for VATS-related problem. The fix was introduced in 0.017, so if versions prior to that work for you and newer do not - try to switch this setting to 0.  

UPDATE 0.150: from now on you can set up individual recoil for any weapon - just copy TEMPLATE.ini in Config/WeaponVRecoil, rename it to [EditorID of the weapon].ini and set needed values following the explanation in the file. 

UPDATE 0.152: now you can switch vUseAmmoPseudoCalc to get additional caliber-based coefficient. Since it takes "dimensions" from EditorID of ammo, it's not accurate. For that reason I've added additional per-caliber settings with .ini files in AmmoVRecoil folder.
It is not necessary for this feature to function, but it gives an option to differentiate pistol calibers from intermediate and rifle ones. Still inaccurate, but I haven't come up with a better idea, and I don't want to rely on .ini only.
Also, vDebugAmmo gives you some debug info related to ammo parsing and resulting recoil. You can use it to add your own caliber coefficients or just monitor if the mod works properly or not. 

UPDATE 0.160: MCM menu is ready, along with  profiles to save and load.

If you don't like new recoil on non-vanilla weapons, you can switch old formula on by setting  vUseOldGenericFormula to 1
The code is provided together with the mod for some reason, courtesy of Hot Reload

The original idea and implementation goes to Xilandro and JazzIsParis, since Viewmodel Recoil uses the same method of moving models.
The basic code idea for organizing stats and formula goes to xax34hah for Immersive Recoil 2+ (I forgot which version I use)

Requirements: 
xNVSE
JIP LN NVSE Plugin

JohnnyGuitar NVSE
NV Compatibility Skeleton


Installation:
Install all the required mods first
Put the contents of the mod archive into your Fallout New Vegas folder.
You can also configure the mod with the VM_Recoil.ini in Data/Config folder, or use MCM menu.


Compatibility:
If you use it together with B42 Inertia mod - load Viewmodel Recoil plugin before it
Any mods that change weapon base damage will affect the resulting recoil. If you use any mod with mostly ammo-dependent damage, try using ammo parsing and correct ini files for calibers to your liking.

Credits:
Xilandro, JazzIsParis and DarianStephens for B42 Weapon Inertia
xax34hah for Immersive Recoil 2.0
Kormakur for Hot Reload
NVSE for the greater good
Obsidian for Fallout New Vegas