summaryrefslogtreecommitdiff
path: root/src/script/api/script_vehicle.cpp
diff options
context:
space:
mode:
authormichi_cc <michi_cc@openttd.org>2011-12-13 00:43:59 +0000
committermichi_cc <michi_cc@openttd.org>2011-12-13 00:43:59 +0000
commita085ea9e4b9078c647304e85d4c03980b71ced22 (patch)
tree0402e72db8caaf57ca38b3dd71312f9375eb389c /src/script/api/script_vehicle.cpp
parent34ffd08a19e1156260223256d87a4cdfa7a080e0 (diff)
downloadopenttd-a085ea9e4b9078c647304e85d4c03980b71ced22.tar.xz
(svn r23506) -Add: [NoAI] Support for dealing with aircraft range.
Diffstat (limited to 'src/script/api/script_vehicle.cpp')
-rw-r--r--src/script/api/script_vehicle.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/script/api/script_vehicle.cpp b/src/script/api/script_vehicle.cpp
index d536aa8a7..956c22225 100644
--- a/src/script/api/script_vehicle.cpp
+++ b/src/script/api/script_vehicle.cpp
@@ -22,6 +22,7 @@
#include "../../roadveh.h"
#include "../../train.h"
#include "../../vehicle_func.h"
+#include "../../aircraft.h"
#include "table/strings.h"
/* static */ bool ScriptVehicle::IsValidVehicle(VehicleID vehicle_id)
@@ -421,3 +422,20 @@
const Vehicle *v = ::Vehicle::Get(vehicle_id);
return ::ToPercent16(v->reliability);
}
+
+/* static */ uint ScriptVehicle::GetMaximumOrderDistance(VehicleID vehicle_id)
+{
+ if (!IsValidVehicle(vehicle_id)) return 0;
+
+ const ::Vehicle *v = ::Vehicle::Get(vehicle_id);
+ switch (v->type) {
+ case VEH_SHIP:
+ return _settings_game.pf.pathfinder_for_ships != VPF_NPF ? 129 : 0;
+
+ case VEH_AIRCRAFT:
+ return ::Aircraft::From(v)->acache.cached_max_range_sqr;
+
+ default:
+ return 0;
+ }
+}