Allow city- or tile- related conditionals on PerpetualStatConversion enabling unique (#9183)

This commit is contained in:
SomeTroglodyte 2023-04-14 07:28:07 +02:00 committed by GitHub
parent 26d16fc1cc
commit 3b3db71fd8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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 }
}
}