diff options
-rw-r--r-- | src/server/game/Globals/ObjectMgr.h | 12 | ||||
-rw-r--r-- | src/server/game/Scripting/ScriptMgr.h | 4 | ||||
-rw-r--r-- | src/server/shared/Configuration/Config.cpp | 2 | ||||
-rw-r--r-- | src/server/shared/Configuration/Config.h | 3 |
4 files changed, 17 insertions, 4 deletions
diff --git a/src/server/game/Globals/ObjectMgr.h b/src/server/game/Globals/ObjectMgr.h index b5d4bc352c9..b59dad0d71c 100644 --- a/src/server/game/Globals/ObjectMgr.h +++ b/src/server/game/Globals/ObjectMgr.h @@ -830,9 +830,17 @@ class ObjectMgr void AddCorpseCellData(uint32 mapid, uint32 cellid, uint32 player_guid, uint32 instance); void DeleteCorpseCellData(uint32 mapid, uint32 cellid, uint32 player_guid); - time_t GetCreatureRespawnTime(uint32 loguid, uint32 instance) { return mCreatureRespawnTimes[MAKE_PAIR64(loguid,instance)]; } + time_t GetCreatureRespawnTime(uint32 loguid, uint32 instance) + { + ACE_GUARD_RETURN(ACE_Thread_Mutex, guard, m_CreatureRespawnTimesMtx, 0); + return mCreatureRespawnTimes[MAKE_PAIR64(loguid,instance)]; + } void SaveCreatureRespawnTime(uint32 loguid, uint32 instance, time_t t); - time_t GetGORespawnTime(uint32 loguid, uint32 instance) { return mGORespawnTimes[MAKE_PAIR64(loguid,instance)]; } + time_t GetGORespawnTime(uint32 loguid, uint32 instance) + { + ACE_GUARD_RETURN(ACE_Thread_Mutex, guard, m_GORespawnTimesMtx, 0); + return mGORespawnTimes[MAKE_PAIR64(loguid,instance)]; + } void SaveGORespawnTime(uint32 loguid, uint32 instance, time_t t); void DeleteRespawnTimeForInstance(uint32 instance); diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index b580e333957..79ec4e4f816 100644 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -434,7 +434,7 @@ class CreatureScript : public ScriptObject, public UpdatableScript<Creature> virtual bool OnQuestReward(Player* player, Creature* creature, Quest const* quest, uint32 opt) { return false; } // Called when the dialog status between a player and the creature is requested. - virtual uint32 GetDialogStatus(Player* player, Creature* creature) { return 0; } + virtual uint32 GetDialogStatus(Player* player, Creature* creature) { return 100; } // Called when a CreatureAI object is needed for the creature. virtual CreatureAI* GetAI(Creature* creature) const { return NULL; } @@ -469,7 +469,7 @@ class GameObjectScript : public ScriptObject, public UpdatableScript<GameObject> virtual bool OnQuestReward(Player* player, GameObject* go, Quest const* quest, uint32 opt) { return false; } // Called when the dialog status between a player and the gameobject is requested. - virtual uint32 GetDialogStatus(Player* player, GameObject* go) { return 0; } + virtual uint32 GetDialogStatus(Player* player, GameObject* go) { return 100; } // Called when the gameobject is destroyed (destructible buildings only). virtual void OnDestroyed(Player* player, GameObject* go, uint32 eventId) { } diff --git a/src/server/shared/Configuration/Config.cpp b/src/server/shared/Configuration/Config.cpp index d0b9cd4ff17..2d38c39ac42 100644 --- a/src/server/shared/Configuration/Config.cpp +++ b/src/server/shared/Configuration/Config.cpp @@ -26,6 +26,8 @@ static bool GetValueHelper(ACE_Configuration_Heap *mConf, const char *name, ACE_ if (!mConf) return false; + ACE_GUARD_RETURN(ACE_Thread_Mutex, guard, sConfig.mMtx, false); + ACE_TString section_name; ACE_Configuration_Section_Key section_key; ACE_Configuration_Section_Key root_key = mConf->root_section(); diff --git a/src/server/shared/Configuration/Config.h b/src/server/shared/Configuration/Config.h index 93830a15023..218da4b7583 100644 --- a/src/server/shared/Configuration/Config.h +++ b/src/server/shared/Configuration/Config.h @@ -43,6 +43,9 @@ class Config float GetFloatDefault(const char * name, const float def); std::string GetFilename() const { return mFilename; } + + ACE_Thread_Mutex mMtx; + private: std::string mFilename; ACE_Configuration_Heap *mConf; |