mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-27 13:55:54 -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) {
|
return when (filter) {
|
||||||
"Human player" -> isHuman()
|
"Human player" -> isHuman()
|
||||||
"AI player" -> isAI()
|
"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)
|
else -> nation.matchesFilter(filter, state, false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -153,11 +153,13 @@ enum class Countables(
|
|||||||
override fun eval(parameterText: String, gameContext: GameContext): Int? {
|
override fun eval(parameterText: String, gameContext: GameContext): Int? {
|
||||||
val filter = parameterText.getPlaceholderParameters()[0]
|
val filter = parameterText.getPlaceholderParameters()[0]
|
||||||
val civilizations = gameContext.gameInfo?.civilizations ?: return null
|
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? =
|
override fun getErrorSeverity(parameterText: String, ruleset: Ruleset): UniqueType.UniqueParameterErrorSeverity? =
|
||||||
UniqueParameterType.CivFilter.getTranslatedErrorSeverity(parameterText, ruleset)
|
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") {
|
OwnedTiles("Owned [tileFilter] Tiles") {
|
||||||
override fun eval(parameterText: String, gameContext: GameContext): Int? {
|
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] */
|
/** Implemented by [Civ.matchesFilter][com.unciv.logic.civilization.Civilization.matchesFilter] */
|
||||||
CivFilter("civFilter", Constants.cityStates) {
|
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)
|
override fun getErrorSeverity(parameterText: String, ruleset: Ruleset) = getErrorSeverityForFilter(parameterText, ruleset)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user