EasyVitals
[AI-generated] Character values: item weight x0.25, food/potion duration x5, map x3, boss power x2, rested x3, 5s resting, -2% gear penalty, full food effect. Client-only, no server sync.
About this mod Machine translation
EasyVitals
AI generated statement: This module is written by the AI agent (WorkBuddy) under the clear needs and itemized acceptance of the user;
Functional design, real-device testing and release decisions are all led by users.
Character and gameplay values. Split from EasyQoL according to functional purposes, it is a pure client module.
Features (9 items)
| # | Function | Default | Configuration Section |
| --- | --- | --- | --- |
| 1 | Item weight multiplier | 0.25 (original 25%) | 1 - Item Weight |
| 2 | Food Duration Multiplier | 5x | 2 - Food Duration |
| 3 | Potion/consumable effect duration | 5 times (automatically skips "cooling" effects) | 3 - Potion Duration |
| 4 | Map Discovery reveal radius | 3x | 4 - Map Discovery |
| 5 | Boss power duration | 2x (20-minute cooldown unchanged) | 5 - Boss Power Duration |
| 6 | Rested buff duration | 3 times | 6 - Rested Duration |
| 7 | "resting time" waiting time | 5 seconds (original 20 seconds) | 7 - Resting Time |
| 8 | Equipment movement speed penalty is unified | -2% | 8 - Equipment Speed |
| 9 | Food Full Effect | On | 9 - Food Full Effect |
The equipment maintenance group (durability/range repair/inbound automatic repair) is not included in this module, see EasyGear.
Configuration
BepInEx/config/easyvitals.client.only.cfg
⚠️ You must restart the game after making changes - BepInEx only reads the configuration once in the plug-in Awake, and manual changes in the game will be overwritten by the old memory value.
Implementation points
- 1 / 2 / 3 / 8 Use ObjectDB prefab data rewriting (hanging on ObjectDB.Awake, ZNetScene.Awake).
Recalculate using "original value × multiplier", so repeated calls are idempotent.
- 4 Take the prefix of Minimap.Explore (zoom in to reveal radius parameter).
- 6 / 7 Determine by type (SE_Rested / SE_Cozy) in db.m_StatusEffects, not by name ——
Because the prefab names of these two do not match the class names (the prefab of SE_Cozy is called SE_Resting).
- 9 Use the postfix of Player.GetTotalFoodValue to make up for the attenuation of Pow (remaining proportion, 0.3).
⚠️ Don’t change SE_Rested.m_ttl - Player.UpdateBaseValue will recalculate it every time
(m_ttl = m_baseTTL + (Comfort Level-1) × m_TTLPerComfortLevel), any changes will be overwritten immediately.
This module changes those two "source fields", so any comfort level is N times more accurate.
online
Pure client. Neither the host nor other players need to install it.
No NetworkCompatibilityAttribute declared, no Jotunn referenced, no ServerSync/CCS embedded.
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file. In multiplayer, the host and every client need the same mods installed.
Install these first, or the mod will not work: