(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)

This commit is contained in:
planetmaker
2014-05-06 20:50:58 +00:00
parent 64c6811e42
commit 34b1d89dbe
2 changed files with 13 additions and 1 deletions

View File

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