From cc8bfa605f80f1affec565f7985666c12d395485 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Sun, 5 Mar 2023 10:59:36 +0200 Subject: [PATCH] Resolves #8630 - can only purchase units when not disabled by setting or otherwise --- core/src/com/unciv/models/ruleset/unit/BaseUnit.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/src/com/unciv/models/ruleset/unit/BaseUnit.kt b/core/src/com/unciv/models/ruleset/unit/BaseUnit.kt index 9dabecc72d..65e64f8889 100644 --- a/core/src/com/unciv/models/ruleset/unit/BaseUnit.kt +++ b/core/src/com/unciv/models/ruleset/unit/BaseUnit.kt @@ -12,10 +12,10 @@ import com.unciv.models.ruleset.RulesetObject import com.unciv.models.ruleset.unique.UniqueTarget import com.unciv.models.ruleset.unique.UniqueType import com.unciv.models.stats.Stat -import com.unciv.ui.screens.civilopediascreen.FormattedLine import com.unciv.ui.components.extensions.filterAndLogic import com.unciv.ui.components.extensions.getNeedMoreAmountString import com.unciv.ui.components.extensions.toPercent +import com.unciv.ui.screens.civilopediascreen.FormattedLine import kotlin.math.pow // This is BaseUnit because Unit is already a base Kotlin class and to avoid mixing the two up @@ -84,6 +84,8 @@ class BaseUnit : RulesetObject(), INonPerpetualConstruction { override fun canBePurchasedWithStat(city: City?, stat: Stat): Boolean { if (city == null) return super.canBePurchasedWithStat(city, stat) + if (getRejectionReasons(city.civ, city).any { it.type != RejectionReasonType.Unbuildable }) + return false if (costFunctions.canBePurchasedWithStat(city, stat)) return true return super.canBePurchasedWithStat(city, stat) }