From 6d21f77d328a621f5120ddf5f597a7aec88a7e4b Mon Sep 17 00:00:00 2001 From: Kelsi Date: Mon, 9 Mar 2026 21:38:14 -0700 Subject: [PATCH] game: route aura/spell-list parsing through virtual packet dispatch AuraUpdateParser and InitialSpellsParser were called as static functions in the game handler, bypassing the expansion-specific overrides added to TbcPacketParsers. Switch them to packetParsers_->parseAuraUpdate() and packetParsers_->parseInitialSpells() so TBC 2.4.3 servers get the correct parser for each. --- src/game/game_handler.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index 28e78cbf..0e167f97 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -12332,7 +12332,7 @@ float GameHandler::getSpellCooldown(uint32_t spellId) const { void GameHandler::handleInitialSpells(network::Packet& packet) { InitialSpellsData data; - if (!InitialSpellsParser::parse(packet, data)) return; + if (!packetParsers_->parseInitialSpells(packet, data)) return; knownSpells = {data.spellIds.begin(), data.spellIds.end()}; @@ -12525,7 +12525,7 @@ void GameHandler::handleCooldownEvent(network::Packet& packet) { void GameHandler::handleAuraUpdate(network::Packet& packet, bool isAll) { AuraUpdateData data; - if (!AuraUpdateParser::parse(packet, data, isAll)) return; + if (!packetParsers_->parseAuraUpdate(packet, data, isAll)) return; // Determine which aura list to update std::vector* auraList = nullptr;