A Conditional checking for a Building globally (#10996)

This commit is contained in:
SomeTroglodyte
2024-01-24 22:47:53 +01:00
committed by GitHub
parent 5e1a0f6da9
commit 4c66b4368a
3 changed files with 8 additions and 0 deletions

View File

@ -284,6 +284,8 @@ class Unique(val text: String, val sourceObjectType: UniqueTarget? = null, val s
checkOnCiv { religionManager.religionState >= ReligionState.EnhancedReligion }
UniqueType.ConditionalBuildingBuilt ->
checkOnCiv { cities.any { it.cityConstructions.containsBuildingOrEquivalent(condition.params[0]) } }
UniqueType.ConditionalBuildingBuiltByAnybody ->
checkOnCiv { gameInfo.getCities().any { it.cityConstructions.containsBuildingOrEquivalent(condition.params[0]) } }
// Filtered via city.getMatchingUniques
UniqueType.ConditionalInThisCity -> true

View File

@ -638,6 +638,7 @@ enum class UniqueType(
ConditionalAfterEnhancingReligion("after enhancing a religion", UniqueTarget.Conditional),
ConditionalBuildingBuilt("if [buildingFilter] is constructed", UniqueTarget.Conditional),
ConditionalBuildingBuiltByAnybody("if [buildingFilter] is constructed by anybody", UniqueTarget.Conditional),
ConditionalWithResource("with [resource]", UniqueTarget.Conditional),
ConditionalWithoutResource("without [resource]", UniqueTarget.Conditional),

View File

@ -1937,6 +1937,11 @@ Simple unique parameters are explained by mouseover. Complex parameters are expl
Applicable to: Conditional
??? example "<if [buildingFilter] is constructed by anybody>"
Example: "<if [Culture] is constructed by anybody>"
Applicable to: Conditional
??? example "<with [resource]>"
Example: "<with [Iron]>"