diff --git a/lib/rmg/modificators/ObjectManager.cpp b/lib/rmg/modificators/ObjectManager.cpp index 1288f34f4..f05ab1bc9 100644 --- a/lib/rmg/modificators/ObjectManager.cpp +++ b/lib/rmg/modificators/ObjectManager.cpp @@ -546,8 +546,12 @@ void ObjectManager::placeObject(rmg::Object & object, bool guarded, bool updateD objects.push_back(&instance->object()); if(auto * m = zone.getModificator()) { - //FIXME: Objects that can be removed, can be trespassed. Does not include Corpse - if(instance->object().appearance->isVisitableFromTop()) + if (instance->object().blockVisit && !instance->object().removable) + { + //Cannot be trespassed (Corpse) + continue; + } + else if(instance->object().appearance->isVisitableFromTop()) m->areaForRoads().add(instance->getVisitablePosition()); else { diff --git a/lib/rmg/modificators/RoadPlacer.cpp b/lib/rmg/modificators/RoadPlacer.cpp index aca1acfd7..b081f9485 100644 --- a/lib/rmg/modificators/RoadPlacer.cpp +++ b/lib/rmg/modificators/RoadPlacer.cpp @@ -85,7 +85,7 @@ bool RoadPlacer::createRoad(const int3 & dst) { if(areaIsolated().contains(dst) || areaIsolated().contains(src)) { - return 1e30; + return 1e12; } } else