aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Globals/ObjectMgr.h
diff options
context:
space:
mode:
authorAqua Deus <95978183+aquadeus@users.noreply.github.com>2022-10-11 22:16:02 +0200
committerGitHub <noreply@github.com>2022-10-11 22:16:02 +0200
commit4772c4817f1b34553f1c697e2aedc0372af9aea2 (patch)
tree9f7ed43aba6c4be3460e2de5097204ea0fbccf82 /src/server/game/Globals/ObjectMgr.h
parent8262d6be23811eddfd280b7d9341e2cac01a6e83 (diff)
Core/Garrisons: Implement SMSG_GARRISON_OPEN_TALENT_NPC opcode (#28256)
Co-authored-by: ModoX <moardox@gmail.com> Co-authored-by: Shauren <shauren.trinity@gmail.com>
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.h')
-rw-r--r--src/server/game/Globals/ObjectMgr.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h
index 6919992f228..e898b5a9e42 100644
--- a/src/server/game/Globals/ObjectMgr.h
+++ b/src/server/game/Globals/ObjectMgr.h
@@ -757,6 +757,11 @@ struct GossipMenuItems
ConditionContainer Conditions;
};
+struct GossipMenuItemAddon
+{
+ Optional<int32> GarrTalentTreeID;
+};
+
struct GossipMenus
{
uint32 MenuID;
@@ -774,6 +779,7 @@ typedef std::pair<GossipMenusContainer::const_iterator, GossipMenusContainer::co
typedef std::pair<GossipMenusContainer::iterator, GossipMenusContainer::iterator> GossipMenusMapBoundsNonConst;
typedef std::multimap<uint32, GossipMenuItems> GossipMenuItemsContainer;
typedef std::unordered_map<uint32, GossipMenuAddon> GossipMenuAddonContainer;
+typedef std::unordered_map<std::pair<uint32, uint32>, GossipMenuItemAddon> GossipMenuItemAddonContainer;
struct QuestPOIBlobPoint
{
@@ -1394,7 +1400,8 @@ class TC_GAME_API ObjectMgr
void LoadGossipMenu();
void LoadGossipMenuItems();
- void LoadGossipMenuFriendshipFactions();
+ void LoadGossipMenuAddon();
+ void LoadGossipMenuItemAddon();
void LoadVendors();
void LoadTrainers();
@@ -1697,6 +1704,13 @@ class TC_GAME_API ObjectMgr
return &itr->second;
return nullptr;
}
+ GossipMenuItemAddon const* GetGossipMenuItemAddon(uint32 menuId, uint32 optionId) const
+ {
+ auto itr = _gossipMenuItemAddonStore.find({ menuId, optionId });
+ if (itr != _gossipMenuItemAddonStore.end())
+ return &itr->second;
+ return nullptr;
+ }
// for wintergrasp only
GraveyardContainer GraveyardStore;
@@ -1831,6 +1845,7 @@ class TC_GAME_API ObjectMgr
GossipMenusContainer _gossipMenusStore;
GossipMenuItemsContainer _gossipMenuItemsStore;
GossipMenuAddonContainer _gossipMenuAddonStore;
+ GossipMenuItemAddonContainer _gossipMenuItemAddonStore;
PointOfInterestContainer _pointsOfInterestStore;
QuestPOIContainer _questPOIStore;