aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/LootHandler.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-09-16 16:58:03 +0200
committerShauren <shauren.trinity@gmail.com>2022-09-16 16:58:03 +0200
commit3ef5079feeedfdafc9d3c1d9f865e96dbc77ecc8 (patch)
treec88a3e2c1a8ae8459eb43fa63c66081c37393170 /src/server/game/Handlers/LootHandler.cpp
parent9700b2a78680452d80025121a031da340af51348 (diff)
Core/Loot: Move loot rolls from Group to Loot
* Partial port of cmangos/mangos-wotlk@ffdf9a05d67a04c3c0304e9b021807fa5b867583
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)