You are viewing a potentially older version of this package. View all versions.
sighsorry-AdditiveDamageModifier-1.1.3 icon

AdditiveDamageModifier

Makes resistances and weaknesses stack additively, with configurable modifier values, player minimum damage caps, fall damage tuning, and visible adm_ status effects with icons, percent labels, and clearer tooltip/compendium info.

Date uploaded 10 hours ago
Version 1.1.3
Download link sighsorry-AdditiveDamageModifier-1.1.3.zip
Downloads 33
Dependency string sighsorry-AdditiveDamageModifier-1.1.3

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2333 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.

Preferred version: 5.4.2333

README

AdditiveDamageModifier

AdditiveDamageModifier makes Valheim resistance and weakness modifiers stack together instead of letting only the strongest modifier win.

In vanilla, several sources of resistance and weakness do not cancel each other out. The game chooses one final modifier by priority. This mod changes that into an additive calculation, so every relevant modifier contributes to the final damage multiplier.


Adds visible adm_ status effects for testing, events, commands, and other mods. You can use addstatus command for testing.


Shows the effective modifier percent in tooltips and active effect UI.


CheckOut this mod to use training dummy for damage and resistance testing. https://thunderstore.io/c/valheim/p/sighsorry/TouchGrass/
Above is an example of RootArmor(+30%) + FeatherCape(+45%) + FireResistMead(-30%) = SUM(+45%) of fire damage with the mod's default setting.

Main Features

  • Stacks resistance and weakness modifiers additively per damage type.
  • Affects both players and creatures.
  • Lets servers configure the percent value of each modifier tier.
  • Adds player minimum damage caps so very strong resistance cannot always reduce player damage to 0.
  • Adds visible adm_ status effects for testing, events, commands, and other mods.
  • Shows the effective modifier percent in tooltips and active effect UI.
  • Adds a Compendium page that explains the current server values, calculation, player minimums, and vanilla differences.
  • Adds configurable fall damage cap and fall damage multiplier options.
  • Keeps ServerSync version enforcement and synced gameplay config.

Additive Damage Examples

Default modifier values:

  • Very Weak: +45%
  • Weak: +30%
  • Slightly Weak: +15%
  • Slightly Resistant: -15%
  • Resistant: -30%
  • Very Resistant: -45%
  • Immune: -100%

Example player modifiers:

Root Armor pierce resistance (-30%)
+ Berserker Mead pierce weakness (+30%)
+ Bonemass pierce resistance (-15%)
= pierce -15%

The player takes 85% pierce damage.

Feather Cape fire weakness (+45%)
+ Barley Wine fire resistance (-30%)
= fire +15%

The player takes 115% fire damage.

Creature resistances and weaknesses are additive too. A creature that is weak to pierce by +30% takes 130% pierce damage; a creature resistant by -30% takes 70%.

Player Minimum Damage Caps

Player damage has configurable minimum damage taken caps for these damage types:

  • Blunt
  • Pierce
  • Slash
  • Fire
  • Poison
  • Frost
  • Lightning

The config option is named Player Minimum Damage Taken Percent - <damage type>. The default value is 10, so an immune or heavily resistant player still takes at least 10% of the original damage from those capped types. In the Active effects compendium, this same cap is shown on the additive modifier scale as MinTotal -90%.

Spirit intentionally has no player minimum cap because vanilla players are already immune to Spirit damage.

Status Effects

The mod registers 56 status effects named:

adm_<damage_type>_<modifier>

Supported damage types:

blunt, pierce, slash, fire, poison, frost, lightning, spirit

Supported modifiers:

very_weak, weak, slightly_weak, slightly_resistant, resistant, very_resistant, immune

Examples:

adm_blunt_very_weak
adm_fire_immune
adm_spirit_resistant

These effects can be added with commands such as:

addstatus adm_blunt_resistant

Each adm_ effect has a generated status icon, a readable HUD name without the adm_ prefix, and a percent label. Modifier icons use simple tier markers:

+1, +2, +3, -1, -2, -3

Tooltips And Compendium

Damage modifier tooltip lines can show the configured modifier percent, for example:

Damage modifier: Resistant VS Fire (-30%)

This non-compendium percent suffix is controlled by a client-only config option:

[1 - General]
Show Modifier Percent in Tooltips Outside Compendium = On

The Active effects compendium always shows fuller information, including MinTotal:

Damage modifier: Resistant VS Fire (-30% / MinTotal -90%)

The Compendium also includes an Additive Damage Modifiers page. It reads the current server configuration and explains:

  • Current additive modifier values
  • The damage formula and a calculated example
  • Player minimum damage and MinTotal
  • Vanilla modifier values and selection behavior
  • Spirit, Immune, Ignore, and Cold/Freezing rules

Localization

The Compendium page includes English and Korean translations in the mod DLL. The Thunderstore package also includes AdditiveDamageModifier.English.yml as an editable translation template.

Additional client-side translations can be placed anywhere under the BepInEx folder. Name the file after the language selected in Valheim:

AdditiveDamageModifier.<Language>.yml

Example:

AdditiveDamageModifier.Turkish.yml

Use the English translation file as the template. Missing or blank keys fall back to English, and unknown keys are ignored. A malformed external file is skipped and reported in the BepInEx log.

