Core/WorldStates: Skip sending SMSG_UPDATE_WORLD_STATE when value does not change
Port From (https://github.com/TrinityCore/TrinityCore/commit/db79e29121b74dc62da1b68cf1e25fb8e31ffbdf)
This commit is contained in:
@@ -586,7 +586,14 @@ namespace Game.Maps
|
|||||||
|
|
||||||
public void SetWorldStateValue(int worldStateId, int value, bool hidden)
|
public void SetWorldStateValue(int worldStateId, int value, bool hidden)
|
||||||
{
|
{
|
||||||
int oldValue = _worldStateValues.LookupByKey(worldStateId);
|
int oldValue = 0;
|
||||||
|
if (!_worldStateValues.TryAdd(worldStateId, 0))
|
||||||
|
{
|
||||||
|
oldValue = _worldStateValues[worldStateId];
|
||||||
|
if (oldValue == value)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
_worldStateValues[worldStateId] = value;
|
_worldStateValues[worldStateId] = value;
|
||||||
|
|
||||||
WorldStateTemplate worldStateTemplate = Global.WorldStateMgr.GetWorldStateTemplate(worldStateId);
|
WorldStateTemplate worldStateTemplate = Global.WorldStateMgr.GetWorldStateTemplate(worldStateId);
|
||||||
|
|||||||
@@ -175,7 +175,14 @@ namespace Game
|
|||||||
WorldStateTemplate worldStateTemplate = GetWorldStateTemplate(worldStateId);
|
WorldStateTemplate worldStateTemplate = GetWorldStateTemplate(worldStateId);
|
||||||
if (worldStateTemplate == null || worldStateTemplate.MapIds.Empty())
|
if (worldStateTemplate == null || worldStateTemplate.MapIds.Empty())
|
||||||
{
|
{
|
||||||
int oldValue = _realmWorldStateValues.LookupByKey(worldStateId);
|
int oldValue = 0;
|
||||||
|
if (!_realmWorldStateValues.TryAdd(worldStateId, 0))
|
||||||
|
{
|
||||||
|
oldValue = _realmWorldStateValues[worldStateId];
|
||||||
|
if (oldValue == value)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
_realmWorldStateValues[worldStateId] = value;
|
_realmWorldStateValues[worldStateId] = value;
|
||||||
|
|
||||||
if (worldStateTemplate != null)
|
if (worldStateTemplate != null)
|
||||||
|
|||||||
Reference in New Issue
Block a user