Skip to content

Commit

Permalink
Add two population-related conditional uniques (#12258)
Browse files Browse the repository at this point in the history
* Added the Conditional Below Population

* Added the Conditional Between Population
  • Loading branch information
PLynx01 authored Oct 6, 2024
1 parent 7fbd8a1 commit 5d1c05d
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 0 deletions.
4 changes: 4 additions & 0 deletions core/src/com/unciv/models/ruleset/unique/Conditionals.kt
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,10 @@ object Conditionals {
checkOnCity { population.getPopulationFilterAmount(conditional.params[1]) >= conditional.params[0].toInt() }
UniqueType.ConditionalExactPopulationFilter ->
checkOnCity { population.getPopulationFilterAmount(conditional.params[1]) == conditional.params[0].toInt() }
UniqueType.ConditionalBetweenPopulationFilter ->
checkOnCity {population.getPopulationFilterAmount(conditional.params[2]) in conditional.params[0].toInt()..conditional.params[1].toInt() }
UniqueType.ConditionalBelowPopulationFilter ->
checkOnCity { population.getPopulationFilterAmount(conditional.params[1]) < conditional.params[0].toInt() }
UniqueType.ConditionalWhenGarrisoned ->
checkOnCity { getCenterTile().militaryUnit?.canGarrison() == true }

Expand Down
2 changes: 2 additions & 0 deletions core/src/com/unciv/models/ruleset/unique/UniqueType.kt
Original file line number Diff line number Diff line change
Expand Up @@ -729,6 +729,8 @@ enum class UniqueType(
ConditionalCityWithoutBuilding("in cities without a [buildingFilter]", UniqueTarget.Conditional),
ConditionalPopulationFilter("in cities with at least [amount] [populationFilter]", UniqueTarget.Conditional),
ConditionalExactPopulationFilter("in cities with [amount] [populationFilter]", UniqueTarget.Conditional),
ConditionalBetweenPopulationFilter("in cities with between [amount] and [amount] [populationFilter]", UniqueTarget.Conditional),
ConditionalBelowPopulationFilter("in cities with less than [amount] [populationFilter]", UniqueTarget.Conditional),
ConditionalWhenGarrisoned("with a garrison", UniqueTarget.Conditional),

/////// unit conditionals
Expand Down
10 changes: 10 additions & 0 deletions docs/Modders/uniques.md
Original file line number Diff line number Diff line change
Expand Up @@ -3005,6 +3005,16 @@ If your mod renames Coast or Lakes, do not use this with one of these as paramet

Applicable to: Conditional

??? example "&lt;in cities with between [amount] and [amount] [populationFilter]&gt;"
Example: "&lt;in cities with between [3] and [3] [Followers of this Religion]&gt;"

Applicable to: Conditional

??? example "&lt;in cities with less than [amount] [populationFilter]&gt;"
Example: "&lt;in cities with less than [3] [Followers of this Religion]&gt;"

Applicable to: Conditional

??? example "&lt;with a garrison&gt;"
Applicable to: Conditional

Expand Down

0 comments on commit 5d1c05d

Please sign in to comment.