diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index a2778f1cc2..95bff2e4fd 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -1494,7 +1494,8 @@ void Creature::setDeathState(DeathState s) if (!isPet() && GetCreatureInfo()->SkinLootId) if (LootTemplates_Skinning.HaveLootFor(GetCreatureInfo()->SkinLootId)) - SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_SKINNABLE); + if (hasLootRecipient()) + SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_SKINNABLE); if (HasSearchedAssistance()) { diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 462ac0d97c..1d306c13d0 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -8464,10 +8464,7 @@ void Player::SendLoot(uint64 guid, LootType loot_type) // the player whose group may loot the corpse Player *recipient = creature->GetLootRecipient(); if (!recipient) - { - creature->SetLootRecipient(this); - recipient = this; - } + return; if (!creature->lootForBody) { diff --git a/src/server/game/Server/Protocol/Handlers/LootHandler.cpp b/src/server/game/Server/Protocol/Handlers/LootHandler.cpp index ca4af9fee2..1baaa8faa8 100644 --- a/src/server/game/Server/Protocol/Handlers/LootHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/LootHandler.cpp @@ -383,7 +383,6 @@ void WorldSession::DoLootRelease(uint64 lguid) pCreature->AllLootRemovedFromCorpse(); pCreature->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); - pCreature->SetLootRecipient(NULL); loot->clear(); } else