Usurper Reborn v0.53.12 Release Notes
Version Name: Ancestral Spirits (Hotfix)
Murder Punishment Save Corruption Fix
The prison strip logic introduced in v0.53.11 could corrupt a player's save data, making their character unloadable.
Root cause: When a murder convict's equipment was confiscated, UnequipSlot() was called for all 14 equipment slots. This correctly removed stat bonuses but set each slot to Equipment ID 0 in the EquippedItems dictionary instead of removing the entry entirely. On save, all 14 slots were written as slot: 0. On reload, the game tried to look up Equipment ID 0 in the EquipmentDatabase, which doesn't exist, causing the character to fail deserialization silently. The player would see "Create new character" instead of their existing save.
Fix: Added EquippedItems.Clear() after the unequip loop to remove all slot entries entirely, preventing ID 0 references from being written to the save file.
Single-Player NPC Level Diversity
NPCs in single-player now spawn with a wide range of levels (1-80) instead of all starting at level 5-10. The world should feel alive and established from the first time a player enters.
Initial spawn: When NPCs are first created from templates, their levels are randomized across the full range: ~20% levels 1-15, ~30% levels 15-40, ~30% levels 40-65, ~20% levels 65-80. This gives players a healthy mix of low, mid, and high-level NPCs to interact with, fight, and recruit from day one.
Immigrant NPCs: Replacement NPCs generated by the immigration system now have a level floor of 10 with wider variance (±10 levels) instead of spawning at the average NPC level (which could be very low if the population was depleted). Online mode is unaffected — immigrants still scale to the server's average NPC level.
Note: This only affects new single-player games. Existing saves retain their current NPC levels.
"The Stranger" NPC Removed
The Stranger (Noctura's mortal disguise) has been removed from the NPC template list. She no longer spawns as a town NPC. Noctura now appears through dungeon events and Old God encounters, making the standalone town NPC redundant and confusing to players. Story system references (BetrayalSystem, StoryProgressionSystem) remain for legacy save compatibility but will not trigger without the NPC present.
Auto-Update Scripts for BBS Sysops
New standalone update check scripts for automated game updates:
Linux: scripts-server/updatecheck.sh — checks GitHub Releases, backs up current install, downloads and extracts update, restarts systemd services. Supports --check-only and --force flags. Configurable via environment variables.
Windows: scripts-server/updatecheck.ps1 — PowerShell equivalent for Windows BBS sysops. Auto-detects x64/x86 platform, kills running game process, downloads correct release asset.
Both scripts can be run via cron (Linux) or Task Scheduler (Windows) for fully automated nightly updates. See BBS_DOOR_SETUP.md for setup instructions.
Files Changed
Scripts/Core/GameConfig.cs— Version 0.53.12Scripts/Locations/BaseLocation.cs— AddedEquippedItems.Clear()after murder conviction equipment strip to prevent save corruption from ID 0 entriesScripts/Systems/NPCSpawnSystem.cs— Initial NPC spawn: randomized levels 1-80 in single-player; immigrant NPC level floor of 10 with ±10 variance in single-playerScripts/Data/ClassicNPCs.cs— Removed "The Stranger" NPC template (Noctura appears through events now)scripts-server/updatecheck.sh— New Linux auto-update scriptscripts-server/updatecheck.ps1— New Windows auto-update scriptDOCS/BBS_DOOR_SETUP.md— Added Automatic Updates section with cron/Task Scheduler setup instructions