From db79e29121b74dc62da1b68cf1e25fb8e31ffbdf Mon Sep 17 00:00:00 2001 From: Shauren Date: Sat, 9 Jul 2022 00:50:29 +0200 Subject: Core/WorldStates: Skip sending SMSG_UPDATE_WORLD_STATE when value does not change --- src/server/game/Maps/Map.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/server/game/Maps/Map.cpp') diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 76d2b26a789..15e6a09b2b3 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -698,8 +698,11 @@ int32 Map::GetWorldStateValue(int32 worldStateId) const void Map::SetWorldStateValue(int32 worldStateId, int32 value, bool hidden) { - auto itr = _worldStateValues.try_emplace(worldStateId, 0).first; + auto [itr, inserted] = _worldStateValues.try_emplace(worldStateId, 0); int32 oldValue = itr->second; + if (oldValue == value && !inserted) + return; + itr->second = value; WorldStateTemplate const* worldStateTemplate = sWorldStateMgr->GetWorldStateTemplate(worldStateId); -- cgit v1.2.3