diff options
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 9 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.h | 2 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 4adba3de85e..68c474be9cb 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -401,6 +401,8 @@ Player::Player(WorldSession* session): Unit(true) m_achievementMgr = new AchievementMgr(this); m_reputationMgr = new ReputationMgr(this); + + m_groupUpdateTimer.Reset(5000); } Player::~Player() @@ -1329,7 +1331,12 @@ void Player::Update(uint32 p_time) } // group update - SendUpdateToOutOfRangeGroupMembers(); + m_groupUpdateTimer.Update(p_time); + if (m_groupUpdateTimer.Passed()) + { + SendUpdateToOutOfRangeGroupMembers(); + m_groupUpdateTimer.Reset(5000); + } Pet* pet = GetPet(); if (pet && !pet->IsWithinDistInMap(this, GetMap()->GetVisibilityRange()) && !pet->isPossessed()) diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 798c1684978..cff92cd66a7 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -2399,6 +2399,8 @@ class TC_GAME_API Player : public Unit, public GridObject<Player> bool m_needsZoneUpdate; + TimeTrackerSmall m_groupUpdateTimer; + private: // internal common parts for CanStore/StoreItem functions InventoryResult CanStoreItem_InSpecificSlot(uint8 bag, uint8 slot, ItemPosCountVec& dest, ItemTemplate const* pProto, uint32& count, bool swap, Item* pSrcItem) const; |