diff options
author | jackpoz <giacomopoz@gmail.com> | 2016-08-28 13:25:48 +0200 |
---|---|---|
committer | jackpoz <giacomopoz@gmail.com> | 2016-08-28 13:25:48 +0200 |
commit | 38f8a03781d98388408f7d4d9f906c311d21bdcc (patch) | |
tree | 6ab5a90334dbb9daa3ec05d1f8baf77cdddf771e | |
parent | 5b81f55141791292e438606c9d7d942e2f5a8d2b (diff) |
Core/Loot: Fix group loot if player loot recipient disconnects
Fixes #13300
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 54b953b4e12..4656b0a3c2e 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -8558,15 +8558,10 @@ void Player::SendLoot(ObjectGuid guid, LootType loot_type) } else { - // the player whose group may loot the corpse - Player* recipient = creature->GetLootRecipient(); - if (!recipient) - return; - if (loot->loot_type == LOOT_NONE) { // for creature, loot is filled when creature is killed. - if (Group* group = recipient->GetGroup()) + if (Group* group = creature->GetLootRecipientGroup()) { switch (group->GetLootMethod()) { @@ -8602,9 +8597,10 @@ void Player::SendLoot(ObjectGuid guid, LootType loot_type) // set group rights only for loot_type != LOOT_SKINNING else { - if (Group* group = GetGroup()) + if (creature->GetLootRecipientGroup()) { - if (group == recipient->GetGroup()) + Group* group = GetGroup(); + if (group == creature->GetLootRecipientGroup()) { switch (group->GetLootMethod()) { @@ -8625,7 +8621,7 @@ void Player::SendLoot(ObjectGuid guid, LootType loot_type) else permission = NONE_PERMISSION; } - else if (recipient == this) + else if (creature->GetLootRecipient() == this) permission = OWNER_PERMISSION; else permission = NONE_PERMISSION; |