Skip to main content

v1.4.8 — the Trol stops losing its extra stomachs on reload

Races of Valheim developer

Three separate bugs were quietly erasing a Trol's 4th and 5th stomach slots every time the game reloaded, a faction truce was folding the moment an event or a raid started, and the Trol's own in-game compendium had been telling players about abilities a whole tier before they actually unlocked.

This is a recap, not a full write-up

This post summarizes the changelog rather than being verified line by line against the source the way a normal release post is.

Trol losing the 4th and 5th stomach on every reload

The extra food was being saved correctly and then deleted while loading. TrolRace.IsTrol() read the race from the character's ZDO and trusted that answer even when the ZDO was empty — and a freshly loaded player's ZDO is empty for a moment, populated a fraction of a second later by a different Player.OnSpawned postfix that Harmony happens to register after the Trol's own. So the loader asked "am I a Trol?" during the one window where the honest answer only lived in the save file, got told no, and wiped all four extra-stomach keys out of the character. IsTrol() now falls back to the saved race when the ZDO has nothing to say — the same fix the hostility patches got in v1.4.6 — and the loader can no longer delete anything on a race it failed to read. Food already lost before this build stays lost; from here on it doesn't happen again.

A second, narrower bug lived in the same loader: slot 5 was being restored inside slot 4's early return, so a Trol who had eaten into the fifth slot while letting the fourth run empty lost the fifth slot too. The two slots now load independently of each other.

A third: the remaining burn time on both extra stomachs was only ever written at the moment you ate, and always as zero — so a reload handed both slots back a full meal's worth of time no matter how much had actually digested, while the three vanilla slots kept their real leftovers. The remaining time is now written into the save as the game autosaves, and restored with the correct amount left — the extra stomachs digest across a reload exactly like every other slot.

Faction truces folding under raids and events

A mob that's actively hunting players never checked factions at all. BaseAI.FindEnemy checks IsEnemy while scanning nearby creatures, but if that scan comes up empty it falls through to "attack the nearest player within 200m" — and every creature spawned by a raid or event hunts players for as long as that event runs. So a Black Forest truce held right up until the forest itself came alive: the moment a Fuling army or a random event spawned, the exact creatures a Trol is supposed to be at peace with — Greydwarves, Trolls and Fulings — came straight for them anyway. That fall-through now respects the same truce as everything else, for every faction. Raiders still tear into your buildings; they no longer single out the player standing next to them.

Trol compendium was a tier ahead of itself

Every line in the Trol's in-game "Trol Secrets" entry was gated one boss early, so a Trol who hadn't killed anything yet was already being promised the Eikthyr XP bonus, and True Form was listed as unlocking at Bonemass instead of Moder. The whole ladder now matches what the code actually grants — see the progression table on the race page.

Trol fire weakness, finally documented

The Trol takes 50% more fire damage and always has, but neither the race-selection screen nor the compendium ever said so — it was the only race whose one drawback was nowhere in its own description. Both now read the number straight out of config, so a retuned multiplier can't leave the text behind. See the updated Trol race page.