"Must be next to [terrainFilter]" applicable for improvements, as requested

This commit is contained in:
Yair Morgenstern
2022-02-01 14:58:07 +02:00
parent 0ac2c932f6
commit 2e9bc1604f
2 changed files with 4 additions and 1 deletions

View File

@ -486,6 +486,9 @@ open class TileInfo {
improvement.getMatchingUniques(UniqueType.CannotBuildOnTile).any {
unique -> matchesTerrainFilter(unique.params[0])
} -> false
improvement.getMatchingUniques(UniqueType.MustBeNextTo).any { unique ->
neighbors.none { it.matchesFilter(unique.params[0]) }
} -> false
// Road improvements can change on tiles with irremovable improvements - nothing else can, though.
RoadStatus.values().none { it.name == improvement.name || it.removeAction == improvement.name }

View File

@ -324,7 +324,7 @@ enum class UniqueType(val text: String, vararg targets: UniqueTarget, val flags:
MustBeOn("Must be on [terrainFilter]", UniqueTarget.Building),
MustNotBeOn("Must not be on [terrainFilter]", UniqueTarget.Building),
MustBeNextTo("Must be next to [terrainFilter]", UniqueTarget.Building),
MustBeNextTo("Must be next to [terrainFilter]", UniqueTarget.Building, UniqueTarget.Improvement),
MustNotBeNextTo("Must not be next to [terrainFilter]", UniqueTarget.Building),
Unsellable("Unsellable", UniqueTarget.Building),