summaryrefslogtreecommitdiff
path: root/src/ship_cmd.cpp
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2007-08-31 17:13:39 +0000
committerrubidium <rubidium@openttd.org>2007-08-31 17:13:39 +0000
commit2c8e50f20c84f65b19bc1d983e2715f827ee19d8 (patch)
tree9b85848c6535d62d87e3afbd781847214c62b4e2 /src/ship_cmd.cpp
parent976ce8ad3f16f2e1f38672eae3eeb6700a920f72 (diff)
downloadopenttd-2c8e50f20c84f65b19bc1d983e2715f827ee19d8.tar.xz
(svn r11017) -Codechange: unify determining whether a vehicle needs/can be service a little more.
Diffstat (limited to 'src/ship_cmd.cpp')
-rw-r--r--src/ship_cmd.cpp16
1 files changed, 2 insertions, 14 deletions
diff --git a/src/ship_cmd.cpp b/src/ship_cmd.cpp
index 5b13a2580..67e358d41 100644
--- a/src/ship_cmd.cpp
+++ b/src/ship_cmd.cpp
@@ -140,24 +140,13 @@ static const Depot* FindClosestShipDepot(const Vehicle* v)
static void CheckIfShipNeedsService(Vehicle *v)
{
- const Depot* depot;
-
- if (_patches.servint_ships == 0) return;
- if (!VehicleNeedsService(v)) return;
- if (v->vehstatus & VS_STOPPED) return;
-
- if (v->current_order.type == OT_GOTO_DEPOT &&
- v->current_order.flags & OF_HALT_IN_DEPOT)
- return;
-
- if (_patches.gotodepot && VehicleHasDepotOrders(v)) return;
-
+ if (_patches.servint_ships == 0 || !VehicleNeedsService(v)) return;
if (v->IsInDepot()) {
VehicleServiceInDepot(v);
return;
}
- depot = FindClosestShipDepot(v);
+ const Depot *depot = FindClosestShipDepot(v);
if (depot == NULL || DistanceManhattan(v->tile, depot->xy) > 12) {
if (v->current_order.type == OT_GOTO_DEPOT) {
@@ -168,7 +157,6 @@ static void CheckIfShipNeedsService(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;