fix: use CMSG_OPEN_ITEM for locked containers (lockboxes)

Right-clicking a locked container (e.g. Dead-Tooth's Strong Box) was
sending CMSG_USE_ITEM with spellId=0, which the server rejects. Locked
containers (itemClass==1, inventoryType==0) now send CMSG_OPEN_ITEM
instead, letting the server auto-check the keyring for the required key.
This commit is contained in:
Kelsi 2026-03-18 06:06:29 -07:00
parent 2fb7901cca
commit 25138b5648
5 changed files with 50 additions and 2 deletions

View file

@ -4271,6 +4271,13 @@ network::Packet UseItemPacket::build(uint8_t bagIndex, uint8_t slotIndex, uint64
return packet;
}
network::Packet OpenItemPacket::build(uint8_t bagIndex, uint8_t slotIndex) {
network::Packet packet(wireOpcode(Opcode::CMSG_OPEN_ITEM));
packet.writeUInt8(bagIndex);
packet.writeUInt8(slotIndex);
return packet;
}
network::Packet AutoEquipItemPacket::build(uint8_t srcBag, uint8_t srcSlot) {
network::Packet packet(wireOpcode(Opcode::CMSG_AUTOEQUIP_ITEM));
packet.writeUInt8(srcBag);