diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/Object.cpp | 10 | ||||
-rw-r--r-- | src/game/Object.h | 7 | ||||
-rw-r--r-- | src/game/ObjectMgr.cpp | 6 |
3 files changed, 12 insertions, 11 deletions
diff --git a/src/game/Object.cpp b/src/game/Object.cpp index 3ec11e83f81..f09e466e4b8 100644 --- a/src/game/Object.cpp +++ b/src/game/Object.cpp @@ -1673,16 +1673,14 @@ void WorldObject::SendObjectDeSpawnAnim(uint64 guid) SendMessageToSet(&data, true); } -Map* WorldObject::GetMap() const +Map* WorldObject::_getMap() { - if(m_map) return m_map; - else return const_cast<Map*>(m_map) = MapManager::Instance().GetMap(GetMapId(), this); + return m_map = MapManager::Instance().GetMap(GetMapId(), this); } -Map* WorldObject::FindMap() const +Map* WorldObject::_findMap() { - if(m_map) return m_map; - else return const_cast<Map*>(m_map) = MapManager::Instance().FindMap(GetMapId(), GetInstanceId()); + return m_map = MapManager::Instance().FindMap(GetMapId(), GetInstanceId()); } Map const* WorldObject::GetBaseMap() const diff --git a/src/game/Object.h b/src/game/Object.h index 9bb99af50de..455484eea2d 100644 --- a/src/game/Object.h +++ b/src/game/Object.h @@ -515,8 +515,8 @@ class TRINITY_DLL_SPEC WorldObject : public Object // Low Level Packets void SendPlaySound(uint32 Sound, bool OnlySelf); - Map * GetMap() const; - Map * FindMap() const; + Map * GetMap() const { return m_map ? m_map : const_cast<WorldObject*>(this)->_getMap(); } + Map * FindMap() const { return m_map ? m_map : const_cast<WorldObject*>(this)->_findMap(); } Map const* GetBaseMap() const; TempSummon* SummonCreature(uint32 id, float x, float y, float z, float ang,TempSummonType spwtype,uint32 despwtime); Vehicle* SummonVehicle(uint32 entry, float x, float y, float z, float ang); @@ -541,6 +541,9 @@ class TRINITY_DLL_SPEC WorldObject : public Object uint32 m_phaseMask; // in area phase state Map *m_map; + Map* _getMap(); + Map* _findMap(); + float m_positionX; float m_positionY; float m_positionZ; diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp index 998484a552b..e378edc7f55 100644 --- a/src/game/ObjectMgr.cpp +++ b/src/game/ObjectMgr.cpp @@ -5337,14 +5337,14 @@ void ObjectMgr::LoadAccessRequirements() } if(ar.heroicQuest) - { + { QuestMap::iterator qReqItr = mQuestTemplates.find(ar.heroicQuest); if(qReqItr == mQuestTemplates.end()) { sLog.outErrorDb("Required Heroic Quest %u not exist for trigger %u, remove heroic quest done requirement.",ar.heroicQuest,requiremt_ID); ar.heroicQuest = 0; - } - } + } + } if(ar.quest) { |