mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-10-02 19:03:43 +00:00
Loading a character whose xml has a malformed flag threw out of std::stoul, and a character whose xml failed to parse (or has no obj tag) dereferenced null on load and again on every save. - Flags are parsed with TryParse and a malformed one is logged and skipped instead of aborting the load. - The quick parse checks for the obj and items tags before using them. - Saving refuses to run when the document has no obj tag, logging that the character was not saved, instead of crashing and taking every other player's unsaved progress with it. - The remaining obj-child lookups go through a helper that returns null when the root is missing. Component LoadFromXml/UpdateXml still assume a valid document; refusing to load a player with invalid xml belongs in the world server's load path, which is being converted separately. Refs #1332 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>