Fall Damage

Fall damage has two synced config options:

  • Maximum Fall Damage: raises the maximum base fall damage before status effects.
  • Fall Damage Multiplier: controls how fast fall damage grows.

Useful examples:

  • Vanilla reaches 100 fall damage at 20m.
  • Maximum Fall Damage = 200 and Fall Damage Multiplier = 1.00 reaches 200 damage at 36m.
  • Maximum Fall Damage = 200 and Fall Damage Multiplier = 2.00 reaches 200 damage at 20m.
  • With multiplier 2.00, 100 damage happens at 12m.

Fall Damage Multiplier keeps 2-decimal precision. Most other numeric config values are integer sliders.

Cold And Freezing

The frost modifier can control Cold and Freezing immunity through:

Cold/Freezing Immunity Trigger Frost Delta Percent

Default value is -15%. If the effective additive frost delta is less than or equal to this threshold, vanilla Cold and Freezing effects are blocked or cleared.

Config Sections

1 - General

  • Lock Configuration
  • Show Modifier Percent in Tooltips Outside Compendium

2 - Additive Damage

  • Modifier tier values
  • Player minimum damage taken caps
  • Cold/freezing immunity threshold

3 - Fall Damage

  • Maximum fall damage
  • Fall damage multiplier

Building Packages

Set ModVersion in Plugin.cs, then run a Release build:

dotnet build AdditiveDamageModifier.csproj -c Release

After ILRepack completes, the Release build updates Thunderstore/manifest.json to the DLL version and creates both Thunderstore/AdditiveDamageModifier_v<version>.zip and Nexus/AdditiveDamageModifier_v<version>.zip. Rebuilding the same version replaces those archives. Debug builds do not update the manifest or create packages. Release packaging currently requires Windows PowerShell. Update the changelog manually when changing versions.

Github

https://github.com/sighsorry1029/AdditiveDamageModifier

CHANGELOG

Version Update Notes
1.1.3 - Fixed Valheim private-field access errors during ObjectDB startup, HUD updates, and Compendium updates by removing optional terminal cache manipulation and using Harmony field injection for required UI lists
1.1.2 - Fixed a startup MethodAccessException by registering localization through Valheim's non-public Localization.AddWord method at runtime
1.1.1 - Fixed stacked modifier encoding precision so configured percent steps remain order-independent and exact Frost immunity thresholds are respected
- Limited external translation overrides to known mod keys and treated blank values as English fallbacks
- Automated Release packaging so the DLL version, manifest, and Thunderstore/Nexus archives stay synchronized
1.1.0 - Added an Additive Damage Modifiers Compendium page showing the current server values, calculation rules, player minimums, and vanilla differences
- Added embedded English and Korean Compendium translations, external YAML translation support, and an editable English translation template in the Thunderstore package
1.0.10 - Preserved existing per-damage player minimum cap values when moving to the clearer config names
- Unknown or modded damage modifiers now fall back to the vanilla tooltip instead of being omitted
- Added a warning when a Valheim update prevents the Cold/Freezing threshold patch from applying
- Simplified internal code and removed unused template files with no intended gameplay changes
1.0.9 - Changed the Active effects compendium cap label to MinTotal, showing the lowest possible combined modifier value on the same scale as resistance and weakness values
- Renamed player minimum cap configs and updated their descriptions to explain how 10% damage taken maps to MinTotal -90%
1.0.8 - Added 56 adm_ status effects for Blunt, Pierce, Slash, Fire, Poison, Frost, Lightning, and Spirit modifiers
- Added visible status effect icons, readable HUD names, and percent labels for adm_ effects
- Updated modifier icons to show +1, +2, +3, -1, -2, and -3 tier markers
- Added modifier percent info to damage modifier tooltips, with MinNet shown only in the Active effects compendium
- Added a client-only General config option to hide non-compendium modifier percent tooltip suffixes
- Improved config usability with integer percent/cap sliders while keeping Fall Damage Multiplier at 2-decimal precision
1.0.7 - Improved calculating damage sum logic
1.0.6 - Resolved players doing excessive damage in some edge cases
1.0.5 - Added fall damage multiplier
- Now it is easier to type in numbers on config manager
1.0.4 - Made it so that player would have -100% damage from spirit,chop,pickaxe by default
- Added config option for min damage cap player would get from all damage sources(pierce, slash, blunt, poison, lightning, frost, fire)
- please regenerate your conifg
1.0.3 - if sum of frost resistance and weakness is below -15%(configurable), Player gets immune to Freezing and Cold, check Cold/Freezing Immunity Trigger Frost Delta Percent
1.0.2 - Removed lower-cap clamping during intermediate accumulation, which previously caused order-dependent results and incorrect behavior when multiple modifiers were combined
- During additive combination, if any modifier is Ignore, the final result is forced to Ignore (0 damage)
- Immune is now fixed at -100% (weakness still can be added over it)
- Minimum Damage Taken Cap now applies to players only.
- Config cleanup
1.0.1 - Ignore overrides other resistance and weakness field into 0% total damage
- Make player Ignore chop, pickaxe, spirit damage instead of Immune
1.0.0 - Initial Release