From d0f8cf3dd4b576cf49456a3d0934a5b9df41f969 Mon Sep 17 00:00:00 2001 From: UltraNix <80540499+UltraNix@users.noreply.github.com> Date: Fri, 24 Dec 2021 10:04:43 +0100 Subject: [PATCH] fix(Core/Loot): Proeprly handle `UNIT_DYNFLAG_LOOTABLE` flag. (#9761) Fixes #9741 --- src/server/game/Entities/Unit/Unit.cpp | 2 +- src/server/game/Loot/LootMgr.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 6f844fa86..15645647a 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -17171,7 +17171,7 @@ void Unit::Kill(Unit* killer, Unit* victim, bool durabilityLoss, WeaponAttackTyp creature->DeleteThreatList(); // must be after setDeathState which resets dynamic flags - if (!creature->loot.empty()) + if (!creature->loot.isLooted()) { creature->SetFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_LOOTABLE); } diff --git a/src/server/game/Loot/LootMgr.h b/src/server/game/Loot/LootMgr.h index 59e6c341c..32b1021f1 100644 --- a/src/server/game/Loot/LootMgr.h +++ b/src/server/game/Loot/LootMgr.h @@ -363,7 +363,7 @@ struct Loot loot_type = LOOT_NONE; } - [[nodiscard]] bool empty() const { return items.empty() && quest_items.empty() && gold == 0; } + [[nodiscard]] bool empty() const { return items.empty() && gold == 0; } [[nodiscard]] bool isLooted() const { return gold == 0 && unlootedCount == 0; } void NotifyItemRemoved(uint8 lootIndex);