Vanilla Potion Tuning
Adjust the numbers of existing vanilla Valheim potions and meads to suit your world balance. Keep their original items, recipes and effect types, with configurable values and a shared server configuration.
Version: 0.1.0 · Author: LoIYver · Install on: client and server/host.
Why this mod
Vanilla potion values are fixed. Changing world difficulty or progression may make recovery, buff duration or utility bonuses feel out of place, while a larger alchemy mod may introduce recipes and items you do not need.
Vanilla Potion Tuning exposes the existing effects' numeric parameters. Defaults come from the loaded game assets, so installing it without changing settings preserves the original numbers.
Features
- Configure HP, stamina and eitr restoration, including upfront recovery, recovery duration and applicable tick intervals.
- Adjust effect lifetime and the native restriction on drinking the same potion/category again.
- Tune regeneration, movement speed, stamina costs, carry weight, jumping and other existing numeric bonuses.
- Configure native resistance tiers through incoming-damage percentages.
- Expose other used numeric parameters, including skill bonuses, damage, armor, fall and wind modifiers, adrenaline and pheromones, where the vanilla potion uses them.
- Show the current configured values in item effect tooltips.
- Apply edits to newly consumed potions while existing active effects finish normally.
- Synchronize gameplay configuration through the standalone ConditionalConfigSync dependency.
The mod captures original consumable drinks when the vanilla item database loads. Mead and wine bases are excluded. Each distinct effect receives a config section named after its item prefab. Items that share one vanilla effect share one section.
Installation
Mod manager
Install with Gale or another compatible manager. ConditionalConfigSync is declared as a dependency and must remain installed.
Manual
- Install BepInEx for Valheim.
- Install ConditionalConfigSync 1.0.9 or newer, with both
ConditionalConfigSync.dllandConditionalConfigSync.Plugin.dll. - Place
VanillaPotionTuning.dllinBepInEx/plugins/VanillaPotionTuning/. - Start the game. The config is created after initialization, and potion sections appear once ObjectDB has loaded. Enter a world if the menu still shows only the General section.
For multiplayer, install the mod and its dependency on the server/host and every client. This release requires a compatible copy on both sides.
Configuration
File: BepInEx/config/LoIYver.VanillaPotionTuning.cfg.
Use Configuration Manager/F1 if installed, or edit the CFG file. File edits are reloaded automatically after a brief pause. Each setting description includes its game field and original asset value.
| Setting | Meaning |
|---|---|
| Duration and reuse delay seconds | Effect lifetime. The native same-effect/category drinking restriction lasts until expiry. |
| Health/Stamina/Eitr restored instantly | Resource restored immediately upon consumption. |
| Health/Stamina/Eitr restored over time | Total resource restored during the separate recovery duration. |
| Restoration duration seconds | Recovery window; 0 inherits the effect lifetime. |
| Health restoration tick seconds | Interval between HP recovery ticks. |
| Max stamina restored over time % | Percentage of maximum stamina for effects that already use fractional recovery. |
| Regeneration multiplier | 1 keeps the base rate; 1.5 means 150%, using native interactions with other effects. |
| Movement speed bonus % | 25 means +25% movement speed. |
| Stamina use modifiers % | -50 means 50% less cost; 25 means 25% more cost. |
| Extra carry weight | Additional carry capacity. |
| Incoming damage % | A native resistance or weakness tier for that damage type. |
Available rows depend on the potion's existing effect. Skill/creature selectors, object references, flags, icons and visual effects retain their native behavior.
Effect lifetime and HP tick intervals have a positive minimum because zero lifetime means an indefinite effect. If the lifetime is shorter than the recovery duration, recovery can end early.
Resistance tiers
Resistance strength uses the game's discrete levels:
| Incoming damage before armor | Native tier |
|---|---|
| 0% | Immune |
| 25% | Very resistant |
| 50% | Resistant |
| 75% | Slightly resistant |
| 100% | Normal |
| 125% / 150% / 200% | Increasing weakness |
Arbitrary continuous values such as 37% are not supported. Native resistance priorities and equipment interactions remain in use. Changing the frost tier also affects native cold-protection checks.
Server configuration
Gameplay values are always server-controlled. General → Lock configuration defaults to enabled; administrators may edit the shared settings. Ordinary clients cannot publish gameplay edits in this release, including when the lock is disabled.
CCS sync-policy ownership overrides do not release these settings to per-client control. CCS hidden-setting rules can still be used with a compatible configuration UI.
Applying changes
Numbers are applied to the effect copy before vanilla setup calculates recovery ticks or grants instant restoration. Original effect templates stay intact.
Already active effects keep their existing values. General → Enabled = false stops modifying new effects without removing active ones. Saved effects recreated on a later world entry can receive the current settings through the normal game restoration path.
Compatibility
- Built against Valheim 1.0.16 and ConditionalConfigSync 1.0.9.
- GCO, CLLC and BetterUI are not dependencies. Their versions do not gate this plugin's startup; the complete mod combination has not been playtested.
- No patches to damage processing, armor calculations or combat methods are installed.
- Other mods changing the same potion fields or modifying effects around cloning may conflict.
- Mod-added drinks registered after the original database capture are outside this mod's scope. Earlier changes to the database can affect discovery and defaults.
- Future game API changes may require an update. There is no exact game-version startup lock.
Detected potion/effect mappings and setting counts are printed in LogOutput.log under Vanilla Potion Tuning.
Validation
The DLL compiled without warnings. 39 behavior checks passed, including the actual game effect Clone method patched with Harmony in Mono, source-template preservation, recovery and percentage conversions, resistance-list isolation, config reload, disabling overrides and tooltip-data restoration. All four patch targets bound successfully against the provided assemblies.
Full Valheim gameplay, runtime potion enumeration, F1 display and multiplayer synchronization still need in-game verification. This is the first 0.1.0 release; the automated checks are not a completed gameplay test.
Credits
- LoIYver — mod design, programming and package.
- shudnal — ConditionalConfigSync, installed as a separate dependency.
- Iron Gate — Valheim and its existing potion mechanics.