mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-21 21:30:20 +07:00
Water units can no longer see over hills etc.
This commit is contained in:
@ -63,7 +63,7 @@ class BattleHelper {
|
|||||||
val tilesInAttackRange =
|
val tilesInAttackRange =
|
||||||
if (unit.hasUnique("Ranged attacks may be performed over obstacles") || unit.type.isAirUnit())
|
if (unit.hasUnique("Ranged attacks may be performed over obstacles") || unit.type.isAirUnit())
|
||||||
reachableTile.getTilesInDistance(rangeOfAttack)
|
reachableTile.getTilesInDistance(rangeOfAttack)
|
||||||
else reachableTile.getViewableTilesList(rangeOfAttack, unit.type.isWaterUnit())
|
else reachableTile.getViewableTilesList(rangeOfAttack)
|
||||||
.asSequence()
|
.asSequence()
|
||||||
|
|
||||||
attackableTiles += tilesInAttackRange.filter { it in tilesWithEnemies }
|
attackableTiles += tilesInAttackRange.filter { it in tilesWithEnemies }
|
||||||
|
@ -161,7 +161,7 @@ class MapUnit {
|
|||||||
val tile = getTile()
|
val tile = getTile()
|
||||||
if (tile.baseTerrain == Constants.hill && type.isLandUnit()) visibilityRange += 1
|
if (tile.baseTerrain == Constants.hill && type.isLandUnit()) visibilityRange += 1
|
||||||
|
|
||||||
viewableTiles = tile.getViewableTilesList(visibilityRange, type.isWaterUnit())
|
viewableTiles = tile.getViewableTilesList(visibilityRange)
|
||||||
}
|
}
|
||||||
civInfo.updateViewableTiles() // for the civ
|
civInfo.updateViewableTiles() // for the civ
|
||||||
}
|
}
|
||||||
|
@ -262,8 +262,8 @@ open class TileInfo {
|
|||||||
fun hasViewableResource(civInfo: CivilizationInfo): Boolean =
|
fun hasViewableResource(civInfo: CivilizationInfo): Boolean =
|
||||||
resource != null && (getTileResource().revealedBy == null || civInfo.tech.isResearched(getTileResource().revealedBy!!))
|
resource != null && (getTileResource().revealedBy == null || civInfo.tech.isResearched(getTileResource().revealedBy!!))
|
||||||
|
|
||||||
fun getViewableTilesList(distance:Int, ignoreCurrentTileHeight: Boolean): List<TileInfo> =
|
fun getViewableTilesList(distance:Int): List<TileInfo> =
|
||||||
tileMap.getViewableTiles(position, distance, ignoreCurrentTileHeight)
|
tileMap.getViewableTiles(position, distance)
|
||||||
|
|
||||||
fun getTilesInDistance(distance: Int): Sequence<TileInfo> =
|
fun getTilesInDistance(distance: Int): Sequence<TileInfo> =
|
||||||
tileMap.getTilesInDistance(position,distance)
|
tileMap.getTilesInDistance(position,distance)
|
||||||
|
@ -177,10 +177,7 @@ class TileMap {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fun getViewableTiles(position: Vector2, sightDistance: Int, ignoreCurrentTileHeight: Boolean)
|
fun getViewableTiles(position: Vector2, sightDistance: Int): List<TileInfo> {
|
||||||
: List<TileInfo> {
|
|
||||||
if (ignoreCurrentTileHeight) return getTilesInDistance(position, sightDistance).toList()
|
|
||||||
|
|
||||||
val viewableTiles = getTilesInDistance(position, 1).toMutableList()
|
val viewableTiles = getTilesInDistance(position, 1).toMutableList()
|
||||||
val currentTileHeight = get(position).getHeight()
|
val currentTileHeight = get(position).getHeight()
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user