diff options
author | Shauren <shauren.trinity@gmail.com> | 2022-12-04 15:13:20 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-12-04 15:13:20 +0100 |
commit | e98e1283ea0034baf6be9aa2ffb386eb5582801b (patch) | |
tree | b1dd854d88e6e049d26b208bb259cdc7d31f29f8 /src/server/game/Globals/ObjectMgr.h | |
parent | de7c03c8385780f05530c2b3cf952a712d5f8f00 (diff) |
Core: Updated to 10.0.2
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.h')
-rw-r--r-- | src/server/game/Globals/ObjectMgr.h | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h index ff49968a296..fe5cb6877c5 100644 --- a/src/server/game/Globals/ObjectMgr.h +++ b/src/server/game/Globals/ObjectMgr.h @@ -44,6 +44,7 @@ class Item; class Unit; class Vehicle; class Map; +enum class GossipOptionFlags : int32; enum class GossipOptionNpc : uint8; struct AccessRequirement; struct DeclinedName; @@ -662,6 +663,7 @@ struct PlayerInfo CreatePosition createPosition; Optional<CreatePosition> createPositionNPE; + ItemContext itemContext; PlayerCreateInfoItems item; PlayerCreateInfoSpells customSpells; PlayerCreateInfoSpells castSpells[size_t(PlayerCreateMode::Max)]; @@ -743,25 +745,25 @@ struct PointOfInterest struct GossipMenuItems { uint32 MenuID; - uint32 OptionID; + int32 GossipOptionID; + uint32 OrderIndex; GossipOptionNpc OptionNpc; std::string OptionText; uint32 OptionBroadcastTextID; uint32 Language; + GossipOptionFlags Flags; uint32 ActionMenuID; uint32 ActionPoiID; + Optional<int32> GossipNpcOptionID; bool BoxCoded; uint32 BoxMoney; std::string BoxText; uint32 BoxBroadcastTextID; + Optional<int32> SpellID; + Optional<int32> OverrideIconID; ConditionContainer Conditions; }; -struct GossipMenuItemAddon -{ - Optional<int32> GarrTalentTreeID; -}; - struct GossipMenus { uint32 MenuID; @@ -779,7 +781,6 @@ 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 { @@ -1043,6 +1044,7 @@ struct ClassAvailability uint8 ClassID = 0; uint8 ActiveExpansionLevel = 0; uint8 AccountExpansionLevel = 0; + uint8 MinActiveExpansionLevel = 0; }; struct RaceClassAvailability @@ -1401,7 +1403,6 @@ class TC_GAME_API ObjectMgr void LoadGossipMenu(); void LoadGossipMenuItems(); void LoadGossipMenuAddon(); - void LoadGossipMenuItemAddon(); void LoadVendors(); void LoadTrainers(); @@ -1704,13 +1705,6 @@ 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; @@ -1781,6 +1775,7 @@ class TC_GAME_API ObjectMgr std::vector<RaceClassAvailability> const& GetClassExpansionRequirements() const { return _classExpansionRequirementStore; } ClassAvailability const* GetClassExpansionRequirement(uint8 raceId, uint8 classId) const; + ClassAvailability const* GetClassExpansionRequirementFallback(uint8 classId) const; SceneTemplate const* GetSceneTemplate(uint32 sceneId) const { @@ -1845,7 +1840,6 @@ class TC_GAME_API ObjectMgr GossipMenusContainer _gossipMenusStore; GossipMenuItemsContainer _gossipMenuItemsStore; GossipMenuAddonContainer _gossipMenuAddonStore; - GossipMenuItemAddonContainer _gossipMenuItemAddonStore; PointOfInterestContainer _pointsOfInterestStore; QuestPOIContainer _questPOIStore; @@ -1913,7 +1907,7 @@ class TC_GAME_API ObjectMgr void BuildPlayerLevelInfo(uint8 race, uint8 class_, uint8 level, PlayerLevelInfo* plinfo) const; - std::unique_ptr<PlayerInfo> _playerInfo[MAX_RACES][MAX_CLASSES]; + std::unordered_map<std::pair<Races, Classes>, std::unique_ptr<PlayerInfo>> _playerInfo; typedef std::vector<uint32> PlayerXPperLevel; // [level] PlayerXPperLevel _playerXPperLevel; |