@@ -1625,28 +1625,30 @@ bool UpdateOrderDest(Vehicle *v, const O
case OT_GOTO_WAYPOINT:
v->dest_tile = GetWaypoint(order->GetDestination())->xy;
break;
case OT_CONDITIONAL: {
if (conditional_depth > v->num_orders) return false;
VehicleOrderID next_order = ProcessConditionalOrder(order, v);
if (next_order != INVALID_VEH_ORDER_ID) {
UpdateVehicleTimetable(v, false);
v->cur_order_index = next_order;
v->current_order_time += GetVehicleOrder(v, next_order)->travel_time;
} else {
UpdateVehicleTimetable(v, true);
v->cur_order_index++;
}
/* Get the current order */
if (v->cur_order_index >= v->num_orders) v->cur_order_index = 0;
return UpdateOrderDest(v, GetVehicleOrder(v, v->cur_order_index), conditional_depth + 1);
const Order *order = GetVehicleOrder(v, v->cur_order_index);
v->current_order = *order;
return UpdateOrderDest(v, order, conditional_depth + 1);
default:
v->dest_tile = 0;
return false;
Status change: