Player HP Control Suite aims to give users full control over their character's HP stat. This is achieved by letting users control both their character's base HP and the HP gained from leveling up. In addition it adds an endurance component to HP gain from leveling. All of this can be configured through the included MCM.
Other user's assetsAll the assets in this file belong to the author, or are from free-to-use modder's resources
Upload permissionYou can upload this file to other sites but you must credit me as the creator of the file
Modification permissionYou are allowed to modify my files and release bug fixes or improve on the features so long as you credit me as the original creator
Conversion permissionYou can convert this file to work with other games as long as you credit me as the creator of the file
Asset use permissionYou are allowed to use the assets in this file without permission as long as you credit me
Asset use permission in mods/files that are being soldYou are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
Asset use permission in mods/files that earn donation pointsYou are allowed to earn Donation Points for your mods if they use my assets
Author notes
Feel free to use and modify whatever in this mod so long as you aren't selling it.
File credits
Demorome for helping me figure out how to set up a delayed call from within an event handler
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
Changelogs
Version 2.21
BugFix: The player should no longer be killed if a save file is loaded that didn't have this mod installed, after save that did have this mod was first loaded. The source of this was a bit of translation code for those updating from version 2.1, which would always apply on new saves due to a re-purposed variable. Now it properly checks for version 2.1 before being applied.
Version 2.2
Fixed a bug as old as this mod itself where the players limb durability would not properly scale with their health. This was caused by it being tied to player base health rather than player permanent health. Note that fixing this required a large overhaul in how PHCS calculates health so I will dedicate the rest of this changelog to that.
Moved from using modav Health, which modifies permanent Health. To setav Health, which modifies base(and permanent Health). In player HP calculation. This also completely disables most vanilla base HP gain systems until such a time that player.unsetav Health is used. Also note that temporary boosts and perks like Lifegiver will still work as they don't alter base HP but only current and permanent HP.
As a result of disabling/blocking vanilla HP calculation, compatibility patches for JSawyer Ultimate and Sawyerbatty are now no longer needed, since those modify(but still use) said systems for their own use. Due to sheer simplicity of said patches they can be safely removed mid-game and they should be so that the disable button works as intended.
Removed the alternative/experimental HP calculation method since it no longer serves any purpose. The new HP calculation method is perfectly accurate since it does not require any mirroring that could fail.
Changed the disable script(activated with the disable button in the MCM) to use player.unsetav Health. This restores the vanilla HP calculation methods to their defaults or whatever other mods set them to and removes any HP alterations made by PHCS.
Version 2.1
This mod now requires Johnny Guitar NVSE version 3.6 or newer. As well as xNVSE version 6.06 or newer
Switched to a purely event handling based method for triggering player HP updates(one of these events requires Johnny Guitar hence the above). This should make updates snappier and more responsive, while being less performance intensive than the old method
Added the option to switch back to the old HP update trigger method(a mix of events and a quest update script) incase the pure event based method ends up being problematic. My own testing suggests that is unlikely, but just in case I added the option. This option can be accessed from within the MCM
Added the option to effectively disable this mod in the MCM. This option undoes any changes this mod made to player HP and prevents this mod from making any further changes, while it is active. This option is intended as a safe alternative to uninstalling this mod mid-playthrough. Which remains unsafe even with this option enabled
Version 2.0
Further script optimizations, the main player HP updating script has gone from 107 lines down to 65 lines in this version. While still doing everything it used to
Removed edits to the fAVDHealthEnduranceMult gamesetting. HP added through this setting is now removed through script instead, which should be safer and have fewer compatibility issues.
Added a new experimental HP calculation method as a recovery tool in case the main HP player updating mechanism fails to work as intended. Added due to a seemingly rare but as of yet unreproducible bug that caused the normal HP mechanism to partially fail
Reduced the number of mirror variables used from 4 to 1, this should leave less room for errors and is more efficient to boot
Added a compatibility patch for JSawyer Ultimate Edition as change #2 in this log broke compatibility with it
Added a compatibility patch for SawyerBatty
Version 1.81
Fixed some of the health calculation math being broken by the move to internalization in version 1.8. This was caused by the engine treating all Global (variables) as floats, even when flagged as Integers(Why!?). This was fixed by replacing the problematic Global variables, with local variables that do behave as intended.
Version 1.8
Renamed the esp to player HP control suite.esp match the mods name. For existing users updating, please download the optional update instead of the main file. As the renamed esp will break things, on saves using the old version. This will be the last update pushed under the old name. Going forwards I will only support the renamed esp. My apologies for the inconvenience but I should have done this ages ago.
Internalized most calculations before altering the players HP. This along with another another fix(mentioned below) should reduce weird behavior such as the player dying when the HP stat was updated and potentially fix some very minor save game bloat issues(not sure if they were present to begin with).
Added some sanity checks and a small healing mechanic that should make it impossible for the player to die when adjusting values through the MCM. This should ensure the player will always have at least 1 HP after adjusting things so long as their max HP is 1 or Higher. Set the max to 0 or get it reduced through normal means and you will still die.
Removed the "safe" uninstall and reinitialisation buttons from the MCM. This was done because there is no safe uninstall method for scripted mods such as this mod and to prevent people having the illusion that it is safe to do so. It was only previously included because of ignorance on my part, I have since learned and therefore decided that removing the feature was the best thing to do. My appologies if anyone used the feature previously.
Removed some unused stuff from the esp
Re-did some of the text in the MCM, no more non-existant terms such as Flat number. However since I am a terrible writer in any language not a native English speaker some odddities are sadly still to be expected. If you are a native English speaker and would like to help me clean up some of the presentation for this mod. Please take a look at the comment section.
Version 1.7
Fixed a few UI bugs in the MCM where values would show as 0 until clicked on(for configuration)
Changed the handling of the game's default HP gain through leveling. Instead of disabling it, the HP gained through it is removed instead. The end result is the same for the player but fixes a rare bug with npc health(more on the top comment for this update).
Due to the change of handling how HP gained through leveling works, the HP the player has when pressing the uninstall toggle has been changed from 100 + temp boosts to 100 + HP gained through the vanilla leveling system + temp boosts
Known UI bug The preset will always change to "custom" after closing the MCM regardless of the chosen preset. This was also in the previous update but has since been identified, will try to fix it in a future update
Version 1.6
Reverted back to the always on HP gain soft cap. Turning it into a toggle turned out to be less reliable than my initial tests showed and thus to prevent bugs I reverted things to how they were in 1.4 and earlier
Version 1.5
The HP gain from leveling (soft) cap can now be turned off entirely in the MCM
Adjusted all presets so that they only use the HP gain soft cap if it makes sense to do so. This means that currently only the short & rapid gains and No gains presets actually use this soft cap by default
Fixed an UI issue where the Custom INI preset would not be displayed in the MCM
Using the uninstall toggle now prints a few lines with instructions to the console
Various changes to the wording of some MCM options mouseover data
Version 1.4
Updated some of the scripting, for better consistency, cleanness and potentially some small performance improvements
As a result of the scripting update the reinitialize toggle now behaves slightly differently and no longer requires the Main menu to be closed before you can go back to configuring things
Added myself as the Author of this mod in the .esp file header
Added a short description of this mod in the .esp file header
Version 1.3
Renamed the Mod to Player HP Control Suite to be more fitting of what this mod actually does. (It was Player Health Revised previously)
Fixed a bug where a portion of the start up script could fail, thus preventing the PCs HP stat from properly updating.
Added Presets in the MCM to give users more (starting) options rather than having to fully configure everything based on the default.
With the addition of presets the included ini file had to be restructured. This has resulted in the removal of the manual configuration option through the ini. Everything Now has to be done through the MCM.
As per the previously mentioned change. The requirements for this mod now include the mod configuration menu.
Version 1.2
The scripts for this mod have been optimized so that it should have far less of an impact on performance
The above has 1 downside, if you gain endurance through an implant or non-level up related perk(say a quest reward) it may take as many as 5 seconds(spent outside of any menu) before player HP is updated. This is as the above says done for performance reasons.
Version 1.1
Fixed an issue where HP values would not be updated properly if the player characters level was above the specified HP gain level cap if the HP gain level cap was changed.
Note if you are updating from the previous version you must first use the uninstall toggle(ingame) and then install the update. After which you must the reinitialize toggle(ingame) apologies for this
Version 1.0
Initial release
Donations
No donations accepted
Introduction
Player HP Control Suite(formerly known as Player Health Revised) is a full overhaul of how the player (max) HP stat gets calculated that allows users to fully customize things to their liking. This can be done through the included MCM.
What the mod does (in more detail)
The main feature of this mod:
In an unmodded state the game calculates (max) HP according to the following formula: 100 + (Player Endurance * 20) + ((player level - 1) * 5) This mod changes this to [User value 1] + (Player Endurance * [User value 2]) + ((player level - 1) * ([User value 3] +([User value] 4 * player Endurance))).
If the above formulas didn't make sense let me explain the vanilla formula and then my modified formula. In vanilla HP consists of 3 components: A guaranteed amount of 100 HP, the player characters permanent(meaning no temporary bonuses are included) endurance * 20 and lastly the player characters level - 1 * 5. For ease of use let's refer to the first 2 components combined as "Base HP" and the third component as "level up HP".
What this mod does is allow users to define the guaranteed portion of Base HP(100 in vanilla) and the number that gets multiplied by the player characters endurance. For the level up HP component this mod splits the default value(5) into 2 portions, the first being a (guaranteed) number defined by the user. The other portion is a number that gets multiplied by player endurance. This effectively makes endurance important not only for your Base HP but also how much HP the Player character gains when leveling up.
Additional features:
A soft level cap on HP gain(from leveling). This lets you define a level after which the player character will stop again HP from leveling. Note this is different from the players actual level cap hence why I called it a soft level cap.
A number of pre-configured presets that already have all settings dialed in. To give you more than 1 starting option which you can either use as is or as a basis for your own custom preset.
Actual examples:
Since the above is rather dry text, here are a few examples of player HP at different levels and endurance stats using the vanilla HP formula and this mods default preset. Which are:
Base HP 50 (vanilla 100) Base HP endurance multiplier: 5 (vanilla 20) Static Health gain per level: 2 (vanilla 5) Health gain per level based on endurance: 0.5 * Endurance (Vanilla 0 as this did not exist in vanilla) Health gain(from level ups) level cap: 31 (vanilla has no cap so whatever your actual level cap is)
1 Endurance: 5 Endurance:10 Endurance:
lvl 1 vanilla: 120 HP lvl 1 vanilla: 200 HP lvl 1 vanilla: 300 HP lvl 1 this mod: 55 HP lvl 1 this mod: 75 HP lvl 1 this mod: 100 HP
lvl 16 vanilla: 195 HP lvl 16 vanilla: 275 HP lvl 16 vanilla: 375 HP lvl 16 this mod: 92 HP lvl 16 this mod: 142 HPlvl 16 this mod: 205 HP
lvl 31 vanilla: 270 HP lvl 31 vanilla: 350 HPlvl 31 vanilla: 450 HP lvl 31 this mod: 130 HP lvl 31 this mod: 210 HPlvl 31 this mod: 310 HP
As you can see in vanilla you start with more base HP and then gain a static 150 HP over the course of 30 levels or 5 per level(remember HP gained from level ups is level -1 hence the 31) regardless of the players endurance stat. But with this mods default settings you take a significant nerf to base HP and then the health gained over 30 levels varies from 75(or 2.5 per level) all the way up to 210 (or 7 per level) depending on the players endurance stat.
But this is just one example, comparing the mod's default settings with the vanilla HP formula
Installation
Simply install with your mod manager as normal.
Compatibility
PHCS should be compatible with most other mods since it doesn't touch any vanilla records and uses script to disable HP gained from vanilla settings related to leveling and Endurance, replacing them with its own systems. However large scale balance overhauls are always a bit iffy therefore I try to maintain a list with mods I know to be compatible.
Known as compatible: JSawyer Ultimate Edition (by PushTheWinButton) SawyerBatty (by RoyBatterian)
Uninstallation
Remove the mod with your mod manager and then start a new game. Do not remove this(or any) scripted mod(that comes with an esp or esm) mid-playthrough, this can cause damage to your save game. Any suggestion I may have given earlier that removing it was safe to do so. Is incorrect, based on ignorance on my part.