mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2025-11-29 17:38:24 +08:00
fix(Conf): sync default values with core defaults (#19708)
fix(Conf): sync values with core defaults
This commit is contained in:
@@ -233,7 +233,7 @@ int main(int argc, char** argv)
|
|||||||
signals.async_wait(SignalHandler);
|
signals.async_wait(SignalHandler);
|
||||||
|
|
||||||
// Start the Boost based thread pool
|
// Start the Boost based thread pool
|
||||||
int numThreads = sConfigMgr->GetOption<int32>("ThreadPool", 1);
|
int numThreads = sConfigMgr->GetOption<int32>("ThreadPool", 2);
|
||||||
std::shared_ptr<std::vector<std::thread>> threadPool(new std::vector<std::thread>(), [ioContext](std::vector<std::thread>* del)
|
std::shared_ptr<std::vector<std::thread>> threadPool(new std::vector<std::thread>(), [ioContext](std::vector<std::thread>* del)
|
||||||
{
|
{
|
||||||
ioContext->stop();
|
ioContext->stop();
|
||||||
@@ -257,7 +257,7 @@ int main(int argc, char** argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Set process priority according to configuration settings
|
// Set process priority according to configuration settings
|
||||||
SetProcessPriority("server.worldserver", sConfigMgr->GetOption<int32>(CONFIG_PROCESSOR_AFFINITY, 0), sConfigMgr->GetOption<bool>(CONFIG_HIGH_PRIORITY, false));
|
SetProcessPriority("server.worldserver", sConfigMgr->GetOption<int32>(CONFIG_PROCESSOR_AFFINITY, 0), sConfigMgr->GetOption<bool>(CONFIG_HIGH_PRIORITY, true));
|
||||||
|
|
||||||
// Loading modules configs before scripts
|
// Loading modules configs before scripts
|
||||||
sConfigMgr->LoadModulesConfigs();
|
sConfigMgr->LoadModulesConfigs();
|
||||||
|
|||||||
@@ -139,13 +139,13 @@ CharacterDatabase.WorkerThreads = 1
|
|||||||
# WorldDatabase.SynchThreads
|
# WorldDatabase.SynchThreads
|
||||||
# CharacterDatabase.SynchThreads
|
# CharacterDatabase.SynchThreads
|
||||||
# Description: The amount of MySQL connections spawned to handle.
|
# Description: The amount of MySQL connections spawned to handle.
|
||||||
# Default: 1 - (LoginDatabase.WorkerThreads)
|
# Default: 1 - (LoginDatabase.SynchThreads)
|
||||||
# 1 - (WorldDatabase.WorkerThreads)
|
# 1 - (WorldDatabase.SynchThreads)
|
||||||
# 2 - (CharacterDatabase.WorkerThreads)
|
# 1 - (CharacterDatabase.SynchThreads)
|
||||||
|
|
||||||
LoginDatabase.SynchThreads = 1
|
LoginDatabase.SynchThreads = 1
|
||||||
WorldDatabase.SynchThreads = 1
|
WorldDatabase.SynchThreads = 1
|
||||||
CharacterDatabase.SynchThreads = 2
|
CharacterDatabase.SynchThreads = 1
|
||||||
|
|
||||||
#
|
#
|
||||||
# MaxPingTime
|
# MaxPingTime
|
||||||
@@ -1040,7 +1040,7 @@ MinWorldUpdateTime = 1
|
|||||||
# Default: 10 - (10 minutes)
|
# Default: 10 - (10 minutes)
|
||||||
# 1+
|
# 1+
|
||||||
|
|
||||||
UpdateUptimeInterval = 1
|
UpdateUptimeInterval = 10
|
||||||
|
|
||||||
#
|
#
|
||||||
# MaxCoreStuckTime
|
# MaxCoreStuckTime
|
||||||
@@ -1219,7 +1219,7 @@ Warden.ClientCheckFailAction = 0
|
|||||||
# Default: 86400 - (24 hours)
|
# Default: 86400 - (24 hours)
|
||||||
# 0 - (Permanent ban)
|
# 0 - (Permanent ban)
|
||||||
|
|
||||||
Warden.BanDuration = 259200
|
Warden.BanDuration = 86400
|
||||||
|
|
||||||
#
|
#
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
@@ -1277,17 +1277,17 @@ Visibility.GroupMode = 1
|
|||||||
# Visibility.Distance.Instances
|
# Visibility.Distance.Instances
|
||||||
# Visibility.Distance.BGArenas
|
# Visibility.Distance.BGArenas
|
||||||
# Description: Visibility distance to see other players or gameobjects.
|
# Description: Visibility distance to see other players or gameobjects.
|
||||||
# Visibility on continents on retail ~90 yards. In BG/Arenas ~180.
|
# Visibility on continents on retail ~100 yards. In BG/Arenas ~533.
|
||||||
# For instances default ~120.
|
# For instances default ~170.
|
||||||
# Max limited by active player zone: ~ 333
|
# Max limited by active player zone: ~ 333
|
||||||
# Min limit is max aggro radius (45) * Rate.Creature.Aggro
|
# Min limit is max aggro radius (45) * Rate.Creature.Aggro
|
||||||
# Default: 90 - (Visibility.Distance.Continents)
|
# Default: 100 - (Visibility.Distance.Continents)
|
||||||
# 120 - (Visibility.Distance.Instances)
|
# 170 - (Visibility.Distance.Instances)
|
||||||
# 180 - (Visibility.Distance.BGArenas)
|
# 533 - (Visibility.Distance.BGArenas)
|
||||||
|
|
||||||
Visibility.Distance.Continents = 90
|
Visibility.Distance.Continents = 100
|
||||||
Visibility.Distance.Instances = 120
|
Visibility.Distance.Instances = 170
|
||||||
Visibility.Distance.BGArenas = 180
|
Visibility.Distance.BGArenas = 533
|
||||||
|
|
||||||
#
|
#
|
||||||
# Visibility.ObjectSparkles
|
# Visibility.ObjectSparkles
|
||||||
@@ -2540,7 +2540,7 @@ Death.SicknessLevel = 11
|
|||||||
# 0 - (Disabled)
|
# 0 - (Disabled)
|
||||||
|
|
||||||
Death.CorpseReclaimDelay.PvP = 1
|
Death.CorpseReclaimDelay.PvP = 1
|
||||||
Death.CorpseReclaimDelay.PvE = 0
|
Death.CorpseReclaimDelay.PvE = 1
|
||||||
|
|
||||||
#
|
#
|
||||||
# Death.Bones.World
|
# Death.Bones.World
|
||||||
@@ -3415,7 +3415,7 @@ Wintergrasp.Enable = 1
|
|||||||
# Description: Maximum number of players allowed in Wintergrasp.
|
# Description: Maximum number of players allowed in Wintergrasp.
|
||||||
# Default: 100
|
# Default: 100
|
||||||
|
|
||||||
Wintergrasp.PlayerMax = 120
|
Wintergrasp.PlayerMax = 100
|
||||||
|
|
||||||
#
|
#
|
||||||
# Wintergrasp.PlayerMin
|
# Wintergrasp.PlayerMin
|
||||||
@@ -3566,14 +3566,14 @@ Battleground.Random.ResetHour = 6
|
|||||||
# Default: 0 - (Disabled)
|
# Default: 0 - (Disabled)
|
||||||
# 1 - (Enabled)
|
# 1 - (Enabled)
|
||||||
|
|
||||||
Battleground.StoreStatistics.Enable = 1
|
Battleground.StoreStatistics.Enable = 0
|
||||||
|
|
||||||
# Battleground.TrackDeserters.Enable
|
# Battleground.TrackDeserters.Enable
|
||||||
# Description: Track deserters of Battlegrounds.
|
# Description: Track deserters of Battlegrounds.
|
||||||
# Default: 0 - (Disabled)
|
# Default: 0 - (Disabled)
|
||||||
# 1 - (Enabled)
|
# 1 - (Enabled)
|
||||||
|
|
||||||
Battleground.TrackDeserters.Enable = 1
|
Battleground.TrackDeserters.Enable = 0
|
||||||
|
|
||||||
#
|
#
|
||||||
# Battleground.InvitationType
|
# Battleground.InvitationType
|
||||||
@@ -4064,7 +4064,7 @@ PartyLevelReq = 1
|
|||||||
# Default: 0 - (Disabled, Blizzlike, Channel settings are lost if last person left)
|
# Default: 0 - (Disabled, Blizzlike, Channel settings are lost if last person left)
|
||||||
# 1 - (Enabled)
|
# 1 - (Enabled)
|
||||||
|
|
||||||
PreserveCustomChannels = 1
|
PreserveCustomChannels = 0
|
||||||
|
|
||||||
#
|
#
|
||||||
# PreserveCustomChannelDuration
|
# PreserveCustomChannelDuration
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ class DatabaseWorkerPool;
|
|||||||
class AC_DATABASE_API DatabaseLoader
|
class AC_DATABASE_API DatabaseLoader
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
DatabaseLoader(std::string const& logger, uint32 const defaultUpdateMask = 0, std::string_view modulesList = {});
|
DatabaseLoader(std::string const& logger, uint32 const defaultUpdateMask = 7, std::string_view modulesList = {});
|
||||||
|
|
||||||
// Register a database to the loader (lazy implemented)
|
// Register a database to the loader (lazy implemented)
|
||||||
template <class T>
|
template <class T>
|
||||||
|
|||||||
@@ -948,7 +948,7 @@ void ObjectMgr::LoadCreatureTemplateAddons()
|
|||||||
void ObjectMgr::LoadCreatureCustomIDs()
|
void ObjectMgr::LoadCreatureCustomIDs()
|
||||||
{
|
{
|
||||||
// Hack for modules
|
// Hack for modules
|
||||||
std::string stringCreatureIds = sConfigMgr->GetOption<std::string>("Creatures.CustomIDs", "");
|
std::string stringCreatureIds = sConfigMgr->GetOption<std::string>("Creatures.CustomIDs", "190010,55005,999991,25462,98888,601014,34567,34568");
|
||||||
std::vector<std::string_view> CustomCreatures = Acore::Tokenize(stringCreatureIds, ',', false);
|
std::vector<std::string_view> CustomCreatures = Acore::Tokenize(stringCreatureIds, ',', false);
|
||||||
|
|
||||||
for (auto& itr : CustomCreatures)
|
for (auto& itr : CustomCreatures)
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ void UpdateTime::SortUpdateTimeDataTable()
|
|||||||
|
|
||||||
void WorldUpdateTime::LoadFromConfig()
|
void WorldUpdateTime::LoadFromConfig()
|
||||||
{
|
{
|
||||||
_recordUpdateTimeInverval = Milliseconds(sConfigMgr->GetOption<uint32>("RecordUpdateTimeDiffInterval", 60000));
|
_recordUpdateTimeInverval = Milliseconds(sConfigMgr->GetOption<uint32>("RecordUpdateTimeDiffInterval", 300000));
|
||||||
_recordUpdateTimeMin = Milliseconds(sConfigMgr->GetOption<uint32>("MinRecordUpdateTimeDiff", 100));
|
_recordUpdateTimeMin = Milliseconds(sConfigMgr->GetOption<uint32>("MinRecordUpdateTimeDiff", 100));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -976,15 +976,15 @@ void World::LoadConfigSettings(bool reload)
|
|||||||
_int_configs[CONFIG_TELEPORT_TIMEOUT_FAR] = sConfigMgr->GetOption<int32>("TeleportTimeoutFar", 45); // pussywizard
|
_int_configs[CONFIG_TELEPORT_TIMEOUT_FAR] = sConfigMgr->GetOption<int32>("TeleportTimeoutFar", 45); // pussywizard
|
||||||
_int_configs[CONFIG_MAX_ALLOWED_MMR_DROP] = sConfigMgr->GetOption<int32>("MaxAllowedMMRDrop", 500); // pussywizard
|
_int_configs[CONFIG_MAX_ALLOWED_MMR_DROP] = sConfigMgr->GetOption<int32>("MaxAllowedMMRDrop", 500); // pussywizard
|
||||||
_bool_configs[CONFIG_ENABLE_LOGIN_AFTER_DC] = sConfigMgr->GetOption<bool>("EnableLoginAfterDC", true); // pussywizard
|
_bool_configs[CONFIG_ENABLE_LOGIN_AFTER_DC] = sConfigMgr->GetOption<bool>("EnableLoginAfterDC", true); // pussywizard
|
||||||
_bool_configs[CONFIG_DONT_CACHE_RANDOM_MOVEMENT_PATHS] = sConfigMgr->GetOption<bool>("DontCacheRandomMovementPaths", true); // pussywizard
|
_bool_configs[CONFIG_DONT_CACHE_RANDOM_MOVEMENT_PATHS] = sConfigMgr->GetOption<bool>("DontCacheRandomMovementPaths", false);
|
||||||
|
|
||||||
_int_configs[CONFIG_SKILL_CHANCE_ORANGE] = sConfigMgr->GetOption<int32>("SkillChance.Orange", 100);
|
_int_configs[CONFIG_SKILL_CHANCE_ORANGE] = sConfigMgr->GetOption<int32>("SkillChance.Orange", 100);
|
||||||
_int_configs[CONFIG_SKILL_CHANCE_YELLOW] = sConfigMgr->GetOption<int32>("SkillChance.Yellow", 75);
|
_int_configs[CONFIG_SKILL_CHANCE_YELLOW] = sConfigMgr->GetOption<int32>("SkillChance.Yellow", 75);
|
||||||
_int_configs[CONFIG_SKILL_CHANCE_GREEN] = sConfigMgr->GetOption<int32>("SkillChance.Green", 25);
|
_int_configs[CONFIG_SKILL_CHANCE_GREEN] = sConfigMgr->GetOption<int32>("SkillChance.Green", 25);
|
||||||
_int_configs[CONFIG_SKILL_CHANCE_GREY] = sConfigMgr->GetOption<int32>("SkillChance.Grey", 0);
|
_int_configs[CONFIG_SKILL_CHANCE_GREY] = sConfigMgr->GetOption<int32>("SkillChance.Grey", 0);
|
||||||
|
|
||||||
_int_configs[CONFIG_SKILL_CHANCE_MINING_STEPS] = sConfigMgr->GetOption<int32>("SkillChance.MiningSteps", 75);
|
_int_configs[CONFIG_SKILL_CHANCE_MINING_STEPS] = sConfigMgr->GetOption<int32>("SkillChance.MiningSteps", 0);
|
||||||
_int_configs[CONFIG_SKILL_CHANCE_SKINNING_STEPS] = sConfigMgr->GetOption<int32>("SkillChance.SkinningSteps", 75);
|
_int_configs[CONFIG_SKILL_CHANCE_SKINNING_STEPS] = sConfigMgr->GetOption<int32>("SkillChance.SkinningSteps", 0);
|
||||||
|
|
||||||
_bool_configs[CONFIG_SKILL_PROSPECTING] = sConfigMgr->GetOption<bool>("SkillChance.Prospecting", false);
|
_bool_configs[CONFIG_SKILL_PROSPECTING] = sConfigMgr->GetOption<bool>("SkillChance.Prospecting", false);
|
||||||
_bool_configs[CONFIG_SKILL_MILLING] = sConfigMgr->GetOption<bool>("SkillChance.Milling", false);
|
_bool_configs[CONFIG_SKILL_MILLING] = sConfigMgr->GetOption<bool>("SkillChance.Milling", false);
|
||||||
@@ -1086,7 +1086,7 @@ void World::LoadConfigSettings(bool reload)
|
|||||||
_bool_configs[CONFIG_SILENTLY_GM_JOIN_TO_CHANNEL] = sConfigMgr->GetOption<bool>("Channel.SilentlyGMJoin", false);
|
_bool_configs[CONFIG_SILENTLY_GM_JOIN_TO_CHANNEL] = sConfigMgr->GetOption<bool>("Channel.SilentlyGMJoin", false);
|
||||||
|
|
||||||
_bool_configs[CONFIG_TALENTS_INSPECTING] = sConfigMgr->GetOption<bool>("TalentsInspecting", true);
|
_bool_configs[CONFIG_TALENTS_INSPECTING] = sConfigMgr->GetOption<bool>("TalentsInspecting", true);
|
||||||
_bool_configs[CONFIG_CHAT_FAKE_MESSAGE_PREVENTING] = sConfigMgr->GetOption<bool>("ChatFakeMessagePreventing", false);
|
_bool_configs[CONFIG_CHAT_FAKE_MESSAGE_PREVENTING] = sConfigMgr->GetOption<bool>("ChatFakeMessagePreventing", true);
|
||||||
_int_configs[CONFIG_CHAT_STRICT_LINK_CHECKING_SEVERITY] = sConfigMgr->GetOption<int32>("ChatStrictLinkChecking.Severity", 0);
|
_int_configs[CONFIG_CHAT_STRICT_LINK_CHECKING_SEVERITY] = sConfigMgr->GetOption<int32>("ChatStrictLinkChecking.Severity", 0);
|
||||||
_int_configs[CONFIG_CHAT_STRICT_LINK_CHECKING_KICK] = sConfigMgr->GetOption<int32>("ChatStrictLinkChecking.Kick", 0);
|
_int_configs[CONFIG_CHAT_STRICT_LINK_CHECKING_KICK] = sConfigMgr->GetOption<int32>("ChatStrictLinkChecking.Kick", 0);
|
||||||
|
|
||||||
@@ -1171,10 +1171,10 @@ void World::LoadConfigSettings(bool reload)
|
|||||||
_bool_configs[CONFIG_ARENA_AUTO_DISTRIBUTE_POINTS] = sConfigMgr->GetOption<bool>("Arena.AutoDistributePoints", false);
|
_bool_configs[CONFIG_ARENA_AUTO_DISTRIBUTE_POINTS] = sConfigMgr->GetOption<bool>("Arena.AutoDistributePoints", false);
|
||||||
_int_configs[CONFIG_ARENA_AUTO_DISTRIBUTE_INTERVAL_DAYS] = sConfigMgr->GetOption<uint32>("Arena.AutoDistributeInterval", 7); // pussywizard: spoiled by implementing constant day and hour, always 7 now
|
_int_configs[CONFIG_ARENA_AUTO_DISTRIBUTE_INTERVAL_DAYS] = sConfigMgr->GetOption<uint32>("Arena.AutoDistributeInterval", 7); // pussywizard: spoiled by implementing constant day and hour, always 7 now
|
||||||
_int_configs[CONFIG_ARENA_GAMES_REQUIRED] = sConfigMgr->GetOption<uint32>("Arena.GamesRequired", 10);
|
_int_configs[CONFIG_ARENA_GAMES_REQUIRED] = sConfigMgr->GetOption<uint32>("Arena.GamesRequired", 10);
|
||||||
_int_configs[CONFIG_ARENA_SEASON_ID] = sConfigMgr->GetOption<uint32>("Arena.ArenaSeason.ID", 1);
|
_int_configs[CONFIG_ARENA_SEASON_ID] = sConfigMgr->GetOption<uint32>("Arena.ArenaSeason.ID", 8);
|
||||||
_int_configs[CONFIG_ARENA_START_RATING] = sConfigMgr->GetOption<uint32>("Arena.ArenaStartRating", 0);
|
_int_configs[CONFIG_ARENA_START_RATING] = sConfigMgr->GetOption<uint32>("Arena.ArenaStartRating", 0);
|
||||||
_int_configs[CONFIG_LEGACY_ARENA_POINTS_CALC] = sConfigMgr->GetOption<uint32>("Arena.LegacyArenaPoints", 0);
|
_int_configs[CONFIG_LEGACY_ARENA_POINTS_CALC] = sConfigMgr->GetOption<uint32>("Arena.LegacyArenaPoints", 0);
|
||||||
_int_configs[CONFIG_ARENA_START_PERSONAL_RATING] = sConfigMgr->GetOption<uint32>("Arena.ArenaStartPersonalRating", 1000);
|
_int_configs[CONFIG_ARENA_START_PERSONAL_RATING] = sConfigMgr->GetOption<uint32>("Arena.ArenaStartPersonalRating", 0);
|
||||||
_int_configs[CONFIG_ARENA_START_MATCHMAKER_RATING] = sConfigMgr->GetOption<uint32>("Arena.ArenaStartMatchmakerRating", 1500);
|
_int_configs[CONFIG_ARENA_START_MATCHMAKER_RATING] = sConfigMgr->GetOption<uint32>("Arena.ArenaStartMatchmakerRating", 1500);
|
||||||
_bool_configs[CONFIG_ARENA_SEASON_IN_PROGRESS] = sConfigMgr->GetOption<bool>("Arena.ArenaSeason.InProgress", true);
|
_bool_configs[CONFIG_ARENA_SEASON_IN_PROGRESS] = sConfigMgr->GetOption<bool>("Arena.ArenaSeason.InProgress", true);
|
||||||
_float_configs[CONFIG_ARENA_WIN_RATING_MODIFIER_1] = sConfigMgr->GetOption<float>("Arena.ArenaWinRatingModifier1", 48.0f);
|
_float_configs[CONFIG_ARENA_WIN_RATING_MODIFIER_1] = sConfigMgr->GetOption<float>("Arena.ArenaWinRatingModifier1", 48.0f);
|
||||||
@@ -1315,8 +1315,8 @@ void World::LoadConfigSettings(bool reload)
|
|||||||
LOG_INFO("server.loading", "Using DataDir {}", _dataPath);
|
LOG_INFO("server.loading", "Using DataDir {}", _dataPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
_bool_configs[CONFIG_VMAP_INDOOR_CHECK] = sConfigMgr->GetOption<bool>("vmap.enableIndoorCheck", 0);
|
|
||||||
bool enableIndoor = sConfigMgr->GetOption<bool>("vmap.enableIndoorCheck", true);
|
bool enableIndoor = sConfigMgr->GetOption<bool>("vmap.enableIndoorCheck", true);
|
||||||
|
_bool_configs[CONFIG_VMAP_INDOOR_CHECK] = enableIndoor;
|
||||||
bool enableLOS = sConfigMgr->GetOption<bool>("vmap.enableLOS", true);
|
bool enableLOS = sConfigMgr->GetOption<bool>("vmap.enableLOS", true);
|
||||||
bool enableHeight = sConfigMgr->GetOption<bool>("vmap.enableHeight", true);
|
bool enableHeight = sConfigMgr->GetOption<bool>("vmap.enableHeight", true);
|
||||||
bool enablePetLOS = sConfigMgr->GetOption<bool>("vmap.petLOS", true);
|
bool enablePetLOS = sConfigMgr->GetOption<bool>("vmap.petLOS", true);
|
||||||
@@ -1330,7 +1330,7 @@ void World::LoadConfigSettings(bool reload)
|
|||||||
VMAP::VMapFactory::createOrGetVMapMgr()->setEnableHeightCalc(enableHeight);
|
VMAP::VMapFactory::createOrGetVMapMgr()->setEnableHeightCalc(enableHeight);
|
||||||
LOG_INFO("server.loading", "WORLD: VMap support included. LineOfSight:{}, getHeight:{}, indoorCheck:{} PetLOS:{}", enableLOS, enableHeight, enableIndoor, enablePetLOS);
|
LOG_INFO("server.loading", "WORLD: VMap support included. LineOfSight:{}, getHeight:{}, indoorCheck:{} PetLOS:{}", enableLOS, enableHeight, enableIndoor, enablePetLOS);
|
||||||
|
|
||||||
_bool_configs[CONFIG_PET_LOS] = sConfigMgr->GetOption<bool>("vmap.petLOS", true);
|
_bool_configs[CONFIG_PET_LOS] = enablePetLOS;
|
||||||
_bool_configs[CONFIG_START_CUSTOM_SPELLS] = sConfigMgr->GetOption<bool>("PlayerStart.CustomSpells", false);
|
_bool_configs[CONFIG_START_CUSTOM_SPELLS] = sConfigMgr->GetOption<bool>("PlayerStart.CustomSpells", false);
|
||||||
_int_configs[CONFIG_HONOR_AFTER_DUEL] = sConfigMgr->GetOption<int32>("HonorPointsAfterDuel", 0);
|
_int_configs[CONFIG_HONOR_AFTER_DUEL] = sConfigMgr->GetOption<int32>("HonorPointsAfterDuel", 0);
|
||||||
_bool_configs[CONFIG_START_ALL_EXPLORED] = sConfigMgr->GetOption<bool>("PlayerStart.MapsExplored", false);
|
_bool_configs[CONFIG_START_ALL_EXPLORED] = sConfigMgr->GetOption<bool>("PlayerStart.MapsExplored", false);
|
||||||
|
|||||||
Reference in New Issue
Block a user