Core/Gossip: Send correct response depending on how the interaction was started

Port From (https://github.com/TrinityCore/TrinityCore/commit/4c92d3550b331aff6a22f753295388fa2a215e6c)
This commit is contained in:
Hondacrx
2025-08-19 17:21:20 -04:00
parent 877fb1a76f
commit 057b17383f
2 changed files with 5 additions and 4 deletions
+3 -2
View File
@@ -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);
+2 -2
View File
@@ -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)]