script errors reach the player, and the bars stop lying

- an addon error shows the red script-error dialog the reference shows, and a runaway load loop can no longer freeze world entry
- food and drink show stack counts from the first login, and a paladin's aura bar lights the aura that is actually on
- logging out no longer erases the character from saved-bag addons: the player's absence is no data
- MPQ patches are discovered the way the client discovers them, and a slow arrival holds in place instead of falling through the world

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Sam
2026-08-14 19:32:44 +07:00
co-authored by Claude Fable 5
parent 047dd3444e
commit e665b0bfc4
39 changed files with 1385 additions and 215 deletions
+6
View File
@@ -128,6 +128,12 @@ pub(super) fn install(lua: &Lua) -> mlua::Result<()> {
.set_name("=[benilla wow stdlib]")
.set_mode(mlua::ChunkMode::Text)
.exec()?;
// Remember the default handler BY IDENTITY, right after installing it — the engine-side
// dispatch (decision 1305) skips it (it reports into the host channel, where every dispatched
// message already is) and fires only a handler somebody *chose*: FrameXML's `_ERRORMESSAGE`
// or an addon's own.
let default: mlua::Function = lua.load("return geterrorhandler()").eval()?;
lua.set_named_registry_value(super::REG_DEFAULT_ERRORHANDLER, default)?;
Ok(())
}