diff options
Diffstat (limited to 'src/game/Object.cpp')
-rw-r--r-- | src/game/Object.cpp | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/src/game/Object.cpp b/src/game/Object.cpp index 8274797fda4..afe477f3310 100644 --- a/src/game/Object.cpp +++ b/src/game/Object.cpp @@ -1048,8 +1048,8 @@ bool Object::PrintIndexError(uint32 index, bool set) const WorldObject::WorldObject() : m_mapId(0), m_InstanceId(0), m_phaseMask(PHASEMASK_NORMAL), - m_positionX(0.0f), m_positionY(0.0f), m_positionZ(0.0f), m_orientation(0.0f) - , m_map(NULL), m_zoneScript(NULL) + m_positionX(0.0f), m_positionY(0.0f), m_positionZ(0.0f), m_orientation(0.0f), m_currMap(NULL) + , m_zoneScript(NULL) , m_isActive(false), IsTempWorldObject(false) , m_name("") { @@ -1100,11 +1100,9 @@ void WorldObject::CleanupsBeforeDelete() { } -void WorldObject::_Create( uint32 guidlow, HighGuid guidhigh, uint32 mapid, uint32 phaseMask ) +void WorldObject::_Create( uint32 guidlow, HighGuid guidhigh, uint32 phaseMask ) { Object::_Create(guidlow, 0, guidhigh); - - m_mapId = mapid; m_phaseMask = phaseMask; } @@ -1676,19 +1674,19 @@ void WorldObject::SendObjectDeSpawnAnim(uint64 guid) SendMessageToSet(&data, true); } -Map* WorldObject::_getMap() -{ - return m_map = MapManager::Instance().GetMap(GetMapId(), this); -} - -Map* WorldObject::_findMap() +void WorldObject::SetMap(Map * map) { - return m_map = MapManager::Instance().FindMap(GetMapId(), GetInstanceId()); + ASSERT(map); + m_currMap = map; + //lets save current map's Id/instanceId + m_mapId = map->GetId(); + m_InstanceId = map->GetInstanceId(); } Map const* WorldObject::GetBaseMap() const { - return MapManager::Instance().CreateBaseMap(GetMapId()); + ASSERT(m_currMap); + return m_currMap->GetParent(); } void WorldObject::AddObjectToRemoveList() |