aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/LootHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Handlers/LootHandler.cpp')
-rw-r--r--src/server/game/Handlers/LootHandler.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/server/game/Handlers/LootHandler.cpp b/src/server/game/Handlers/LootHandler.cpp
index 86422dc8926..d14810c2b32 100644
--- a/src/server/game/Handlers/LootHandler.cpp
+++ b/src/server/game/Handlers/LootHandler.cpp
@@ -28,6 +28,7 @@
#include "GuildMgr.h"
#include "Item.h"
#include "Log.h"
+#include "Loot.h"
#include "LootItemStorage.h"
#include "LootMgr.h"
#include "LootPackets.h"
@@ -360,9 +361,7 @@ void WorldSession::DoLootRelease(Loot* loot)
if (player->GetGUID() == loot->roundRobinPlayer)
{
loot->roundRobinPlayer.Clear();
-
- if (Group* group = player->GetGroup())
- group->SendLooter(creature, nullptr);
+ loot->NotifyLootList(creature->GetMap());
}
// force dynflag update to update looter and lootable info
creature->ForceUpdateFieldChange(creature->m_values.ModifyValue(&Object::m_objectData).ModifyValue(&UF::ObjectData::DynamicFlags));
@@ -460,6 +459,15 @@ void WorldSession::HandleLootMasterGiveOpcode(WorldPackets::Loot::MasterLootItem
}
}
+void WorldSession::HandleLootRoll(WorldPackets::Loot::LootRoll& packet)
+{
+ LootRoll* lootRoll = GetPlayer()->GetLootRoll(packet.LootObj, packet.LootListID - 1);
+ if (!lootRoll)
+ return;
+
+ lootRoll->PlayerVote(GetPlayer(), RollVote(packet.RollType));
+}
+
void WorldSession::HandleSetLootSpecialization(WorldPackets::Loot::SetLootSpecialization& packet)
{
if (packet.SpecID)