Clear order wait times when changing to a non-stopping order

pull/362/head
Jonathan G Rennison 2 years ago
parent dd312ef9a4
commit 9e1a78c86e

@ -1891,6 +1891,9 @@ CommandCost CmdModifyOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
order->SetRefit(CT_NO_REFIT);
order->SetLoadType(OLF_LOAD_IF_POSSIBLE);
order->SetUnloadType(OUF_UNLOAD_IF_POSSIBLE);
if (order->IsWaitTimetabled() || order->GetWaitTime() > 0) {
DoCommandEx(tile, v->index | (MTF_WAIT_TIME << 28) | (1 << 31), 0, p3, flags, CMD_CHANGE_TIMETABLE);
}
}
break;

@ -206,7 +206,10 @@ CommandCost CmdChangeTimetable(TileIndex tile, DoCommandFlag flags, uint32 p1, u
if (wait_time != order->GetWaitTime() || leave_type != order->GetLeaveType()) {
switch (order->GetType()) {
case OT_GOTO_STATION:
if (order->GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION) return_cmd_error(STR_ERROR_TIMETABLE_NOT_STOPPING_HERE);
if (order->GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION) {
if (mtf == MTF_WAIT_TIME && clear_field) break;
return_cmd_error(STR_ERROR_TIMETABLE_NOT_STOPPING_HERE);
}
break;
case OT_GOTO_DEPOT:

Loading…
Cancel
Save