summaryrefslogtreecommitdiff
path: root/src/order_cmd.cpp
diff options
context:
space:
mode:
authorplanetmaker <planetmaker@openttd.org>2014-05-06 20:50:58 +0000
committerplanetmaker <planetmaker@openttd.org>2014-05-06 20:50:58 +0000
commit34b1d89dbe9534c1215c2d599cbf23fae2d068c4 (patch)
treec88336a26894ee14f39b460006cca2c0b8b558b8 /src/order_cmd.cpp
parent64c6811e42606f3a1223178f9c9380a09f5b66bb (diff)
downloadopenttd-34b1d89dbe9534c1215c2d599cbf23fae2d068c4.tar.xz
(svn r26566) -Add [FS#6009]: Give a warning when a plane's orders tell it to use a runway which is too short for it (3298)
Diffstat (limited to 'src/order_cmd.cpp')
-rw-r--r--src/order_cmd.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/order_cmd.cpp b/src/order_cmd.cpp
index 9aff6cde4..2fcc7bdcd 100644
--- a/src/order_cmd.cpp
+++ b/src/order_cmd.cpp
@@ -27,6 +27,7 @@
#include "waypoint_base.h"
#include "company_base.h"
#include "order_backup.h"
+#include "cheat_type.h"
#include "table/strings.h"
@@ -657,6 +658,7 @@ static void DeleteOrderWarnings(const Vehicle *v)
DeleteVehicleNews(v->index, STR_NEWS_VEHICLE_HAS_VOID_ORDER);
DeleteVehicleNews(v->index, STR_NEWS_VEHICLE_HAS_DUPLICATE_ENTRY);
DeleteVehicleNews(v->index, STR_NEWS_VEHICLE_HAS_INVALID_ENTRY);
+ DeleteVehicleNews(v->index, STR_NEWS_PLANE_USES_TOO_SHORT_RUNWAY);
}
/**
@@ -1788,7 +1790,16 @@ void CheckOrders(const Vehicle *v)
const Station *st = Station::Get(order->GetDestination());
n_st++;
- if (!CanVehicleUseStation(v, st)) problem_type = 3;
+ if (!CanVehicleUseStation(v, st)) {
+ problem_type = 3;
+ } else if (v->type == VEH_AIRCRAFT &&
+ (AircraftVehInfo(v->engine_type)->subtype & AIR_FAST) &&
+ (st->airport.GetFTA()->flags & AirportFTAClass::SHORT_STRIP) &&
+ _settings_game.vehicle.plane_crashes != 0 &&
+ !_cheats.no_jetcrash.value &&
+ problem_type == -1) {
+ problem_type = 4;
+ }
}
}