Show
Ignore:
Timestamp:
11/19/08 13:42:33 (17 years ago)
Author:
yumileroy
Message:

[svn] *** Source Mangos ***
*Load npc_options at server startup, use cached data at creature gossip menu init.
* Also new .reload table command added
*Implement npc_option localization support, also store in DB BoxText/BoxMoney/Coded?
* Use characters.guid instead low guid value from characters.data in charcter enum data prepering for client.
* Fixed crash at .pinfo command use from console.
* Fixed windows ad.exe build
*Creature related code and DB cleanups.
* Rename 2 creature_template fields to more clean names and related code update also.
* Use enum values instead raw values for type_flags, use halper functions instead code repeating.
* Move tamed pet creating code to new function.

** Small code changes to make things compliant with above changes.
** Another rev with big changes so test away.

Original author: KingPin?
Date: 2008-11-05 09:22:56-06:00

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/game/ObjectMgr.h

    r149 r168  
    7676 
    7777typedef HM_NAMESPACE::hash_map<uint32, GameTele > GameTeleMap; 
     78typedef std::list<GossipOption> CacheNpcOptionList; 
    7879 
    7980struct ScriptInfo 
     
    142143typedef HM_NAMESPACE::hash_map<uint32,PageTextLocale> PageTextLocaleMap; 
    143144typedef HM_NAMESPACE::hash_map<uint32,TrinityStringLocale> TrinityStringLocaleMap; 
     145typedef HM_NAMESPACE::hash_map<uint32,NpcOptionLocale> NpcOptionLocaleMap; 
    144146 
    145147typedef std::multimap<uint32,uint32> QuestRelations; 
     
    538540        void LoadNpcTextLocales(); 
    539541        void LoadPageTextLocales(); 
     542        void LoadNpcOptionLocales(); 
    540543        void LoadInstanceTemplate(); 
    541544 
     
    568571        void LoadGameTele(); 
    569572 
     573        void LoadNpcOptions(); 
    570574        void LoadNpcTextId(); 
    571575        void LoadVendors(); 
     
    665669            return &itr->second; 
    666670        } 
     671         
     672        NpcOptionLocale const* GetNpcOptionLocale(uint32 entry) const 
     673        { 
     674            NpcOptionLocaleMap::const_iterator itr = mNpcOptionLocaleMap.find(entry); 
     675            if(itr==mNpcOptionLocaleMap.end()) return NULL; 
     676            return &itr->second; 
     677        } 
    667678 
    668679        GameObjectData const* GetGOData(uint32 guid) const 
     
    743754        bool AddGameTele(GameTele& data); 
    744755        bool DeleteGameTele(std::string name); 
     756         
     757        CacheNpcOptionList const& GetNpcOptions() const { return m_mCacheNpcOptionList; } 
    745758 
    746759        uint32 GetNpcGossip(uint32 entry) const 
     
    875888        PageTextLocaleMap mPageTextLocaleMap; 
    876889        TrinityStringLocaleMap mTrinityStringLocaleMap; 
     890        NpcOptionLocaleMap mNpcOptionLocaleMap; 
    877891        RespawnTimes mCreatureRespawnTimes; 
    878892        RespawnTimes mGORespawnTimes; 
     
    885899        ConditionStore mConditions; 
    886900 
     901        CacheNpcOptionList m_mCacheNpcOptionList; 
    887902        CacheNpcTextIdMap m_mCacheNpcTextIdMap; 
    888903        CacheVendorItemMap m_mCacheVendorItemMap;