summaryrefslogtreecommitdiff
path: root/src/ai/api/ai_event_types.hpp
diff options
context:
space:
mode:
authorfrosch <frosch@openttd.org>2009-02-05 17:28:37 +0000
committerfrosch <frosch@openttd.org>2009-02-05 17:28:37 +0000
commit7f198507f724a20bc2c1257ad385a1fa4983a08e (patch)
tree4de4c102c811abe4c55218244a0c848367082bf0 /src/ai/api/ai_event_types.hpp
parent6dff31d34b2df4c1fb1332d33380bb99a2b40924 (diff)
downloadopenttd-7f198507f724a20bc2c1257ad385a1fa4983a08e.tar.xz
(svn r15358) -Add [NoAI]: AIEventVehicleCrashed::GetCrashReason()
Diffstat (limited to 'src/ai/api/ai_event_types.hpp')
-rw-r--r--src/ai/api/ai_event_types.hpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/ai/api/ai_event_types.hpp b/src/ai/api/ai_event_types.hpp
index 044892ab7..da1b6989e 100644
--- a/src/ai/api/ai_event_types.hpp
+++ b/src/ai/api/ai_event_types.hpp
@@ -24,13 +24,24 @@ public:
static const char *GetClassName() { return "AIEventVehicleCrashed"; }
/**
+ * The reasons for vehicle crashes
+ */
+ enum CrashReason {
+ CRASH_TRAIN, ///< Two trains collided
+ CRASH_RV_LEVEL_CROSSING, ///< Road vehicle got under a train
+ CRASH_PLANE_LANDING, ///< Plane crashed on landing
+ CRASH_AIRCRAFT_NO_AIRPORT, ///< Aircraft crashed after it found not a single airport for landing
+ };
+
+ /**
* @param vehicle The vehicle that crashed.
* @param crash_site Where the vehicle crashed.
*/
- AIEventVehicleCrashed(VehicleID vehicle, TileIndex crash_site) :
+ AIEventVehicleCrashed(VehicleID vehicle, TileIndex crash_site, CrashReason crash_reason) :
AIEvent(AI_ET_VEHICLE_CRASHED),
crash_site(crash_site),
- vehicle(vehicle)
+ vehicle(vehicle),
+ crash_reason(crash_reason)
{}
/**
@@ -53,6 +64,12 @@ public:
TileIndex GetCrashSite() { return crash_site; }
/**
+ * Get the reason for crashing
+ * @return The reason for crashing
+ */
+ CrashReason GetCrashReason() { return crash_reason; }
+
+ /**
* Clone the crashed vehicle and send it on its way again.
* @param depot the depot to build the vehicle in.
* @return True when the cloning succeeded.
@@ -63,6 +80,7 @@ public:
private:
TileIndex crash_site;
VehicleID vehicle;
+ CrashReason crash_reason;
};
/**