mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r24390) -Change [FS#5213]: Allow cloning of orders which are unreachable for the destination vehicle if they were already unreachable for the source vehicle. This makes cloning/autorenewing/autoreplacing behave more smooth during station reconstruction.
This commit is contained in:
parent
6aa2b757aa
commit
0ead281439
|
@ -1472,8 +1472,13 @@ CommandCost CmdCloneOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32
|
||||||
const Order *order;
|
const Order *order;
|
||||||
|
|
||||||
FOR_VEHICLE_ORDERS(src, order) {
|
FOR_VEHICLE_ORDERS(src, order) {
|
||||||
if (OrderGoesToStation(dst, order) &&
|
if (!OrderGoesToStation(dst, order)) continue;
|
||||||
!CanVehicleUseStation(dst, Station::Get(order->GetDestination()))) {
|
|
||||||
|
/* Allow copying unreachable destinations if they were already unreachable for the source.
|
||||||
|
* This is basically to allow cloning / autorenewing / autoreplacing vehicles, while the stations
|
||||||
|
* are temporarily invalid due to reconstruction. */
|
||||||
|
const Station *st = Station::Get(order->GetDestination());
|
||||||
|
if (CanVehicleUseStation(src, st) && !CanVehicleUseStation(dst, st)) {
|
||||||
return_cmd_error(STR_ERROR_CAN_T_COPY_SHARE_ORDER);
|
return_cmd_error(STR_ERROR_CAN_T_COPY_SHARE_ORDER);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue