diff options
author | rubidium <rubidium@openttd.org> | 2010-07-27 21:46:55 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2010-07-27 21:46:55 +0000 |
commit | 8df78e7a7b4fcc424e34e3fecbee85b72f1891d0 (patch) | |
tree | 172e7bb0df4c1593f0277d518028ee1ac7340d3f | |
parent | 814be3ae668b6801dfcfb32dfd8df747368dc4e8 (diff) | |
download | openttd-8df78e7a7b4fcc424e34e3fecbee85b72f1891d0.tar.xz |
(svn r20229) -Fix [FS#3986]: "Service at nearest depot" behaved the same as "Go to nearest depot"
-rw-r--r-- | src/order_cmd.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/order_cmd.cpp b/src/order_cmd.cpp index 800c4aca9..0c43bdd3f 100644 --- a/src/order_cmd.cpp +++ b/src/order_cmd.cpp @@ -1712,6 +1712,12 @@ bool UpdateOrderDest(Vehicle *v, const Order *order, int conditional_depth) return true; case OT_GOTO_DEPOT: + if ((order->GetDepotOrderType() & ODTFB_SERVICE) && !v->NeedsServicing()) { + UpdateVehicleTimetable(v, true); + v->IncrementOrderIndex(); + break; + } + if (v->current_order.GetDepotActionType() & ODATFB_NEAREST_DEPOT) { /* We need to search for the nearest depot (hangar). */ TileIndex location; @@ -1738,9 +1744,6 @@ bool UpdateOrderDest(Vehicle *v, const Order *order, int conditional_depth) UpdateVehicleTimetable(v, true); v->IncrementOrderIndex(); - } else if ((order->GetDepotOrderType() & ODTFB_SERVICE) && !v->NeedsServicing()) { - UpdateVehicleTimetable(v, true); - v->IncrementOrderIndex(); } else { if (v->type != VEH_AIRCRAFT) { v->dest_tile = Depot::Get(order->GetDestination())->xy; |