Fix online equipment slot mapping, auto-equip packet, and backpack slot offsets

Correct PLAYER_FIELD_INV_SLOT_HEAD default from 322 to 324 (UNIT_END+0xB0)
which was shifting every equipment slot by one position. Fix auto-detection
to validate against known 3.3.5a base. Change CMSG_AUTOEQUIP_ITEM to send
uint8 bag+slot instead of uint64 GUID, and add slot offset 23 for backpack
items in both auto-equip and use-item packets.
This commit is contained in:
Kelsi 2026-02-06 19:13:38 -08:00
parent e38c0213e4
commit 40c016ccdb
4 changed files with 58 additions and 20 deletions

View file

@ -1921,9 +1921,10 @@ network::Packet UseItemPacket::build(uint8_t bagIndex, uint8_t slotIndex, uint64
return packet;
}
network::Packet AutoEquipItemPacket::build(uint64_t itemGuid) {
network::Packet AutoEquipItemPacket::build(uint8_t srcBag, uint8_t srcSlot) {
network::Packet packet(static_cast<uint16_t>(Opcode::CMSG_AUTOEQUIP_ITEM));
packet.writeUInt64(itemGuid);
packet.writeUInt8(srcBag);
packet.writeUInt8(srcSlot);
return packet;
}