Eternal
Diving for Valheim with an oxygen bar, and the Eternal helmet: a horned, finned Norse diving helm that lets you breathe underwater.Eternal
Holding your breath finally matters in Valheim. Eternal lets you dive below the surface, gives you an oxygen bar that runs down while your head is underwater, and adds the Eternal helmet: a Norse diving helm of blackened iron, aged bronze and an obsidian visor, crowned with whale-bone horns and a sea-serpent fin, that lets you breathe freely under the waves.
Diving
Vanilla Valheim keeps swimmers floating at the surface. With Eternal:
- Hold Crouch to dive and Jump to rise (on a gamepad, the crouch and jump buttons). Both can be changed in the config, and they follow your in-game key bindings.
- Hold Run underwater to swim 40 % faster. The game has no swim sprint of its own.
- While your head is underwater the camera follows you below the surface, with a blue-green tint and denser fog that darken with depth.
- An oxygen bar from 0 to 100 sits above the stamina bar, or above the eitr bar when that one is showing. It appears when your head goes under and fades out a second after it is full again.
- Oxygen runs down while your head is underwater, also when you stay still: 2 per second near the surface, 15 % more for every 10 meters of water above you, 1.5x while swimming fast and half while you stay still. The Swim skill cuts the drain by up to 40 % at level 100. That gives about 50 seconds swimming, 100 seconds standing still and 30 seconds swimming at 45 meters.
- Out of the water oxygen comes back at 25 per second, full again in 4 seconds.
- Holding your breath costs no stamina. Swimming spends stamina as in vanilla, so staying still underwater costs nothing. Stamina does not regenerate naturally underwater; meads still work.
- Below 25 % oxygen a blue vignette closes in, bubbles escape from your mouth and you hear your own muffled heartbeat.
- At zero oxygen you can no longer dive and you start floating up. After 3 seconds you take 2 drowning damage per second until you reach air. Once your head is out, the usual Valheim rules for an exhausted swimmer apply; the two never stack.
- At zero stamina underwater you cannot dive any deeper, but you keep your depth and take no damage while you still have oxygen.
- A dive of at least 4 seconds and 1.5 meters trains the Swim skill a little when you surface, at most once every 30 seconds.
The Eternal helmet
- Your oxygen stays at 100 while you wear it, so you cannot drown for lack of air.
- Swimming costs 20 % less stamina. It uses the game's own swim stamina modifier, so it shows in the tooltip.
- Standing still underwater, stamina comes back at half the normal rate.
- Two sea-serpent horns rise from the temples: whale bone with twisted ridges, a riveted bronze collar, obsidian tips and a spiral of runes. A dorsal fin with seven bone spines runs from the crown to the nape, and two gill fins open behind the ears.
- The runes on the crest, the visor and the horns glow aqua, and so do the tips of the fin spines. They burn brighter underwater, for every player who sees you. You hear soft regulated breathing and let out a puff of bubbles on each exhale.
- Armor 24, +3 per quality level, 4 quality levels. Weight 5, durability 300 (+200 per level), no movement penalty.
- Crafted at the forge, level 3: 20 Iron, 6 Bronze, 2 Chain, 4 Obsidian. Upgrades cost 10 Iron and 2 Chain per level, which Valheim scales to 10, 20 and 40 Iron (2, 4 and 8 Chain) for qualities 2, 3 and 4, at forge levels 4, 5 and 6.
Installation
With a mod manager (r2modman, Thunderstore Mod Manager), install Eternal; BepInExPack_Valheim and Jotunn come with it.
By hand, install BepInExPack_Valheim and Jotunn, then copy what is inside the zip's plugins folder into BepInEx/plugins/Eternal. Keep the Assets and Translations folders next to Eternal.dll.
In multiplayer the server and every player need Eternal, and the versions must match exactly: update the server and the players at the same time. The server's gameplay settings are sent to every client on connect.
Configuration
The file is BepInEx/config/com.srcodex.eternal.cfg; Configuration Manager edits it in game (F1). Sections 1 to 6 are server-enforced: on a server only an admin can change them. Sections 7 to 9 belong to each player.
| Section | What it controls | Defaults |
|---|---|---|
| 1 - Oxygen | Oxygen drain and refill, and the low-air warning | drain 2/s, refill 25/s, +15 % per 10 m up to 2x, 1.5x fast swimming, 0.5x still, -40 % at Swim 100, warning below 25 % |
| 2 - Drowning | Damage when out of oxygen underwater | 3 s grace, then 2 damage per 1 s tick |
| 3 - Diving | Dive speeds and depth | down 2 m/s, up 3 m/s, 1.5 m/s when out of oxygen, 45 m max, fast swimming 1.4x |
| 4 - Swim skill | Experience from dives | 0.3 per second of dive, at least 4 s and 1.5 m, at most 6 per dive, 30 s cooldown |
| 5 - Helmet | Helmet stats | armor 24 (+3), quality 4, weight 5, durability 300 (+200), swim cost 0.8x, still regen 0.5x |
| 6 - Helmet recipe | Recipe and forge level | forge 3; Iron 20 (+10), Bronze 6, Chain 2 (+2), Obsidian 4 |
| 7 - Effects | Oxygen bar, vignette, bubbles, sounds, rune glow, underwater camera, fog and tint | all on |
| 8 - Controls | Dive and rise buttons | Crouch, Jump |
| 9 - Debug | Extra log detail | off |
Updating from 1.0.0: the section 1 - Breath is now 1 - Oxygen, and ExhaustedAscentSpeed in 3 - Diving is now OutOfAirAscentSpeed. Your old values there are not carried over. BepInEx keeps the old entries in the file without using them, so you can delete them.
Console command
eternal_give [quality] puts an Eternal helmet in your inventory. It needs devcommands.
Compatibility
Eternal only adds prefix and postfix patches and never rewrites game methods. It was written against Better Stamina, EpicLoot and Valheim Community Patch, which touch the same stamina code. Holding your breath spends oxygen, not stamina, so their stamina changes only affect swimming, as they do without Eternal.
Other mods that also move swimmers up and down, or that change how the camera stays above water (other diving mods), will conflict with Eternal.
Known limitations
- The ocean's water volume ends 50 meters below the surface, so dives stop at 45 meters by default, whatever the config says above that.
- Valheim has no underwater rendering of its own. How the water surface looks from below depends on the game's water shader; the fog and tint carry the underwater look.
- The oxygen bar is a copy of the game's stamina bar, made when the HUD loads. If a game update changes that bar, Eternal writes a warning to the log and keeps working without the oxygen bar.
Changelog
- 1.1.2: rebuilt and checked for Valheim 1.0.20; no gameplay changes.
- 1.1.1: fixed an error that filled the log in the main menu and while loading a world.
- 1.1.0: oxygen bar; holding your breath no longer costs stamina; horns, dorsal fin and gill fins on the helmet.
- 1.0.0: first release.
The full notes are in CHANGELOG.md, shown in the Changelog tab on Thunderstore.
