@@ -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);
|
||||
}
|
||||
|
||||
@@ -121,11 +121,11 @@ enum LootError
|
||||
// type of Loot Item in Loot View
|
||||
enum LootSlotType
|
||||
{
|
||||
LOOT_SLOT_TYPE_ALLOW_LOOT = 0, // player can loot the item.
|
||||
LOOT_SLOT_TYPE_ROLL_ONGOING = 1, // roll is ongoing. player cannot loot.
|
||||
LOOT_SLOT_TYPE_MASTER = 2, // item can only be distributed by group loot master.
|
||||
LOOT_SLOT_TYPE_LOCKED = 3, // item is shown in red. player cannot loot.
|
||||
LOOT_SLOT_TYPE_OWNER = 4 // ignore binding confirmation and etc, for single player looting (6.x no longer used)
|
||||
LOOT_SLOT_TYPE_ALLOW_LOOT = 2, // player can loot the item.
|
||||
LOOT_SLOT_TYPE_ROLL_ONGOING = 6, // roll is ongoing. player cannot loot.
|
||||
LOOT_SLOT_TYPE_MASTER = 4, // item can only be distributed by group loot master.
|
||||
LOOT_SLOT_TYPE_LOCKED = 1, // item is shown in red. player cannot loot.
|
||||
LOOT_SLOT_TYPE_OWNER = 7 // ignore binding confirmation and etc, for single player looting
|
||||
};
|
||||
|
||||
class Player;
|
||||
|
||||
@@ -57,8 +57,8 @@ WorldPacket const* WorldPackets::Loot::LootResponse::Write()
|
||||
}
|
||||
|
||||
_worldPacket.WriteBit(Acquired);
|
||||
_worldPacket.WriteBit(PersonalLooting);
|
||||
_worldPacket.WriteBit(AELooting);
|
||||
_worldPacket.WriteBit(PersonalLooting);
|
||||
_worldPacket.FlushBits();
|
||||
|
||||
return &_worldPacket;
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace WorldPackets
|
||||
struct LootItemData
|
||||
{
|
||||
uint8 Type = 2;
|
||||
uint8 UIType = 4;
|
||||
uint8 UIType = 7;
|
||||
uint32 Quantity = 0;
|
||||
uint8 LootItemType = 0;
|
||||
uint8 LootListID = 0;
|
||||
|
||||
Reference in New Issue
Block a user