Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
AbsorptionEitrShield
Absorb incoming damage with Eitr before HP is reduced. Includes optional recharge mode, host-authoritative settings, and /die bypass.
By GurneyArena
| Date uploaded | 4 months ago |
| Version | 0.3.19 |
| Download link | GurneyArena-AbsorptionEitrShield-0.3.19.zip |
| Downloads | 284 |
| Dependency string | GurneyArena-AbsorptionEitrShield-0.3.19 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.
Preferred version: 5.4.2202ValheimModding-Jotunn
Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.
Preferred version: 2.20.0README
AbsorptionEitrShield
AbsorptionEitrShield adds an Eitr-based “shield” that absorbs incoming damage by draining Eitr first, then applying any remaining damage to HP.
How it works
When damage is taken:
- The mod reads how much HP was actually lost after vanilla calculations (armor, resistances, block/parry, etc.)
- That HP loss is absorbed by draining Eitr up to the available amount
- Any remaining damage (overflow) is applied to HP
Modes
Recharge mode (default: ON)
- Shield does NOT absorb damage while Eitr is recharging from 0 up to current max (e.g. after eating Eitr food)
- Shield becomes active when Eitr reaches current max
- If Eitr drops to ~0–1, shield disables again until it fully recharges
Always-on mode (Recharge OFF)
- Shield is always active whenever the player has Eitr (even if Eitr is not full)
NEW in 0.3.14
✅ Multiplayer fixed: shield absorption now works for ALL players, not only host
✅ PvP supported: players can absorb damage from other players correctly
✅ /die command bypass: using /die kills the player and is not prevented by the shield
✅ Damage handling improved: absorption is applied using Character.ApplyDamage, which catches most multiplayer damage sources correctly
Known limitations / not fixed yet
- Always-on mode death issue: if a player has at least 1 Eitr, some lethal hits may fail to kill (HP may not reach 0 as expected). Recharge mode behaves better here, but always-on still needs a fix.
- Block/parry behavior: blocked/parried damage can still drain Eitr (some users may prefer blocked damage to be ignored by the shield).
- DoT effects: some periodic damage (burning/poison/etc.) can still bypass absorption depending on how the game applies the damage.
- This mod intentionally does not modify stagger mechanics (stagger can still build up normally).
Installation
Install via Thunderstore / r2modman, or place the DLL into:
BepInEx/plugins/AbsorptionEitrShield/
Configuration
Settings can be changed in-game via Configuration Manager (host/admin authoritative in multiplayer). Client-side config values are ignored.
- ModEnabled
- UseRecharge
Multiplayer / authority
Host/admin settings are authoritative: only host/admin changes are applied.
CHANGELOG
AbsorptionEitrShield — Changelog
0.3.19
Changed
- Reworked damage absorption logic to apply before vanilla HP reduction:
- Shield now temporarily buffers HP by the absorbed amount and spends Eitr up-front, so the vanilla damage application results in the correct final HP in a single pass.
- This removes the need for a secondary “forced kill” hit and prevents duplicate damage numbers.
Fixed
- Removed visible “huge damage” (e.g. 999999 / 1,000,000) on deaths caused by the shield system.
- Greatly reduced/avoided false kill-feed triggers in PvP kill-feed mods (e.g. PvP Tweaks) that react to HP hitting 0 during the damage event, since HP no longer dips to 0 when Eitr should save the player.
- Kept
/diecommand behavior vanilla: shield never absorbs/diedamage in any mode.
0.3.18
Added/Changed
- Initial attempt of “no second hit” architecture using pre-buffering approach.
- Began removing next-frame kill invocation and artificial hit values.
Fixed
- Improved stability around lethal scenarios by relying less on post-damage HP restoration and more on single-pass outcomes.
0.3.17
Changed
- Improved death attribution for kill-feed mods by prioritizing a real
Damage(HitData)path (with attacker info) before fallback death invocation, to preserve “last attacker” tracking.
0.3.16
Fixed
- Corrected regression introduced by HP clamping (HP not allowed to hit 0 during shield processing):
- Added explicit “clamp happened” tracking so lethal-hit detection remained accurate even when HP was forced to stay above 0.
- Improved consistency of lethal damage handling so players can die properly when
HP + Eitr < incomingDamage.
0.3.15
Fixed
- Addressed immortality edge cases where lethal hits were incorrectly survived.
- Added safeguards around lethal damage application:
- Ensured lethal outcomes invoke death correctly (instead of leaving player at 1 HP permanently).
- Ensured players respawn with proper base HP instead of staying stuck at 1 HP after death/respawn in some cases.
- Reduced false kill reports from mods that detect “HP hits 0” by preventing HP from briefly dropping to 0 during shield math.
0.3.14 (baseline reference)
- Working Eitr shield absorption with optional “recharge” behavior:
- Shield activates when Eitr reaches its current max.
- Shield deactivates when Eitr is drained to ~0 and only reactivates after full recharge.
- Host-authoritative runtime configuration (clients cannot override host settings).