diff options
Diffstat (limited to 'src/server/game/Handlers/LootHandler.cpp')
| -rw-r--r-- | src/server/game/Handlers/LootHandler.cpp | 14 |
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) |
