mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-17 09:33:51 +00:00
game: fix TBC 2.4.3 SMSG_CAST_FAILED missing parseCastFailed override
TBC 2.4.3 SMSG_CAST_FAILED format is spellId(u32) + result(u8), same as Classic. WotLK added a castCount(u8) prefix before spellId. TbcPacketParsers lacked a parseCastFailed override, so it fell through to the WotLK base which read one extra byte as castCount, shifting the spellId read by one byte and corrupting the spell ID and result for every failed cast on TBC. - Add TbcPacketParsers::parseCastFailed override: reads spellId(4)+result(1) - ClassicPacketParsers already overrides this (enum shift +1), so Classic unaffected
This commit is contained in:
parent
528b796dff
commit
7270a4e690
2 changed files with 20 additions and 0 deletions
|
|
@ -332,6 +332,8 @@ public:
|
|||
bool parseGossipMessage(network::Packet& packet, GossipMessageData& data) override;
|
||||
// TBC 2.4.3 SMSG_CAST_RESULT: spellId(u32) + result(u8) — WotLK added castCount(u8) prefix
|
||||
bool parseCastResult(network::Packet& packet, uint32_t& spellId, uint8_t& result) override;
|
||||
// TBC 2.4.3 SMSG_CAST_FAILED: spellId(u32) + result(u8) — WotLK added castCount(u8) prefix
|
||||
bool parseCastFailed(network::Packet& packet, CastFailedData& data) override;
|
||||
// TBC 2.4.3 SMSG_SPELL_START: full uint64 GUIDs (WotLK uses packed GUIDs)
|
||||
bool parseSpellStart(network::Packet& packet, SpellStartData& data) override;
|
||||
// TBC 2.4.3 SMSG_SPELL_GO: full uint64 GUIDs, no timestamp field (WotLK added one)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue