From 057b17383fd655ee9d6f7d39a23134750a38db8e Mon Sep 17 00:00:00 2001 From: Hondacrx Date: Tue, 19 Aug 2025 17:21:20 -0400 Subject: [PATCH] Core/Gossip: Send correct response depending on how the interaction was started Port From (https://github.com/TrinityCore/TrinityCore/commit/4c92d3550b331aff6a22f753295388fa2a215e6c) --- Source/Game/Entities/Player/Player.cs | 5 +++-- Source/Game/Handlers/QuestHandler.cs | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Source/Game/Entities/Player/Player.cs b/Source/Game/Entities/Player/Player.cs index a51d83a99..2166af3c3 100644 --- a/Source/Game/Entities/Player/Player.cs +++ b/Source/Game/Entities/Player/Player.cs @@ -2767,16 +2767,17 @@ namespace Game.Entities if (source == null) return; + // If there is only one quest available (and no gossip options), send quest info if (source.IsTypeId(TypeId.Unit) || source.IsTypeId(TypeId.GameObject)) { - if (PlayerTalkClass.GetGossipMenu().IsEmpty() && !PlayerTalkClass.GetQuestMenu().IsEmpty()) + if (PlayerTalkClass.GetGossipMenu().IsEmpty() && PlayerTalkClass.GetQuestMenu().GetMenuItemCount() == 1) { SendPreparedQuest(source); return; } } - // in case non empty gossip menu (that not included quests list size) show it + // In case non empty gossip menu or quest menu count > 1, show it // (quest entries from quest menu will be included in list) uint textId = GetGossipTextId(source); diff --git a/Source/Game/Handlers/QuestHandler.cs b/Source/Game/Handlers/QuestHandler.cs index e492bca69..2b277b2a5 100644 --- a/Source/Game/Handlers/QuestHandler.cs +++ b/Source/Game/Handlers/QuestHandler.cs @@ -56,8 +56,8 @@ namespace Game if (creature.GetAI().OnGossipHello(_player)) return; - GetPlayer().PrepareGossipMenu(creature, _player.GetGossipMenuForSource(creature), true); - GetPlayer().SendPreparedGossip(creature); + _player.PrepareQuestMenu(creature.GetGUID()); + _player.SendPreparedQuest(creature); } [WorldPacketHandler(ClientOpcodes.QuestGiverAcceptQuest, Processing = PacketProcessing.Inplace)]