From 4065ba87c647e377cf26a1e789cade5740a0b674 Mon Sep 17 00:00:00 2001 From: Naios Date: Sat, 2 Jul 2016 18:38:24 +0200 Subject: [PATCH] Core/Scripting: Don't force event cancellation when swapping creatures. * EventProcessor::KillAllEvents(force = false) should only be used by the EventProcessor. --- src/server/game/Scripting/ScriptMgr.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index 106975283a7..afd998a5ca1 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -368,7 +368,9 @@ class CreatureGameObjectScriptRegistrySwapHooks // Hook which is called before a creature is swapped static void UnloadStage1(Creature* creature) { - creature->m_Events.KillAllEvents(true); + // Remove deletable events only, + // otherwise it causes crashes with non-deletable spell events. + creature->m_Events.KillAllEvents(false); if (creature->IsCharmed()) creature->RemoveCharmedBy(nullptr);