diff --git a/core/src/com/unciv/models/ruleset/Building.kt b/core/src/com/unciv/models/ruleset/Building.kt index 7def7da5cf..604c1cf909 100644 --- a/core/src/com/unciv/models/ruleset/Building.kt +++ b/core/src/com/unciv/models/ruleset/Building.kt @@ -469,7 +469,7 @@ class Building : NamedStats(), IConstruction { val improvementUnique = uniqueObjects .firstOrNull { it.placeholderText == "Creates a [] improvement on a specific tile" } if (improvementUnique == null) return null - return ruleset.tileImprovements[improvementUnique.params[0]]!! + return ruleset.tileImprovements[improvementUnique.params[0]] } fun isSellable() = !isWonder && !isNationalWonder && !uniques.contains("Unsellable") diff --git a/core/src/com/unciv/models/ruleset/Ruleset.kt b/core/src/com/unciv/models/ruleset/Ruleset.kt index 804c940e1f..ea30d63bb5 100644 --- a/core/src/com/unciv/models/ruleset/Ruleset.kt +++ b/core/src/com/unciv/models/ruleset/Ruleset.kt @@ -278,6 +278,9 @@ class Ruleset { lines += "${building.name} requires ${building.requiredBuildingInAllCities} in all cities which does not exist!" if (building.providesFreeBuilding != null && !buildings.containsKey(building.providesFreeBuilding!!)) lines += "${building.name} provides a free ${building.providesFreeBuilding} which does not exist!" + for (unique in building.uniqueObjects) + if (unique.placeholderText == "Creates a [] improvement on a specific tile" && !tileImprovements.containsKey(unique.params[0])) + lines += "${building.name} creates a ${unique.params[0]} improvement which does not exist!" } for (resource in tileResources.values) {