diff options
author | michi_cc <michi_cc@openttd.org> | 2011-12-13 00:43:59 +0000 |
---|---|---|
committer | michi_cc <michi_cc@openttd.org> | 2011-12-13 00:43:59 +0000 |
commit | a085ea9e4b9078c647304e85d4c03980b71ced22 (patch) | |
tree | 0402e72db8caaf57ca38b3dd71312f9375eb389c /src/script/api/script_vehicle.cpp | |
parent | 34ffd08a19e1156260223256d87a4cdfa7a080e0 (diff) | |
download | openttd-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.cpp | 18 |
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; + } +} |