aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Loot/Loot.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-09-18 16:33:38 +0200
committerShauren <shauren.trinity@gmail.com>2022-09-18 16:33:38 +0200
commit8c20f620d7b070b13b40803095e5fa97f9349512 (patch)
tree0e5d718500cf8139945234cb1f36a53986e05dea /src/server/game/Loot/Loot.cpp
parentc00e2e4851498aa04ac1d8ff13a0759b245df72b (diff)
Core/Loot: Move loot generation out of Player::SendLoot
Diffstat (limited to 'src/server/game/Loot/Loot.cpp')
-rw-r--r--src/server/game/Loot/Loot.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/server/game/Loot/Loot.cpp b/src/server/game/Loot/Loot.cpp
index 3c5e976245e..62d86b7ce0c 100644
--- a/src/server/game/Loot/Loot.cpp
+++ b/src/server/game/Loot/Loot.cpp
@@ -662,7 +662,10 @@ void Loot::NotifyItemRemoved(uint8 lootListId, Map const* map)
{
LootItem const& item = items[lootListId];
if (item.GetAllowedLooters().find(*itr) == item.GetAllowedLooters().end())
+ {
+ ++itr;
continue;
+ }
if (Player* player = ObjectAccessor::GetPlayer(map, *itr))
{
@@ -769,7 +772,8 @@ bool Loot::FillLoot(uint32 lootId, LootStore const& store, Player* lootOwner, bo
Group const* group = lootOwner->GetGroup();
if (!personal && group)
{
- roundRobinPlayer = lootOwner->GetGUID();
+ if (loot_type == LOOT_CORPSE)
+ roundRobinPlayer = lootOwner->GetGUID();
for (GroupReference const* itr = group->GetFirstMember(); itr != nullptr; itr = itr->next())
if (Player const* player = itr->GetSource()) // should actually be looted object instead of lootOwner but looter has to be really close so doesnt really matter