aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Globals/ObjectMgr.h12
-rw-r--r--src/server/game/Scripting/ScriptMgr.h4
-rw-r--r--src/server/shared/Configuration/Config.cpp2
-rw-r--r--src/server/shared/Configuration/Config.h3
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;