From b6965b2c30eb3317228b328a0c1da71235d7c257 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 5 Feb 2023 16:24:13 +0100 Subject: Core/Objects: Move EventProcessor update to WorldObject::Update --- src/server/game/Scripting/ScriptMgr.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/server/game/Scripting/ScriptMgr.cpp') diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index 2a60e031416..74c7d0ed747 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -447,6 +447,10 @@ class CreatureGameObjectAreaTriggerScriptRegistrySwapHooks // Hook which is called before a gameobject is swapped static void UnloadResetScript(GameObject* gameobject) { + // Remove deletable events only, + // otherwise it causes crashes with non-deletable spell events. + gameobject->m_Events.KillAllEvents(false); + gameobject->AI()->Reset(); } @@ -461,6 +465,10 @@ class CreatureGameObjectAreaTriggerScriptRegistrySwapHooks // Hook which is called before a areatrigger is swapped static void UnloadResetScript(AreaTrigger* at) { + // Remove deletable events only, + // otherwise it causes crashes with non-deletable spell events. + at->m_Events.KillAllEvents(false); + at->AI()->OnRemove(); } -- cgit v1.2.3