aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Loot/LootMgr.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2015-09-06 00:26:11 +0200
committerShauren <shauren.trinity@gmail.com>2015-09-06 00:26:11 +0200
commited633e5d314ac1793ed83652dab460836df966c8 (patch)
treef861b124ed7cfbb59ea90201df9a16cd34fcb03d /src/server/game/Loot/LootMgr.cpp
parent49b4dc269c021ab048a2fe2277586c05eaa4b443 (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.cpp33
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);
}