Resolved #8480 - generated maps no longer contain forbidden tile arrangements

This commit is contained in:
Yair Morgenstern 2023-02-06 22:06:05 +02:00
parent cfc3fa05f0
commit 34815eb296
2 changed files with 9 additions and 3 deletions

View File

@ -7,8 +7,8 @@ import com.unciv.logic.map.HexMath
import com.unciv.logic.map.MapParameters
import com.unciv.logic.map.MapShape
import com.unciv.logic.map.MapType
import com.unciv.logic.map.tile.Tile
import com.unciv.logic.map.TileMap
import com.unciv.logic.map.tile.Tile
import com.unciv.models.Counter
import com.unciv.models.metadata.GameParameters
import com.unciv.models.ruleset.Ruleset
@ -18,6 +18,7 @@ import com.unciv.models.ruleset.tile.TerrainType
import com.unciv.models.ruleset.unique.Unique
import com.unciv.models.ruleset.unique.UniqueType
import com.unciv.ui.mapeditor.MapGeneratorSteps
import com.unciv.ui.mapeditor.TileInfoNormalizer
import com.unciv.utils.Log
import com.unciv.utils.debug
import kotlin.math.abs
@ -164,6 +165,11 @@ class MapGenerator(val ruleset: Ruleset) {
runAndMeasure("spreadAncientRuins") {
spreadAncientRuins(map)
}
// Map generation may generate incompatible terrain/feature combinations
for (tile in map.values)
TileInfoNormalizer.normalizeToRuleset(tile, ruleset)
return map
}

View File

@ -93,9 +93,9 @@ private class GameDisplay(
onClick { onSelected(gameName) }
val isOurGame: (HasMultiplayerGameName) -> Boolean = { it.name == gameName }
events.receive(MultiplayerGameUpdateStarted::class, isOurGame, {
events.receive(MultiplayerGameUpdateStarted::class, isOurGame) {
statusIndicators.addActor(refreshIndicator)
})
}
events.receive(MultiplayerGameUpdateEnded::class, isOurGame) {
refreshIndicator.remove()
}