diff options
author | Subv <subv2112@gmail.com> | 2014-06-24 20:04:07 -0500 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2014-06-24 20:04:26 -0500 |
commit | a0fedd1d781bd6a4c6f2790e012a0f3ee12ccbf0 (patch) | |
tree | 32e1fc0f64ae02969241a61c89707e5ba1a2256b /src/server/game/Handlers/LootHandler.cpp | |
parent | cac491bef8c60be0a8b20e6d49480224e50ba0a1 (diff) |
Core/Skinning: Fixed the creatures becoming non-skinnable even before looting them completely.
Closes #5318
Diffstat (limited to 'src/server/game/Handlers/LootHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/LootHandler.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/server/game/Handlers/LootHandler.cpp b/src/server/game/Handlers/LootHandler.cpp index 61f0b9afce2..2464a5385a4 100644 --- a/src/server/game/Handlers/LootHandler.cpp +++ b/src/server/game/Handlers/LootHandler.cpp @@ -355,11 +355,15 @@ void WorldSession::DoLootRelease(uint64 lguid) loot = &creature->loot; if (loot->isLooted()) { + creature->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); + + if (loot->loot_type == LOOT_SKINNING) + creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_SKINNABLE); + // skip pickpocketing loot for speed, skinning timer reduction is no-op in fact if (!creature->IsAlive()) creature->AllLootRemovedFromCorpse(); - creature->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); loot->clear(); } else |