tbc: fix heal log GUID parsing and route combat through virtual dispatch

Add TbcPacketParsers::parseSpellHealLog override using full uint64 GUIDs
(TBC) instead of packed GUIDs (WotLK).  Route handleAttackerStateUpdate,
handleSpellDamageLog, and handleSpellHealLog through the virtual
packetParsers_ interface so expansion-specific overrides are actually
called.  Previously the game handler bypassed virtual dispatch with
direct static parser calls, making all three TBC overrides dead code.
This commit is contained in:
Kelsi 2026-03-09 21:36:12 -07:00
parent b4f744d000
commit 63d8200303
3 changed files with 34 additions and 3 deletions

View file

@ -93,6 +93,11 @@ public:
return SpellDamageLogParser::parse(packet, data);
}
/** Parse SMSG_SPELLHEALLOG */
virtual bool parseSpellHealLog(network::Packet& packet, SpellHealLogData& data) {
return SpellHealLogParser::parse(packet, data);
}
// --- Spells ---
/** Parse SMSG_INITIAL_SPELLS */
@ -302,6 +307,8 @@ public:
bool parseAttackerStateUpdate(network::Packet& packet, AttackerStateUpdateData& data) override;
// TBC 2.4.3 SMSG_SPELLNONMELEEDAMAGELOG uses full uint64 GUIDs (WotLK uses packed GUIDs)
bool parseSpellDamageLog(network::Packet& packet, SpellDamageLogData& data) override;
// TBC 2.4.3 SMSG_SPELLHEALLOG uses full uint64 GUIDs (WotLK uses packed GUIDs)
bool parseSpellHealLog(network::Packet& packet, SpellHealLogData& data) override;
};
/**