From fab1944ae4f2f5be6db92a160a3f66deab7fc3b9 Mon Sep 17 00:00:00 2001 From: Shocker Date: Mon, 26 Mar 2012 03:02:05 +0300 Subject: Core/Spells: Don't remove summoned gameobjects for non-channeled spells when spell cast was canceled Fixes issues like Demonic Circle: Summon removing the last summoned circle when the new cast was canceled --- src/server/game/Spells/Spell.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/server/game/Spells/Spell.cpp') diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index ecd20a03665..bf2be9afd9b 100755 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3080,7 +3080,8 @@ void Spell::cancel() *m_selfContainer = NULL; m_caster->RemoveDynObject(m_spellInfo->Id); - m_caster->RemoveGameObject(m_spellInfo->Id, true); + if (IsChanneledSpell(m_spellInfo)) // if not channeled then the object for the current cast wasn't summoned yet + m_caster->RemoveGameObject(m_spellInfo->Id, true); //set state back so finish will be processed m_spellState = oldState; -- cgit v1.2.3