aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Player
diff options
context:
space:
mode:
authorEpicurus4 <maxmakki2@gmail.com>2015-03-12 10:39:33 -0400
committerEpicurus4 <maxmakki2@gmail.com>2015-03-12 10:39:33 -0400
commitb306c7c6cfc27861a10d26cb9068eaf4396fde9f (patch)
treee90564cc1407acdcf3bf27512bcda426caee9867 /src/server/game/Entities/Player
parentebc226cdac6b08067319fc3514337c386c8f456a (diff)
Core/Loot: Enable setting AcquireReason, correct LootMethod definition, fix structure to match sniffs of retail and correct threashold and reason definitions.
Diffstat (limited to 'src/server/game/Entities/Player')
-rw-r--r--src/server/game/Entities/Player/Player.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index cc951259c9f..7c5d5911161 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -8744,12 +8744,26 @@ void Player::SendLoot(ObjectGuid guid, LootType loot_type)
if (permission != NONE_PERMISSION)
{
+ LootMethod _lootMethod = FREE_FOR_ALL;
+ if (Group* group = GetGroup())
+ {
+ if (Creature* creature = GetMap()->GetCreature(guid))
+ {
+ if (Player* recipient = creature->GetLootRecipient())
+ {
+ if (group == recipient->GetGroup())
+ _lootMethod = group->GetLootMethod();
+ }
+ }
+ }
+
SetLootGUID(guid);
WorldPackets::Loot::LootResponse packet;
packet.LootObj = guid;
packet.Owner = loot->GetGUID();
- packet.LootMethod = loot_type;
+ packet.LootMethod = _lootMethod;
+ packet.AcquireReason = loot_type;
if (!GetGroup())
packet.PersonalLooting = true;
else