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