diff options
Diffstat (limited to 'src/game/ObjectMgr.h')
-rw-r--r-- | src/game/ObjectMgr.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/game/ObjectMgr.h b/src/game/ObjectMgr.h index cca03ae39a3..4216792743c 100644 --- a/src/game/ObjectMgr.h +++ b/src/game/ObjectMgr.h @@ -264,6 +264,8 @@ typedef std::list<GossipOption> CacheNpcOptionList; typedef UNORDERED_MAP<uint32, VendorItemData> CacheVendorItemMap; typedef UNORDERED_MAP<uint32, TrainerSpellData> CacheTrainerSpellMap; +typedef std::list<const AchievementCriteriaEntry*> AchievementCriteriaEntryList; + enum SkillRangeType { SKILL_RANGE_LANGUAGE, // 300..300 @@ -489,6 +491,7 @@ class ObjectMgr } AreaTrigger const* GetGoBackTrigger(uint32 Map) const; + AreaTrigger const* GetMapEntranceTrigger(uint32 Map) const; uint32 GetAreaTriggerScriptId(uint32 trigger_id); @@ -592,6 +595,7 @@ class ObjectMgr void LoadNpcTextId(); void LoadVendors(); void LoadTrainerSpell(); + void LoadCompletedAchievements(); std::string GeneratePetName(uint32 entry); uint32 GetBaseXP(uint32 level); @@ -805,6 +809,10 @@ class ObjectMgr bool RemoveVendorItem(uint32 entry,uint32 item, bool savetodb = true); // for event bool IsVendorItemValid( uint32 vendor_entry, uint32 item, uint32 maxcount, uint32 ptime, uint32 ExtendedCost, Player* pl = NULL, std::set<uint32>* skip_vendors = NULL, uint32 ORnpcflag = 0 ) const; + void LoadAchievementCriteriaList(); + AchievementCriteriaEntryList const& GetAchievementCriteriaByType(AchievementCriteriaTypes type); + std::set<uint32> allCompletedAchievements; + void LoadScriptNames(); ScriptNameMap &GetScriptNames() { return m_scriptNames; } const char * GetScriptName(uint32 id) { return id < m_scriptNames.size() ? m_scriptNames[id].c_str() : ""; } @@ -823,6 +831,7 @@ class ObjectMgr uint32 m_hiCharGuid; uint32 m_hiCreatureGuid; uint32 m_hiPetGuid; + uint32 m_hiVehicleGuid; uint32 m_hiItemGuid; uint32 m_hiGoGuid; uint32 m_hiDoGuid; @@ -933,6 +942,9 @@ class ObjectMgr CacheNpcTextIdMap m_mCacheNpcTextIdMap; CacheVendorItemMap m_mCacheVendorItemMap; CacheTrainerSpellMap m_mCacheTrainerSpellMap; + + // store achievement criterias by type to speed up lookup + AchievementCriteriaEntryList m_AchievementCriteriasByType[ACHIEVEMENT_CRITERIA_TYPE_TOTAL]; }; #define objmgr Trinity::Singleton<ObjectMgr>::Instance() |