From cadc470da5eeffc9d719dfb0dab6216ed372a3ea Mon Sep 17 00:00:00 2001 From: rubidium Date: Fri, 31 Aug 2007 17:13:39 +0000 Subject: (svn r11017) -Codechange: unify determining whether a vehicle needs/can be service a little more. --- src/train_cmd.cpp | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) (limited to 'src/train_cmd.cpp') diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index caf665cf0..2981eec40 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -3348,18 +3348,8 @@ void Train::Tick() static void CheckIfTrainNeedsService(Vehicle *v) { - if (_patches.servint_trains == 0) return; - if (!VehicleNeedsService(v)) return; - if (v->vehstatus & VS_STOPPED) return; - if (_patches.gotodepot && VehicleHasDepotOrders(v)) return; - - /* Don't interfere with a depot visit scheduled by the user, or a - * depot visit by the order list. */ - if (v->current_order.type == OT_GOTO_DEPOT && - (v->current_order.flags & (OF_HALT_IN_DEPOT | OF_PART_OF_ORDERS)) != 0) - return; - - if (CheckTrainIsInsideDepot(v)) { + if (_patches.servint_trains == 0 || !VehicleNeedsService(v)) return; + if (v->IsInDepot()) { VehicleServiceInDepot(v); return; } @@ -3386,8 +3376,6 @@ static void CheckIfTrainNeedsService(Vehicle *v) return; } - if (v->current_order.type == OT_LOADING) v->LeaveStation(); - v->current_order.type = OT_GOTO_DEPOT; v->current_order.flags = OF_NON_STOP; v->current_order.dest = depot->index; -- cgit v1.2.3-70-g09d2