diff --git a/core/src/com/unciv/logic/city/CityConstructions.kt b/core/src/com/unciv/logic/city/CityConstructions.kt index 7e12054685..94699a2f40 100644 --- a/core/src/com/unciv/logic/city/CityConstructions.kt +++ b/core/src/com/unciv/logic/city/CityConstructions.kt @@ -209,8 +209,12 @@ class CityConstructions { } fun addCultureBuilding() { - val cultureBuildingToBuild = listOf("Monument", "Temple", "Opera House", "Museum").firstOrNull { !builtBuildings.contains(it) } - if (cultureBuildingToBuild == null) return + val basicCultureBuildings = listOf("Monument", "Temple", "Opera House", "Museum") + val buildableCultureBuildings = GameBasics.Buildings.values + .filter { it.isBuildable(this) + && basicCultureBuildings.contains(it.name) || (it.replaces != "" && basicCultureBuildings.contains(it.replaces))} + if (buildableCultureBuildings.isEmpty()) return + val cultureBuildingToBuild = buildableCultureBuildings.minBy { it.cost }!!.name addBuilding(cultureBuildingToBuild) if (currentConstruction == cultureBuildingToBuild) { currentConstruction=""