(svn r11017) -Codechange: unify determining whether a vehicle needs/can be service a little more.

This commit is contained in:
rubidium
2007-08-31 17:13:39 +00:00
parent 976ce8ad3f
commit 2c8e50f20c
5 changed files with 12 additions and 58 deletions

View File

@@ -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 */