diff options
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 8f0851fec38..280ecf86d33 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -3078,12 +3078,13 @@ void Unit::InterruptSpell(CurrentSpellTypes spellType, bool withDelayed, bool wi if (GetTypeId() == TYPEID_PLAYER) ToPlayer()->SendAutoRepeatCancel(this); - m_currentSpells[spellType] = nullptr; - if (spell->getState() != SPELL_STATE_FINISHED) spell->cancel(); else + { + m_currentSpells[spellType] = nullptr; spell->SetReferencedFromCurrent(false); + } if (GetTypeId() == TYPEID_UNIT && IsAIEnabled) ToCreature()->AI()->OnSpellCastInterrupt(spell->GetSpellInfo()); |