diff options
| author | ForesterDev <forester.manv@gmail.com> | 2017-10-29 13:15:22 +0400 |
|---|---|---|
| committer | Aokromes <Aokromes@users.noreply.github.com> | 2017-10-29 10:15:22 +0100 |
| commit | a64d1ec51eb11fd01a26d08a09de3d8d7dd89675 (patch) | |
| tree | d596fc0956ea1ff59493d5f41d9a789a73be733f /src/server/game/Globals/ObjectMgr.h | |
| parent | bbd339370ed2eea5f12e79a977fd9e0e93543101 (diff) | |
Core/Quests: implement Quest Greeting (DB table quest_greeting)
* Core/Quests: implement Quest Greetings. Partial port https://github.com/TrinityCore/TrinityCore/commit/22e230ecec1c7ce4eb4daeb60adfa03098271f34
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.h')
| -rw-r--r-- | src/server/game/Globals/ObjectMgr.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h index 3f52a2f77a6..8a07723a34e 100644 --- a/src/server/game/Globals/ObjectMgr.h +++ b/src/server/game/Globals/ObjectMgr.h @@ -532,6 +532,11 @@ struct TrinityString std::vector<std::string> Content; }; +struct QuestGreetingLocale +{ + std::vector<std::string> greeting; +}; + typedef std::map<ObjectGuid, ObjectGuid> LinkedRespawnContainer; typedef std::unordered_map<uint32, CreatureTemplate> CreatureTemplateContainer; typedef std::unordered_map<uint32, CreatureAddon> CreatureTemplateAddonContainer; @@ -574,6 +579,7 @@ struct PointOfInterestLocale }; typedef std::unordered_map<uint32, PointOfInterestLocale> PointOfInterestLocaleContainer; +typedef std::unordered_map<uint32, QuestGreetingLocale> QuestGreetingLocaleContainer; typedef std::unordered_map<uint32, TrinityString> TrinityStringContainer; @@ -794,6 +800,19 @@ struct QuestPOIWrapper typedef std::unordered_map<uint32, QuestPOIWrapper> QuestPOIContainer; +struct QuestGreeting +{ + uint16 greetEmoteType; + uint32 greetEmoteDelay; + std::string greeting; + + QuestGreeting() : greetEmoteType(0), greetEmoteDelay(0) { } + QuestGreeting(uint16 _greetEmoteType, uint32 _greetEmoteDelay, std::string _greeting) + : greetEmoteType(_greetEmoteType), greetEmoteDelay(_greetEmoteDelay), greeting(_greeting) { } +}; + +typedef std::unordered_map<uint8, std::unordered_map<uint32, QuestGreeting const*>> QuestGreetingContainer; + struct GraveyardData { uint32 safeLocId; @@ -998,6 +1017,7 @@ class TC_GAME_API ObjectMgr } GossipText const* GetGossipText(uint32 Text_ID) const; + QuestGreeting const* GetQuestGreeting(ObjectGuid guid) const; WorldSafeLocsEntry const* GetDefaultGraveyard(uint32 team) const; WorldSafeLocsEntry const* GetClosestGraveyard(float x, float y, float z, uint32 MapId, uint32 team) const; @@ -1155,6 +1175,7 @@ class TC_GAME_API ObjectMgr void LoadPageTextLocales(); void LoadGossipMenuItemsLocales(); void LoadPointOfInterestLocales(); + void LoadQuestGreetingsLocales(); void LoadInstanceTemplate(); void LoadInstanceEncounters(); void LoadMailLevelRewards(); @@ -1166,6 +1187,7 @@ class TC_GAME_API ObjectMgr void LoadAreaTriggerTeleports(); void LoadAccessRequirements(); void LoadQuestAreaTriggers(); + void LoadQuestGreetings(); void LoadAreaTriggerScripts(); void LoadTavernAreaTriggers(); void LoadGameObjectForQuests(); @@ -1374,6 +1396,12 @@ class TC_GAME_API ObjectMgr if (itr == _pointOfInterestLocaleStore.end()) return nullptr; return &itr->second; } + QuestGreetingLocale const* GetQuestGreetingLocale(uint32 id) const + { + QuestGreetingLocaleContainer::const_iterator itr = _questGreetingLocaleStore.find(id); + if (itr == _questGreetingLocaleStore.end()) return nullptr; + return &itr->second; + } TrinityString const* GetTrinityString(uint32 entry) const { @@ -1527,6 +1555,7 @@ class TC_GAME_API ObjectMgr TavernAreaTriggerContainer _tavernAreaTriggerStore; GameObjectForQuestContainer _gameObjectForQuestStore; GossipTextContainer _gossipTextStore; + QuestGreetingContainer _questGreetingStore; AreaTriggerContainer _areaTriggerStore; AreaTriggerScriptContainer _areaTriggerScriptStore; AccessRequirementContainer _accessRequirementStore; @@ -1637,6 +1666,7 @@ class TC_GAME_API ObjectMgr PageTextLocaleContainer _pageTextLocaleStore; GossipMenuItemsLocaleContainer _gossipMenuItemsLocaleStore; PointOfInterestLocaleContainer _pointOfInterestLocaleStore; + QuestGreetingLocaleContainer _questGreetingLocaleStore; TrinityStringContainer _trinityStringStore; |
