diff --git a/src/server/game/Grids/ObjectGridLoader.cpp b/src/server/game/Grids/ObjectGridLoader.cpp index ac853ada5d2..cd6cec78d56 100644 --- a/src/server/game/Grids/ObjectGridLoader.cpp +++ b/src/server/game/Grids/ObjectGridLoader.cpp @@ -153,7 +153,12 @@ void ObjectWorldLoader::Visit(CorpseMapType& /*m*/) for (Corpse* corpse : *corpses) { corpse->AddToWorld(); - i_grid.GetGridType(i_cell.CellX(), i_cell.CellY()).AddWorldObject(corpse); + GridType& cell = i_grid.GetGridType(i_cell.CellX(), i_cell.CellY()); + if (corpse->IsWorldObject()) + cell.AddWorldObject(corpse); + else + cell.AddGridObject(corpse); + ++i_corpses; } } @@ -231,7 +236,7 @@ void ObjectGridCleaner::Visit(GridRefManager &m) template void ObjectGridUnloader::Visit(CreatureMapType &); template void ObjectGridUnloader::Visit(GameObjectMapType &); template void ObjectGridUnloader::Visit(DynamicObjectMapType &); -template void ObjectGridUnloader::Visit(CorpseMapType &); + template void ObjectGridUnloader::Visit(AreaTriggerMapType &); template void ObjectGridCleaner::Visit(CreatureMapType &); template void ObjectGridCleaner::Visit(GameObjectMapType &); diff --git a/src/server/game/Grids/ObjectGridLoader.h b/src/server/game/Grids/ObjectGridLoader.h index 778bb531e89..ce2afb35f4d 100644 --- a/src/server/game/Grids/ObjectGridLoader.h +++ b/src/server/game/Grids/ObjectGridLoader.h @@ -83,6 +83,7 @@ class ObjectGridCleaner class ObjectGridUnloader { public: + void Visit(CorpseMapType& m) { } // corpses are deleted with Map template void Visit(GridRefManager &m); }; #endif