mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-17 01:23:51 +00:00
tbc: fix combat damage parsing for TBC 2.4.3
TBC 2.4.3 SMSG_ATTACKERSTATEUPDATE and SMSG_SPELLNONMELEEDAMAGELOG send full uint64 GUIDs for attacker/target, while WotLK 3.3.5a uses packed (variable-length) GUIDs. Using the WotLK reader on TBC packets consumes 1-8 bytes where a fixed 8 are expected, shifting all subsequent reads and producing completely wrong damage/absorbed/resisted values. Add TbcPacketParsers overrides that read plain uint64 GUIDs. Also note that TBC SMSG_SPELLNONMELEEDAMAGELOG lacks the WotLK overkill field.
This commit is contained in:
parent
1c967e9628
commit
b4f744d000
2 changed files with 74 additions and 0 deletions
|
|
@ -298,6 +298,10 @@ public:
|
|||
// TBC 2.4.3 SMSG_MAIL_LIST_RESULT: uint8 count (not uint32+uint8), no body field,
|
||||
// attachment uses uint64 itemGuid (not uint32), enchants are 7×u32 id-only (not 7×{id+dur+charges})
|
||||
bool parseMailList(network::Packet& packet, std::vector<MailMessage>& inbox) override;
|
||||
// TBC 2.4.3 SMSG_ATTACKERSTATEUPDATE uses full uint64 GUIDs (WotLK uses packed GUIDs)
|
||||
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;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue