If we're already at it, same thing for anti-local effects, this should help performance in the tileInfo.getStats() function

This commit is contained in:
yairm210 2021-10-31 22:24:27 +02:00
parent bf568a44eb
commit b7f9472308
2 changed files with 3 additions and 2 deletions

View File

@ -727,14 +727,14 @@ class CityInfo {
// Matching uniques provided by sources in the city itself
fun getLocalMatchingUniques(placeholderText: String): Sequence<Unique> {
return cityConstructions.builtBuildingUniqueMap.getUniques(placeholderText)
.filter { it.params.none { param -> param == "in other cities" } } +
.filter { !it.isAntiLocalEffect } +
religion.getUniques().filter { it.placeholderText == placeholderText }
}
fun getLocalMatchingUniques(uniqueType: UniqueType, stateForConditionals: StateForConditionals? = null): Sequence<Unique> {
return (
cityConstructions.builtBuildingUniqueMap.getUniques(uniqueType)
.filter { it.params.none { param -> param == "in other cities" } }
.filter { !it.isAntiLocalEffect }
+ religion.getUniques().filter { it.isOfType(uniqueType) }
).filter {
it.conditionalsApply(stateForConditionals)

View File

@ -27,6 +27,7 @@ class Unique(val text: String, val sourceObjectType: UniqueTarget? = null, val s
val allParams = params + conditionals.flatMap { it.params }
val isLocalEffect = params.contains("in this city")
val isAntiLocalEffect = params.contains("in other cities")
fun isOfType(uniqueType: UniqueType) = uniqueType == type