aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Battlefield
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-07-14 22:32:21 +0200
committerShauren <shauren.trinity@gmail.com>2022-07-14 22:32:21 +0200
commite487d78ba7b37c35ede36c554169d26afeac88b0 (patch)
tree0591c19887f048d6fb3f070eaecb396086f04389 /src/server/scripts/Battlefield
parentf4951f9031cf2c015474c80f5fb0172f19b31acb (diff)
Core/WorldStates: Move custom worldstates to separate table and move saving worldstate values to WorldStateMgr
Diffstat (limited to 'src/server/scripts/Battlefield')
-rw-r--r--src/server/scripts/Battlefield/BattlefieldTB.cpp48
-rw-r--r--src/server/scripts/Battlefield/BattlefieldTB.h4
-rw-r--r--src/server/scripts/Battlefield/BattlefieldWG.cpp97
-rw-r--r--src/server/scripts/Battlefield/BattlefieldWG.h13
4 files changed, 36 insertions, 126 deletions
diff --git a/src/server/scripts/Battlefield/BattlefieldTB.cpp b/src/server/scripts/Battlefield/BattlefieldTB.cpp
index 06eedebcb66..33fc29c1ecb 100644
--- a/src/server/scripts/Battlefield/BattlefieldTB.cpp
+++ b/src/server/scripts/Battlefield/BattlefieldTB.cpp
@@ -71,36 +71,35 @@ bool BattlefieldTB::SetupBattlefield()
m_Data32.resize(BATTLEFIELD_TB_DATA_MAX);
- m_saveTimer = 5 * MINUTE * IN_MILLISECONDS;
-
updatedNPCAndObjects = true;
m_updateObjectsTimer = 0;
// Was there a battle going on or time isn't set yet? Then use m_RestartAfterCrash
- if (sWorld->getWorldState(WS_BATTLEFIELD_TB_STATE_BATTLE) == 1 || sWorld->getWorldState(WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE) == 0)
- sWorld->setWorldState(WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE, m_RestartAfterCrash);
+ if (sWorldStateMgr->GetValue(WS_BATTLEFIELD_TB_STATE_BATTLE, m_Map) == 1 || sWorldStateMgr->GetValue(WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE, m_Map) < GameTime::GetGameTime())
+ {
+ sWorldStateMgr->SetValueAndSaveInDb(WS_BATTLEFIELD_TB_STATE_BATTLE, 0, false, m_Map);
+ sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE, GameTime::GetGameTime() + m_RestartAfterCrash / IN_MILLISECONDS, false, m_Map);
+ }
// Set timer
- m_Timer = sWorld->getWorldState(WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE);
+ m_Timer = sWorldStateMgr->GetValue(WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE, m_Map) - GameTime::GetGameTime();
// Defending team isn't set yet? Choose randomly.
- if (sWorld->getWorldState(WS_BATTLEFIELD_TB_FACTION_CONTROLLING) == 0)
- sWorld->setWorldState(WS_BATTLEFIELD_TB_FACTION_CONTROLLING, uint32(urand(1, 2)));
+ if (sWorldStateMgr->GetValue(WS_BATTLEFIELD_TB_FACTION_CONTROLLING, m_Map) == 0)
+ sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_FACTION_CONTROLLING, uint32(urand(1, 2)), false, m_Map);
// Set defender team
- SetDefenderTeam(TeamId(sWorld->getWorldState(WS_BATTLEFIELD_TB_FACTION_CONTROLLING) - 1));
+ SetDefenderTeam(TeamId(sWorldStateMgr->GetValue(WS_BATTLEFIELD_TB_FACTION_CONTROLLING, m_Map) - 1));
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->SetValueAndSaveInDb(WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE, GameTime::GetGameTime() + m_Timer / IN_MILLISECONDS, false, m_Map);
- sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_FACTION_CONTROLLING, GetDefenderTeam() + 1, false, m_Map);
+ sWorldStateMgr->SetValueAndSaveInDb(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();
-
// Create capture points
for (uint8 i = 0; i < TB_BASE_COUNT; i++)
{
@@ -186,14 +185,6 @@ bool BattlefieldTB::Update(uint32 diff)
m_updateObjectsTimer -= diff;
}
- if (m_saveTimer <= diff)
- {
- SaveWorldStateValues();
- m_saveTimer = 60 * IN_MILLISECONDS;
- }
- else
- m_saveTimer -= diff;
-
return m_return;
}
@@ -237,13 +228,6 @@ void BattlefieldTB::RemoveAurasFromPlayer(Player* player)
player->RemoveAurasDueToSpell(SPELL_TB_SPIRITUAL_IMMUNITY);
}
-void BattlefieldTB::SaveWorldStateValues()
-{
- sWorld->setWorldState(WS_BATTLEFIELD_TB_FACTION_CONTROLLING, uint32(GetDefenderTeam()));
- sWorld->setWorldState(WS_BATTLEFIELD_TB_STATE_BATTLE, uint32(IsWarTime() ? 1 : 0));
- sWorld->setWorldState(WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE, uint32(!IsWarTime() ? m_Timer : 0));
-}
-
void BattlefieldTB::OnStartGrouping()
{
UpdateNPCsAndGameObjects();
@@ -270,7 +254,7 @@ void BattlefieldTB::OnBattleStart()
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, false, m_Map);
- sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE, 0, false, m_Map);
+ sWorldStateMgr->SetValueAndSaveInDb(WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE, 0, false, 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);
@@ -285,7 +269,7 @@ void BattlefieldTB::OnBattleStart()
sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TOWERS_DESTROYED, 0, false, m_Map);
sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_STATE_PREPARATIONS, 0, false, m_Map);
- sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_STATE_BATTLE, 1, false, m_Map);
+ sWorldStateMgr->SetValueAndSaveInDb(WS_BATTLEFIELD_TB_STATE_BATTLE, 1, false, m_Map);
// Towers/spires
for (uint8 i = 0; i < TB_TOWERS_COUNT; i++)
@@ -336,12 +320,12 @@ void BattlefieldTB::OnBattleEnd(bool endByTimer)
sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_TIME_BATTLE_END, 0, false, 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->SetValueAndSaveInDb(WS_BATTLEFIELD_TB_TIME_NEXT_BATTLE, GameTime::GetGameTime() + m_NoWarBattleTime / IN_MILLISECONDS, false, 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, false, m_Map);
+ sWorldStateMgr->SetValueAndSaveInDb(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);
@@ -349,7 +333,7 @@ void BattlefieldTB::OnBattleEnd(bool endByTimer)
sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_BUILDINGS_CAPTURED_SHOW, 0, false, m_Map);
- sWorldStateMgr->SetValue(WS_BATTLEFIELD_TB_STATE_BATTLE, 0, false, m_Map);
+ sWorldStateMgr->SetValueAndSaveInDb(WS_BATTLEFIELD_TB_STATE_BATTLE, 0, false, m_Map);
}
void BattlefieldTB::UpdateNPCsAndGameObjects()
diff --git a/src/server/scripts/Battlefield/BattlefieldTB.h b/src/server/scripts/Battlefield/BattlefieldTB.h
index ac181bde5d9..9792ba818e4 100644
--- a/src/server/scripts/Battlefield/BattlefieldTB.h
+++ b/src/server/scripts/Battlefield/BattlefieldTB.h
@@ -575,8 +575,6 @@ class BattlefieldTB : public Battlefield
bool SetupBattlefield() override;
- void SaveWorldStateValues();
-
void HandleKill(Player* killer, Unit* victim) override;
//void OnUnitDeath(Unit* unit) override;
void PromotePlayer(Player* killer);
@@ -599,8 +597,6 @@ class BattlefieldTB : public Battlefield
bool warnedTwoMinutes;
bool warnedOneMinute;
- uint32 m_saveTimer;
-
bool updatedNPCAndObjects;
uint32 m_updateObjectsTimer;
diff --git a/src/server/scripts/Battlefield/BattlefieldWG.cpp b/src/server/scripts/Battlefield/BattlefieldWG.cpp
index 85dd74769e8..fcf9d6c3dc8 100644
--- a/src/server/scripts/Battlefield/BattlefieldWG.cpp
+++ b/src/server/scripts/Battlefield/BattlefieldWG.cpp
@@ -438,45 +438,30 @@ bool BattlefieldWG::SetupBattlefield()
m_Data32.resize(BATTLEFIELD_WG_DATA_MAX);
- m_saveTimer = 60000;
-
// Init Graveyards
SetGraveyardNumber(BATTLEFIELD_WG_GRAVEYARD_MAX);
// Load from db
- if (sWorld->getWorldState(WS_BATTLEFIELD_WG_SHOW_TIME_NEXT_BATTLE) == 0
- && sWorld->getWorldState(WS_BATTLEFIELD_WG_DEFENDER) == 0
- && sWorld->getWorldState(ClockWorldState[0]) == 0)
+ if (sWorldStateMgr->GetValue(WS_BATTLEFIELD_WG_SHOW_TIME_NEXT_BATTLE, m_Map) == 0
+ && sWorldStateMgr->GetValue(ClockWorldState[0], m_Map) < GameTime::GetGameTime())
{
- sWorld->setWorldState(WS_BATTLEFIELD_WG_SHOW_TIME_NEXT_BATTLE, 0);
- sWorld->setWorldState(WS_BATTLEFIELD_WG_DEFENDER, urand(0, 1));
- sWorld->setWorldState(ClockWorldState[0], m_NoWarBattleTime);
+ sWorldStateMgr->SetValueAndSaveInDb(WS_BATTLEFIELD_WG_SHOW_TIME_NEXT_BATTLE, 0, false, m_Map);
+ sWorldStateMgr->SetValueAndSaveInDb(WS_BATTLEFIELD_WG_DEFENDER, urand(0, 1), false, m_Map);
+ sWorldStateMgr->SetValueAndSaveInDb(ClockWorldState[0], GameTime::GetGameTime() + m_NoWarBattleTime / IN_MILLISECONDS, false, m_Map);
}
- m_isActive = sWorld->getWorldState(WS_BATTLEFIELD_WG_SHOW_TIME_NEXT_BATTLE) == 0;
- m_DefenderTeam = TeamId(sWorld->getWorldState(WS_BATTLEFIELD_WG_DEFENDER));
+ m_isActive = sWorldStateMgr->GetValue(WS_BATTLEFIELD_WG_SHOW_TIME_NEXT_BATTLE, m_Map) == 0;
+ m_DefenderTeam = TeamId(sWorldStateMgr->GetValue(WS_BATTLEFIELD_WG_DEFENDER, m_Map));
- m_Timer = sWorld->getWorldState(ClockWorldState[0]);
+ m_Timer = sWorldStateMgr->GetValue(ClockWorldState[0], m_Map) - GameTime::GetGameTime();
if (m_isActive)
{
m_isActive = false;
m_Timer = m_RestartAfterCrash;
}
- auto loadSavedWorldState = [&](int32 id)
- {
- 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(), 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);
- loadSavedWorldState(WS_BATTLEFIELD_WG_DEFENDED_H);
for (uint8 i = 0; i < BATTLEFIELD_WG_GRAVEYARD_MAX; i++)
{
@@ -553,31 +538,6 @@ bool BattlefieldWG::SetupBattlefield()
return true;
}
-bool BattlefieldWG::Update(uint32 diff)
-{
- bool m_return = Battlefield::Update(diff);
- if (m_saveTimer <= diff)
- {
- auto saveWorldState = [&](int32 id)
- {
- sWorld->setWorldState(id, sWorldStateMgr->GetValue(id, m_Map));
- };
-
- sWorld->setWorldState(WS_BATTLEFIELD_WG_SHOW_TIME_NEXT_BATTLE, !m_isActive);
- sWorld->setWorldState(WS_BATTLEFIELD_WG_DEFENDER, m_DefenderTeam);
- sWorld->setWorldState(ClockWorldState[0], m_Timer);
- saveWorldState(WS_BATTLEFIELD_WG_ATTACKED_A);
- saveWorldState(WS_BATTLEFIELD_WG_DEFENDED_A);
- saveWorldState(WS_BATTLEFIELD_WG_ATTACKED_H);
- saveWorldState(WS_BATTLEFIELD_WG_DEFENDED_H);
- m_saveTimer = 60 * IN_MILLISECONDS;
- }
- else
- m_saveTimer -= diff;
-
- return m_return;
-}
-
void BattlefieldWG::OnBattleStart()
{
// Spawn titan relic
@@ -593,10 +553,10 @@ void BattlefieldWG::OnBattleStart()
TC_LOG_ERROR("bg.battlefield", "WG: Failed to spawn titan relic.");
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->SetValueAndSaveInDb(WS_BATTLEFIELD_WG_DEFENDER, GetDefenderTeam(), false, m_Map);
+ sWorldStateMgr->SetValueAndSaveInDb(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);
+ sWorldStateMgr->SetValueAndSaveInDb(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)
@@ -690,10 +650,11 @@ 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, false, m_Map);
+ sWorldStateMgr->SetValueAndSaveInDb(worldStateId, sWorldStateMgr->GetValue(worldStateId, m_Map) + 1, false, m_Map);
}
- sWorldStateMgr->SetValue(WS_BATTLEFIELD_WG_SHOW_TIME_NEXT_BATTLE, 1, false, m_Map);
+ sWorldStateMgr->SetValueAndSaveInDb(WS_BATTLEFIELD_WG_DEFENDER, GetDefenderTeam(), false, m_Map);
+ sWorldStateMgr->SetValueAndSaveInDb(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);
@@ -722,13 +683,6 @@ void BattlefieldWG::OnBattleEnd(bool endByTimer)
if (GameObject* portal = GetGameObject(*itr))
portal->SetRespawnTime(RESPAWN_ONE_DAY);
- // Saving data
- for (BfWGGameObjectBuilding* building : BuildingsInZone)
- building->Save();
-
- for (WintergraspWorkshop* workshop : Workshops)
- workshop->Save();
-
for (auto itr = m_PlayersInWar[GetDefenderTeam()].begin(); itr != m_PlayersInWar[GetDefenderTeam()].end(); ++itr)
{
if (Player* player = ObjectAccessor::FindPlayer(*itr))
@@ -1421,7 +1375,7 @@ void BfWGGameObjectBuilding::Rebuild()
// Update worldstate
_state = WintergraspGameObjectState(BATTLEFIELD_WG_OBJECTSTATE_ALLIANCE_INTACT - (_teamControl * 3));
- sWorldStateMgr->SetValue(_worldState, _state, false, _wg->GetMap());
+ sWorldStateMgr->SetValueAndSaveInDb(_worldState, _state, false, _wg->GetMap());
}
UpdateCreatureAndGo();
build->SetFaction(WintergraspFaction[_teamControl]);
@@ -1444,7 +1398,7 @@ void BfWGGameObjectBuilding::Damaged()
{
// Update worldstate
_state = WintergraspGameObjectState(BATTLEFIELD_WG_OBJECTSTATE_ALLIANCE_DAMAGE - (_teamControl * 3));
- sWorldStateMgr->SetValue(_worldState, _state, false, _wg->GetMap());
+ sWorldStateMgr->SetValueAndSaveInDb(_worldState, _state, false, _wg->GetMap());
// Send warning message
if (_staticTowerInfo)
@@ -1468,7 +1422,7 @@ void BfWGGameObjectBuilding::Destroyed()
{
// Update worldstate
_state = WintergraspGameObjectState(BATTLEFIELD_WG_OBJECTSTATE_ALLIANCE_DESTROY - (_teamControl * 3));
- sWorldStateMgr->SetValue(_worldState, _state, false, _wg->GetMap());
+ sWorldStateMgr->SetValueAndSaveInDb(_worldState, _state, false, _wg->GetMap());
// Warn players
if (_staticTowerInfo)
@@ -1522,8 +1476,7 @@ void BfWGGameObjectBuilding::Init(GameObject* go)
break;
}
- _state = WintergraspGameObjectState(sWorld->getWorldState(_worldState));
- sWorldStateMgr->SetValue(_worldState, _state, false, _wg->GetMap());
+ _state = WintergraspGameObjectState(sWorldStateMgr->GetValue(_worldState, _wg->GetMap()));
switch (_state)
{
case BATTLEFIELD_WG_OBJECTSTATE_NEUTRAL_INTACT:
@@ -1741,11 +1694,6 @@ void BfWGGameObjectBuilding::UpdateTurretAttack(bool disable)
}
}
-void BfWGGameObjectBuilding::Save()
-{
- sWorld->setWorldState(_worldState, _state);
-}
-
WintergraspWorkshop::WintergraspWorkshop(BattlefieldWG* wg, uint8 type)
{
ASSERT(wg && type < WG_MAX_WORKSHOP);
@@ -1776,7 +1724,7 @@ void WintergraspWorkshop::GiveControlTo(TeamId teamId, bool init /*= false*/)
{
// Updating worldstate
_state = BATTLEFIELD_WG_OBJECTSTATE_ALLIANCE_INTACT;
- sWorldStateMgr->SetValue(_staticInfo->WorldStateId, _state, false, _wg->GetMap());
+ sWorldStateMgr->SetValueAndSaveInDb(_staticInfo->WorldStateId, _state, false, _wg->GetMap());
// Warning message
if (!init)
@@ -1794,7 +1742,7 @@ void WintergraspWorkshop::GiveControlTo(TeamId teamId, bool init /*= false*/)
{
// Update worldstate
_state = BATTLEFIELD_WG_OBJECTSTATE_HORDE_INTACT;
- sWorldStateMgr->SetValue(_staticInfo->WorldStateId, _state, false, _wg->GetMap());
+ sWorldStateMgr->SetValueAndSaveInDb(_staticInfo->WorldStateId, _state, false, _wg->GetMap());
// Warning message
if (!init)
@@ -1821,11 +1769,6 @@ void WintergraspWorkshop::UpdateGraveyardAndWorkshop()
GiveControlTo(_wg->GetDefenderTeam(), true);
}
-void WintergraspWorkshop::Save()
-{
- sWorld->setWorldState(_staticInfo->WorldStateId, _state);
-}
-
class Battlefield_wintergrasp : public BattlefieldScript
{
public:
diff --git a/src/server/scripts/Battlefield/BattlefieldWG.h b/src/server/scripts/Battlefield/BattlefieldWG.h
index ff17967f01f..c15bd592962 100644
--- a/src/server/scripts/Battlefield/BattlefieldWG.h
+++ b/src/server/scripts/Battlefield/BattlefieldWG.h
@@ -258,14 +258,6 @@ class BattlefieldWG : public Battlefield
void OnPlayerEnterZone(Player* player) override;
/**
- * \brief Called for update battlefield data
- * - Save battle timer in database every minutes
- * - Update imunity aura from graveyard
- * \param diff : time elapsed since the last call (in ms)
- */
- bool Update(uint32 diff) override;
-
- /**
* \brief Called when a creature is created
* - Update vehicle count
*/
@@ -353,7 +345,6 @@ class BattlefieldWG : public Battlefield
TeamId m_tenacityTeam;
uint32 m_tenacityStack;
- uint32 m_saveTimer;
ObjectGuid m_titansRelicGUID;
};
@@ -531,8 +522,6 @@ public:
void UpdateCreatureAndGo();
void UpdateTurretAttack(bool disable);
-
- void Save();
};
// Structure for the 6 workshop
@@ -556,8 +545,6 @@ public:
void GiveControlTo(TeamId teamId, bool init = false);
void UpdateGraveyardAndWorkshop();
-
- void Save();
};
#endif