aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/GameObject
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Entities/GameObject')
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp17
-rw-r--r--src/server/game/Entities/GameObject/GameObject.h2
2 files changed, 3 insertions, 16 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp
index c789fc6f64b..5e506dd8be0 100644
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -37,6 +37,7 @@
#include "GroupMgr.h"
#include "Item.h"
#include "Log.h"
+#include "Loot.h"
#include "LootMgr.h"
#include "Map.h"
#include "MapManager.h"
@@ -520,7 +521,6 @@ GameObject::GameObject() : WorldObject(false), MapObject(),
m_spawnId = UI64LIT(0);
- m_groupLootTimer = 0;
m_lootGenerationTime = 0;
ResetLootMode(); // restore default loot mode
@@ -1173,19 +1173,8 @@ void GameObject::Update(uint32 diff)
}
break;
case GAMEOBJECT_TYPE_CHEST:
- if (m_loot && m_groupLootTimer)
- {
- if (m_groupLootTimer <= diff)
- {
- if (Group* group = sGroupMgr->GetGroupByGUID(lootingGroupLowGUID))
- group->EndRoll(m_loot.get(), GetMap());
-
- m_groupLootTimer = 0;
- lootingGroupLowGUID.Clear();
- }
- else
- m_groupLootTimer -= diff;
- }
+ if (m_loot)
+ m_loot->Update();
// Non-consumable chest was partially looted and restock time passed, restock all loot now
if (GetGOInfo()->chest.consumable == 0 && GameTime::GetGameTime() >= m_restockTime)
diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h
index 133c1c4e460..fba6febb163 100644
--- a/src/server/game/Entities/GameObject/GameObject.h
+++ b/src/server/game/Entities/GameObject/GameObject.h
@@ -287,8 +287,6 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject<GameObject>
bool IsLootAllowedFor(Player const* player) const;
bool HasLootRecipient() const { return !m_lootRecipient.IsEmpty() || !m_lootRecipientGroup.IsEmpty(); }
Loot* GetLootForPlayer(Player const* /*player*/) const override { return m_loot.get(); }
- uint32 m_groupLootTimer; // (msecs)timer used for group loot
- ObjectGuid lootingGroupLowGUID; // used to find group which is looting
GameObject* GetLinkedTrap();
void SetLinkedTrap(GameObject* linkedTrap) { m_linkedTrap = linkedTrap->GetGUID(); }