Core/Creature: Add support for multiple gossip menu IDs (#472)

* Core/Creature: Add support for multiple gossip menu IDs

Adds support for assigning multiple gossip menu IDs to creatures and
controlling them through conditions.

Cherry-picked and adapted from:
https://github.com/TrinityCore/TrinityCore/commit/36044a9470e9c39a71916e908ab6cf4f95677793

Also disables StormLib automatic static linking.

StormLib fix suggested by @brian8544 on Discord.

* merge prep

---------

Co-authored-by: Ovahlord <18347559+Ovahlord@users.noreply.github.com>
This commit is contained in:
seviandOvahlord authored and GitHub committed 2026-07-25 19:29:08 +02:00
1 parent 30aab19ce5
commit 9da95e6cc9
15 files changed
+199 -96

No files matched your search

+2 -2
View File
@@ -98,7 +98,7 @@ void WorldSession::HandleQuestgiverHelloOpcode(WorldPackets::Quest::QuestGiverHe
if (creature->AI()->GossipHello(_player))
return;
_player->PrepareGossipMenu(creature, creature->GetCreatureTemplate()->GossipMenuId, true);
_player->PrepareGossipMenu(creature, _player->GetGossipMenuForSource(creature), true);
_player->SendPreparedGossip(creature);
}
@@ -227,7 +227,7 @@ void WorldSession::HandleQuestgiverAcceptQuestOpcode(WorldPackets::Quest::QuestG
auto launchGossip = [&](WorldObject* worldObject)
{
_player->PlayerTalkClass->ClearMenus();
_player->PrepareGossipMenu(worldObject, _player->GetDefaultGossipMenuForSource(worldObject), true);
_player->PrepareGossipMenu(worldObject, _player->GetGossipMenuForSource(worldObject), true);
_player->SendPreparedGossip(worldObject);
};