diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index 012aaf5e..d6c6dcad 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -13982,7 +13982,11 @@ void GameHandler::handleSpellCooldown(network::Packet& packet) { } void GameHandler::handleCooldownEvent(network::Packet& packet) { + if (packet.getSize() - packet.getReadPos() < 4) return; uint32_t spellId = packet.readUInt32(); + // WotLK appends the target unit guid (8 bytes) — skip it + if (packet.getSize() - packet.getReadPos() >= 8) + packet.readUInt64(); // Cooldown finished spellCooldowns.erase(spellId); for (auto& slot : actionBar) {