diff options
| author | Shauren <shauren.trinity@gmail.com> | 2015-09-06 00:26:11 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2015-09-06 00:26:11 +0200 |
| commit | ed633e5d314ac1793ed83652dab460836df966c8 (patch) | |
| tree | f861b124ed7cfbb59ea90201df9a16cd34fcb03d /src/server/game/Loot/LootMgr.cpp | |
| parent | 49b4dc269c021ab048a2fe2277586c05eaa4b443 (diff) | |
Core/PacketIO: Corrected data sent in SMSG_LOOT_RESPONSE
Closes #15438
Diffstat (limited to 'src/server/game/Loot/LootMgr.cpp')
| -rw-r--r-- | src/server/game/Loot/LootMgr.cpp | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/src/server/game/Loot/LootMgr.cpp b/src/server/game/Loot/LootMgr.cpp index 189b620b805..9ef0f8c7c57 100644 --- a/src/server/game/Loot/LootMgr.cpp +++ b/src/server/game/Loot/LootMgr.cpp @@ -913,7 +913,7 @@ void Loot::BuildLootResponse(WorldPackets::Loot::LootResponse& packet, Player* v WorldPackets::Loot::LootItemData lootItem; lootItem.LootListID = packet.Items.size()+1; - lootItem.LootItemType = slot_type; + lootItem.UIType = slot_type; lootItem.Quantity = items[i].count; lootItem.Loot.Initialize(items[i]); packet.Items.push_back(lootItem); @@ -933,7 +933,7 @@ void Loot::BuildLootResponse(WorldPackets::Loot::LootResponse& packet, Player* v WorldPackets::Loot::LootItemData lootItem; lootItem.LootListID = packet.Items.size()+1; - lootItem.LootItemType = LOOT_SLOT_TYPE_ALLOW_LOOT; + lootItem.UIType = LOOT_SLOT_TYPE_ALLOW_LOOT; lootItem.Quantity = items[i].count; lootItem.Loot.Initialize(items[i]); packet.Items.push_back(lootItem); @@ -950,7 +950,7 @@ void Loot::BuildLootResponse(WorldPackets::Loot::LootResponse& packet, Player* v { WorldPackets::Loot::LootItemData lootItem; lootItem.LootListID = packet.Items.size()+1; - lootItem.LootItemType = LOOT_SLOT_TYPE_ALLOW_LOOT; + lootItem.UIType = permission == OWNER_PERMISSION ? LOOT_SLOT_TYPE_OWNER : LOOT_SLOT_TYPE_ALLOW_LOOT; lootItem.Quantity = items[i].count; lootItem.Loot.Initialize(items[i]); packet.Items.push_back(lootItem); @@ -962,6 +962,7 @@ void Loot::BuildLootResponse(WorldPackets::Loot::LootResponse& packet, Player* v return; } + LootSlotType slotType = permission == OWNER_PERMISSION ? LOOT_SLOT_TYPE_OWNER : LOOT_SLOT_TYPE_ALLOW_LOOT; QuestItemMap const& lootPlayerQuestItems = GetPlayerQuestItems(); QuestItemMap::const_iterator q_itr = lootPlayerQuestItems.find(viewer->GetGUID().GetCounter()); if (q_itr != lootPlayerQuestItems.end()) @@ -982,25 +983,25 @@ void Loot::BuildLootResponse(WorldPackets::Loot::LootResponse& packet, Player* v switch (permission) { case MASTER_PERMISSION: - lootItem.LootItemType = LOOT_SLOT_TYPE_MASTER; + lootItem.UIType = LOOT_SLOT_TYPE_MASTER; break; case RESTRICTED_PERMISSION: - lootItem.LootItemType = item.is_blocked ? LOOT_SLOT_TYPE_LOCKED : LOOT_SLOT_TYPE_ALLOW_LOOT; + lootItem.UIType = item.is_blocked ? LOOT_SLOT_TYPE_LOCKED : LOOT_SLOT_TYPE_ALLOW_LOOT; break; case GROUP_PERMISSION: case ROUND_ROBIN_PERMISSION: if (!item.is_blocked) - lootItem.LootItemType = LOOT_SLOT_TYPE_ALLOW_LOOT; + lootItem.UIType = LOOT_SLOT_TYPE_ALLOW_LOOT; else - lootItem.LootItemType = LOOT_SLOT_TYPE_ROLL_ONGOING; + lootItem.UIType = LOOT_SLOT_TYPE_ROLL_ONGOING; break; default: - lootItem.LootItemType = LOOT_SLOT_TYPE_ALLOW_LOOT; + lootItem.UIType = slotType; break; } } else - lootItem.LootItemType = LOOT_SLOT_TYPE_ALLOW_LOOT; + lootItem.UIType = slotType; packet.Items.push_back(lootItem); } @@ -1019,7 +1020,7 @@ void Loot::BuildLootResponse(WorldPackets::Loot::LootResponse& packet, Player* v { WorldPackets::Loot::LootItemData lootItem; lootItem.LootListID = packet.Items.size()+1; - lootItem.LootItemType = LOOT_SLOT_TYPE_ALLOW_LOOT; + lootItem.UIType = slotType; lootItem.Quantity = item.count; lootItem.Loot.Initialize(item); packet.Items.push_back(lootItem); @@ -1047,25 +1048,25 @@ void Loot::BuildLootResponse(WorldPackets::Loot::LootResponse& packet, Player* v switch (permission) { case MASTER_PERMISSION: - lootItem.LootItemType = LOOT_SLOT_TYPE_MASTER; + lootItem.UIType = LOOT_SLOT_TYPE_MASTER; break; case RESTRICTED_PERMISSION: - lootItem.LootItemType = item.is_blocked ? LOOT_SLOT_TYPE_LOCKED : LOOT_SLOT_TYPE_ALLOW_LOOT; + lootItem.UIType = item.is_blocked ? LOOT_SLOT_TYPE_LOCKED : LOOT_SLOT_TYPE_ALLOW_LOOT; break; case GROUP_PERMISSION: case ROUND_ROBIN_PERMISSION: if (!item.is_blocked) - lootItem.LootItemType = LOOT_SLOT_TYPE_ALLOW_LOOT; + lootItem.UIType = LOOT_SLOT_TYPE_ALLOW_LOOT; else - lootItem.LootItemType = LOOT_SLOT_TYPE_ROLL_ONGOING; + lootItem.UIType = LOOT_SLOT_TYPE_ROLL_ONGOING; break; default: - lootItem.LootItemType = LOOT_SLOT_TYPE_ALLOW_LOOT; + lootItem.UIType = slotType; break; } } else - lootItem.LootItemType = LOOT_SLOT_TYPE_ALLOW_LOOT; + lootItem.UIType = slotType; packet.Items.push_back(lootItem); } |
