Resolved #13451 - 'connect road' works when railroads don't exist in the ruleset

This commit is contained in:
yairm210 2025-06-17 16:09:13 +03:00
parent b01e1df24d
commit 3515445bf8
2 changed files with 6 additions and 6 deletions

View File

@ -24,8 +24,8 @@ object MapPathing {
}
fun isValidRoadPathTile(unit: MapUnit, tile: Tile): Boolean {
val roadImprovement = tile.ruleset.roadImprovement ?: return false
val railRoadImprovement = tile.ruleset.railroadImprovement ?: return false
val roadImprovement = tile.ruleset.roadImprovement
val railRoadImprovement = tile.ruleset.railroadImprovement
if (tile.isWater) return false
if (tile.isImpassible()) return false
@ -34,8 +34,8 @@ object MapPathing {
return tile.hasRoadConnection(unit.civ, false)
|| tile.hasRailroadConnection(false)
|| tile.improvementFunctions.canBuildImprovement(roadImprovement, unit.civ)
|| tile.improvementFunctions.canBuildImprovement(railRoadImprovement, unit.civ)
|| roadImprovement != null && tile.improvementFunctions.canBuildImprovement(roadImprovement, unit.civ)
|| railRoadImprovement != null && tile.improvementFunctions.canBuildImprovement(railRoadImprovement, unit.civ)
}
/**

View File

@ -141,8 +141,8 @@ class Ruleset {
}.toSet()
}
val roadImprovement by lazy { RoadStatus.Road.improvement(this) }
val railroadImprovement by lazy { RoadStatus.Railroad.improvement(this) }
val roadImprovement: TileImprovement? by lazy { RoadStatus.Road.improvement(this) }
val railroadImprovement: TileImprovement? by lazy { RoadStatus.Railroad.improvement(this) }
//endregion
fun clone(): Ruleset {