(svn r23506) -Add: [NoAI] Support for dealing with aircraft range.

This commit is contained in:
michi_cc
2011-12-13 00:43:59 +00:00
parent 708b58b484
commit f27995568e
17 changed files with 179 additions and 24 deletions

View File

@@ -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;
}
}