feat(Core): Config to disable all Wintergrasp processing (#13086)

* feat(Core): Config to disable all Wintergrasp processing

* Use 2 instead of -1 - configs are parsed as uint

* Fix build warnings
This commit is contained in:
ZhengPeiRu21
2022-11-01 03:22:09 -06:00
committed by GitHub
parent 9e89917fd7
commit 5a7822282f
8 changed files with 15 additions and 8 deletions

View File

@@ -2919,8 +2919,9 @@ Battleground.SpeedBuffRespawn = 150
#
# Wintergrasp.Enable
# Description: Enable the Wintergrasp battlefield.
# Default: 0 - (Disabled)
# 1 - (Enabled, Experimental as of still being in development)
# Default: 1 - (Enabled, Experimental as of still being in development)
# 0 - (Battleground disabled, Wintergrasp world processing still occurs)
# 2 - (Disable all Wintergrasp processing)
Wintergrasp.Enable = 1

View File

@@ -40,6 +40,12 @@ BattlefieldMgr* BattlefieldMgr::instance()
void BattlefieldMgr::InitBattlefield()
{
if (sWorld->getIntConfig(CONFIG_WINTERGRASP_ENABLE) == 2)
{
LOG_INFO("server.loading", "Battlefield: Wintergrasp is disabled.");
LOG_INFO("server.loading", " ");
return;
}
Battlefield* pBf = new BattlefieldWG;
// respawn, init variables
if (!pBf->SetupBattlefield())

View File

@@ -50,7 +50,7 @@ bool BattlefieldWG::SetupBattlefield()
InitStalker(BATTLEFIELD_WG_NPC_STALKER, WintergraspStalkerPos[0], WintergraspStalkerPos[1], WintergraspStalkerPos[2], WintergraspStalkerPos[3]);
m_MaxPlayer = sWorld->getIntConfig(CONFIG_WINTERGRASP_PLR_MAX);
m_IsEnabled = sWorld->getBoolConfig(CONFIG_WINTERGRASP_ENABLE);
m_IsEnabled = sWorld->getIntConfig(CONFIG_WINTERGRASP_ENABLE) == 1;
m_MinPlayer = sWorld->getIntConfig(CONFIG_WINTERGRASP_PLR_MIN);
m_MinLevel = sWorld->getIntConfig(CONFIG_WINTERGRASP_PLR_MIN_LVL);
m_BattleTime = sWorld->getIntConfig(CONFIG_WINTERGRASP_BATTLETIME) * MINUTE * IN_MILLISECONDS;

View File

@@ -8698,7 +8698,7 @@ void Player::SendBGWeekendWorldStates()
void Player::SendBattlefieldWorldStates()
{
/// Send misc stuff that needs to be sent on every login, like the battle timers.
if (sWorld->getBoolConfig(CONFIG_WINTERGRASP_ENABLE))
if (sWorld->getIntConfig(CONFIG_WINTERGRASP_ENABLE) == 1)
{
if (BattlefieldWG* wg = (BattlefieldWG*)sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG))
{

View File

@@ -1143,7 +1143,7 @@ bool SpellArea::IsFitToRequirements(Player const* player, uint32 newZone, uint32
if (!player)
return false;
if (!sWorld->getBoolConfig(CONFIG_WINTERGRASP_ENABLE))
if (sWorld->getIntConfig(CONFIG_WINTERGRASP_ENABLE) != 1)
return false;
Battlefield* Bf = sBattlefieldMgr->GetBattlefieldByBattleId(BATTLEFIELD_BATTLEID_WG);

View File

@@ -139,7 +139,6 @@ enum WorldBoolConfigs
CONFIG_ALLOW_TICKETS,
CONFIG_DELETE_CHARACTER_TICKET_TRACE,
CONFIG_PRESERVE_CUSTOM_CHANNELS,
CONFIG_WINTERGRASP_ENABLE,
CONFIG_PDUMP_NO_PATHS,
CONFIG_PDUMP_NO_OVERWRITE,
CONFIG_ENABLE_MMAPS, // pussywizard
@@ -312,6 +311,7 @@ enum WorldIntConfigs
CONFIG_BATTLEGROUND_SPEED_BUFF_RESPAWN,
CONFIG_BATTLEGROUND_QUEUE_ANNOUNCER_LIMIT_MIN_LEVEL,
CONFIG_BATTLEGROUND_QUEUE_ANNOUNCER_LIMIT_MIN_PLAYERS,
CONFIG_WINTERGRASP_ENABLE,
CONFIG_ARENA_MAX_RATING_DIFFERENCE,
CONFIG_ARENA_RATING_DISCARD_TIMER,
CONFIG_ARENA_PREV_OPPONENTS_DISCARD_TIMER,

View File

@@ -1384,7 +1384,7 @@ void World::LoadConfigSettings(bool reload)
MMAP::MMapFactory::InitializeDisabledMaps();
// Wintergrasp
m_bool_configs[CONFIG_WINTERGRASP_ENABLE] = sConfigMgr->GetOption<bool>("Wintergrasp.Enable", false);
m_int_configs[CONFIG_WINTERGRASP_ENABLE] = sConfigMgr->GetOption<int32>("Wintergrasp.Enable", 1);
m_int_configs[CONFIG_WINTERGRASP_PLR_MAX] = sConfigMgr->GetOption<int32>("Wintergrasp.PlayerMax", 100);
m_int_configs[CONFIG_WINTERGRASP_PLR_MIN] = sConfigMgr->GetOption<int32>("Wintergrasp.PlayerMin", 0);
m_int_configs[CONFIG_WINTERGRASP_PLR_MIN_LVL] = sConfigMgr->GetOption<int32>("Wintergrasp.PlayerMinLvl", 77);

View File

@@ -350,7 +350,7 @@ public:
void UpdateAI(uint32 diff) override
{
if (!sWorld->getBoolConfig(CONFIG_WINTERGRASP_ENABLE))
if (sWorld->getIntConfig(CONFIG_WINTERGRASP_ENABLE) != 1)
return;
ScriptedAI::UpdateAI(diff);