From 2c8e50f20c84f65b19bc1d983e2715f827ee19d8 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/vehicle.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/vehicle.cpp') diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 2e37d1c15..003f21b47 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -91,8 +91,10 @@ void VehicleServiceInDepot(Vehicle *v) bool VehicleNeedsService(const Vehicle *v) { - if (v->vehstatus & VS_CRASHED) - return false; // Crashed vehicles don't need service anymore + if (v->vehstatus & (VS_STOPPED | VS_CRASHED)) return false; + if (_patches.gotodepot && VehicleHasDepotOrders(v)) return false; + if (v->current_order.type == OT_LOADING) return false; + if (v->current_order.type == OT_GOTO_DEPOT && v->current_order.flags & OF_HALT_IN_DEPOT) return false; if (_patches.no_servicing_if_no_breakdowns && _opt.diff.vehicle_breakdowns == 0) { return EngineHasReplacementForPlayer(GetPlayer(v->owner), v->engine_type, v->group_id); /* Vehicles set for autoreplacing needs to go to a depot even if breakdowns are turned off */ -- cgit v1.2.3-54-g00ecf