Modding: Added 'worked' and 'pillaged' tile filter options

This commit is contained in:
yairm210 2025-02-27 16:01:19 +02:00
parent 5a7813b5bd
commit 19d67f4175
3 changed files with 5 additions and 1 deletions

View File

@ -480,6 +480,8 @@ class Tile : IsPartOfGameInfoSerialization, Json.Serializable {
if (matchesSingleTerrainFilter(filter, civInfo)) return true
if ((improvement == null || improvementIsPillaged) && filter == "unimproved") return true
if (improvement != null && !improvementIsPillaged && filter == "improved") return true
if (isPillaged() && filter == "pillaged") return true
if (filter == "worked" && isWorked()) return true
if (getUnpillagedTileImprovement()?.matchesFilter(filter, stateThisTile, false) == true) return true
return getUnpillagedRoadImprovement()?.matchesFilter(filter, stateThisTile, false) == true
}

View File

@ -352,7 +352,7 @@ enum class UniqueParameterType(
/** Implemented by [Tile.matchesFilter][com.unciv.logic.map.tile.Tile.matchesFilter] */
TileFilter("tileFilter", "Farm", "Anything that can be used either in an improvementFilter or in a terrainFilter can be used here, plus 'unimproved'", "Tile Filters") {
override val staticKnownValues = setOf("unimproved", "improved", "All Road", "Great Improvement")
override val staticKnownValues = setOf("unimproved", "improved", "worked", "pillaged", "All Road", "Great Improvement")
override fun getErrorSeverity(parameterText: String, ruleset: Ruleset) = getErrorSeverityForFilter(parameterText, ruleset)

View File

@ -299,6 +299,8 @@ Allowed values:
- [improvementFilter](#improvementfilter) for this tile
- `Improvement` or `improved` for tiles with any improvements
- `unimproved` for tiles with no improvement
- `pillaged` for pillaged tiles
- `worked` for tiles worked by a city
You can check this in-game using the console with the `tile checkfilter <filter>` command