TruePassiveMobs
Lox, Asksvin, Boar, Neck & more stay peaceful until attacked. Other enemies flee from players whose gear outclasses them.
About this mod Author’s original text
PassiveMobs
A BepInEx mod for Valheim 1.0 with three independent features (all on by default):
- Passive creatures: By default Lox, Asksvin, Moose, Boar, Hen, Neck, and Bjorn leave players alone until a player damages them. After that they fight back as normal for ProvokedDuration seconds after the last hit, then calm down again.
- SkittishCreatures run away from a player who stays within SkittishRange for SkittishTime seconds.
- TerritorialCreatures attack a player who stays within TerritorialRange for TerritorialTime seconds, then run away for TerritorialRetreatTime seconds.
- Enemies fear strong players: non-passive enemies run away from players whose gear outclasses it, instead of attacking.
An enemy you attack stops running and fights back until FightBackDuration seconds after your last hit.
Raid creatures never run away.
- Neutral creatures: the Dvergr and other creatures that are friendly until angered only turn hostile after
HitsToAnger (default 2) hits from a player within AngerWindow seconds, instead of on the first stray hit.
Once angry, they make peace again CalmDownTime seconds (default 5 minutes) after the fighting stops.
Requires Jötunn.
How "outclassed" is decided
The mod uses two checks, each can be turned on or off:
| Check | Passes when |
|---|---|
| UseEnemyDamageCheck | The enemy's strongest attack, after your armor and resistances, deals at most MaxEnemyHitPercent (default 10%) of your max health. |
| UsePlayerDamageCheck | Your equipped weapon kills the enemy in at most MaxHitsToKill (default 3) average hits. This includes your skill, active buffs and the enemy's resistances. |
The math uses the game's own formulas, including star level, world difficulty settings, player-count scaling and world level.
These are rough outcomes with the defaults, using 3★ gear and typical food:
| Your gear | Runs away | Still fights |
|---|---|---|
| Iron | Greydwarves, greydwarf brutes, skeletons | Trolls, draugr, wolves |
| Padded + Blackmetal | Everything above, plus draugr and wolves | Fenrings, goblins, trolls |
| Carapace + Mistwalker | Everything above, plus fenrings and goblins | Goblin brutes, seeker soldiers |
Config
The config file is BepInEx/config/com.lhoffl.TruePassiveMobs.cfg. It reloads automatically when you save
it, so you can tune it while the game runs.
Multiplayer
Required on the server and every client.
Settings are synced from the server to the clients. Config changes are synced live.
Building
dotnet build -c Release
The game path comes from the Steam registry keys. The build copies TruePassiveMobs.dll to
BepInEx/plugins/TruePassiveMobs; pass -p:DeployToGame=false to skip that step.
To override the paths, create a gitignored Environment.props next to the csproj. With a mod manager, point
BepInExPath at the profile's BepInEx folder and DeployDir at the mod's folder in it:
$(APPDATA)\r2modmanPlus-local\Valheim\profiles\MyProfile\BepInEx
$(BepInExPath)\plugins\lhoffl-TruePassiveMobs
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: