From 0a5de93e82b36591f9acac98c33a5d11c085a496 Mon Sep 17 00:00:00 2001 From: Shauren Date: Sun, 9 Oct 2022 14:01:46 +0200 Subject: [PATCH] Core/WorldStates: Allow setting "hidden" field of SMSG_UPDATE_WORLD_STATE --- src/server/game/Instances/InstanceScript.cpp | 2 +- src/server/game/Maps/Map.cpp | 3 +- src/server/game/Maps/Map.h | 2 +- .../game/World/WorldStates/WorldStateMgr.cpp | 5 +- .../game/World/WorldStates/WorldStateMgr.h | 2 +- .../scripts/Battlefield/BattlefieldTB.cpp | 110 +++++++++--------- .../scripts/Battlefield/BattlefieldWG.cpp | 48 ++++---- .../boss_ascendant_council.cpp | 4 +- .../BastionOfTwilight/boss_chogall.cpp | 4 +- .../boss_halfus_wyrmbreaker.cpp | 6 +- .../boss_ascendant_lord_obsidius.cpp | 4 +- .../BlackwingDescent/boss_atramedes.cpp | 4 +- .../BlackwingDescent/boss_chimaeron.cpp | 4 +- .../BlackwingDescent/boss_magmaw.cpp | 4 +- .../BlackwingDescent/boss_nefarians_end.cpp | 4 +- .../boss_omnotron_defense_system.cpp | 16 +-- .../EasternKingdoms/GrimBatol/boss_erudax.cpp | 4 +- .../ShadowfangKeep/boss_baron_ashbury.cpp | 4 +- .../boss_commander_springvale.cpp | 2 +- .../EndTime/instance_end_time.cpp | 6 +- .../Kalimdor/Firelands/boss_lord_rhyolith.cpp | 4 +- .../Kalimdor/HallsOfOrigination/boss_rajh.cpp | 4 +- .../boss_temple_guardian_anhuur.cpp | 4 +- .../instance_halls_of_origination.cpp | 2 +- 24 files changed, 127 insertions(+), 125 deletions(-) diff --git a/src/server/game/Instances/InstanceScript.cpp b/src/server/game/Instances/InstanceScript.cpp index d600974071..4c318abe92 100644 --- a/src/server/game/Instances/InstanceScript.cpp +++ b/src/server/game/Instances/InstanceScript.cpp @@ -578,7 +578,7 @@ void InstanceScript::DoRespawnGameObject(ObjectGuid guid, uint32 timeToDespawn / void InstanceScript::DoUpdateWorldState(int32 worldStateId, int32 value) { - sWorldStateMgr->SetValue(worldStateId, value, instance); + sWorldStateMgr->SetValue(worldStateId, value, false, instance); } // Send Notify to all players in instance diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 334cd4e52a..f715a89348 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -3532,7 +3532,7 @@ int32 Map::GetWorldStateValue(int32 worldStateId) const return 0; } -void Map::SetWorldStateValue(int32 worldStateId, int32 value) +void Map::SetWorldStateValue(int32 worldStateId, int32 value, bool hidden) { auto itr = _worldStateValues.try_emplace(worldStateId, 0).first; int32 oldValue = itr->second; @@ -3546,6 +3546,7 @@ void Map::SetWorldStateValue(int32 worldStateId, int32 value) WorldPackets::WorldState::UpdateWorldState updateWorldState; updateWorldState.VariableID = worldStateId; updateWorldState.Value = value; + updateWorldState.Hidden = hidden; updateWorldState.Write(); for (MapReference const& mapReference : m_mapRefManager) diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h index d36978a532..16d58ff9c7 100644 --- a/src/server/game/Maps/Map.h +++ b/src/server/game/Maps/Map.h @@ -742,7 +742,7 @@ class TC_GAME_API Map : public GridRefManager /*********************************************************/ public: int32 GetWorldStateValue(int32 worldStateId) const; - void SetWorldStateValue(int32 worldStateId, int32 value); + void SetWorldStateValue(int32 worldStateId, int32 value, bool hidden); WorldStateValueContainer const& GetWorldStateValues() const { return _worldStateValues; } private: diff --git a/src/server/game/World/WorldStates/WorldStateMgr.cpp b/src/server/game/World/WorldStates/WorldStateMgr.cpp index 34bf8d2ecf..74b984b8f2 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 ae9e72f9f5..d17cdb4031 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; diff --git a/src/server/scripts/Battlefield/BattlefieldTB.cpp b/src/server/scripts/Battlefield/BattlefieldTB.cpp index ff40adb6a6..694927f528 100644 --- a/src/server/scripts/Battlefield/BattlefieldTB.cpp +++ b/src/server/scripts/Battlefield/BattlefieldTB.cpp @@ -315,14 +315,14 @@ bool BattlefieldTB::SetupBattlefield() // Set defender team SetDefenderTeam(TeamId(sWorld->getWorldState(WS_BATTLEFIELD_TB_FACTION_CONTROLLING) - 1)); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE_SHOW, 1, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE, GameTime::GetGameTime() + m_Timer / IN_MILLISECONDS, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE_SHOW, 1, false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE, GameTime::GetGameTime() + m_Timer / IN_MILLISECONDS, false, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_FACTION_CONTROLLING, GetDefenderTeam() + 1, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_ALLIANCE_CONTROLS_SHOW, GetDefenderTeam() == TEAM_ALLIANCE ? 1 : 0, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_HORDE_CONTROLS_SHOW, GetDefenderTeam() == TEAM_HORDE ? 1 : 0, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_KEEP_ALLIANCE, GetDefenderTeam() == TEAM_ALLIANCE ? 1 : 0, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_KEEP_HORDE, GetDefenderTeam() == TEAM_HORDE ? 1 : 0, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_FACTION_CONTROLLING, GetDefenderTeam() + 1, false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_ALLIANCE_CONTROLS_SHOW, GetDefenderTeam() == TEAM_ALLIANCE ? 1 : 0, false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_HORDE_CONTROLS_SHOW, GetDefenderTeam() == TEAM_HORDE ? 1 : 0, false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_KEEP_ALLIANCE, GetDefenderTeam() == TEAM_ALLIANCE ? 1 : 0, false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_KEEP_HORDE, GetDefenderTeam() == TEAM_HORDE ? 1 : 0, false, m_Map); SaveWorldStateValues(); @@ -473,7 +473,7 @@ void BattlefieldTB::OnStartGrouping() { UpdateNPCsAndGameObjects(); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_STATE_PREPARATIONS, 1, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_STATE_PREPARATIONS, 1, false, m_Map); // Teleport players out of questing area for (uint8 team = 0; team < BG_TEAMS_COUNT; ++team) @@ -491,35 +491,35 @@ void BattlefieldTB::OnBattleStart() UpdateNPCsAndGameObjects(); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_BATTLE_END_SHOW, 1, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_BATTLE_END, GameTime::GetGameTime() + m_Timer / IN_MILLISECONDS, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_BATTLE_END_SHOW, 1, false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_BATTLE_END, GameTime::GetGameTime() + m_Timer / IN_MILLISECONDS, false, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE_SHOW, 0, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE, 0, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE_SHOW, 0, false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE, 0, false, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_ALLIANCE_ATTACKING_SHOW, GetAttackerTeam() == TEAM_ALLIANCE ? 1 : 0, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_HORDE_ATTACKING_SHOW, GetAttackerTeam() == TEAM_HORDE ? 1 : 0, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_ALLIANCE_ATTACKING_SHOW, GetAttackerTeam() == TEAM_ALLIANCE ? 1 : 0, false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_HORDE_ATTACKING_SHOW, GetAttackerTeam() == TEAM_HORDE ? 1 : 0, false, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_ALLIANCE_CONTROLS_SHOW, 0, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_HORDE_CONTROLS_SHOW, 0, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_ALLIANCE_CONTROLS_SHOW, 0, false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_HORDE_CONTROLS_SHOW, 0, false, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_BUILDINGS_CAPTURED_SHOW, 1, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_BUILDINGS_CAPTURED, 0, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_BUILDINGS_CAPTURED_SHOW, 1, false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_BUILDINGS_CAPTURED, 0, false, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TOWERS_DESTROYED_SHOW, 0, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TOWERS_DESTROYED, 0, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TOWERS_DESTROYED_SHOW, 0, false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TOWERS_DESTROYED, 0, false, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_STATE_PREPARATIONS, 0, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_STATE_BATTLE, 1, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_STATE_PREPARATIONS, 0, false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_STATE_BATTLE, 1, false, m_Map); // Towers/spires for (uint8 i = 0; i < TB_TOWERS_COUNT; i++) { - sWorldStateMgr->SetValue(TBTowers[i].wsIntact[GetDefenderTeam()], 1, m_Map); - sWorldStateMgr->SetValue(TBTowers[i].wsDamaged[GetDefenderTeam()], 0, m_Map); - sWorldStateMgr->SetValue(TBTowers[i].wsDestroyed, 0, m_Map); - sWorldStateMgr->SetValue(TBTowers[i].wsDamaged[GetAttackerTeam()], 0, m_Map); - sWorldStateMgr->SetValue(TBTowers[i].wsIntact[GetAttackerTeam()], 0, m_Map); + sWorldStateMgr->SetValue(TBTowers[i].wsIntact[GetDefenderTeam()], 1, false, m_Map); + sWorldStateMgr->SetValue(TBTowers[i].wsDamaged[GetDefenderTeam()], 0, false, m_Map); + sWorldStateMgr->SetValue(TBTowers[i].wsDestroyed, 0, false, m_Map); + sWorldStateMgr->SetValue(TBTowers[i].wsDamaged[GetAttackerTeam()], 0, false, m_Map); + sWorldStateMgr->SetValue(TBTowers[i].wsIntact[GetAttackerTeam()], 0, false, m_Map); } } @@ -557,24 +557,24 @@ void BattlefieldTB::OnBattleEnd(bool endByTimer) warnedTwoMinutes = false; warnedOneMinute = false; - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_BATTLE_END_SHOW, 0, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_BATTLE_END, 0, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_BATTLE_END_SHOW, 0, false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_BATTLE_END, 0, false, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE_SHOW, 1, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE, GameTime::GetGameTime() + m_NoWarBattleTime / IN_MILLISECONDS, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE_SHOW, 1, false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE, GameTime::GetGameTime() + m_NoWarBattleTime / IN_MILLISECONDS, false, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_ALLIANCE_ATTACKING_SHOW, 0, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_HORDE_ATTACKING_SHOW, 0, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_ALLIANCE_ATTACKING_SHOW, 0, false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_HORDE_ATTACKING_SHOW, 0, false, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_FACTION_CONTROLLING, GetDefenderTeam() + 1, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_ALLIANCE_CONTROLS_SHOW, GetDefenderTeam() == TEAM_ALLIANCE ? 1 : 0, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_HORDE_CONTROLS_SHOW, GetDefenderTeam() == TEAM_HORDE ? 1 : 0, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_KEEP_ALLIANCE, GetDefenderTeam() == TEAM_ALLIANCE ? 1 : 0, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_KEEP_HORDE, GetDefenderTeam() == TEAM_HORDE ? 1 : 0, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_FACTION_CONTROLLING, GetDefenderTeam() + 1, false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_ALLIANCE_CONTROLS_SHOW, GetDefenderTeam() == TEAM_ALLIANCE ? 1 : 0, false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_HORDE_CONTROLS_SHOW, GetDefenderTeam() == TEAM_HORDE ? 1 : 0, false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_KEEP_ALLIANCE, GetDefenderTeam() == TEAM_ALLIANCE ? 1 : 0, false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_KEEP_HORDE, GetDefenderTeam() == TEAM_HORDE ? 1 : 0, false, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_BUILDINGS_CAPTURED_SHOW, 0, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_BUILDINGS_CAPTURED_SHOW, 0, false, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_STATE_BATTLE, 0, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_STATE_BATTLE, 0, false, m_Map); } void BattlefieldTB::UpdateNPCsAndGameObjects() @@ -852,8 +852,8 @@ void BattlefieldTB::TowerDamaged(TBTowerId tbTowerId) SetData(BATTLEFIELD_TB_DATA_TOWERS_INTACT, GetData(BATTLEFIELD_TB_DATA_TOWERS_INTACT) - 1); - sWorldStateMgr->SetValue(TBTowers[tbTowerId].wsIntact[GetDefenderTeam()], 0, m_Map); - sWorldStateMgr->SetValue(TBTowers[tbTowerId].wsDamaged[GetDefenderTeam()], 1, m_Map); + sWorldStateMgr->SetValue(TBTowers[tbTowerId].wsIntact[GetDefenderTeam()], 0, false, m_Map); + sWorldStateMgr->SetValue(TBTowers[tbTowerId].wsDamaged[GetDefenderTeam()], 1, false, m_Map); TeamCastSpell(GetAttackerTeam(), SPELL_REWARD_TOWER_DAMAGED); } @@ -865,16 +865,16 @@ void BattlefieldTB::TowerDestroyed(TBTowerId tbTowerId) // Add 5 minute bonus time m_Timer += m_BonusTime; - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_BATTLE_END, GameTime::GetGameTime() + m_Timer / IN_MILLISECONDS, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_BATTLE_END, GameTime::GetGameTime() + m_Timer / IN_MILLISECONDS, false, m_Map); SendWarning(TBTowers[tbTowerId].textDestroyed); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TOWERS_DESTROYED_SHOW, 1, m_Map); - int32 towersDestroyed = sWorldStateMgr->GetValue(WS_BATTLEFIELD_TB_TOWERS_DESTROYED, m_Map) + 1; - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TOWERS_DESTROYED, towersDestroyed, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TOWERS_DESTROYED_SHOW, 1, false, m_Map); + int32 towersDestroyed = sWorldStateMgr->GetValue(WS_BATTLEFIELD_TB_TOWERS_DESTROYED,m_Map) + 1; + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TOWERS_DESTROYED, towersDestroyed, false, m_Map); - sWorldStateMgr->SetValue(TBTowers[tbTowerId].wsDamaged[GetDefenderTeam()], 0, m_Map); - sWorldStateMgr->SetValue(TBTowers[tbTowerId].wsDestroyed, 1, m_Map); + sWorldStateMgr->SetValue(TBTowers[tbTowerId].wsDamaged[GetDefenderTeam()], 0, false, m_Map); + sWorldStateMgr->SetValue(TBTowers[tbTowerId].wsDestroyed, 1, false, m_Map); // Attack bonus buff for (ObjectGuid const& guid : m_PlayersInWar[GetAttackerTeam()]) @@ -893,7 +893,7 @@ void BattlefieldTB::UpdateCapturedBaseCount() if (itr->second->GetTeamId() == GetAttackerTeam()) numCapturedBases += 1; - sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_BUILDINGS_CAPTURED, numCapturedBases, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_BUILDINGS_CAPTURED, numCapturedBases, false, m_Map); // Check if attackers won if (numCapturedBases == TB_BASE_COUNT) @@ -948,15 +948,15 @@ void TolBaradCapturePoint::SendChangePhase() { case BF_CAPTUREPOINT_OBJECTIVESTATE_ALLIANCE: case BF_CAPTUREPOINT_OBJECTIVESTATE_HORDE: - sWorldStateMgr->SetValue(TBCapturePoints[iBase].wsControlled[GetTeamId()], 0, m_Bf->GetMap()); + sWorldStateMgr->SetValue(TBCapturePoints[iBase].wsControlled[GetTeamId()], 0, false, m_Bf->GetMap()); break; case BF_CAPTUREPOINT_OBJECTIVESTATE_HORDE_ALLIANCE_CHALLENGE: case BF_CAPTUREPOINT_OBJECTIVESTATE_NEUTRAL_ALLIANCE_CHALLENGE: - sWorldStateMgr->SetValue(TBCapturePoints[iBase].wsCapturing[TEAM_ALLIANCE], 0, m_Bf->GetMap()); + sWorldStateMgr->SetValue(TBCapturePoints[iBase].wsCapturing[TEAM_ALLIANCE], 0, false, m_Bf->GetMap()); break; case BF_CAPTUREPOINT_OBJECTIVESTATE_ALLIANCE_HORDE_CHALLENGE: case BF_CAPTUREPOINT_OBJECTIVESTATE_NEUTRAL_HORDE_CHALLENGE: - sWorldStateMgr->SetValue(TBCapturePoints[iBase].wsCapturing[TEAM_HORDE], 0, m_Bf->GetMap()); + sWorldStateMgr->SetValue(TBCapturePoints[iBase].wsCapturing[TEAM_HORDE], 0, false, m_Bf->GetMap()); break; default: break; @@ -968,21 +968,21 @@ void TolBaradCapturePoint::SendChangePhase() case BF_CAPTUREPOINT_OBJECTIVESTATE_ALLIANCE: case BF_CAPTUREPOINT_OBJECTIVESTATE_HORDE: m_Bf->SendWarning(TBCapturePoints[iBase].textGained[GetTeamId()]); - sWorldStateMgr->SetValue(TBCapturePoints[iBase].wsControlled[GetTeamId()], 1, m_Bf->GetMap()); + sWorldStateMgr->SetValue(TBCapturePoints[iBase].wsControlled[GetTeamId()], 1, false, m_Bf->GetMap()); GetCapturePointGo()->SetGoArtKit(GetTeamId() == TEAM_ALLIANCE ? TB_GO_ARTKIT_FLAG_ALLIANCE : TB_GO_ARTKIT_FLAG_HORDE); break; case BF_CAPTUREPOINT_OBJECTIVESTATE_HORDE_ALLIANCE_CHALLENGE: m_Bf->SendWarning(TBCapturePoints[iBase].textLost[TEAM_HORDE]); [[fallthrough]]; case BF_CAPTUREPOINT_OBJECTIVESTATE_NEUTRAL_ALLIANCE_CHALLENGE: - sWorldStateMgr->SetValue(TBCapturePoints[iBase].wsCapturing[TEAM_ALLIANCE], 1, m_Bf->GetMap()); + sWorldStateMgr->SetValue(TBCapturePoints[iBase].wsCapturing[TEAM_ALLIANCE], 1, false, m_Bf->GetMap()); GetCapturePointGo()->SetGoArtKit(TB_GO_ARTKIT_FLAG_NONE); break; case BF_CAPTUREPOINT_OBJECTIVESTATE_ALLIANCE_HORDE_CHALLENGE: m_Bf->SendWarning(TBCapturePoints[iBase].textLost[TEAM_ALLIANCE]); [[fallthrough]]; case BF_CAPTUREPOINT_OBJECTIVESTATE_NEUTRAL_HORDE_CHALLENGE: - sWorldStateMgr->SetValue(TBCapturePoints[iBase].wsCapturing[TEAM_HORDE], 1, m_Bf->GetMap()); + sWorldStateMgr->SetValue(TBCapturePoints[iBase].wsCapturing[TEAM_HORDE], 1, false, m_Bf->GetMap()); GetCapturePointGo()->SetGoArtKit(TB_GO_ARTKIT_FLAG_NONE); break; default: diff --git a/src/server/scripts/Battlefield/BattlefieldWG.cpp b/src/server/scripts/Battlefield/BattlefieldWG.cpp index 57f943bd54..7189b142dc 100644 --- a/src/server/scripts/Battlefield/BattlefieldWG.cpp +++ b/src/server/scripts/Battlefield/BattlefieldWG.cpp @@ -466,14 +466,14 @@ bool BattlefieldWG::SetupBattlefield() auto loadSavedWorldState = [&](int32 id) { - sWorldStateMgr->SetValue(id, sWorld->getWorldState(id), m_Map); + sWorldStateMgr->SetValue(id, sWorld->getWorldState(id), false, m_Map); }; loadSavedWorldState(WS_BATTLEFIELD_WG_SHOW_TIME_NEXT_BATTLE); loadSavedWorldState(WS_BATTLEFIELD_WG_DEFENDER); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_WG_ATTACKER, GetAttackerTeam(), m_Map); - sWorldStateMgr->SetValue(ClockWorldState[0], GameTime::GetGameTime() + m_Timer / IN_MILLISECONDS, m_Map); - sWorldStateMgr->SetValue(ClockWorldState[1], GameTime::GetGameTime() + m_Timer / IN_MILLISECONDS, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_WG_ATTACKER, GetAttackerTeam(), false, m_Map); + sWorldStateMgr->SetValue(ClockWorldState[0], GameTime::GetGameTime() + m_Timer / IN_MILLISECONDS, false, m_Map); + sWorldStateMgr->SetValue(ClockWorldState[1], GameTime::GetGameTime() + m_Timer / IN_MILLISECONDS, false, m_Map); loadSavedWorldState(WS_BATTLEFIELD_WG_ATTACKED_A); loadSavedWorldState(WS_BATTLEFIELD_WG_DEFENDED_A); loadSavedWorldState(WS_BATTLEFIELD_WG_ATTACKED_H); @@ -593,11 +593,11 @@ void BattlefieldWG::OnBattleStart() else TC_LOG_ERROR("bg.battlefield", "WG: Failed to spawn titan relic."); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_WG_ATTACKER, GetAttackerTeam(), m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_WG_DEFENDER, GetDefenderTeam(), m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_WG_SHOW_TIME_NEXT_BATTLE, 0, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_WG_SHOW_TIME_BATTLE_END, 1, m_Map); - sWorldStateMgr->SetValue(ClockWorldState[0], GameTime::GetGameTime() + m_Timer / IN_MILLISECONDS, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_WG_ATTACKER, GetAttackerTeam(), false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_WG_DEFENDER, GetDefenderTeam(), false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_WG_SHOW_TIME_NEXT_BATTLE, 0, false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_WG_SHOW_TIME_BATTLE_END, 1, false, m_Map); + sWorldStateMgr->SetValue(ClockWorldState[0], GameTime::GetGameTime() + m_Timer / IN_MILLISECONDS, false, m_Map); // Update tower visibility and update faction for (auto itr = CanonList.begin(); itr != CanonList.end(); ++itr) @@ -685,12 +685,12 @@ void BattlefieldWG::OnBattleEnd(bool endByTimer) else worldStateId = GetDefenderTeam() == TEAM_HORDE ? WS_BATTLEFIELD_WG_ATTACKED_H : WS_BATTLEFIELD_WG_ATTACKED_A; - sWorldStateMgr->SetValue(worldStateId, sWorldStateMgr->GetValue(worldStateId, m_Map) + 1, m_Map); + sWorldStateMgr->SetValue(worldStateId, sWorldStateMgr->GetValue(worldStateId, m_Map) + 1, false, m_Map); } - sWorldStateMgr->SetValue(WS_BATTLEFIELD_WG_SHOW_TIME_NEXT_BATTLE, 1, m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_WG_SHOW_TIME_BATTLE_END, 0, m_Map); - sWorldStateMgr->SetValue(ClockWorldState[1], GameTime::GetGameTime() + m_Timer / IN_MILLISECONDS, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_WG_SHOW_TIME_NEXT_BATTLE, 1, false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_WG_SHOW_TIME_BATTLE_END, 0, false, m_Map); + sWorldStateMgr->SetValue(ClockWorldState[1], GameTime::GetGameTime() + m_Timer / IN_MILLISECONDS, false, m_Map); // Remove turret for (auto itr = CanonList.begin(); itr != CanonList.end(); ++itr) @@ -1214,7 +1214,7 @@ void BattlefieldWG::UpdatedDestroyedTowerCount(TeamId team) m_Timer = 0; else m_Timer -= 600000; - sWorldStateMgr->SetValue(ClockWorldState[0], GameTime::GetGameTime() + m_Timer / IN_MILLISECONDS, m_Map); + sWorldStateMgr->SetValue(ClockWorldState[0], GameTime::GetGameTime() + m_Timer / IN_MILLISECONDS, false, m_Map); } } else // Keep tower @@ -1272,10 +1272,10 @@ void BattlefieldWG::UpdateDamagedTowerCount(TeamId team) // Update vehicle count WorldState to player void BattlefieldWG::UpdateVehicleCountWG() { - sWorldStateMgr->SetValue(WS_BATTLEFIELD_WG_VEHICLE_H, GetData(BATTLEFIELD_WG_DATA_VEHICLE_H), m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_WG_MAX_VEHICLE_H, GetData(BATTLEFIELD_WG_DATA_MAX_VEHICLE_H), m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_WG_VEHICLE_A, GetData(BATTLEFIELD_WG_DATA_VEHICLE_A), m_Map); - sWorldStateMgr->SetValue(WS_BATTLEFIELD_WG_MAX_VEHICLE_A, GetData(BATTLEFIELD_WG_DATA_MAX_VEHICLE_A), m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_WG_VEHICLE_H, GetData(BATTLEFIELD_WG_DATA_VEHICLE_H), false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_WG_MAX_VEHICLE_H, GetData(BATTLEFIELD_WG_DATA_MAX_VEHICLE_H), false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_WG_VEHICLE_A, GetData(BATTLEFIELD_WG_DATA_VEHICLE_A), false, m_Map); + sWorldStateMgr->SetValue(WS_BATTLEFIELD_WG_MAX_VEHICLE_A, GetData(BATTLEFIELD_WG_DATA_MAX_VEHICLE_A), false, m_Map); } void BattlefieldWG::UpdateTenacity() @@ -1411,7 +1411,7 @@ void BfWGGameObjectBuilding::Rebuild() // Update worldstate _state = WintergraspGameObjectState(BATTLEFIELD_WG_OBJECTSTATE_ALLIANCE_INTACT - (_teamControl * 3)); - sWorldStateMgr->SetValue(_worldState, _state, _wg->GetMap()); + sWorldStateMgr->SetValue(_worldState, _state, false, _wg->GetMap()); } UpdateCreatureAndGo(); build->SetFaction(WintergraspFaction[_teamControl]); @@ -1422,7 +1422,7 @@ void BfWGGameObjectBuilding::Damaged() { // Update worldstate _state = WintergraspGameObjectState(BATTLEFIELD_WG_OBJECTSTATE_ALLIANCE_DAMAGE - (_teamControl * 3)); - sWorldStateMgr->SetValue(_worldState, _state, _wg->GetMap()); + sWorldStateMgr->SetValue(_worldState, _state, false, _wg->GetMap()); // Send warning message if (_staticTowerInfo) @@ -1446,7 +1446,7 @@ void BfWGGameObjectBuilding::Destroyed() { // Update worldstate _state = WintergraspGameObjectState(BATTLEFIELD_WG_OBJECTSTATE_ALLIANCE_DESTROY - (_teamControl * 3)); - sWorldStateMgr->SetValue(_worldState, _state, _wg->GetMap()); + sWorldStateMgr->SetValue(_worldState, _state, false, _wg->GetMap()); // Warn players if (_staticTowerInfo) @@ -1501,7 +1501,7 @@ void BfWGGameObjectBuilding::Init(GameObject* go) } _state = WintergraspGameObjectState(sWorld->getWorldState(_worldState)); - sWorldStateMgr->SetValue(_worldState, _state, _wg->GetMap()); + sWorldStateMgr->SetValue(_worldState, _state, false, _wg->GetMap()); switch (_state) { case BATTLEFIELD_WG_OBJECTSTATE_NEUTRAL_INTACT: @@ -1754,7 +1754,7 @@ void WintergraspWorkshop::GiveControlTo(TeamId teamId, bool init /*= false*/) { // Updating worldstate _state = BATTLEFIELD_WG_OBJECTSTATE_ALLIANCE_INTACT; - sWorldStateMgr->SetValue(_staticInfo->WorldStateId, _state, _wg->GetMap()); + sWorldStateMgr->SetValue(_staticInfo->WorldStateId, _state, false, _wg->GetMap()); // Warning message if (!init) @@ -1772,7 +1772,7 @@ void WintergraspWorkshop::GiveControlTo(TeamId teamId, bool init /*= false*/) { // Update worldstate _state = BATTLEFIELD_WG_OBJECTSTATE_HORDE_INTACT; - sWorldStateMgr->SetValue(_staticInfo->WorldStateId, _state, _wg->GetMap()); + sWorldStateMgr->SetValue(_staticInfo->WorldStateId, _state, false, _wg->GetMap()); // Warning message if (!init) diff --git a/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_ascendant_council.cpp b/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_ascendant_council.cpp index 4df6ad29d8..a460dfb5e2 100644 --- a/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_ascendant_council.cpp +++ b/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_ascendant_council.cpp @@ -333,7 +333,7 @@ struct boss_ascendant_council_controller final : public BossAI break; instance->SetBossState(DATA_ASCENDANT_COUNCIL, IN_PROGRESS); - instance->instance->SetWorldStateValue(WORLD_STATE_ID_ELEMENTARY, 0); + instance->DoUpdateWorldState(WORLD_STATE_ID_ELEMENTARY, 0); if (Creature* feludius = instance->GetCreature(DATA_FELUDIUS)) { @@ -1325,7 +1325,7 @@ struct npc_elementium_monstrosity final : public ScriptedAI { ++_liquidIceCount; if (_liquidIceCount == 2) - _instance->instance->SetWorldStateValue(WORLD_STATE_ID_ELEMENTARY, 1); + _instance->DoUpdateWorldState(WORLD_STATE_ID_ELEMENTARY, 1); } } diff --git a/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_chogall.cpp b/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_chogall.cpp index b4a20a998b..a84013f115 100644 --- a/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_chogall.cpp +++ b/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_chogall.cpp @@ -239,7 +239,7 @@ namespace CorruptionHandler if (power > CORRUPTION_ACHIEVEMENT_CAP) if (InstanceScript* instance = target->GetInstanceScript()) if (!instance->instance->GetWorldStateValue(WORLD_STATE_ID_THE_ABYSS_WILL_GAZE_BACK_INTO_YOU)) - instance->instance->SetWorldStateValue(WORLD_STATE_ID_THE_ABYSS_WILL_GAZE_BACK_INTO_YOU, 1); + instance->DoUpdateWorldState(WORLD_STATE_ID_THE_ABYSS_WILL_GAZE_BACK_INTO_YOU, 1); } } @@ -299,7 +299,7 @@ struct boss_chogall final : public BossAI BossAI::JustEngagedWith(who); Talk(SAY_AGGRO); instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me); - instance->instance->SetWorldStateValue(WORLD_STATE_ID_THE_ABYSS_WILL_GAZE_BACK_INTO_YOU, 0); + instance->DoUpdateWorldState(WORLD_STATE_ID_THE_ABYSS_WILL_GAZE_BACK_INTO_YOU, 0); DoCastSelf(SPELL_CORRUPTED_BLOOD); events.SetPhase(PHASE_1); events.ScheduleEvent(EVENT_FURY_OF_CHOGALL, 33s); diff --git a/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_halfus_wyrmbreaker.cpp b/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_halfus_wyrmbreaker.cpp index 936be61ee2..4f02126efa 100644 --- a/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_halfus_wyrmbreaker.cpp +++ b/src/server/scripts/EasternKingdoms/BastionOfTwilight/boss_halfus_wyrmbreaker.cpp @@ -170,7 +170,7 @@ struct boss_halfus_wyrmbreaker final : public BossAI BossAI::JustEngagedWith(who); Talk(SAY_AGGRO); instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me, 1); - instance->instance->SetWorldStateValue(WORLD_STATE_ID_THE_ONLY_ESCAPE, 0); + instance->DoUpdateWorldState(WORLD_STATE_ID_THE_ONLY_ESCAPE, 0); events.ScheduleEvent(EVENT_BERSERK, 10min); if (Creature* protoBehemoth = instance->GetCreature(DATA_PROTO_BEHEMOTH)) @@ -237,13 +237,13 @@ struct boss_halfus_wyrmbreaker final : public BossAI if (_theOnlyEscapeAchievementState == NOT_STARTED) { _theOnlyEscapeAchievementState = IN_PROGRESS; - instance->instance->SetWorldStateValue(WORLD_STATE_ID_THE_ONLY_ESCAPE, 1); + instance->DoUpdateWorldState(WORLD_STATE_ID_THE_ONLY_ESCAPE, 1); events.ScheduleEvent(EVENT_RESET_ACHIEVEMT, Seconds(10)); } else if (_theOnlyEscapeAchievementState == IN_PROGRESS) { _theOnlyEscapeAchievementState = DONE; - instance->instance->SetWorldStateValue(WORLD_STATE_ID_THE_ONLY_ESCAPE, 2); + instance->DoUpdateWorldState(WORLD_STATE_ID_THE_ONLY_ESCAPE, 2); events.CancelEvent(EVENT_RESET_ACHIEVEMT); } break; diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_ascendant_lord_obsidius.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_ascendant_lord_obsidius.cpp index 6543e587fd..9c308c046a 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_ascendant_lord_obsidius.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockCaverns/boss_ascendant_lord_obsidius.cpp @@ -109,7 +109,7 @@ struct boss_ascendant_lord_obsidius : public BossAI { BossAI::JustEngagedWith(who); instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me); - instance->instance->SetWorldStateValue(WORLD_STATE_ID_ASCENDANT_DESCENDING, 0); + instance->DoUpdateWorldState(WORLD_STATE_ID_ASCENDANT_DESCENDING, 0); Talk(SAY_AGGRO); events.ScheduleEvent(EVENT_STONE_BLOW, 8s); events.ScheduleEvent(EVENT_TWILIGHT_CORRUPTION, 12s); @@ -321,7 +321,7 @@ class spell_obsidius_crepuscular_veil : public SpellScript if (aura->GetStackAmount() == GetSpellInfo()->StackAmount) if (InstanceScript* instance = target->GetInstanceScript()) if (!instance->instance->GetWorldStateValue(WORLD_STATE_ID_ASCENDANT_DESCENDING)) - instance->instance->SetWorldStateValue(WORLD_STATE_ID_ASCENDANT_DESCENDING, 1); + instance->DoUpdateWorldState(WORLD_STATE_ID_ASCENDANT_DESCENDING, 1); } void Register() override diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_atramedes.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_atramedes.cpp index 3a06e7a45b..3754b1cf75 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_atramedes.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_atramedes.cpp @@ -205,7 +205,7 @@ struct boss_atramedes : public BossAI { BossAI::JustEngagedWith(who); instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me); - instance->instance->SetWorldStateValue(WORLD_STATE_ID_SILENCE_IS_GOLDEN, 0); + instance->DoUpdateWorldState(WORLD_STATE_ID_SILENCE_IS_GOLDEN, 0); Talk(SAY_AGGRO); DoCastSelf(SPELL_DEVASTATION_TRIGGER); DoCastSelf(SPELL_SOUND_BAR); @@ -915,7 +915,7 @@ class spell_atramedes_sound_bar : public AuraScript } else if (target->GetPower(POWER_ALTERNATE_POWER) >= 50) if (!instance->instance->GetWorldStateValue(WORLD_STATE_ID_SILENCE_IS_GOLDEN)) - instance->instance->SetWorldStateValue(WORLD_STATE_ID_SILENCE_IS_GOLDEN, 1); + instance->DoUpdateWorldState(WORLD_STATE_ID_SILENCE_IS_GOLDEN, 1); } void Register() override diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_chimaeron.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_chimaeron.cpp index d0fa9d86a6..7710e6956c 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_chimaeron.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_chimaeron.cpp @@ -150,7 +150,7 @@ struct boss_chimaeron : public BossAI { BossAI::JustEngagedWith(who); instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me); - instance->instance->SetWorldStateValue(WORLD_STATE_ID_FULL_OF_SOUND_AND_FURY, 0); + instance->DoUpdateWorldState(WORLD_STATE_ID_FULL_OF_SOUND_AND_FURY, 0); me->SetReactState(REACT_AGGRESSIVE); events.SetPhase(PHASE_1); events.ScheduleEvent(EVENT_CAUSTIC_SLIME, 5s, 0, PHASE_1); @@ -212,7 +212,7 @@ struct boss_chimaeron : public BossAI { _killedPlayerCount++; if (_killedPlayerCount == 3) - instance->instance->SetWorldStateValue(WORLD_STATE_ID_FULL_OF_SOUND_AND_FURY, 1); + instance->DoUpdateWorldState(WORLD_STATE_ID_FULL_OF_SOUND_AND_FURY, 1); } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_magmaw.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_magmaw.cpp index 86ed6a4862..7e8d8df4e0 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_magmaw.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_magmaw.cpp @@ -235,7 +235,7 @@ struct boss_magmaw : public BossAI BossAI::JustEngagedWith(who); instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me, FRAME_PRIORITY_MAGMAW); - instance->instance->SetWorldStateValue(WORLD_STATE_ID_PARASITE_EVENING, 0); + instance->DoUpdateWorldState(WORLD_STATE_ID_PARASITE_EVENING, 0); me->SetReactState(REACT_AGGRESSIVE); events.SetPhase(PHASE_COMBAT); @@ -702,7 +702,7 @@ struct npc_magmaw_lava_parasite : public ScriptedAI me->SetReactState(REACT_PASSIVE); me->DespawnOrUnsummon(4s); if (!_instance->instance->GetWorldStateValue(WORLD_STATE_ID_PARASITE_EVENING)) - _instance->instance->SetWorldStateValue(WORLD_STATE_ID_PARASITE_EVENING, 1); + _instance->DoUpdateWorldState(WORLD_STATE_ID_PARASITE_EVENING, 1); } } diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_nefarians_end.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_nefarians_end.cpp index 11a39ec91e..f26ce08f92 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_nefarians_end.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_nefarians_end.cpp @@ -785,7 +785,7 @@ struct boss_nefarians_end : public BossAI break; case EVENT_LAND_PHASE_THREE: if (me->GetHealthPct() > 50.f) - instance->instance->SetWorldStateValue(WORLD_STATE_ID_KEEPING_IT_IN_THE_FAMILY, 0); + instance->DoUpdateWorldState(WORLD_STATE_ID_KEEPING_IT_IN_THE_FAMILY, 0); me->RemoveAurasDueToSpell(SPELL_NEFARIAN_PHASE_2_HEALTH_AURA); me->SendSetPlayHoverAnim(true); @@ -930,7 +930,7 @@ struct npc_nefarians_end_onyxia : public ScriptedAI if (_instance->GetBossState(DATA_NEFARIANS_END) != IN_PROGRESS) { _instance->SetBossState(DATA_NEFARIANS_END, IN_PROGRESS); - _instance->instance->SetWorldStateValue(WORLD_STATE_ID_KEEPING_IT_IN_THE_FAMILY, 1); + _instance->DoUpdateWorldState(WORLD_STATE_ID_KEEPING_IT_IN_THE_FAMILY, 1); } _instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me, FRAME_INDEX_ONYXIA); diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_omnotron_defense_system.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_omnotron_defense_system.cpp index 09b27ea346..124489555b 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_omnotron_defense_system.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingDescent/boss_omnotron_defense_system.cpp @@ -302,10 +302,10 @@ struct boss_omnotron_defense_system : public BossAI break; case ACTION_START_ENCOUNTER: instance->SetBossState(DATA_OMNOTRON_DEFENSE_SYSTEM, IN_PROGRESS); - instance->instance->SetWorldStateValue(WORLD_STATE_ID_STATIC_SHOCK, 0); - instance->instance->SetWorldStateValue(WORLD_STATE_ID_POISON_BOMB, 0); - instance->instance->SetWorldStateValue(WORLD_STATE_ID_ARCANE_ANNIHILATOR, 0); - instance->instance->SetWorldStateValue(WORLD_STATE_ID_FLAMETHROWER, 0); + instance->DoUpdateWorldState(WORLD_STATE_ID_STATIC_SHOCK, 0); + instance->DoUpdateWorldState(WORLD_STATE_ID_POISON_BOMB, 0); + instance->DoUpdateWorldState(WORLD_STATE_ID_ARCANE_ANNIHILATOR, 0); + instance->DoUpdateWorldState(WORLD_STATE_ID_FLAMETHROWER, 0); if (IsHeroic()) DoSummon(NPC_LORD_VICTOR_NEFARIUS_OMNOTRON, LordVictorNefariusSummonPosition, 0, TEMPSUMMON_MANUAL_DESPAWN); @@ -921,7 +921,7 @@ struct npc_omnotron_arcanotron : public ScriptedAI { if (spell->Id == SPELL_ARCANE_ANNIHILATION) if (!_instance->instance->GetWorldStateValue(WORLD_STATE_ID_ARCANE_ANNIHILATOR)) - _instance->instance->SetWorldStateValue(WORLD_STATE_ID_ARCANE_ANNIHILATOR, 1); + _instance->DoUpdateWorldState(WORLD_STATE_ID_ARCANE_ANNIHILATOR, 1); } void UpdateAI(uint32 diff) override @@ -1151,7 +1151,7 @@ struct npc_omnotron_poison_bomb : public ScriptedAI { if (InstanceScript* instance = me->GetInstanceScript()) if (!instance->instance->GetWorldStateValue(WORLD_STATE_ID_POISON_BOMB)) - instance->instance->SetWorldStateValue(WORLD_STATE_ID_POISON_BOMB, 1); + instance->DoUpdateWorldState(WORLD_STATE_ID_POISON_BOMB, 1); DoCastSelf(SPELL_POISON_BOMB_DAMAGE, true); DoCastSelf(SPELL_POISON_BOMB_SUMMON_PUDDLE, true); @@ -1372,7 +1372,7 @@ class spell_omnotron_unstable_shield : public AuraScript if (InstanceScript* instance = caster->GetInstanceScript()) if (!instance->instance->GetWorldStateValue(WORLD_STATE_ID_STATIC_SHOCK)) - instance->instance->SetWorldStateValue(WORLD_STATE_ID_STATIC_SHOCK, 1); + instance->DoUpdateWorldState(WORLD_STATE_ID_STATIC_SHOCK, 1); } void Register() override @@ -1549,7 +1549,7 @@ class spell_omnotron_flamethrower : public SpellScript if (targets.size() >= 2) if (InstanceScript* instance = GetCaster()->GetInstanceScript()) if (!instance->instance->GetWorldStateValue(WORLD_STATE_ID_FLAMETHROWER)) - instance->instance->SetWorldStateValue(WORLD_STATE_ID_FLAMETHROWER, 1); + instance->DoUpdateWorldState(WORLD_STATE_ID_FLAMETHROWER, 1); } void Register() override diff --git a/src/server/scripts/EasternKingdoms/GrimBatol/boss_erudax.cpp b/src/server/scripts/EasternKingdoms/GrimBatol/boss_erudax.cpp index 6519a0ceec..d5354236d9 100644 --- a/src/server/scripts/EasternKingdoms/GrimBatol/boss_erudax.cpp +++ b/src/server/scripts/EasternKingdoms/GrimBatol/boss_erudax.cpp @@ -141,7 +141,7 @@ struct boss_erudax : public BossAI BossAI::JustEngagedWith(who); Talk(SAY_AGGRO); instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me, 1); - instance->instance->SetWorldStateValue(WORLD_STATE_ID_DONT_NEED_TO_BREAK_EGGS, 0); + instance->DoUpdateWorldState(WORLD_STATE_ID_DONT_NEED_TO_BREAK_EGGS, 0); events.ScheduleEvent(EVENT_BINDING_SHADOWS, 10s + 500ms); events.ScheduleEvent(EVENT_ENFEEBLING_BLOW, 19s); events.ScheduleEvent(EVENT_SHADOW_GALE, 26s); @@ -367,7 +367,7 @@ struct npc_erudax_faceless_corruptor : public ScriptedAI break; case EVENT_TWILIGHT_CORRUPTION: // Fail achievement by setting the required world state to 1 (0 is required for successful achievement) - _instance->instance->SetWorldStateValue(WORLD_STATE_ID_DONT_NEED_TO_BREAK_EGGS, 1); + _instance->DoUpdateWorldState(WORLD_STATE_ID_DONT_NEED_TO_BREAK_EGGS, 1); DoCastAOE(SPELL_TWILIGHT_CORRUPTION); break; case EVENT_UMBRAL_MENDING: diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_baron_ashbury.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_baron_ashbury.cpp index 62f1c9ce18..9d3688bbbb 100644 --- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_baron_ashbury.cpp +++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_baron_ashbury.cpp @@ -86,7 +86,7 @@ struct boss_baron_ashbury : public BossAI BossAI::JustEngagedWith(who); Talk(SAY_AGGRO); instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me, 1); - instance->instance->SetWorldStateValue(WORLD_STATE_ID_PARDON_DENIED, 0); + instance->DoUpdateWorldState(WORLD_STATE_ID_PARDON_DENIED, 0); events.ScheduleEvent(EVENT_ASPHYXIATE, IsHeroic() ? 20s + 500ms : 15s + 500ms); events.ScheduleEvent(EVENT_PAIN_AND_SUFFERING, 6s); @@ -115,7 +115,7 @@ struct boss_baron_ashbury : public BossAI return; if (!instance->instance->GetWorldStateValue(WORLD_STATE_ID_PARDON_DENIED)) - instance->instance->SetWorldStateValue(WORLD_STATE_ID_PARDON_DENIED, 1); + instance->DoUpdateWorldState(WORLD_STATE_ID_PARDON_DENIED, 1); } void DamageTaken(Unit* /*attacker*/, uint32& damage) override diff --git a/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_commander_springvale.cpp b/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_commander_springvale.cpp index 403d2f2e20..2e8a8ae57c 100644 --- a/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_commander_springvale.cpp +++ b/src/server/scripts/EasternKingdoms/ShadowfangKeep/boss_commander_springvale.cpp @@ -510,7 +510,7 @@ public: if (InstanceScript* instance = target->GetInstanceScript()) if (!instance->instance->GetWorldStateValue(WORLD_STATE_ID_TO_THE_GROUND)) - instance->instance->SetWorldStateValue(WORLD_STATE_ID_TO_THE_GROUND, 1); + instance->DoUpdateWorldState(WORLD_STATE_ID_TO_THE_GROUND, 1); } } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EndTime/instance_end_time.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EndTime/instance_end_time.cpp index 649c107199..c01404eb85 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/EndTime/instance_end_time.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/EndTime/instance_end_time.cpp @@ -106,7 +106,7 @@ public: case MAP_EVENT_AZURE_DRAGONSHRINE_ENTERED: if (GetBossState(DATA_ECHO_OF_JAINA) == DONE) break; - instance->SetWorldStateValue(WORLD_STATE_ID_SHOW_COLLECTED_STAVE_FRAGMENTS, 1); + DoUpdateWorldState(WORLD_STATE_ID_SHOW_COLLECTED_STAVE_FRAGMENTS, 1); break; default: break; @@ -198,7 +198,7 @@ public: case DATA_ECHO_OF_JAINA: if (state == IN_PROGRESS) { - instance->SetWorldStateValue(WORLD_STATE_ID_SHOW_COLLECTED_STAVE_FRAGMENTS, 0); + DoUpdateWorldState(WORLD_STATE_ID_SHOW_COLLECTED_STAVE_FRAGMENTS, 0); if (Creature* circle = GetCreature(DATA_ARCANE_CIRCLE)) circle->DespawnOrUnsummon(); } @@ -219,7 +219,7 @@ public: break; ++_collectedStaffFragments; - instance->SetWorldStateValue(WORLD_STATE_ID_COLLECTED_STAVE_FRAGMENTS, _collectedStaffFragments); + DoUpdateWorldState(WORLD_STATE_ID_COLLECTED_STAVE_FRAGMENTS, _collectedStaffFragments); if (_collectedStaffFragments < 16) { diff --git a/src/server/scripts/Kalimdor/Firelands/boss_lord_rhyolith.cpp b/src/server/scripts/Kalimdor/Firelands/boss_lord_rhyolith.cpp index 4620c782bf..664ae23967 100644 --- a/src/server/scripts/Kalimdor/Firelands/boss_lord_rhyolith.cpp +++ b/src/server/scripts/Kalimdor/Firelands/boss_lord_rhyolith.cpp @@ -243,7 +243,7 @@ struct boss_lord_rhyolith : public BossAI BossAI::JustEngagedWith(who); Talk(SAY_ENGAGE, who); instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me, 1); - me->GetMap()->SetWorldStateValue(WORLD_STATE_ID_NOT_AN_AMBI_TURNER, 0); + instance->DoUpdateWorldState(WORLD_STATE_ID_NOT_AN_AMBI_TURNER, 0); uint8 frameIndex = 2; for (uint32 type : { DATA_LEFT_FOOT, DATA_RIGHT_FOOT }) @@ -536,7 +536,7 @@ struct boss_lord_rhyolith : public BossAI if (!_achievementFailed && _currentBalance < CENTER_BALANCE) { - me->GetMap()->SetWorldStateValue(WORLD_STATE_ID_NOT_AN_AMBI_TURNER, 1); + instance->DoUpdateWorldState(WORLD_STATE_ID_NOT_AN_AMBI_TURNER, 1); _achievementFailed = true; } diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_rajh.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_rajh.cpp index 19888ac080..2d2b21bc3a 100644 --- a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_rajh.cpp +++ b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_rajh.cpp @@ -103,7 +103,7 @@ struct boss_rajh : public BossAI BossAI::JustEngagedWith(who); Talk(SAY_AGGRO); instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me); - instance->instance->SetWorldStateValue(WORLD_STATE_ID_SUN_OF_A, 0); + instance->DoUpdateWorldState(WORLD_STATE_ID_SUN_OF_A, 0); me->SetReactState(REACT_AGGRESSIVE); _randomTimerCase = RAND(0, 1); events.ScheduleEvent(EVENT_SOLAR_WINDS, 5s); @@ -226,7 +226,7 @@ struct boss_rajh : public BossAI break; case EVENT_REENGAGE: if (!instance->instance->GetWorldStateValue(WORLD_STATE_ID_SUN_OF_A)) - instance->instance->SetWorldStateValue(WORLD_STATE_ID_SUN_OF_A, 1); + instance->DoUpdateWorldState(WORLD_STATE_ID_SUN_OF_A, 1); _energized = true; _randomTimerCase = RAND(0, 1); events.ScheduleEvent(EVENT_SOLAR_WINDS, 5s); diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp index fc41ae7e71..e858ae9d5e 100644 --- a/src/server/scripts/Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp +++ b/src/server/scripts/Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp @@ -105,7 +105,7 @@ struct boss_temple_guardian_anhuur : public BossAI { BossAI::JustEngagedWith(who); instance->SendEncounterUnit(ENCOUNTER_FRAME_ENGAGE, me); - instance->instance->SetWorldStateValue(WORLD_STATE_ID_I_HATE_THAT_SONG, 0); + instance->DoUpdateWorldState(WORLD_STATE_ID_I_HATE_THAT_SONG, 0); Talk(SAY_AGGRO); events.SetPhase(PHASE_FIGHT); events.ScheduleEvent(EVENT_DIVINE_RECKONING, 10s, 0, PHASE_FIGHT); @@ -235,7 +235,7 @@ struct boss_temple_guardian_anhuur : public BossAI instance->SetData(DATA_HANDLE_BEAM_OF_LIGHT, IN_PROGRESS); break; case EVENT_ACHIEVEMENT_FAILED: - instance->instance->SetWorldStateValue(WORLD_STATE_ID_I_HATE_THAT_SONG, 1); + instance->DoUpdateWorldState(WORLD_STATE_ID_I_HATE_THAT_SONG, 1); break; default: break; diff --git a/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp b/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp index 7e3e043720..ad260ebcd9 100644 --- a/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp +++ b/src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp @@ -470,7 +470,7 @@ class instance_halls_of_origination : public InstanceMapScript anraphet->AI()->DoAction(ACTION_ANRAPHET_INTRO); break; case EVENT_FAIL_VAULTS_OF_LIGHT_ACHIEVEMENT: - instance->SetWorldStateValue(WORLD_STATE_ID_FASTER_THAN_THE_SPEED_OF_LIGHT, 1); + DoUpdateWorldState(WORLD_STATE_ID_FASTER_THAN_THE_SPEED_OF_LIGHT, 1); break; default: break;