From df585571f108b3c44d3db1ab82683151f798cbf7 Mon Sep 17 00:00:00 2001 From: ariel- Date: Mon, 22 Jan 2018 03:55:04 -0300 Subject: Core/Unit: fixed Global cooldown cancelation on spell interrupt Thanks to Nyeriah for the heads up (cherry picked from commit 514c847881a9fff504e90f1186a1209c0b8a3674) --- src/server/game/Entities/Unit/Unit.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/server') 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()); -- cgit v1.2.3