summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/order_cmd.cpp3
-rw-r--r--src/ship.h2
-rw-r--r--src/ship_cmd.cpp2
3 files changed, 5 insertions, 2 deletions
diff --git a/src/order_cmd.cpp b/src/order_cmd.cpp
index ba8a1a060..093e4b9b5 100644
--- a/src/order_cmd.cpp
+++ b/src/order_cmd.cpp
@@ -23,6 +23,7 @@
#include "core/random_func.hpp"
#include "aircraft.h"
#include "roadveh.h"
+#include "ship.h"
#include "station_base.h"
#include "waypoint_base.h"
#include "company_base.h"
@@ -929,7 +930,7 @@ CommandCost CmdInsertOrder(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3
dist = GetOrderDistance(prev, &new_order, v);
}
- if (dist >= 130) {
+ if (dist >= SHIP_MAX_ORDER_DISTANCE) {
return_cmd_error(STR_ERROR_TOO_FAR_FROM_PREVIOUS_DESTINATION);
}
}
diff --git a/src/ship.h b/src/ship.h
index 0f396a237..7fea5fc1d 100644
--- a/src/ship.h
+++ b/src/ship.h
@@ -48,6 +48,8 @@ struct Ship FINAL : public SpecializedVehicle<Ship, VEH_SHIP> {
void UpdateCache();
};
+static const uint SHIP_MAX_ORDER_DISTANCE = 130;
+
/**
* Iterate over all ships.
* @param var The variable used for iteration.
diff --git a/src/ship_cmd.cpp b/src/ship_cmd.cpp
index 080015eac..79560be04 100644
--- a/src/ship_cmd.cpp
+++ b/src/ship_cmd.cpp
@@ -459,7 +459,7 @@ static Track ChooseShipTrack(Ship *v, TileIndex tile, DiagDirection enterdir, Tr
bool path_found = true;
Track track;
- if (v->dest_tile == 0 || DistanceManhattan(tile, v->dest_tile) > 130) {
+ if (v->dest_tile == 0 || DistanceManhattan(tile, v->dest_tile) > SHIP_MAX_ORDER_DISTANCE + 5) {
/* No destination or destination too far, don't invoke pathfinder. */
static const TrackBits direction_to_trackbits[DIR_END] = {
TRACK_BIT_LEFT | TRACK_BIT_RIGHT, // DIR_N