diff options
-rw-r--r-- | src/aircraft_cmd.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp index 36110654a..d273b8f36 100644 --- a/src/aircraft_cmd.cpp +++ b/src/aircraft_cmd.cpp @@ -136,6 +136,11 @@ static StationID FindNearestHangar(const Aircraft *v) /* v->tile can't be used here, when aircraft is flying v->tile is set to 0 */ uint distance = DistanceSquare(vtile, st->airport.tile); + if (v->acache.cached_max_range_sqr != 0) { + /* Check if our current destination can be reached from the depot airport. */ + const Station *cur_dest = GetTargetAirportIfValid(v); + if (cur_dest != NULL && DistanceSquare(st->airport.tile, cur_dest->airport.tile) > v->acache.cached_max_range_sqr) continue; + } if (distance < best || index == INVALID_STATION) { best = distance; index = st->index; |