Armor Rating Rescaled - SKSE by underthesky
Skyrim » Gameplay Effects and Changes
Added: 17/07/2017 - 08:20PM
Updated: 15/08/2017 - 10:01PM

214 Endorsements

1.0 Latest version

1,486 Unique D/Ls

2,118 Total D/Ls

17,016 Total Views

Uploaded by underthesky


Last updated at 22:01, 15 Aug 2017 Uploaded at 20:20, 17 Jul 2017

This mod replaces Skyrim's armor formula. This changes how effective different armor ratings will protect from damage.

Generally speaking differences between low armor ratings are more important and differences between high armor ratings less important than before.

The formula
  DamageReduction = ArmorRating * constant + HiddenReduction
is replaced with:
  DamageReduction = ArmorRating * constant / (1 + ArmorRating * constant) + RemainingDamagePercentage * HiddenReduction

That means, looking at how many hits an (N)PC can take:
- With the original formula the value increases faster the higher the armor rating is.
- With the mod the value increases linearly.
For more info you can look at this old forum discussion and the "Details" section.

The changes apply to the player and NPC and are done in the game code using SKSE. The mod has no esp file and can be (un)installed at any time.

Skyrim (latest)
Skyrim Script Extender (SKSE) 1.7.3+

Install with your mod manager or drop the contents of the archive into your Skyrim\Data folder.

A few convenicence settings can be adjusted in Data\SKSE\Plugins\armor_rating_rescaled.ini:
- DisableHiddenArmorRating  Set to 1 to disable the hidden armor rating (recommended).
- OverrideArmorCap  Values above 0 overwrite the damage resistance cap (e.g. to cap at 90% set this to 90).
- ScalingFactor  Scale the armor rating before it is used in the formula (e.g. set to 0.8 to require a higher armor rating for the same protection).
There is now an interactive diagram for tweaking the settings.

All of these effects could also be achived by adjusting game settings.

There are several other mods that I am aware of which do something similar (most of them use a very similar formula and disable the armor cap):
No Armor Rating or Resistances Cap  This is where I originally got the idea from. Player only.
Armor Rating Redux  This is significantly more fleshed out and offers different formulas to chose from as well as an MCM menu. Works for NPCs. Now also uses an SKSE plugin. The hyperbolic formula form that mod is similar to the formula from this mod.
Improved Armor Formula Player only.
Improved Armor Formula for NPCs Same as above but includes NPCs.
To my knowledge only Armor Rating Redux (version 2+) also uses an skse plugin. The other mods do the calculations in papyrus.

You can find a full overview of the original armor rating system in the UESP Article.

Terms used:
DamageResist: Actor Value that equals the sum of the armor ratings from armor and armor spells.
Damage Reduction: The part of damage that is averted.
Hidden Damage Reduction: Skyrim applies this based on the number of armor items worn (3% per piece, up to 15%).
Armor Cap: The maximum Damage Reduction in percent. Game setting fMaxArmorRating (80 by default).
Effective Health: The health needed to get the same protection that is provided by the armor. This value is proportional to the number of hits an actor can take.

Images: All images show the mod curves with Armor Cap disabled (set to 100). For the images and the interactive diagram all game settings are at default values. Where Hidden Damage Reduction is included the diagrams show the values for fully equipped actors. The x-axis shows DamageResist values.

With this mod weak armor is generally slightly stronger than without. When the Armor Cap is set to 100 the Damge Reduction approaches 100% but only reaches it for very high DamageResist values and only because of rounding. Hidden Damage Reduction is no longer directly added to the regular Damage Reduction but instead multiplied with the remaining damage beforehand, decreasing its impact for higher DamageResist values.

HiddenResist = CountWornArmorCategories(Head Body Arms Legs Shield) * fArmorBaseFactor (game setting; default 0.03)
VanillaResist = ArmorRating/100 * fArmorScalingFactor
(game setting; default 0.12)
r1 = VanillaResist * 5.0 * ScalingFactor
(ini setting; default 1.0)
r2 = r1 / (1 + r1)
r3 = r2 + (1 - r2) * HiddenResist
Damage Reduction = min(r3, fMaxArmorRating
(game setting; default 80) or OverrideArmorCap (ini setting))
For the full details see the source code, especially the RescaleArmor function.

You are free to use the mod and it's source in any form as long as you give full credit and link back to this page when you publish your modification or reupload the mod. I would also appreciate if you let me know when you do so, but that is not a requirement.

Credits & Thanks
Bethesda for Skyrim
The Skyrim Script Extender team for SKSE
Build with Visual Studio 2015