aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.cpp9
-rw-r--r--src/server/game/Entities/Player/Player.h2
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 83b31c474ec..8a00b028419 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -348,6 +348,8 @@ Player::Player(WorldSession* session) : Unit(true), m_sceneMgr(this)
for (uint8 i = 0; i < MAX_CUF_PROFILES; ++i)
_CUFProfiles[i] = nullptr;
+ m_groupUpdateTimer.Reset(5000);
+
_advancedCombatLoggingEnabled = false;
_restMgr = std::make_unique<RestMgr>(this);
@@ -1209,7 +1211,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 53507fd4182..f12bdd3141c 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -3005,6 +3005,8 @@ class TC_GAME_API Player : public Unit, public GridObject<Player>
std::array<std::unique_ptr<CUFProfile>, MAX_CUF_PROFILES> _CUFProfiles;
+ 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;