From af722d4e88e6709e7a3f57cbf2982cde8d5210d4 Mon Sep 17 00:00:00 2001 From: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com> Date: Thu, 20 Jun 2024 13:16:21 -0400 Subject: [PATCH] fix(Core/Spells): Partially revert spell cancel behavior change. (#19101) Init. --- src/server/game/Spells/Spell.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index f49653242..b73096ec8 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3710,6 +3710,7 @@ void Spell::cancel(bool bySelf) return; uint32 oldState = m_spellState; + bool autoRepeat = m_autoRepeat; m_spellState = SPELL_STATE_FINISHED; m_autoRepeat = false; @@ -3724,9 +3725,11 @@ void Spell::cancel(bool bySelf) } [[fallthrough]]; case SPELL_STATE_DELAYED: - SendInterrupted(SPELL_FAILED_INTERRUPTED); + SendInterrupted(0); + // xinef: fixes bugged gcd reset in some cases + if (!autoRepeat) + SendCastResult(SPELL_FAILED_INTERRUPTED); break; - case SPELL_STATE_CASTING: if (!bySelf) {