Fix Classic item query packet format for auction house item names

Vanilla CMSG_ITEM_QUERY_SINGLE has no GUID field (just uint32 entry),
causing servers to reject the oversized WotLK-format packets. Also fix
response parser: remove nonexistent statsCount field and use 5 damage
types instead of 2 to match Vanilla protocol.
This commit is contained in:
Kelsi 2026-02-17 01:05:15 -08:00
parent 5ea41df8b5
commit 41506a9c1d
3 changed files with 21 additions and 6 deletions

View file

@ -124,6 +124,11 @@ public:
// --- Item Query ---
/** Build CMSG_ITEM_QUERY_SINGLE */
virtual network::Packet buildItemQuery(uint32_t entry, uint64_t guid) {
return ItemQueryPacket::build(entry, guid);
}
/** Parse SMSG_ITEM_QUERY_SINGLE_RESPONSE */
virtual bool parseItemQueryResponse(network::Packet& packet, ItemQueryResponseData& data) {
return ItemQueryResponseParser::parse(packet, data);
@ -287,6 +292,7 @@ public:
bool parseMailList(network::Packet& packet, std::vector<MailMessage>& inbox) override;
network::Packet buildMailTakeItem(uint64_t mailboxGuid, uint32_t mailId, uint32_t itemSlot) override;
network::Packet buildMailDelete(uint64_t mailboxGuid, uint32_t mailId, uint32_t mailTemplateId) override;
network::Packet buildItemQuery(uint32_t entry, uint64_t guid) override;
bool parseItemQueryResponse(network::Packet& packet, ItemQueryResponseData& data) override;
};