mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-04-17 09:33:51 +00:00
tbc: fix spell cast format and NPC movement parsing for TBC 2.4.3
CMSG_CAST_SPELL: WotLK adds a castFlags(u8) byte after spellId that TBC 2.4.3 does not have. Add TbcPacketParsers::buildCastSpell() to omit it, preventing every spell cast from being rejected by TBC servers. CMSG_USE_ITEM: WotLK adds a glyphIndex(u32) field between itemGuid and castFlags that TBC 2.4.3 does not have. Add buildUseItem() override. SMSG_MONSTER_MOVE: WotLK adds a uint8 unk byte after the packed GUID (MOVEMENTFLAG2_UNK7 toggle) that TBC 2.4.3 does not have. Add parseMonsterMove() override to fix NPC movement parsing — without this, all NPC positions, durations, and waypoints parse from the wrong byte offset, making all NPC movement appear broken on TBC servers.
This commit is contained in:
parent
9d1616a11b
commit
38333df260
2 changed files with 152 additions and 0 deletions
|
|
@ -287,6 +287,12 @@ public:
|
|||
bool parseNameQueryResponse(network::Packet& packet, NameQueryResponseData& data) override;
|
||||
bool parseItemQueryResponse(network::Packet& packet, ItemQueryResponseData& data) override;
|
||||
network::Packet buildAcceptQuestPacket(uint64_t npcGuid, uint32_t questId) override;
|
||||
// TBC 2.4.3 CMSG_CAST_SPELL has no castFlags byte (WotLK added it)
|
||||
network::Packet buildCastSpell(uint32_t spellId, uint64_t targetGuid, uint8_t castCount) override;
|
||||
// TBC 2.4.3 CMSG_USE_ITEM has no glyphIndex field (WotLK added it)
|
||||
network::Packet buildUseItem(uint8_t bagIndex, uint8_t slotIndex, uint64_t itemGuid, uint32_t spellId = 0) override;
|
||||
// TBC 2.4.3 SMSG_MONSTER_MOVE has no unk byte after packed GUID (WotLK added it)
|
||||
bool parseMonsterMove(network::Packet& packet, MonsterMoveData& data) override;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue