From 1f20f55c620bf3278b2cc754e1a7de52e755bff0 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Tue, 17 Mar 2026 19:45:45 -0700 Subject: [PATCH] fix: set interruptible flag on channel start for non-player casters MSG_CHANNEL_START for NPCs/bosses was leaving UnitCastState::interruptible at its default (true) instead of checking Spell.dbc AttributesEx. --- src/game/game_handler.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index 27de9b6d..f760f050 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -7116,10 +7116,11 @@ void GameHandler::handlePacket(network::Packet& packet) { castTimeRemaining = castTimeTotal; } else { auto& s = unitCastStates_[chanCaster]; - s.casting = true; - s.spellId = chanSpellId; - s.timeTotal = chanTotalMs / 1000.0f; - s.timeRemaining = s.timeTotal; + s.casting = true; + s.spellId = chanSpellId; + s.timeTotal = chanTotalMs / 1000.0f; + s.timeRemaining = s.timeTotal; + s.interruptible = isSpellInterruptible(chanSpellId); } LOG_DEBUG("MSG_CHANNEL_START: caster=0x", std::hex, chanCaster, std::dec, " spell=", chanSpellId, " total=", chanTotalMs, "ms");