fix rmg underground
@@ -330,7 +330,7 @@ void CZonePlacer::placeZones(vstd::RNG * rand)
{
return pr.second->getType() == ETemplateZoneType::WATER;
});
- bool mapLevels = map.getMapGenOptions().getLevels();
+ int mapLevels = map.getMapGenOptions().getLevels();
findPathsBetweenZones();
placeOnGrid(rand);
@@ -245,7 +245,7 @@ RmgMap::Zones RmgMap::getZonesOnLevel(int level) const
Zones zonesOnLevel;
for(const auto& zonePair : zones)
- if(zonePair.second->isUnderground() == (bool)level)
+ if(zonePair.second->getPos().z == level)
zonesOnLevel.insert(zonePair);
}
@@ -42,7 +42,7 @@ Zone::~Zone() = default;
bool Zone::isUnderground() const
- return getPos().z;
+ return getPos().z == 1; // TODO: multilevel support
void Zone::setOptions(const ZoneOptions& options)