aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNaios <naios-dev@live.de>2016-07-02 18:38:24 +0200
committerNaios <naios-dev@live.de>2016-07-05 00:19:38 +0200
commit1a891f3a5edf173adcd304aa4bfc6828b63fb507 (patch)
tree13e2116e5c20e27930bb39b476b1233178f2ba1d /src
parentc0df97276815f6bdf10b3df938e242bec13d2a8b (diff)
Core/Scripting: Don't force event cancellation when swapping creatures.
* EventProcessor::KillAllEvents(force = false) should only be used by the EventProcessor. (cherry picked from commit d68316fcd2fc71343edfbd387249b75bd6e8a90f)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Scripting/ScriptMgr.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp
index 5d3297b009d..476b87f2440 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);