mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-27 05:46:43 -04:00
Add diplomacy status to civFilter
This commit is contained in:
parent
a7de6744ae
commit
f42a732960
@ -573,6 +573,9 @@ class Civilization : IsPartOfGameInfoSerialization {
|
||||
return when (filter) {
|
||||
"Human player" -> isHuman()
|
||||
"AI player" -> isAI()
|
||||
"Open Borders" -> state?.civInfo?.diplomacy[civName]?.hasOpenBorders ?: false
|
||||
"Peace" -> state?.civInfo?.let { !diplomacyFunctions.isAtWarWith(it) } ?: false
|
||||
"War" -> state?.civInfo?.let { diplomacyFunctions.isAtWarWith(it) } ?: false
|
||||
else -> nation.matchesFilter(filter, state, false)
|
||||
}
|
||||
}
|
||||
|
@ -153,11 +153,13 @@ enum class Countables(
|
||||
override fun eval(parameterText: String, gameContext: GameContext): Int? {
|
||||
val filter = parameterText.getPlaceholderParameters()[0]
|
||||
val civilizations = gameContext.gameInfo?.civilizations ?: return null
|
||||
return civilizations.count { it.isAlive() && it.matchesFilter(filter) }
|
||||
return civilizations.count { it.isAlive() && it.matchesFilter(filter, gameContext) }
|
||||
}
|
||||
override fun getErrorSeverity(parameterText: String, ruleset: Ruleset): UniqueType.UniqueParameterErrorSeverity? =
|
||||
UniqueParameterType.CivFilter.getTranslatedErrorSeverity(parameterText, ruleset)
|
||||
override fun getKnownValuesForAutocomplete(ruleset: Ruleset) = setOf<String>()
|
||||
override fun getKnownValuesForAutocomplete(ruleset: Ruleset): Set<String> =
|
||||
UniqueParameterType.CivFilter.getKnownValuesForAutocomplete(ruleset)
|
||||
.map { text.fillPlaceholders(it) }.toSet()
|
||||
},
|
||||
OwnedTiles("Owned [tileFilter] Tiles") {
|
||||
override fun eval(parameterText: String, gameContext: GameContext): Int? {
|
||||
|
@ -215,7 +215,7 @@ enum class UniqueParameterType(
|
||||
|
||||
/** Implemented by [Civ.matchesFilter][com.unciv.logic.civilization.Civilization.matchesFilter] */
|
||||
CivFilter("civFilter", Constants.cityStates) {
|
||||
override val staticKnownValues = setOf("AI player", "Human player")
|
||||
override val staticKnownValues = setOf("AI player", "Human player", "Open Borders", "Peace", "War")
|
||||
|
||||
override fun getErrorSeverity(parameterText: String, ruleset: Ruleset) = getErrorSeverityForFilter(parameterText, ruleset)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user