diff options
| author | Shauren <shauren.trinity@gmail.com> | 2022-07-07 23:07:20 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-07-07 23:07:20 +0200 |
| commit | de26cafbbe1b355b69ec871f4fee0704a3ef29a5 (patch) | |
| tree | 8638b2ed3f475c9206f99d3d0f23d7d1102ae320 /src/server/game/World | |
| parent | 9ca8cf66e60c95ec3d20ed2c276623be2bb98713 (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.cpp | 12 | ||||
| -rw-r--r-- | src/server/game/World/WorldStates/WorldStateMgr.cpp | 5 | ||||
| -rw-r--r-- | src/server/game/World/WorldStates/WorldStateMgr.h | 2 |
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; |
