diff --git a/core/src/com/unciv/models/ruleset/Ruleset.kt b/core/src/com/unciv/models/ruleset/Ruleset.kt index 179eba4d0f..f79944267d 100644 --- a/core/src/com/unciv/models/ruleset/Ruleset.kt +++ b/core/src/com/unciv/models/ruleset/Ruleset.kt @@ -251,6 +251,8 @@ class Ruleset { lines += "${building.name} requires resource ${building.requiredResource} which does not exist!" if (building.replaces != null && !buildings.containsKey(building.replaces!!)) lines += "${building.name} replaces ${building.replaces} which does not exist!" + if (building.requiredTech == null && building.cost == 0) + lines += "${building.name} must either have an explicit cost or reference an existing tech!" } for (resource in tileResources.values) { diff --git a/core/src/com/unciv/ui/utils/ImageGetter.kt b/core/src/com/unciv/ui/utils/ImageGetter.kt index 3e27181ec2..9d6c79cc0f 100644 --- a/core/src/com/unciv/ui/utils/ImageGetter.kt +++ b/core/src/com/unciv/ui/utils/ImageGetter.kt @@ -272,7 +272,7 @@ object ImageGetter { fun getResourceImage(resourceName: String, size:Float): Actor { val iconGroup = getImage("ResourceIcons/$resourceName").surroundWithCircle(size) val resource = ruleset.tileResources[resourceName] - if (resource == null) throw Exception("No resource $resourceName found in ruleset!") + if (resource == null) return iconGroup // This is the result of a bad modding setup, just give em an empty circle. Their problem. iconGroup.circle.color = getColorFromStats(resource) if (resource.resourceType == ResourceType.Luxury) {