diff options
author | Shauren <shauren.trinity@gmail.com> | 2022-07-09 00:50:29 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-07-09 00:50:29 +0200 |
commit | db79e29121b74dc62da1b68cf1e25fb8e31ffbdf (patch) | |
tree | 93e51e53d81d526298cc3396a1358946ab385a90 /src/server/game/Maps/Map.cpp | |
parent | 5dca7309f4db9de348525987d236cd03657ef21f (diff) |
Core/WorldStates: Skip sending SMSG_UPDATE_WORLD_STATE when value does not change
Diffstat (limited to 'src/server/game/Maps/Map.cpp')
-rw-r--r-- | src/server/game/Maps/Map.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
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); |