From 5c882e8788b87fe885f4e0d49b307920a2ce798e Mon Sep 17 00:00:00 2001 From: ariel- Date: Fri, 16 Apr 2021 20:41:20 +0200 Subject: [PATCH] Core/Unit: fixed Global cooldown cancelation on spell interrupt --- src/server/game/Entities/Unit/Unit.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index c5df14f6cd..fd04c7289c 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -3052,15 +3052,16 @@ 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(interruptingSpell); + else + { + m_currentSpells[spellType] = nullptr; + spell->SetReferencedFromCurrent(false); + } if (GetTypeId() == TYPEID_UNIT && IsAIEnabled) ToCreature()->AI()->OnSpellCastFinished(spell->GetSpellInfo(), SPELL_FINISHED_CANCELED); - - spell->SetReferencedFromCurrent(false); } }