From 1c523bd611934a780b222218d9f11c43cf43f233 Mon Sep 17 00:00:00 2001 From: Revision Date: Thu, 5 Jan 2023 00:30:57 +0100 Subject: [PATCH] feat(Core/Config): Allow disable points of interest for quests (#14501) --- src/server/apps/worldserver/worldserver.conf.dist | 8 ++++++++ src/server/game/Globals/ObjectMgr.cpp | 7 +++++++ src/server/game/World/IWorld.h | 1 + src/server/game/World/World.cpp | 2 ++ 4 files changed, 18 insertions(+) diff --git a/src/server/apps/worldserver/worldserver.conf.dist b/src/server/apps/worldserver/worldserver.conf.dist index 74889c9e6..576f80eba 100644 --- a/src/server/apps/worldserver/worldserver.conf.dist +++ b/src/server/apps/worldserver/worldserver.conf.dist @@ -3803,6 +3803,14 @@ JoinBGAndLFG.Enable = 0 LeaveGroupOnLogout.Enabled = 1 +# +# QuestPOI.Enabled +# Description: Show points of interest on the map +# Default: 1 - Enabled +# 0 - Disabled + +QuestPOI.Enabled = 1 + # # ChangeFaction.MaxMoney # Description: Maximum amount of gold allowed on the character to perform a faction change. diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 7b892dd64..8b95c93be 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -7743,6 +7743,13 @@ void ObjectMgr::LoadPointsOfInterest() void ObjectMgr::LoadQuestPOI() { + if (!sWorld->getBoolConfig(CONFIG_QUEST_POI_ENABLED)) + { + LOG_INFO("server.loading", ">> Loaded 0 quest POI definitions. Disabled by config."); + LOG_INFO("server.loading", " "); + return; + } + uint32 oldMSTime = getMSTime(); _questPOIStore.clear(); // need for reload case diff --git a/src/server/game/World/IWorld.h b/src/server/game/World/IWorld.h index e1017ebf3..47d6e34ab 100644 --- a/src/server/game/World/IWorld.h +++ b/src/server/game/World/IWorld.h @@ -174,6 +174,7 @@ enum WorldBoolConfigs CONFIG_ALLOW_JOIN_BG_AND_LFG, CONFIG_MISS_CHANCE_MULTIPLIER_ONLY_FOR_PLAYERS, CONFIG_LEAVE_GROUP_ON_LOGOUT, + CONFIG_QUEST_POI_ENABLED, CONFIG_VMAP_BLIZZLIKE_PVP_LOS, CONFIG_OBJECT_SPARKLES, CONFIG_LOW_LEVEL_REGEN_BOOST, diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 9aa0286d6..8310e9506 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -1279,6 +1279,8 @@ void World::LoadConfigSettings(bool reload) m_bool_configs[CONFIG_LEAVE_GROUP_ON_LOGOUT] = sConfigMgr->GetOption("LeaveGroupOnLogout.Enabled", true); + m_bool_configs[CONFIG_QUEST_POI_ENABLED] = sConfigMgr->GetOption("QuestPOI.Enabled", true); + m_int_configs[CONFIG_CHANGE_FACTION_MAX_MONEY] = sConfigMgr->GetOption("ChangeFaction.MaxMoney", 0); ///- Read the "Data" directory from the config file