diff options
Diffstat (limited to 'src/script/api/script_engine.cpp')
-rw-r--r-- | src/script/api/script_engine.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/script/api/script_engine.cpp b/src/script/api/script_engine.cpp index 068285dea..6c9d3c709 100644 --- a/src/script/api/script_engine.cpp +++ b/src/script/api/script_engine.cpp @@ -248,3 +248,19 @@ return (ScriptAirport::PlaneType)::AircraftVehInfo(engine_id)->subtype; } + +/* static */ uint ScriptEngine::GetMaximumOrderDistance(EngineID engine_id) +{ + if (!IsValidEngine(engine_id)) return 0; + + switch (GetVehicleType(engine_id)) { + case ScriptVehicle::VT_WATER: + return _settings_game.pf.pathfinder_for_ships != VPF_NPF ? 129 : 0; + + case ScriptVehicle::VT_AIR: + return ::Engine::Get(engine_id)->GetRange() * ::Engine::Get(engine_id)->GetRange(); + + default: + return 0; + } +} |