瀏覽代碼

Merge pull request #6079 from Laserlicht/fix_rmg

fix rmg underground
Ivan Savenko 2 月之前
父節點
當前提交
8d00133757
共有 3 個文件被更改,包括 3 次插入3 次删除
  1. 1 1
      lib/rmg/CZonePlacer.cpp
  2. 1 1
      lib/rmg/RmgMap.cpp
  3. 1 1
      lib/rmg/Zone.cpp

+ 1 - 1
lib/rmg/CZonePlacer.cpp

@@ -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);

+ 1 - 1
lib/rmg/RmgMap.cpp

@@ -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);
 		}

+ 1 - 1
lib/rmg/Zone.cpp

@@ -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)