v1.4.8 — the Trol stops losing its extra stomachs on reload
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 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.