About this mod
An overhaul to the weapon spread system that allows firearms to be far more accurate in certain conditions, and less accurate where appropriate. The goal of this mod is to improve the feel of gunplay by making it behave more like a modern FPS title, while enhancing RP by making skill points more impactful. Full MCM customization.
- Requirements
- Permissions and credits
-
Translations
- Russian
- Mandarin
- Changelogs
Basic overview
- 100% scripted, no weapon patches needed
- Works with any weapons that use the Guns, Energy Weapons or Big Guns skill
- All firearms are far more accurate while ADS
- As you fire, the accuracy will decrease with each shot, but reset back to normal if you let off the trigger
- There is a simple UI element that indicates your relative accuracy at any given moment (can be disabled)
- Every variable used by the script can be adjusted in the MCM to tweak the behavior to your liking
- If you don't want a certain weapon to be affected, you can add it to the "ignore list", it will have vanilla spread
- 1 new perk added - "Firearms mastery"
- Does not run in VATs, weapons will use their vanilla spread instead
- All new ini management system - Drop a custom ini in the Presets folder and you can select it as a preset in-game
- New in 3.0: The spread is only changed the frame immediately before you fire your weapon, and reverted the frame after. This is to ensure that NPCs are only ever using the vanilla spread values as intended.
Some mods that work well with Dynamic Weapon Spread
- The Mod Configuration Menu - Highly recommended. Needed in order to customize the settings.
- B42 Selective Fire - Choose the "Selective Fire only w/out spread" version
- Viewmodel Shake Fix - NVSE - A MUST HAVE for anyone that plays with true iron sights.
- Immersive Recoil 2.0 or Real Recoil Re-calculated - Both are great, only pick one.
- Weapon Requirements System - The best RPG oriented overhaul to all weapon skills I have tried.
- Consistent Spread - Firearms Accuracy and Wobble Fix - For much improved weapon wobble animations.
- Immersive Recoil NPC - Good synergy with this mod, NPCs pause for a moment in between bursts of fire.
- New Blood - A damage overhaul mod that implements bleeding (some type of "realistic damage" mod is highly recommended)
In-depth overview
Here is an excerpt from the Geck Wiki that explains how spread is calculated in game:
FinalSpread = WeaponModBonus B from Split Beam mods * (Ammo Modifier * (PlayerSpread + WeaponSpread))
The specific value that DWS modifies is the weapon "Min Spread" and this allows weapons to be far more accurate under the appropriate circumstances. The other benefit is that it allows the spread to increase through sustained fire. With the vanilla behavior, you can unload an entire magazine without letting off the trigger and the last shot is just as accurate as the first. The technique of firing in controlled bursts should be familiar to anyone who has played a Battlefield or Call of Duty title from the last 10 years.
The simple UI element shows what your current weapon "Min Spread" is in relation to your potential minimum or maximum at any given moment in (IMHO) a very intuitive and unobtrusive way.
In the 'data\config\DynamicWeaponSpread\Presets' folder you will find 4 ini files included with the mod. The MCM will populate the presets list of options with whatever ini files are found in that folder when the game starts. You can have up to 10 presets installed at a time and swap between them in game at any time. Presets will not override your UI element settings, so if you spend some time getting that setup just the way you want, it won't get messed up by selecting a different preset. When you click any of the 'Default' buttons in the MCM, it will use your current preset as the default values. If you want to turn your current settings into a preset, simply copy 'data\config\DynamicWeaponSpread\Settings.ini' into the presets folder and give it any name you like, then select it as a preset in game.
Be aware that the 'ignore list' is save baked, so if you put any mod added weapons in that list via the MCM, be sure to clear that list before uninstalling that weapon mod.
Note for people coming from the original Dynamic Weapon Spread: this is not an in place upgrade, I recommend a new save. Also, your settings will not carry over. Even though some of the ini keys are the same, the formulas are different so using the same values will not produce the same results in DWS 2.0
Note for people updating from 2.x to 3.x: The HUD element/widget thingy has been redesigned, I recommend setting your DWS HUD settings to default in the MCM. I also recommend a clean save. If you prefer the old version, is still available on the download page. Remember that versions prior to 3.0 require SUP NVSE plugin.
Recommended Complimentary Mods
The vanilla game is balanced around the players ability to mag dump, and with the default settings of DWS, this is a much less viable tactic. As a result, I recommend a mod of the "realistic damage model" variety. Without a mod of that type, using low damage, high rate of fire weapons can be frustrating.
Q: What are the various values that show up when Debug is enabled?
Weapon Class:
The type of weapon DWS thinks you are using. This determines what settings affect that weapon.
Vanilla spread:
This is what DWS thinks the vanilla spread value of the weapon is, and what it has saved as such.
Current Spread:
The value returned by the command: GetWeaponMinSpread
This should always be the same as vanilla spread. It is the spread that NPCs firing the same weapon would have.
Applied Spread:
This is the spread that will be applied to the weapon when the player fires it.
Spread Increment:
The amount the applied spread will increase every time the player fires a shot.
Reset timer:
The amount of time it will take for the applied spread to return to its minimum value after the delay.
Timer Delay:
The amount of time you need to wait before the reset timer starts to count down after you fire a shot. This is influenced by both the rate of fire (determined by GetWeaponAnimShotsPerSec) and the base damage.
Shots Fired:
How many shots have been counted in your burst. This will return to 0 when the reset timer reaches 0.
Skill Met:
Whether or not you meet the skill requirements of the weapon. This will determine if your skill penalty is in play or not.
Perk Active:
Whether or not the Firearms Mastery perk is in play. Requires you to meet the skill requirement of the weapon.
Shots Ignored:
How many shots you can fire before the spread starts to increase. Requires the perk to be active, or the weapon to be a heavy weapon for which you meet the skill requirement.