diff options
| author | Epicurus4 <maxmakki2@gmail.com> | 2015-03-12 10:39:33 -0400 |
|---|---|---|
| committer | Epicurus4 <maxmakki2@gmail.com> | 2015-03-12 10:39:33 -0400 |
| commit | b306c7c6cfc27861a10d26cb9068eaf4396fde9f (patch) | |
| tree | e90564cc1407acdcf3bf27512bcda426caee9867 /src/server/game/Entities/Player | |
| parent | ebc226cdac6b08067319fc3514337c386c8f456a (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.cpp | 16 |
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 |
