aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Groups/Group.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Groups/Group.cpp')
-rw-r--r--src/server/game/Groups/Group.cpp13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp
index cca640eb97c..c1a2f3e75cf 100644
--- a/src/server/game/Groups/Group.cpp
+++ b/src/server/game/Groups/Group.cpp
@@ -1132,8 +1132,8 @@ void Group::MasterLoot(Loot* loot, WorldObject* pLootedObject)
uint32 real_count = 0;
- WorldPacket data(SMSG_MASTER_LOOT_CANDIDATE_LIST, 1 + GetMembersCount() * 8);
- data << uint8(GetMembersCount());
+ WorldPackets::Loot::MasterLootCandidateList masterLootCandidateList;
+ masterLootCandidateList.LootObj = loot->GetGUID();
for (GroupReference* itr = GetFirstMember(); itr != NULL; itr = itr->next())
{
@@ -1142,19 +1142,16 @@ void Group::MasterLoot(Loot* loot, WorldObject* pLootedObject)
continue;
if (looter->IsAtGroupRewardDistance(pLootedObject))
- {
- data << looter->GetGUID();
- ++real_count;
- }
+ masterLootCandidateList.Players.push_back(looter->GetGUID());
}
- data.put<uint8>(0, real_count);
+ masterLootCandidateList.Write();
for (GroupReference* itr = GetFirstMember(); itr != NULL; itr = itr->next())
{
Player* looter = itr->GetSource();
if (looter->IsAtGroupRewardDistance(pLootedObject))
- looter->GetSession()->SendPacket(&data);
+ looter->GetSession()->SendPacket(masterLootCandidateList.GetRawPacket());
}
}