From 3b3db71fd85cac62fa542793dd2663d677a0afce Mon Sep 17 00:00:00 2001 From: SomeTroglodyte <63000004+SomeTroglodyte@users.noreply.github.com> Date: Fri, 14 Apr 2023 07:28:07 +0200 Subject: [PATCH] Allow city- or tile- related conditionals on PerpetualStatConversion enabling unique (#9183) --- core/src/com/unciv/models/ruleset/IConstruction.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/src/com/unciv/models/ruleset/IConstruction.kt b/core/src/com/unciv/models/ruleset/IConstruction.kt index 120146655f..a477d6ff4c 100644 --- a/core/src/com/unciv/models/ruleset/IConstruction.kt +++ b/core/src/com/unciv/models/ruleset/IConstruction.kt @@ -231,10 +231,12 @@ open class PerpetualStatConversion(val stat: Stat) : fun getConversionRate(city: City) : Int = (1/city.cityStats.getStatConversionRate(stat)).roundToInt() override fun isBuildable(cityConstructions: CityConstructions): Boolean { - if (stat == Stat.Faith && !cityConstructions.city.civ.gameInfo.isReligionEnabled()) + val city = cityConstructions.city + if (stat == Stat.Faith && !city.civ.gameInfo.isReligionEnabled()) return false - return cityConstructions.city.civ.getMatchingUniques(UniqueType.EnablesCivWideStatProduction) + val stateForConditionals = StateForConditionals(city.civ, city, tile = city.getCenterTile()) + return city.civ.getMatchingUniques(UniqueType.EnablesCivWideStatProduction, stateForConditionals) .any { it.params[0] == stat.name } } }