diff --git a/src/game/Entities/Player.cpp b/src/game/Entities/Player.cpp index c02b06108d..95669df15a 100644 --- a/src/game/Entities/Player.cpp +++ b/src/game/Entities/Player.cpp @@ -12031,7 +12031,8 @@ void Player::SendPreparedQuest(ObjectGuid guid) const else type = QUESTGIVER_GAMEOBJECT; - if (QuestgiverGreeting const* data = sObjectMgr.GetQuestgiverGreetingData(guid.GetEntry(), type)) + QuestgiverGreeting const* data = sObjectMgr.GetQuestgiverGreetingData(guid.GetEntry(), type); + if (data && (questMenu.MenuItemCount() > 1 || sWorld.getConfig(CONFIG_BOOL_ALWAYS_SHOW_QUEST_GREETING))) { QEmote qe; qe._Delay = data->emoteDelay; diff --git a/src/game/World/World.cpp b/src/game/World/World.cpp index 463a7a01ac..c97ab6e5bf 100644 --- a/src/game/World/World.cpp +++ b/src/game/World/World.cpp @@ -557,6 +557,8 @@ void World::LoadConfigSettings(bool reload) setConfigMinMax(CONFIG_UINT32_MAINTENANCE_DAY, "MaintenanceDay", 4, 0, 6); + setConfig(CONFIG_BOOL_ALWAYS_SHOW_QUEST_GREETING, "AlwaysShowQuestGreeting", false); + setConfig(CONFIG_BOOL_TAXI_FLIGHT_CHAT_FIX, "TaxiFlightChatFix", false); setConfig(CONFIG_BOOL_LONG_TAXI_PATHS_PERSISTENCE, "LongFlightPathsPersistence", false); setConfig(CONFIG_BOOL_ALL_TAXI_PATHS, "AllFlightPaths", false); diff --git a/src/game/World/World.h b/src/game/World/World.h index b0681b5ecf..58e2d521d1 100644 --- a/src/game/World/World.h +++ b/src/game/World/World.h @@ -349,6 +349,7 @@ enum eConfigBoolValues CONFIG_BOOL_PATH_FIND_OPTIMIZE, CONFIG_BOOL_PATH_FIND_NORMALIZE_Z, CONFIG_BOOL_LFG_MATCHMAKING, + CONFIG_BOOL_ALWAYS_SHOW_QUEST_GREETING, CONFIG_BOOL_DISABLE_INSTANCE_RELOCATE, CONFIG_BOOL_VALUE_COUNT }; diff --git a/src/mangosd/mangosd.conf.dist.in b/src/mangosd/mangosd.conf.dist.in index 28460d934f..bb8495c8c6 100644 --- a/src/mangosd/mangosd.conf.dist.in +++ b/src/mangosd/mangosd.conf.dist.in @@ -590,6 +590,12 @@ LogColors = "" # Enable or disable Waterbreathing # Default: 4 (Console as noneone) # +# AlwaysShowQuestGreeting +# Controls whether quest greetings (used when NPC is a quest giver but does not have UNIT_NPC_FLAG_GOSSIP) is always +# shown, or is shown only if there are more than one menu items available to the player. +# Default: 0 (disabled, original behavior) +# 1 (enabled) +# # TaxiFlightChatFix # Workaround for client bug: resuming taxi flight on login causes missing chat channels until the flight ends. # When enabled allows clients to join local channels of the zone they are flying over on login and all custom channels. @@ -814,6 +820,8 @@ StartHonorPoints = 0 MinHonorKills = 15 MaintenanceDay = 3 InstantLogout = 1 +DisableWaterBreath = 4 +AlwaysShowQuestGreeting = 0 TaxiFlightChatFix = 0 LongFlightPathsPersistence = 0 AllFlightPaths = 0