v0.53.13 - Ancestral Spirits (Beta Hardening)
Moddable Game Data (Phase 1)
Game data can now be loaded from external JSON files -- no recompilation needed. Run the game with --export-data to generate editable files in a GameData/ folder.
Six data sources are now moddable:
- npcs.json -- Town NPC templates (names, classes, races, personalities, romance traits)
- monster_families.json -- Monster families and tier progressions (16 families, 80 tiers)
- dreams.json -- Narrative dreams and visions with trigger conditions
- achievements.json -- Achievement definitions with categories, tiers, and rewards
- dialogue.json -- NPC dialogue lines with personality/context matching
- balance.json -- Combat balance constants (crit chance, backstab multiplier, boss tuning, daily limits)
If a GameData/ folder exists next to the exe, the game loads those files instead of built-in defaults. Missing files fall back to defaults. Bad JSON logs an error and uses defaults -- never crashes. Enum values use readable strings ("Warrior" not "10") with case-insensitive matching.
Bug Fixes
- Trade item data loss -- Declined, cancelled, or expired trade offers now return items to the sender. Previously only gold was returned and items were permanently lost.
- Inventory crash -- Viewing an equipment slot with no matching backpack items (e.g. pressing R for rings with none in inventory) crashed the session. Fixed.
- Status quick command -- The % key for status display was not working from any location. Fixed.
- Save data persistence -- Five daily counter properties (DrinksLeft, PrisonsLeft, ExecuteLeft, QuestsLeft, PrisonActivitiesToday) were resetting to defaults on every login. Now properly saved and restored.
- Combat engine stability -- Three potential crash points in PvP AI and healer AI target selection fixed with proper null guards.
- Screen reader preference -- The --screen-reader flag now only needs to be passed once. The setting is saved and restored on future launches. (by evanofficial)
Server Stability
- MUD server connection handler now catches and logs unexpected exceptions instead of silently disconnecting players.
- 22 empty catch blocks in combat, game engine, location, and dungeon code now log errors to the debug log for post-mortem debugging.
- Localization synced -- missing key added to Spanish, Hungarian, Italian, and French.
Test Suite
115 new automated tests (584 total) covering combat engine data structures, boss phase transitions, save serialization round-trips for all player properties, enum JSON handling, and data loader validation.
For Modders
- Run UsurperReborn --export-data to generate all default JSON files
- Edit what you want, delete files you don't need to change
- Restart the game to apply changes
Phase 2 (spells, class abilities, bosses, loot tables) is planned for a future update.
