Core/Creature: Added possibility to give creatures multiple gossip menu ids and control them via conditions

Port From (https://github.com/TrinityCore/TrinityCore/commit/36044a9470e9c39a71916e908ab6cf4f95677793)
This commit is contained in:
hondacrx
2023-04-25 08:02:18 -04:00
parent e5d414b8b1
commit 9d4be0003b
10 changed files with 237 additions and 168 deletions
+7 -6
View File
@@ -623,17 +623,18 @@ namespace Game
bool AddToGossipMenus(Condition cond)
{
var pMenuBounds = Global.ObjectMgr.GetGossipMenusMapBounds(cond.SourceGroup);
foreach (var menu in pMenuBounds)
if (!pMenuBounds.Empty())
{
if (menu.MenuId == cond.SourceGroup && menu.TextId == cond.SourceEntry)
foreach (var menu in pMenuBounds)
{
menu.Conditions.Add(cond);
return true;
if (menu.MenuId == cond.SourceGroup && (menu.TextId == cond.SourceEntry || cond.SourceEntry == 0))
menu.Conditions.Add(cond);
}
return true;
}
Log.outError(LogFilter.Sql, "{0} GossipMenu {1} not found.", cond.ToString(), cond.SourceGroup);
Log.outError(LogFilter.Sql, $"{cond} GossipMenu {cond.SourceGroup} not found.");
return false;
}