Replace existing 'unique with condition' with a new Conditional, applicable everywhere

This commit is contained in:
Yair Morgenstern
2022-02-07 17:15:10 +02:00
parent 8fda18db42
commit fb77a9e6b1
2 changed files with 3 additions and 0 deletions

View File

@ -87,6 +87,7 @@ class Unique(val text: String, val sourceObjectType: UniqueTarget? = null, val s
return when (condition.type) { return when (condition.type) {
UniqueType.ConditionalWar -> state.civInfo?.isAtWar() == true UniqueType.ConditionalWar -> state.civInfo?.isAtWar() == true
UniqueType.ConditionalNotWar -> state.civInfo?.isAtWar() == false UniqueType.ConditionalNotWar -> state.civInfo?.isAtWar() == false
UniqueType.ConditionalWithResource -> state.civInfo?.hasResource(condition.params[0]) == true
UniqueType.ConditionalHappy -> UniqueType.ConditionalHappy ->
state.civInfo != null && state.civInfo.statsForNextTurn.happiness >= 0 state.civInfo != null && state.civInfo.statsForNextTurn.happiness >= 0
UniqueType.ConditionalBetweenHappiness -> UniqueType.ConditionalBetweenHappiness ->

View File

@ -320,6 +320,7 @@ enum class UniqueType(val text: String, vararg targets: UniqueTarget, val flags:
RequiresBuildingInAllCities("Requires a [buildingName] in all cities", UniqueTarget.Building), RequiresBuildingInAllCities("Requires a [buildingName] in all cities", UniqueTarget.Building),
RequiresBuildingInSomeCities("Requires a [buildingName] in at least [amount] cities", UniqueTarget.Building), RequiresBuildingInSomeCities("Requires a [buildingName] in at least [amount] cities", UniqueTarget.Building),
@Deprecated("as of 3.19.7", ReplaceWith("[stats] <with [resource]>"))
StatsWithResource("[stats] with [resource]", UniqueTarget.Building), StatsWithResource("[stats] with [resource]", UniqueTarget.Building),
@ -541,6 +542,7 @@ enum class UniqueType(val text: String, vararg targets: UniqueTarget, val flags:
ConditionalWar("when at war", UniqueTarget.Conditional), ConditionalWar("when at war", UniqueTarget.Conditional),
ConditionalNotWar("when not at war", UniqueTarget.Conditional), ConditionalNotWar("when not at war", UniqueTarget.Conditional),
ConditionalGoldenAge("during a Golden Age", UniqueTarget.Conditional), ConditionalGoldenAge("during a Golden Age", UniqueTarget.Conditional),
ConditionalWithResource("with [resource]", UniqueTarget.Conditional),
ConditionalHappy("while the empire is happy", UniqueTarget.Conditional), ConditionalHappy("while the empire is happy", UniqueTarget.Conditional),
ConditionalBetweenHappiness("when between [amount] and [amount] Happiness", UniqueTarget.Conditional), ConditionalBetweenHappiness("when between [amount] and [amount] Happiness", UniqueTarget.Conditional),