diff options
Diffstat (limited to 'src/server/game/Entities/GameObject')
| -rw-r--r-- | src/server/game/Entities/GameObject/GameObject.cpp | 17 | ||||
| -rw-r--r-- | src/server/game/Entities/GameObject/GameObject.h | 2 |
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(); } |
