FS#6574 - Heliport "hangar" can cause stuck helicopters if it replaced a helidepot/helistation.

Attached to Project: OpenTTD
Opened by Dan Lee (ddm) - Friday, 16 June 2017, 20:30 GMT
Type Bug
Category Core
Status New
Assigned To No-one
Operating System All
Severity Medium
Priority Normal
Reported Version 1.7.1
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No


When replacing a helidepot or helistation with a heliport, if a helicopter has an order to go to the helidepot/helistation hangar immediately after landing at the helidepot/helistation, the helicopter gets stuck as it tries to path from the helipad to the hangar.

The helicopter can now no longer move at all. Changing it's orders does nothing (including telling it to land at another hangar).

The heliport can also not be destroyed or have any other helicopter land at it; because the helicopter is taking off/landing at it.

Note that if it just has an order to go to the hangar but not land at the station, it will land, take off, circle back, and repeat. (This doesn't cause it to fail to move, it just can't figure out how to get to the non-existent hangar.)

(Just for completeness, I'm using Windows 7 Pro SP1, though I'd assume this is a bug that will occur on any OS.)
This task depends upon

Comment by James (james1101) - Wednesday, 06 September 2017, 01:34 GMT
Looks like the speed of the helicopter is going like: 0, 7, 15, 22, 30, 0, 7, ... mph
Comment by Ricardo (Samu) - Sunday, 12 November 2017, 22:26 GMT
Hi. Here's my suggestion/patch:

When replacing an airport with another, cancel current orders of type 'go to depot' from aircraft still heading to it if the rebuilt airport doesn't have a hangar (helicopter vs heliport), or if the airplane can't land on the rebuilt airport (airplane vs helistation)

Removes 'go to hangar' orders from all aircraft when replacing an airport with hangar with another without hangar (heliport).
Comment by Ricardo (Samu) - Sunday, 19 November 2017, 22:22 GMT
Another patch, less intrusive.

Sends the aircraft to takeoff if the airport it's currently at, got no hangar even if the order is to go to hangar.