diff options
-rw-r--r-- | src/order_cmd.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/order_cmd.cpp b/src/order_cmd.cpp index 08c404785..912e5b2a8 100644 --- a/src/order_cmd.cpp +++ b/src/order_cmd.cpp @@ -583,10 +583,12 @@ int32 CmdSkipOrder(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) if (v->type == VEH_ROAD) ClearSlot(v); - /* NON-stop flag is misused to see if a train is in a station that is - * on his order list or not */ - if (v->current_order.type == OT_LOADING && HASBIT(v->current_order.flags, OFB_NON_STOP)) - v->current_order.flags = 0; + if (v->current_order.type == OT_LOADING) { + v->LeaveStation(); + /* NON-stop flag is misused to see if a train is in a station that is + * on his order list or not */ + if (HASBIT(v->current_order.flags, OFB_NON_STOP)) v->current_order.flags = 0; + } InvalidateVehicleOrder(v); } |