Fallout New Vegas

File information

Last updated

Original upload

Created by

Pistol Payback

Uploaded by

PistolPayback

Virus scan

Safe to use

Tags for this mod

About this mod

This is a framework that allows for easier implementation of akimbo weapons for animators.

Requirements
Permissions and credits
Changelogs
Don't use this with Vortex with this mod, it deletes essential folders for this mod to work. Use MO2 instead.

Looking for people with various skill sets (Animation, Modeling, C++, XML, Lvl Design and Writing). If you want to help further develop NVWO, whether it be testing, new features, or if you just have some questions. You can reach out to me on discord



What does this do:
-Allows any combination of weapons to be duel wielded as long as there is supporting animations.
-No mesh edits required, and Akimbo weapons should work with all weapon mesh replacers.
-Handles all node movement.
-Has several options for how you want the akimbo to be handled by the game.

New akimbo animations should be made with the features of this framework in mind. Existing weapons on nexus can be made backwards compatible, but it's not ideal. For modders, use the NVWO Devkit when necessary. 



For Modders:

AkimboID for Akimbo Weapons look like this: LeftWeaponEditorID & RightWeaponEditorID
If you wanted to make an animation for dual wielding a 9mm pistol in your left hand, and a 44 magnum in your right hand.
It's AkimboID would look like this: WeapNV9mmPistol & WeapNV44Revolver
Example: NVSE\Plugins\NVWO_Templates\Akimbo\WeapNV9mmPistol & WeapNV44Revolver\Config.ini
OR: NVSE\Plugins\NVWO_Templates\Akimbo\AnimationGroup\Config.ini
Example: NVSE\Plugins\NVWO_Templates\Akimbo\My9mmAnimationGroup\Config.ini

.....................................................Config.ini Syntax:..........................................................................
All Akimbo weapons need a Config.ini to control aspects of how the akimbo weapon functions.
 
All Functions should start with a $, Spaces( ), Commas(,) and Colons(:) matter! See examples below:

JSON Functions:
Spoiler:  
Show

$JSONPath: 
This is the path to the JSON File. The JSON file has to be set up like kNVSE. 
You can either point to a configured JSON file, or point directly to the folder containing the animations inside of the AnimGroupOverride folder.
Check "Akimbo JSON Setup.txt" for more info. There's also an example JSON files in the exmples dowload.
Use this or AnimationFolderBase:, but not both.
$JSONPath: string:path
Example Syntax:
$JSONPath: Data\Meshes\AnimGroupOverride\Johnsonn_9mmAkimbo.json
Will use this JSON file when the 9mm akimbo is equipped.


Embedded Animation Animation Functions:
Spoiler:  
Show

If you don't want to use JSON files you can include your folder directly in the config.ini.
This method doesn't support animation conditions, but is more performance friendly.

$AnimationFolderBase: 
Point this to the main animation folder that contains all animations except for the firing animations. Use this method or JSONPath:, but not both.
$AnimationFolderBase: string:path
Example Syntax:
$AnimationFolderBase: Meshes\AnimGroupOverride\Johnsonn_9mmAkimbo
Base 9mm animations will be overwritten with the animations in "Meshes\AnimGroupOverride\Johnsonn_9mmAkimbo"

$AnimationFolderRight: 
Point this to the folder that contains the firing animations for the right weapon.
$AnimationFolderRight: string:path
Example Syntax:
$AnimationFolderRight: Meshes\AnimGroupOverride\Johnsonn_9mmAkimbo_Right
When the right weapon is fired, it will use the animations in "Meshes\AnimGroupOverride\Johnsonn_9mmAkimbo_Right"

$AnimationFolderLeft: 
Point this to the folder that contains the firing animations for the left weapon.
$AnimationFolderLeft: string:path
Example Syntax:
$AnimationFolderLeft: Meshes\AnimGroupOverride\Johnsonn_9mmAkimbo_Left
When the left weapon is fired, it will use the animations in "Meshes\AnimGroupOverride\Johnsonn_9mmAkimbo_Left"


Other Functions:
Spoiler:  
Show

$AkimboSuffix: 
This is a string that gets added to the end of the nif blocks for the left hand weapon. 
Most Akimbo mods on nexus just add a 1 to the block strings.
$AkimboSuffix: string:suffix
Example Syntax:
$AkimboSuffix: _MySuffixString
All the blocks in the left hand weapon will have "MySuffixString" attached to the end of them. 
The block string for the projectile would look like this in game: "Projectile_MySuffixString"

$RightFireCap: 
This is used for single click firing. 
$RightFireCap: int:cap
Example Syntax:
$RightFireCap: 2 

Will switch to the left weapon once the right weapon has been fired twice.

$LeftFireCap: 
This is used for single click firing. 
$LeftFireCap: int:cap
Example Syntax:
$LeftFireCap: 3 

Will switch to the right weapon once the left weapon has been fired twice.

$AssumeCombinations: 1
Assume Combinations is used for animation grouping. It will automatically generate the different combinations of akimbos that belong to the same animation group.


Compatibility Functions:
Spoiler:  
Show

$bAnimatedProjectileNode: 1
Include this if you animated the Projectile node. Future Akimbo animations should not animate the Projectile node, or ##SightingNode.
$bAnimatedProjectileNode: bool
Example Syntax:
$bAnimatedProjectileNode: 1

$bDisableADS: 1
This will disable ADS when using this akimbo set. Include this if you don't have ADS animations.
$bDisableADS: bool
Example Syntax:
$bDisableADS: 1


DevKit Controlled Syntax:
Spoiler:  
Show

$MoveToLeft: 
This is for moving the sighting node on the left weapon. This can be adjusted in game, check MCM and my sure the DevKit is enabled.
$MoveToLeft: string:Node, float:X, float:Y, float:Z
Example Syntax:
$MoveToLeft: ##SightingNode, -30.0817, 10.1358, -10.45
While aiming down sights with the left weapon, this will move the sighting node to the position: -30.0817, 10.1358, -10.45
This only works if Independent Aiming is enabled in the MCM.

$MoveToRight: 
This is for moving the sighting node on the right weapon. This can be adjusted in game, check MCM and my sure the DevKit is enabled.
$MoveToRight: string:Node, float:X, float:Y, float:Z
Example Syntax:
$MoveToRight: ##SightingNode, -30.0817, 7.38583, -0.04998
While aiming down sights with the right weapon, this will move the sighting node to the position: -30.0817, 7.38583, -0.04998
This only works if Independent Aiming is enabled in the MCM.

$MiddleADS: 
This centers the Sighting Node between the two weapons. This can be adjusted in game, check MCM and my sure the DevKit is enabled.
$MiddleADS: string:Node, float:X, float:Y, float:Z
Example Syntax:
$MiddleADS: ##SightingNode, -30.0817, 9.58584, -4.45
if Independent Aiming is off in the MCM, Akimbos will use this middle postion: -30.0817, 9.58584, -4.45




All Other NVWO Mods:
Devkit: https://www.nexusmods.com/newvegas/mods/82604
Akimbo Framework: https://www.nexusmods.com/newvegas/mods/81953
Weapon Smith: https://www.nexusmods.com/newvegas/mods/81433
Move Tool: https://www.nexusmods.com/newvegas/mods/79845