aboutsummaryrefslogtreecommitdiff
path: root/src/game/Object.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Object.cpp')
-rw-r--r--src/game/Object.cpp24
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()