From 90151b33c6477adee8d8ebfb5dc549ca94c368a6 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Mon, 2 Nov 2020 02:38:31 +0100 Subject: [PATCH] Core/Config: use correct config type for selecting the active rated battleground bracket from config and added sanity checks --- src/server/game/World/World.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 828dc8eee23..86879479b74 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -1255,7 +1255,12 @@ void World::LoadConfigSettings(bool reload) m_int_configs[CONFIG_BATTLEGROUND_PREMADE_GROUP_WAIT_FOR_MATCH] = sConfigMgr->GetIntDefault ("Battleground.PremadeGroupWaitForMatch", 30 * MINUTE * IN_MILLISECONDS); m_bool_configs[CONFIG_BG_XP_FOR_KILL] = sConfigMgr->GetBoolDefault("Battleground.GiveXPForKills", false); - m_bool_configs[CONFIG_RATED_BATTLEGROUND_ENABLE] = sConfigMgr->GetIntDefault ("RatedBattleground.Enable", 0); + m_int_configs[CONFIG_RATED_BATTLEGROUND_ENABLE] = sConfigMgr->GetIntDefault ("RatedBattleground.Enable", 0); + if (m_int_configs[CONFIG_RATED_BATTLEGROUND_ENABLE] < 0 || m_int_configs[CONFIG_RATED_BATTLEGROUND_ENABLE] > 3) + { + TC_LOG_ERROR("server.loading", "RatedBattleground.Enable (%d) must be >= 0 and <= 3. Using 0 instead.", m_int_configs[CONFIG_BATTLEGROUND_REPORT_AFK]); + m_int_configs[CONFIG_RATED_BATTLEGROUND_ENABLE] = 0; + } m_int_configs[CONFIG_RATED_BATTLEGROUND_REWARD] = sConfigMgr->GetIntDefault ("RatedBattleground.Reward", 40000); m_int_configs[CONFIG_ARENA_MAX_RATING_DIFFERENCE] = sConfigMgr->GetIntDefault ("Arena.MaxRatingDifference", 150);