Game no longer crashes due to incorrect building-improvement modding combinations

This commit is contained in:
Yair Morgenstern
2021-03-13 22:35:24 +02:00
parent b658e04048
commit 5564d4db7e
2 changed files with 4 additions and 1 deletions

View File

@ -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")

View File

@ -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) {