/no-health-reset

Skyrim mod to revert full health recovery after sleep and level up

Primary LanguagePapyrusGNU General Public License v3.0GPL-3.0

No Health Reset

No Health Reset is a mod for The Elder Scrolls V: Skyrim to revert the full health recovery which occurs after sleep and level-up.

It is intended to work with any mod which reduces health regeneration, such as NPC Stat Rescaler.

Features

  • After sleep, revert health to its previous value, counting regeneration for the hours passed.
  • After level-up, revert health to its previous value, counting if it was chosen as the attribute to increase.

Also see the Implementation Details section below.

Requirements

Installation

Use your mod manager of choice, Mod Organizer 2 is recommended.

Updating

It is safe to update to a newer release in the middle of a game, as long as the first number (major version) doesn't change:

  • 1.0.01.0.2 ✔️
  • 1.0.11.0.2 ✔️

Also see Semantic Versioning for End-User Game Mods.

Configuration

The following property of the _p7NHR_Quest quest can be edited using TES5Edit or the console:

  • FloatSleepHealingMult (default: 2.0): multiplies the health amount recovered by sleeping.

Also see the Implementation Details section below.

Implementation Details

Health after sleep is calculated as:

newHealth = oldHealth + baseHealth * SleepHealingMult * HealRate / 100 * HealRateMult / 100 * 60 * 60 * hours / TimeScale

where:

  • newHealth is the value after sleeping;
  • oldHealth is the value before sleeping;
  • baseHealth is the value without damage;
  • SleepHealingMult (default: 2.0) is a float property of the _p7NHR_Quest quest, chosen so that sleeping and waiting restore the same amount;
  • HealRate (default: 0.70) is an actor value affecting regeneration;
  • HealRateMult (default: 100) is another actor value affecting regeneration;
  • hours is the time spent sleeping;
  • TimeScale (default: 20) is a global variable determining how game time passes compared to real time.

Note that TimeScale affects the amount of health restored: since HealRate and HealRateMult determine the percentage of baseHealth recovered in real time seconds, a lower value of TimeScale makes the same amount of health recover over a shorter lapse of game time. The same can be observed when waiting in vanilla game, as long as the regeneration rate is low enough.

Known Issues

  • Sleeping can cause death when the regeneration rate is below zero.

    This can occur with effects which further decrease health regeneration, such as Frostfall exposure or iNeed hunger, and is not consistent with how the game handles negative rates, but was left as a motivation to treat those conditions before resting.

Alternatives

Errata

  • This document incorrectly reported a similar feature was included in Requiem until version 2.0.2: instead the changelog reports it was removed since version 3.4.0.