Solved crashing 'head towards sieged city' bug

This commit is contained in:
Yair Morgenstern 2021-06-29 22:35:22 +03:00
parent 4d16b3fcf8
commit d3f639e29c
2 changed files with 3 additions and 2 deletions

View File

@ -298,7 +298,7 @@ object UnitAutomation {
val reachableTileNearSiegedCity = siegedCities
.flatMap { it.getCenterTile().getTilesAtDistance(2) }
.sortedBy { it.aerialDistanceTo(unit.currentTile) }
.firstOrNull { unit.movement.canReach(it) }
.firstOrNull { unit.movement.canMoveTo(it) && unit.movement.canReach(it) }
if (reachableTileNearSiegedCity != null) {
unit.movement.headTowards(reachableTileNearSiegedCity)

View File

@ -215,7 +215,8 @@ class UnitMovementAlgorithms(val unit:MapUnit) {
return unit.currentTile
}
/** This is performance-heavy - use as last resort, only after checking everything else! */
/** This is performance-heavy - use as last resort, only after checking everything else!
* Also note that REACHABLE tiles are not necessarily tiles that the unit CAN ENTER */
fun canReach(destination: TileInfo): Boolean {
if (unit.type.isAirUnit() || unit.type.isMissile() || unit.action == Constants.unitActionParadrop)
return canReachInCurrentTurn(destination)