aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/Object.cpp4
-rw-r--r--src/game/ObjectGridLoader.cpp4
2 files changed, 6 insertions, 2 deletions
diff --git a/src/game/Object.cpp b/src/game/Object.cpp
index 6837570bfea..3f6b34a20bb 100644
--- a/src/game/Object.cpp
+++ b/src/game/Object.cpp
@@ -1692,14 +1692,14 @@ void WorldObject::SendObjectDeSpawnAnim(uint64 guid)
void WorldObject::SetMap(Map * map)
{
ASSERT(map);
- ASSERT(!IsInWorld());
+ ASSERT(!IsInWorld() || GetTypeId() == TYPEID_CORPSE);
m_currMap = map;
}
void WorldObject::ResetMap()
{
ASSERT(m_currMap);
- ASSERT(!IsInWorld());
+ ASSERT(!IsInWorld() || GetTypeId() == TYPEID_CORPSE);
m_currMap = NULL;
}
diff --git a/src/game/ObjectGridLoader.cpp b/src/game/ObjectGridLoader.cpp
index c55bf0106b0..2399019237f 100644
--- a/src/game/ObjectGridLoader.cpp
+++ b/src/game/ObjectGridLoader.cpp
@@ -177,6 +177,10 @@ void LoadHelper(CellCorpseSet const& cell_corpses, CellPair &cell, CorpseMapType
if(!obj)
continue;
+ // TODO: this is a hack
+ // corpse's map should be reset when the map is unloaded
+ obj->SetMap(map);
+
AddObjectHelper(cell, m, count, map, obj);
}
}