Fallout 4

About this mod

F4SE plugin that reworks how NPC stats are calculated

Permissions and credits
  • Spanish
  • French

Currently only for Fallout 4 version 1.10.163. Next-gen version coming soon!

We can all agree that enemy balancing in Fallout 4 is god-awful. Which doesn't come as a suprise as all RPG games follow the usual system of increasing health by x points for every level. This may seem fine at first, but as you play for longer and level up more you'll start to run into the bane of having fun - bullet sponges. Calling bullet sponges awful is an understatement and the only difference between them and a level 1 enemy is that the bullet sponge will drop less ammo than you used to kill it. And the worst part is that it will deal the same if not less damage than the level 1 enemy because only their defensive stats are scaled. This is completely terrible and sucks the fun out of the game past certain levels depending on how overpowered your weapons are (which I'd argue is also just as unfun if you need to exclusively use Gauss rifles to not make combat a drag). Did you know that Triggermen will have over 100 damage resistance before any of their armor is taken into account if your level is high enough? That's on top of their health being inflated too because they'll be high level by the time you see them during gameplay.

So, what's the solution?

Well, I released the original Papyrus version of SCOURGE back in June 2022 as my first ever mod because no other mod fixed bullet sponges to my liking. The issue with other rebalance mods was that if you didn't like some of their changes you had to just deal with it. Experienced mod authors/users would be able to fix it themselves through xEdit, but at that point you might as well make a personal mod. So, I decided to make a mod that allows you, the user, to tweak everything on-the-fly. If a Deathclaw felt a bit too overpowered all you had to do was open the MCM and set their stats lower and wait until you encounter a new one. It's a huge timesaver since you don't need to go into xEdit and then tweak the Deathclaws there. It was also a good excuse for me to not update the mod with balance changes because the user could make those changes themselves in seconds.

SCOURGE works by randomising NPC stats using a normal/Gaussian distribution curve. Whenever a new NPC spawns it will have its stats randomised based on the values configured through the MCM. This results in all NPCs being different the way everyone is different in real life. However, it's not completely random as the average values will be between the provided min and max, with the low/high ends being very rare. Even if you spawned a 1,000 of the same NPC there is a possibility that none of them will be at the very min or max for some stat. What makes it great is that all those stats can be edited at any time, so if you encounter a group of NPCs and they they were too tough you are able to adjust their stats in less than a minute.

Once it took off it took off BIG and has since been hailed as "one of the most revolutionary overhaul mods of all time" and Pancuronium, who has been doing extensive reviews of combat/stat overhaul mods, has always placed SCOURGE at the top of all rankings. Many others have reviewed the mod and the compliments I've received made it all worth it. However, there were always some improvements that could have been made. The original SCOURGE wasn't very friendly with patching and made indvidualising NPCs nigh-impossible.

Now, it has been almost 2 years since the first release and just over a year since the last update. I promised a lot and now I'm finally going to deliver...

  • Fallout 4 Wiki page that has some info and a page on patching.
  • Realistic stat randomisation that follows real world models that can be seen in height, for example.
  • Completely configurable through MCM:
    • Toggle each stat individually to choose whether it's recalculated for the NPC.
    • Freely configure minimum and maximum MCM sliders to choose the range of possible values for every stat.
    • A brand new Bias slider to choose the average value. NPCs can now be made to always be stronger or weaker than average.
    • New global multipliers. If you'd like all NPCs to be 10% weaker you won't have to adjust every slider individually. This is especially useful if you find all enemies to be too tanky or strong. The values used have been based off vanilla or personal preference/thought of how strong an NPC should be. For example, I think Deathclaws should be able to kill even a lightly armored NPC in one hit; therefore they deal massive melee damage.
    • New global reset button to reset all values used by SCOURGE to their defaults.
    • New reset buttons on each page to allow you to reset stats for individual NPCs.
  • Support for all major stats:
    • Damage Resistance.
    • Electric Resistance.
    • Energy Resistance.
    • Fire Resistance.
    • Frost/Cryo Resistance.
    • Health.
    • Poison Resistance.
    • Radiation Exposure Resistance.
    • Ranged Damage.
    • Speed Multiplier.
    • Unarmed Damage.
  • Ability to create partial value sets that can then be placed on top of full sets to create custom combinations.
  • Minimal requirements.
  • No manual edits.
  • Load order does not matter (as long as SCOURGE.esp is loaded before any patches made).
  • Papyrus utilities to allow mod authors to resets NPCs and/or Global Variables.
  • Making patches has never been more easy and intuitive.
  • Patching supports both EditorIDs and FormIDs for convenience.
  • No limits on how large patches can be.
  • Filters - which are the sets of conditions upon which recalculations are applied.
  • Allows to filter NPCs based on multiple conditions:
    • NPC Forms.
    • Race.
    • Factions.
    • Keywords
    • Gender.
  • A powerful logger that tells you everything you need to know.
  • Custom ActorValue that allows you to instantly see what the last applied filter was.
  • ActorValue multipliers; you can now easily create "boss" creatures that use the same value pool as others, but get a % multiplier for their stats.

Upcoming features:
  • The Influence system will make a return with major improvements. No longer will it be limited to Health and SpeedMult only.
  • More intricate controls for how Global Variables behave.

The whole mod is controleld through the MCM which allows you to configure:
  • Enable/disable toggle for each stat.
  • Minimum value for each stat.
  • Maximum value for each stat.
  • Bias value for each stat.
    • Bias is a feature that was requested in the original version of SCOURGE. It is 0.5 by default which means that the average value will be the midpoint between minimum and maximum values.
    • This value can be set to anything from 0.0 to 1.0 (inclusive) which will sway the average value towards either the minimum or maximum. However, the probability to get a value below or above the average is the same 50%; it's just that the standard deviation for each side of the curve will be different. Now it may be a bit too maths-y for most, but you can visualise this as combining 2 curves together - for example min of 100, max of 200, and bias of 0.25 will result in an average of 125. And the distribution curve will look as if you took the left half of a curve that goes from 100 to 150 and the right side of a curve that goes from 50 to 200.
  • Influence toggle for each stat.
    • This is currently a placeholder while the system gets developed. To avoid having to update all MCM files and such when the system does come out it has been included at release.

Patching has been completely overhauled to be as easy as possible. The plugin will do majority of the work behind the scenes as patches now consist only of a list of GlobalVariables and a YAML file to link those GlobalVariables to specific filters for NPCs.

You can find a detailed text guide on the SCOURGE - Patching wiki page

An official patch repository can be found as a separate mod: SCOURGE - Patch Repository. This contains a list of patches made by me, or by other users who wanted their patches in the repo page.

Patches made by users that have official SCOURGE logo images have been looked through by me to make sure that they have been made properly with no errors. These patches are endorsed by me and you shouldn't worry about any issues being caused by them. The official images you should look out for look like the main image of the SCOURGE - Patch Repository page and are custom-made for every patch. If you'd like to get your own set of official images (and save yourselves the headache of having to design something yourself) you need to reach out to me via Discord and I'll look through your patch for any mistakes. Once the patch is good to go the images will be provided for release

Feel free to enable DP if you make and release a patch. Whether or not you split the DP is up to you.

There are only a few mandatory requirements:
  • Fallout 4 Script Extender
  • Address Library
    • Make sure you get the 1.10.163 version!
  • Scaling Flag Remover
    • Due to the way Bethesda made the NPCs scale to the player's level during gameplay (e.g. when the player levels up) there can be cases where all such NPCs will recalculate their stats and reset the changes made to them by SCOURGE. Other than that inconvenience being fixed, there won't be any other changes in gameplay because NPC levels do not matter anymore so NPC scaling serves no purpose.

These are optional requirements that are not necessary for SCOURGE to function. However, not using these will severely hinder your experience. It is recommended to have them all installed.
  • Mod Configuration Menu
    • SCOURGE's main idea is to place the control into the user's hands. Without MCM you'll be forced to stick with the default values or use console commands to painstakingly change every value one-by-one.
  • MCM Booster
    • SCOURGE was already massive and lagged the MCM while the pages were loaded. This SCOURGE update makes the pages for the same NPCs about 5 times larger. MCM Booster is practically mandatory if you do install MCM. Your game will freeze for some time (depends on how powerful your machine is) when you first open the MCM. Make sure that you do not Alt+Tab while it's frozen and give it some time to load everything.
  • MCM Categorizer
    • A very nice utility mod that allows you to place all SCOURGE patches into a single folder so that your MCM isn't cluttered.
  • MCM Settings Manager
    • Another utility mod that allows you to save existing SCOURGE settings for easy transfer between different saves, or to roll-back any changes made.
  • Better Console - F4SE
    • A very handy utility mod that allows you to see NPC data that is used by SCOURGE without having to type in commands for each one. This is only useful for debugging and viewing stats in regards to SCOURGE. However, it's a must-have if you do use the console every now and then.

Currently there are only a few incompatibilities:
  • NPCs Use Items is incompatible. This is due to something Bethesda changed in the game's code for Fallout 4 (not an issue in Skyrim apparently) and broke how NPC stats are recalculated when they use health-increasing items.
    • This generally applies to anything that makes NPCs increase their max health after they've spawned.
  • DirectHit is partially incompatible due to a bug I've found while testing. Zzyxzz has been notified of this bug and once it gets fixed (most likely any version after 1.2.4) it will be fine to use with SCOURGE. It can be used with SCOURGE anyway, but any changes made to resistances will be ignored by DirectHit. That is, only Health, Ranged Damage, Speed Multiplier, and Unarmed Damage changes will have an effect during gameplay.

  • This plugin will produce Windows message boxes soon after the game starts based on these conditions:
    • RobCo Patcher has a setting in its .ini file called iEnableReCalculateStatsWithSaveLoad which must be disabled otherwise it will keep resetting NPC stats when a save is loaded. The setting is redundant with SCOURGE anyway.
    • If Scaling Flag Remover is not installed. Explanation is provided in the Requirements section.
  • The game will close once the message boxes are closed.
  • While this may seem intrusive and/or annoying, this will save me a lot of time trying to debug issues people may have. Both of those have been the culprits behind SCOURGE not working properly for people who got in touch with me on Discord about it. People also tend to not read descriptions (especially long ones) so they wouldn't know otherwise.
  • Also, robots created at the Robot Workbench from Automatron are hardcoded to be excluded. Other companions must be excluded manually with the SCOURGE_All Keyword. If you are unsure of how to do that then look for YouTube tutorials on how to add Keywords with xEdit.

  • If there was a SCOURGE but for guns then this would be it.
  • The playing field is now even more even and you will have the best experience possible.

Unleveled World - F4SE
  • Unless your SCOURGE patches make different variants of the same NPC have varying stats there's no reason not to unlevel characters.
  • If you want to also unlevel items then that's also possible (and the way I play).
  • With both NPCs and their items unleveled the only deciding factor in a gunfight will be your skill.

  • Need I say anything?

  • Another amazing mod that you can use for a more brutal experience.

  • Some NPCs like Deathclaws are very strong and will kill most things with ease. If you want to be able to tank hits without gutting their melee damage you will need Power Armor. Bastion will make Power Armor even better so it's highly recommended.

  • Currently DirectHit (version 1.2.4) has a bug and until it's fixed all resistance changes will have no effect. Still, it's a very good mod.

My other mods
  • I made SCOURGE because this is how I want my game to be. If you feel that this is right up your alley as well then check out my other mods. They're simple one-purpose plugins that can drastically change your gameplay experience.

This plugin will provide some Papyrus functions that can be utilised by mod authors. However, this is not a Papyrus extender and the functions provided are very niche and most likely won't see much use outside of where they are currently used by MCM, for example. The functions are as follows:

; Recalculates all NPCs that are currently loaded in memory
Function SCOURGE_Recalculate_Global() Global Native

; Recalculates the NPC passed to akActor
Function SCOURGE_Recalculate_Actor(Actor akActor) Global Native

; Resets all Global Variables used by the plugin to their default values
Function SCOURGE_ResetGlobals() Global Native

; Resets Global Variables to their default values based on their name
Function SCOURGE_ResetGlobalsByName(String asName) Global Native

NPCs aren't being recalculated or the stats are wrong:
  • Open the NPC in console and check if the value of the SCOURGE_Tracker ActorValue is not 0. If the value is 0 then the NPC hasn't been recalculated.
  • If the value is something other than 0 but the stats are wrong you should open the GLXRM_SCOURGE.log found in the F4SE logs folder and look for what filter has the same value as the SCOURGE_Tracker ActorValue on the NPC. For example:
    --> 17: "HumanRace" from "Data\SCOURGE\01_Fallout4.yaml"means that all Humans should have the SCOURGE_Tracker value set to 17 if that was the last filter applied to them.
  • Generally, if any of their stats are set to non-integer values e.g. 420.69 then it means SCOURGE is working fine as I do not round the values..
  • Lastly, it's worth checking if the filters the NPC matched apply stat multipliers or the global multiplies from the main MCM are affecting those stats.

Nothing is working:
  • Check the GLXRM_SCOURGE.log found in the F4SE logs folder and see if there are any warnings about not being to load Keywords, ActorValues etc.
  • If that happens make sure that SCOURGE.esp is enabled in your mod manager. The load order does not matter.

I made a patch and it crashes:
  • The YAML files aren't made correctly. Please follow the patching guide and look into existing patches/files to see what they should look like. Indentation in YAML files is very important so make sure the files look exactly like mine.

Next-gen version?
  • Yeah, at some point when Bethesda stops updating the game so frequently.

Can I install and/or uninstall during an existing playthrough?
  • Install? Yes.
  • Uninstall? It's a bit trickier because this uses a Papyrus script. To uninstall you should enter an empty e.g. Root Cellar without any other NPCs with you before uninstalling the mod.

Papyrus? I thought this was an F4SE plugin.
  • It is an F4SE plugin.
  • Papyrus is actually very useful and makes this plugin much more powerful and stable than if it wasn't used.
  • Note that the only Papyrus used in this is to activate the recalculation on NPCs and does not impact your script overhead at all.

This crashed my game. Why?

Patch for mod XYZ?
  • Patches are super easy to make now so your can attempt to make it yourself. I may look into it but I won't make any promises.

Why are some NPCs aren't being affected even though I have the patch for them installed?
  • The patch may intentionally exclude that NPC through exclusion keywords.
  • The NPC may not be meeting the conditions for recalculation. Could be caused by some other mod removing something the filter looks for.
  • The plugin should automatically detect missing requirements and incompatibilities and warn you when the game starts. It is very unlikely that SCOURGE itself breaks. If you are still unsure, check the Debugging section to see how to check if an NPC has been recalculated. If the NPC was and got reset somehow you should check if no mods are forcing their Health/stats to be recalculated.

This plugin is licensed under GPLv3.

There were a lot of people that have been with me during this journey, and I just want to say thanks to them:
Snapdragon for always being there to help me.
eclix for being with me since the first days.
Olly for once again providing his graphic design skills and creating the images. Follow him on ArtStation and Twitter to show him love.

Testers and patch makers who were patient enough to remake their patches multiple times as I kept adding new stuff during development:

The people who have somehow helped/contributed without knowing:
shad0wshayd3 from whom I took some code without asking.
powerofthree also someone from whom I took even more code without asking.

Ersh for helping me and for the cool mod page structure I stole from Open Animation Replacer.
karut who has contributed absolutely nothing.