aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShocker <shocker@freakz.ro>2012-03-26 03:02:05 +0300
committerShocker <shocker@freakz.ro>2012-03-26 03:03:32 +0300
commitfab1944ae4f2f5be6db92a160a3f66deab7fc3b9 (patch)
treee0cea7c6a30637e338556f4aa8f587a7dffc77f3 /src
parent3f61bd0a26a0de061e68ccc062d654b06e23476f (diff)
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
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Spells/Spell.cpp3
1 files changed, 2 insertions, 1 deletions
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;