summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2008-07-22 23:29:08 +0000
committerrubidium <rubidium@openttd.org>2008-07-22 23:29:08 +0000
commit36ca1ba7233a0e94fd41f02b25e3b53b769b46fe (patch)
treed9cfd8c2d2837d20477cc30e5262251b5d3067d2
parent10c5086a5f766debd4fb641b1e708d03c82c8562 (diff)
downloadopenttd-36ca1ba7233a0e94fd41f02b25e3b53b769b46fe.tar.xz
(svn r13794) -Fix: helicopters leaving a heliport could get stuck after processing conditional orders.
-rw-r--r--src/aircraft_cmd.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp
index dbdf6bd89..43ada5aad 100644
--- a/src/aircraft_cmd.cpp
+++ b/src/aircraft_cmd.cpp
@@ -1631,6 +1631,11 @@ static void AircraftEventHandler_AtTerminal(Vehicle *v, const AirportFTAClass *a
v->u.air.state = (v->subtype == AIR_HELICOPTER) ? HELITAKEOFF : TAKEOFF;
}
break;
+ case OT_CONDITIONAL:
+ /* In case of a conditional order we just have to wait a tick
+ * longer, so the conditional order can actually be processed;
+ * we should not clear the order as that makes us go nowhere. */
+ return;
default: // orders have been deleted (no orders), goto depot and don't bother us
v->current_order.Free();
v->u.air.state = HANGAR;