diff --git a/buildSrc/src/main/kotlin/BuildConfig.kt b/buildSrc/src/main/kotlin/BuildConfig.kt index acf72cb478..a223cd303c 100644 --- a/buildSrc/src/main/kotlin/BuildConfig.kt +++ b/buildSrc/src/main/kotlin/BuildConfig.kt @@ -3,8 +3,8 @@ package com.unciv.build object BuildConfig { const val kotlinVersion = "1.3.71" const val appName = "Unciv" - const val appCodeNumber = 522 - const val appVersion = "3.12.9-patch1" + const val appCodeNumber = 523 + const val appVersion = "3.12.9-patch2" const val gdxVersion = "1.9.12" const val roboVMVersion = "2.3.1" diff --git a/core/src/com/unciv/logic/automation/WorkerAutomation.kt b/core/src/com/unciv/logic/automation/WorkerAutomation.kt index dd082dc5d7..574de23b09 100644 --- a/core/src/com/unciv/logic/automation/WorkerAutomation.kt +++ b/core/src/com/unciv/logic/automation/WorkerAutomation.kt @@ -189,7 +189,8 @@ class WorkerAutomation(val unit: MapUnit) { else -> tile.getTileResource().improvement } - val tileImprovements = civInfo.gameInfo.ruleSet.tileImprovements + // turnsToBuild is what defines them as buildable + val tileImprovements = civInfo.gameInfo.ruleSet.tileImprovements.filter { it.value.turnsToBuild!=0 } val uniqueImprovement = tileImprovements.values .firstOrNull { it.uniqueTo == civInfo.civName } diff --git a/core/src/com/unciv/logic/map/TileInfo.kt b/core/src/com/unciv/logic/map/TileInfo.kt index 438e6cea2f..3084f4362c 100644 --- a/core/src/com/unciv/logic/map/TileInfo.kt +++ b/core/src/com/unciv/logic/map/TileInfo.kt @@ -316,7 +316,8 @@ open class TileInfo { isCityCenter() -> false "Cannot be built on bonus resource" in improvement.uniques && resource != null && getTileResource().resourceType == ResourceType.Bonus -> false - improvement.uniques.contains("Great Improvement") && isLand -> true + // Tiles with no terrains, and no turns to build, are like great improvements - they're placeable + improvement.terrainsCanBeBuiltOn.isEmpty() && improvement.turnsToBuild==0 && isLand -> true improvement.terrainsCanBeBuiltOn.contains(topTerrain.name) -> true improvement.uniqueObjects.filter { it.placeholderText == "Must be next to []" }.any { val filter = it.params[0] diff --git a/core/src/com/unciv/ui/pickerscreens/ImprovementPickerScreen.kt b/core/src/com/unciv/ui/pickerscreens/ImprovementPickerScreen.kt index 2693816213..5e8834e7af 100644 --- a/core/src/com/unciv/ui/pickerscreens/ImprovementPickerScreen.kt +++ b/core/src/com/unciv/ui/pickerscreens/ImprovementPickerScreen.kt @@ -48,9 +48,9 @@ class ImprovementPickerScreen(val tileInfo: TileInfo, val onAccept: ()->Unit) : regularImprovements.defaults().pad(5f) for (improvement in tileInfo.tileMap.gameInfo.ruleSet.tileImprovements.values) { - if (improvement.hasUnique("Unbuildable")) continue - if (!tileInfo.canBuildImprovement(improvement, currentPlayerCiv)) continue + if (improvement.turnsToBuild == 0) continue if (improvement.name == tileInfo.improvement) continue + if (!tileInfo.canBuildImprovement(improvement, currentPlayerCiv)) continue val improvementButtonTable = Table()