feat: implement master loot UI for SMSG_LOOT_MASTER_LIST

Parse master loot candidate GUIDs from SMSG_LOOT_MASTER_LIST and display
a "Give to..." popup menu on item click when master loot is active.
Sends CMSG_LOOT_MASTER_GIVE with loot GUID, slot, and target GUID.
Clears candidates when loot window is closed.
This commit is contained in:
Kelsi 2026-03-12 17:58:24 -07:00
parent 6957ba97ea
commit 2f479c6230
3 changed files with 66 additions and 4 deletions

View file

@ -1230,6 +1230,11 @@ public:
void setAutoLoot(bool enabled) { autoLoot_ = enabled; }
bool isAutoLoot() const { return autoLoot_; }
// Master loot candidates (from SMSG_LOOT_MASTER_LIST)
const std::vector<uint64_t>& getMasterLootCandidates() const { return masterLootCandidates_; }
bool hasMasterLootCandidates() const { return !masterLootCandidates_.empty(); }
void lootMasterGive(uint8_t lootSlot, uint64_t targetGuid);
// Group loot roll
struct LootRollEntry {
uint64_t objectGuid = 0;
@ -2493,6 +2498,7 @@ private:
bool lootWindowOpen = false;
bool autoLoot_ = false;
LootResponseData currentLoot;
std::vector<uint64_t> masterLootCandidates_; // from SMSG_LOOT_MASTER_LIST
// Group loot roll state
bool pendingLootRollActive_ = false;