diff options
author | Aqua Deus <95978183+aquadeus@users.noreply.github.com> | 2022-10-11 22:16:02 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-11 22:16:02 +0200 |
commit | 4772c4817f1b34553f1c697e2aedc0372af9aea2 (patch) | |
tree | 9f7ed43aba6c4be3460e2de5097204ea0fbccf82 /src/server/game/Globals/ObjectMgr.h | |
parent | 8262d6be23811eddfd280b7d9341e2cac01a6e83 (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.h | 17 |
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; |