Changes
- 21-Jul-2026 Tijer - Fixed a database typo that had likely been silently breaking artifact tracking since it was set up: the artifacts table key column was misspelled, so every attempt to save an artifacts location and last-seen time was failing quietly in the background. Renamed the column to match what the game expects and confirmed saving now works.
- 21-Jul-2026 Tijer - Cleaned up dset (the admin command for setting an items vampire discipline bonuses): it used to be a giant hand-written list checking every discipline name one by one, now its a small lookup table. Same behavior, just much easier to maintain going forward.
- 21-Jul-2026 Tijer - Cleaned up mset (the admin command for editing a players stats): the kill/death counters (sks, sds, mks, mds, pks, pds, aks, ads, streak) and the core attributes (str, int, wis, dex, con) each used to be nine and five separate hand-written blocks doing the exact same checks. Theyre now small lookup tables. No behavior change, just far less duplicated code to keep in sync.
- 21-Jul-2026 Tijer - Cleaned up pset (the big admin command for editing a players powers/stats): the 15 martial-art stances, the 5 spell colors, the 5 immunity flags, the 15 weapon skills, and a handful of personal-message fields (form, fatality, decap, entrance, exit, plus three toggle flags) each used to be their own separate hand-written block doing the same checks over and over. All five groups are now small lookup tables instead. No behavior change, just far less duplicated code.
- 21-Jul-2026 Tijer - Performance fix: every single combat pulse, the game re-checked every fighting character by walking the entire fight list from the start, for every one of them - so with more people fighting at once it got slower at a faster rate. It now uses an instant lookup instead of a walk-through, so combat with lots of simultaneous fighters (wars, group fights) should scale much better.
- 21-Jul-2026 Tijer - Batch of small fixes: a chat/social function was computing something then immediately throwing it away and using something else instead (fixed in two spots); the spell-page writing system was setting the wrong internal flag for action-type pages, breaking their follow-up keywords; deleted about 700 lines of dead, unused duplicate code sitting unused in the character-info file; fixed a broken check that was supposed to keep command aliases (like kill and its shortcut k) in sync when one gets disabled or logged, but never actually worked; cleaned out a vestigial always-true flag in the login process that made it look like login stats were being gated when they never actually were; removed a dead, unreachable function that could never be called; and removed a set of buffer-size constants that were silently overridden everywhere anyway, to stop them looking like they mattered.
- 21-Jul-2026 Tijer - Fixed the time display (time command and login/credits screen) to show a friendlier 12-hour format, e.g. 21-Jul-2026 6:20pm instead of 21-Jul-2026 18:20:43.
- 21-Jul-2026 Tijer - Security/stability pass: fixed a crash exploit in weapon etching (etch text with no length limit could overflow a buffer), several memory leaks in speech and social commands (say/xemote/leaderclear/notes), and a few rare crash conditions in the clan table, pathfinding, and player-file loading.
- 22-Jul-2026 Tijer - Fixed garbled/corrupted text when examining extra descriptions in rooms.
- 22-Jul-2026 Tijer - Fixed a bug in the MySQL reconnect logic that could crash the mud when the database briefly dropped and reconnect attempts failed.
