From 799a74509918f06ef69f8d900d33b0392c1d1aa3 Mon Sep 17 00:00:00 2001 From: michi_cc Date: Wed, 26 Dec 2012 12:45:19 +0000 Subject: (svn r24855) -Fix [FS#5405]: Don't send aircraft to depots that are out of range of the next destination. --- src/aircraft_cmd.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/aircraft_cmd.cpp') 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; -- cgit v1.2.3-54-g00ecf