Usurper Reborn v0.53.7 Release Notes
Execution Releases Prisoner
Executing an online player now properly releases them from prison. The DB update (DaysInPrison = 0) was already happening, but the player's in-memory state wasn't synced — they stayed trapped in the prison location despite having served their penalty.
Dead Spouse Marriage Cleanup
Players married to NPCs who were permakilled stayed permanently "married" to a dead NPC — status showed married, but spending time or equipping the spouse showed no one available. Two fixes:
- Login cleanup: On login, if the player's spouse NPC is dead/missing, marriage flags are automatically cleared and the player is widowed
- Future prevention: When an NPC spouse is permakilled, the world sim sends a bereavement notification to the player
Heal Spell Protection on Allies
Heal spells with protection bonuses (Power Hat, Prismatic Shield, etc.) only applied the protection to the caster, even when cast on a companion. The healing went to the ally but the AC bonus stayed on the player. Fixed in both paths:
- Single-target heal on ally: Now applies both healing AND protection to the target
- Multi-target heal on party: Protection now applies to ALL teammates, not just the caster
Old God Damage Buff (Aurelion, Terravok, Manwe)
The last three Old Gods were being cheesed. Strength tripled: Aurelion 280→840, Terravok 350→1050, Manwe 400→1200. Phase scaling still applies on top (Phase 2: 150%, Phase 3: 200%), so Manwe Phase 3 hits with base 2,400 STR.
AoE Ability Double-Damage Fix
AoE abilities (Crescendo, Whirlwind, Void Rupture, Chain Lightning, Corrosive Cloud, etc.) dealt damage twice — once from the generic ability handler (single-target hit) and again from the special effect handler (AoE loop). The generic handler now skips base damage for abilities whose special effects handle their own damage distribution.
Slot-Filtered Inventory View (by Xykier)
When viewing an equipment slot in the inventory, the backpack now filters to show only items that fit that slot. Equip directly from the filtered view. Unequip items back to backpack from the slot view.
Bug fixes applied to PR:
- Weapon slot selection prompt was inverted (only prompted when slot was already known)
- Missing Spanish localization keys added
- Filtered inventory cache invalidated on equip/unequip/drop to prevent stale display
Royal Bodyguard Equipment Exploit
Royal bodyguards (mercenaries) could be equipped with player inventory items through the dungeon party management screen [Y] Party. Bodyguards use baked-in stats and shouldn't accept equipment. Now blocked in both the auto-loot pickup path and the manual party management screen.
Blood Moon Global Event
Blood Moon was a per-player event (each player had their own 30-day counter), so different players experienced it at different times. Now a global server-wide event: every 30th in-game day, ALL players experience Blood Moon simultaneously. Works in both online multiplayer and single-player.
Dev Menu Removed
The secret developer menu (3,268 lines) has been removed. Admin functionality is available through the admin console. The DEV/CHEATER/DEVMENU commands now show a message pointing to the admin console.
Veloura Save Dialogue Fix
Veloura's save path dialogue still told the player to "Find the Soulweaver's Loom" on floor 65 despite the v0.53.5 lore change where Veloura already has the Loom and gives it directly. Dialogue rewritten: Veloura now explains she found the Loom in ancient ruins and tried to use it on herself, then presses it into your hands during the save scene. No more floor 65 fetch quest.
God Save Quest Flow Fix (Critical)
Sparing a god through dialogue set their state to Awakened (waiting for the player to find an artifact and return), but the artifact discovery events were removed in v0.53.5 — leaving gods permanently stuck in Awakened limbo. The spare dialogue path now routes through HandleBossSaved which properly sets the god state to Saved, grants the artifact directly, and awards XP/chivalry. Affects Veloura (Soulweaver's Loom) and Aurelion (Sunforged Blade).
Also removed: post-spare "promised to find the Loom" text, "QUEST STARTED: Find the Soulweaver's Loom" message, and "vowed to find a cure" news text. Em-dash encoding fixed for BBS terminal compatibility.
Dead Spouse Relationship Record Cleanup
GetSpouseName in RelationshipSystem skipped dead spouses but left the marriage record at RelationMarried status. Now resets both sides to RelationNormal when a dead spouse is detected, preventing ghost marriage records from accumulating.
Royal Marriage Annulment Reason
ClearRoyalMarriage used HandleSpouseDeath (recording "Died in combat") to clear the RomanceTracker record when the throne changed. Now uses Divorce with reason "Royal marriage annulled (throne change)" for accurate romance history.
Relationship System Audit (17 Bugs Fixed)
Comprehensive 5-pass audit of the entire relationship system across RelationshipSystem, RomanceTracker, NPCMarriageRegistry, and Character flags:
- Church marriage (
PerformMarriage) missing NPCMarriageRegistry + RomanceTracker registration - Gossip/flirt authority desync (gossip used NPCMarriageRegistry, flirt used Character flags)
SpouseNameinconsistently usedNamevsName2/DisplayNameacross paths- Stale NPC marriage flags not synced with registry on world sim startup
PerformWeddingCeremonymissing NPCMarriageRegistry registration- Wedding ceremony didn't set NPC's marriage flags (only player's)
- Daily relationship cap (2/day) blocked confession (+8) and marriage (+10) milestone events —
overrideMaxFeelingnow bypasses daily cap ProcessDivorcemissing NPCMarriageRegistry + RomanceTracker cleanupHandleSpouseBereavementmissing RomanceTracker.HandleSpouseDeath call- Affair divorce
SpouseNameusedplayer.Nameinstead ofDisplayName - Affair remarriage missing NPCMarriageRegistry registration
- Castle royal marriage used
Nameinstead ofDisplayNamefor SpouseName and registry ClearRoyalMarriagecalledEndMarriagewith king name instead of NPC ID- No self-marriage guard in
PerformMarriage
NPC Marriage Flag Gossip Desync Fix
NPCs listed as "Single" in gossip rejected flirts with "I'm married." The gossip screen checked NPCMarriageRegistry (authoritative) while the flirt system checked npc.Married/npc.IsMarried (Character flags, often stale). Flirt now uses NPCMarriageRegistry as the authority, matching gossip. World sim startup also clears stale marriage flags on NPCs not in the registry.
Shop Item Thematic Bonuses
Shop-generated items had no name-based stat bonuses — only raw ArmorClass/WeaponPower. Dungeon loot got CHA from "Orator's Gloves" but the same item from a shop had zero stats. Added ApplyNameThematicBonuses to ShopItemGenerator, applied to weapons, armor, and accessories. Uses the same keyword matching as dungeon loot (holy→WIS, shadow→DEX, orator→CHA, etc.).
Files Changed
Scripts/Core/GameConfig.cs— Version 0.53.7Scripts/Locations/CastleLocation.cs— Execute releases prisoner from prison (DB sync)Scripts/Core/GameEngine.cs— Login marriage cleanup; Xykier added to creditsScripts/Systems/WorldSimulator.cs— HandleSpouseBereavement: notify player spouse on NPC permadeathScripts/Systems/CombatEngine.cs— Heal spell protection on allies; AoE ability double-damage fix; mercenary loot pickup skipScripts/Data/OldGodsData.cs— Aurelion STR 280→840, Terravok 350→1050, Manwe 400→1200Scripts/Systems/InventorySystem.cs— Slot-filtered inventory (by Xykier); slot selection fix; cache invalidationScripts/Systems/DailySystemManager.cs— Blood Moon global event (uses currentDay % 30)Scripts/Locations/DungeonLocation.cs— Mercenary equipment management blockedScripts/Locations/MainStreetLocation.cs— Dev menu removed; commands show admin console messageScripts/Locations/DevMenuLocation.cs— DELETED (3,268 lines)Scripts/Systems/ShopItemGenerator.cs—ApplyNameThematicBonusesfor name-based stat bonuses on shop itemsScripts/Locations/DungeonLocation.cs— Floor 5 Guardian changed from mini-boss to regular monster; mercenary equipment blockScripts/Systems/RelationshipSystem.cs—PerformMarriageregisters in NPCMarriageRegistry + RomanceTracker; uses DisplayName; self-marriage guard;ProcessDivorcecleans up NPCMarriageRegistry + RomanceTracker; daily cap bypassed for milestone eventsScripts/Systems/VisualNovelDialogueSystem.cs—HandleFlirtOptionuses NPCMarriageRegistry as authority;PerformWeddingCeremonysets NPC flags + registers in NPCMarriageRegistryScripts/Systems/WorldSimulator.cs—HandleSpouseBereavementcalls RomanceTracker.HandleSpouseDeath; stale marriage flag cleanup on startupScripts/Systems/DialogueSystem.cs— Veloura save path dialogue rewritten (gives Loom directly); Aurelion Alethia dialogueScripts/AI/EnhancedNPCBehaviors.cs— Affair remarriage uses DisplayName + registers in NPCMarriageRegistryScripts/Locations/CastleLocation.cs— Royal marriage uses DisplayName;ClearRoyalMarriageuses NPC ID for EndMarriage + Divorce reason fixScripts/Systems/OldGodBossSystem.cs— Spared gods route throughHandleBossSavedinstead of settingAwakenedstateScripts/Locations/DungeonLocation.cs— Removed "promised to find Loom" and "QUEST STARTED" text from spared outcome; updated news textLocalization/en.json— Xykier credit key; inventory slot keysLocalization/es.json— Missing inventory slot keys added; Xykier creditLocalization/fr.json— Xykier creditLocalization/hu.json— Xykier creditLocalization/it.json— Xykier credit