From 7f937e978473c22f0bb838904b7af8c6aa989dd2 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Thu, 6 May 2021 15:31:09 +0300 Subject: [PATCH] I think we've removed all removable references to isHill() --- core/src/com/unciv/logic/map/TileInfo.kt | 1 - .../logic/map/mapgenerator/RiverGenerator.kt | 30 +++++++++---------- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/core/src/com/unciv/logic/map/TileInfo.kt b/core/src/com/unciv/logic/map/TileInfo.kt index 0385b04dfa..d7a87506b5 100644 --- a/core/src/com/unciv/logic/map/TileInfo.kt +++ b/core/src/com/unciv/logic/map/TileInfo.kt @@ -385,7 +385,6 @@ open class TileInfo { fun matchesUniqueFilter(filter: String, civInfo: CivilizationInfo? = null): Boolean { return filter == baseTerrain - || filter == Constants.hill && isHill() || filter == "River" && isAdjacentToRiver() || terrainFeatures.contains(filter) || baseTerrainObject.uniques.contains(filter) diff --git a/core/src/com/unciv/logic/map/mapgenerator/RiverGenerator.kt b/core/src/com/unciv/logic/map/mapgenerator/RiverGenerator.kt index f01aaf5923..3a9746ff72 100644 --- a/core/src/com/unciv/logic/map/mapgenerator/RiverGenerator.kt +++ b/core/src/com/unciv/logic/map/mapgenerator/RiverGenerator.kt @@ -4,27 +4,27 @@ import com.unciv.Constants import com.unciv.logic.map.TileInfo import com.unciv.logic.map.TileMap -class RiverGenerator(val randomness: MapGenerationRandomness){ +class RiverGenerator(val randomness: MapGenerationRandomness) { - fun spawnRivers(map: TileMap){ + fun spawnRivers(map: TileMap) { val numberOfRivers = map.values.count { it.isLand } / 100 - var optionalTiles = map.values - .filter { it.baseTerrain== Constants.mountain && it.aerialDistanceTo(getClosestWaterTile(it)) > 4 }.toMutableList() - if(optionalTiles.size < numberOfRivers) + var optionalTiles = map.values.asSequence() + .filter { it.baseTerrain == Constants.mountain && it.aerialDistanceTo(getClosestWaterTile(it)) > 4 }.toMutableList() + if (optionalTiles.size < numberOfRivers) optionalTiles.addAll(map.values.filter { it.isHill() && it.aerialDistanceTo(getClosestWaterTile(it)) > 4 }) - if(optionalTiles.size < numberOfRivers) + if (optionalTiles.size < numberOfRivers) optionalTiles = map.values.filter { it.isLand && it.aerialDistanceTo(getClosestWaterTile(it)) > 4 }.toMutableList() val riverStarts = randomness.chooseSpreadOutLocations(numberOfRivers, optionalTiles, 10) - for(tile in riverStarts) spawnRiver(tile, map) + for (tile in riverStarts) spawnRiver(tile, map) - for(tile in map.values){ - if(tile.isAdjacentToRiver()){ - if(tile.baseTerrain == Constants.desert && tile.terrainFeatures.isEmpty()) tile.terrainFeatures.add(Constants.floodPlains) - else if(tile.baseTerrain== Constants.snow) tile.baseTerrain = Constants.tundra - else if(tile.baseTerrain== Constants.tundra) tile.baseTerrain = Constants.plains + for (tile in map.values) { + if (tile.isAdjacentToRiver()) { + if (tile.baseTerrain == Constants.desert && tile.terrainFeatures.isEmpty()) tile.terrainFeatures.add(Constants.floodPlains) + else if (tile.baseTerrain == Constants.snow) tile.baseTerrain = Constants.tundra + else if (tile.baseTerrain == Constants.tundra) tile.baseTerrain = Constants.plains tile.setTerrainTransients() } } @@ -32,9 +32,9 @@ class RiverGenerator(val randomness: MapGenerationRandomness){ private fun getClosestWaterTile(tile: TileInfo): TileInfo { var distance = 1 - while(true){ + while (true) { val waterTiles = tile.getTilesAtDistance(distance).filter { it.isWater } - if(waterTiles.none()) { + if (waterTiles.none()) { distance++ continue } @@ -50,7 +50,7 @@ class RiverGenerator(val randomness: MapGenerationRandomness){ RiverCoordinate.BottomRightOrLeft.values().random(randomness.RNG)) - while(getAdjacentTiles(riverCoordinate, map).none { it.isWater }) { + while (getAdjacentTiles(riverCoordinate, map).none { it.isWater }) { val possibleCoordinates = riverCoordinate.getAdjacentPositions() .filter { map.contains(it.position) } if (possibleCoordinates.none()) return // end of the line