aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/World
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-07-07 23:07:20 +0200
committerShauren <shauren.trinity@gmail.com>2022-07-07 23:07:20 +0200
commitde26cafbbe1b355b69ec871f4fee0704a3ef29a5 (patch)
tree8638b2ed3f475c9206f99d3d0f23d7d1102ae320 /src/server/game/World
parent9ca8cf66e60c95ec3d20ed2c276623be2bb98713 (diff)
Core/WorldStates: Allow setting "hidden" field of SMSG_UPDATE_WORLD_STATE
Diffstat (limited to 'src/server/game/World')
-rw-r--r--src/server/game/World/World.cpp12
-rw-r--r--src/server/game/World/WorldStates/WorldStateMgr.cpp5
-rw-r--r--src/server/game/World/WorldStates/WorldStateMgr.h2
3 files changed, 10 insertions, 9 deletions
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index 0639b31e678..f14f1107ca8 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -2246,8 +2246,8 @@ void World::SetInitialWorldSettings()
LoadWorldStates();
// TODO: this is temporary until custom world states are purged from old world state saved values
- sWorldStateMgr->SetValue(WS_WAR_MODE_HORDE_BUFF_VALUE, getWorldState(WS_WAR_MODE_HORDE_BUFF_VALUE), nullptr);
- sWorldStateMgr->SetValue(WS_WAR_MODE_ALLIANCE_BUFF_VALUE, getWorldState(WS_WAR_MODE_ALLIANCE_BUFF_VALUE), nullptr);
+ sWorldStateMgr->SetValue(WS_WAR_MODE_HORDE_BUFF_VALUE, getWorldState(WS_WAR_MODE_HORDE_BUFF_VALUE), false, nullptr);
+ sWorldStateMgr->SetValue(WS_WAR_MODE_ALLIANCE_BUFF_VALUE, getWorldState(WS_WAR_MODE_ALLIANCE_BUFF_VALUE), false, nullptr);
sObjectMgr->LoadPhases();
@@ -2495,8 +2495,8 @@ void World::SetInitialWorldSettings()
void World::SetForcedWarModeFactionBalanceState(TeamId team, int32 reward)
{
- sWorldStateMgr->SetValue(WS_WAR_MODE_HORDE_BUFF_VALUE, 10 + (team == TEAM_ALLIANCE ? reward : 0), nullptr);
- sWorldStateMgr->SetValue(WS_WAR_MODE_ALLIANCE_BUFF_VALUE, 10 + (team == TEAM_HORDE ? reward : 0), nullptr);
+ sWorldStateMgr->SetValue(WS_WAR_MODE_HORDE_BUFF_VALUE, 10 + (team == TEAM_ALLIANCE ? reward : 0), false, nullptr);
+ sWorldStateMgr->SetValue(WS_WAR_MODE_ALLIANCE_BUFF_VALUE, 10 + (team == TEAM_HORDE ? reward : 0), false, nullptr);
// save to db
setWorldState(WS_WAR_MODE_HORDE_BUFF_VALUE, sWorldStateMgr->GetValue(WS_WAR_MODE_HORDE_BUFF_VALUE, nullptr));
@@ -3948,8 +3948,8 @@ void World::UpdateWarModeRewardValues()
outnumberedFactionReward = 5;
}
- sWorldStateMgr->SetValue(WS_WAR_MODE_HORDE_BUFF_VALUE, 10 + (dominantFaction == TEAM_ALLIANCE ? outnumberedFactionReward : 0), nullptr);
- sWorldStateMgr->SetValue(WS_WAR_MODE_ALLIANCE_BUFF_VALUE, 10 + (dominantFaction == TEAM_HORDE ? outnumberedFactionReward : 0), nullptr);
+ sWorldStateMgr->SetValue(WS_WAR_MODE_HORDE_BUFF_VALUE, 10 + (dominantFaction == TEAM_ALLIANCE ? outnumberedFactionReward : 0), false, nullptr);
+ sWorldStateMgr->SetValue(WS_WAR_MODE_ALLIANCE_BUFF_VALUE, 10 + (dominantFaction == TEAM_HORDE ? outnumberedFactionReward : 0), false, nullptr);
// save to db
setWorldState(WS_WAR_MODE_HORDE_BUFF_VALUE, sWorldStateMgr->GetValue(WS_WAR_MODE_HORDE_BUFF_VALUE, nullptr));
diff --git a/src/server/game/World/WorldStates/WorldStateMgr.cpp b/src/server/game/World/WorldStates/WorldStateMgr.cpp
index 8049ee0ca2f..232fa1a3e61 100644
--- a/src/server/game/World/WorldStates/WorldStateMgr.cpp
+++ b/src/server/game/World/WorldStates/WorldStateMgr.cpp
@@ -162,7 +162,7 @@ int32 WorldStateMgr::GetValue(int32 worldStateId, Map const* map) const
return map->GetWorldStateValue(worldStateId);
}
-void WorldStateMgr::SetValue(int32 worldStateId, int32 value, Map* map)
+void WorldStateMgr::SetValue(int32 worldStateId, int32 value, bool hidden, Map* map)
{
WorldStateTemplate const* worldStateTemplate = GetWorldStateTemplate(worldStateId);
if (!worldStateTemplate || worldStateTemplate->MapIds.empty())
@@ -178,6 +178,7 @@ void WorldStateMgr::SetValue(int32 worldStateId, int32 value, Map* map)
WorldPackets::WorldState::UpdateWorldState updateWorldState;
updateWorldState.VariableID = worldStateId;
updateWorldState.Value = value;
+ updateWorldState.Hidden = hidden;
sWorld->SendGlobalMessage(updateWorldState.Write());
return;
}
@@ -185,7 +186,7 @@ void WorldStateMgr::SetValue(int32 worldStateId, int32 value, Map* map)
if (worldStateTemplate->MapIds.find(map->GetId()) == worldStateTemplate->MapIds.end())
return;
- map->SetWorldStateValue(worldStateId, value);
+ map->SetWorldStateValue(worldStateId, value, hidden);
}
WorldStateValueContainer WorldStateMgr::GetInitialWorldStatesForMap(Map const* map) const
diff --git a/src/server/game/World/WorldStates/WorldStateMgr.h b/src/server/game/World/WorldStates/WorldStateMgr.h
index ae9e72f9f5a..d17cdb40310 100644
--- a/src/server/game/World/WorldStates/WorldStateMgr.h
+++ b/src/server/game/World/WorldStates/WorldStateMgr.h
@@ -38,7 +38,7 @@ public:
WorldStateTemplate const* GetWorldStateTemplate(int32 worldStateId) const;
int32 GetValue(int32 worldStateId, Map const* map) const;
- void SetValue(int32 worldStateId, int32 value, Map* map);
+ void SetValue(int32 worldStateId, int32 value, bool hidden, Map* map);
WorldStateValueContainer GetInitialWorldStatesForMap(Map const* map) const;