diff options
Diffstat (limited to 'src/game/ObjectMgr.h')
-rw-r--r-- | src/game/ObjectMgr.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/game/ObjectMgr.h b/src/game/ObjectMgr.h index bfbaea67a87..63483958ab0 100644 --- a/src/game/ObjectMgr.h +++ b/src/game/ObjectMgr.h @@ -249,6 +249,32 @@ typedef std::pair<GossipMenusMap::const_iterator, GossipMenusMap::const_iterator typedef std::multimap<uint32,GossipMenuItems> GossipMenuItemsMap; typedef std::pair<GossipMenuItemsMap::const_iterator, GossipMenuItemsMap::const_iterator> GossipMenuItemsMapBounds; +struct QuestPOIPoint +{ + int32 x; + int32 y; + + QuestPOIPoint() : x(0), y(0) {} + QuestPOIPoint(int32 _x, int32 _y) : x(_x), y(_y) {} +}; + +struct QuestPOI +{ + int32 ObjectiveIndex; + uint32 MapId; + uint32 Unk1; + uint32 Unk2; + uint32 Unk3; + uint32 Unk4; + std::vector<QuestPOIPoint> points; + + QuestPOI() : ObjectiveIndex(0), MapId(0), Unk1(0), Unk2(0), Unk3(0), Unk4(0) {} + QuestPOI(int32 objIndex, uint32 mapId, uint32 unk1, uint32 unk2, uint32 unk3, uint32 unk4) : ObjectiveIndex(objIndex), MapId(mapId), Unk1(unk1), Unk2(unk2), Unk3(unk3), Unk4(unk4) {} +}; + +typedef std::vector<QuestPOI> QuestPOIVector; +typedef UNORDERED_MAP<uint32, QuestPOIVector> QuestPOIMap; + #define WEATHER_SEASONS 4 struct WeatherSeasonChances { @@ -542,6 +568,14 @@ class ObjectMgr return NULL; } + QuestPOIVector const* GetQuestPOIVector(uint32 questId) + { + QuestPOIMap::const_iterator itr = mQuestPOIMap.find(questId); + if(itr != mQuestPOIMap.end()) + return &itr->second; + return NULL; + } + void LoadGuilds(); void LoadArenaTeams(); void LoadGroups(); @@ -627,6 +661,7 @@ class ObjectMgr void LoadReputationOnKill(); void LoadPointsOfInterest(); + void LoadQuestPOI(); void LoadNPCSpellClickSpells(); @@ -989,6 +1024,8 @@ class ObjectMgr GossipMenuItemsMap m_mGossipMenuItemsMap; PointOfInterestMap mPointsOfInterest; + QuestPOIMap mQuestPOIMap; + WeatherZoneMap mWeatherZoneMap; //character reserved names |