changeset 11020:ee0fd11464fa draft

(svn r15360) -Fix: Flooding vehicles did not trigger an AI event.
author frosch <frosch@openttd.org>
date Thu, 05 Feb 2009 17:48:08 +0000
parents 0cac02e58561
children 0579a2f61770
files src/ai/api/ai_event_types.hpp src/ai/api/ai_event_types.hpp.sq src/water_cmd.cpp
diffstat 3 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/ai/api/ai_event_types.hpp
+++ b/src/ai/api/ai_event_types.hpp
@@ -32,6 +32,7 @@
 		CRASH_RV_UFO,               ///< Road vehicle got under a landing ufo
 		CRASH_PLANE_LANDING,        ///< Plane crashed on landing
 		CRASH_AIRCRAFT_NO_AIRPORT,  ///< Aircraft crashed after it found not a single airport for landing
+		CRASH_FLOODED,              ///< Vehicle was flooded
 	};
 
 	/**
--- a/src/ai/api/ai_event_types.hpp.sq
+++ b/src/ai/api/ai_event_types.hpp.sq
@@ -25,6 +25,7 @@
 	SQAIEventVehicleCrashed.DefSQConst(engine, AIEventVehicleCrashed::CRASH_RV_UFO,              "CRASH_RV_UFO");
 	SQAIEventVehicleCrashed.DefSQConst(engine, AIEventVehicleCrashed::CRASH_PLANE_LANDING,       "CRASH_PLANE_LANDING");
 	SQAIEventVehicleCrashed.DefSQConst(engine, AIEventVehicleCrashed::CRASH_AIRCRAFT_NO_AIRPORT, "CRASH_AIRCRAFT_NO_AIRPORT");
+	SQAIEventVehicleCrashed.DefSQConst(engine, AIEventVehicleCrashed::CRASH_FLOODED,             "CRASH_FLOODED");
 
 	SQAIEventVehicleCrashed.DefSQStaticMethod(engine, &AIEventVehicleCrashed::GetClassName, "GetClassName", 1, "x");
 	SQAIEventVehicleCrashed.DefSQStaticMethod(engine, &AIEventVehicleCrashed::Convert,      "Convert",      2, "xx");
--- a/src/water_cmd.cpp
+++ b/src/water_cmd.cpp
@@ -32,6 +32,7 @@
 #include "newgrf_cargo.h"
 #include "effectvehicle_func.h"
 #include "tunnelbridge_map.h"
+#include "ai/ai.hpp"
 
 #include "table/sprites.h"
 #include "table/strings.h"
@@ -838,6 +839,7 @@
 		InvalidateWindowWidget(WC_VEHICLE_VIEW, v->index, VVW_WIDGET_START_STOP_VEH);
 		InvalidateWindow(WC_VEHICLE_DEPOT, v->tile);
 
+		AI::NewEvent(v->owner, new AIEventVehicleCrashed(v->index, v->tile, AIEventVehicleCrashed::CRASH_FLOODED));
 		SetDParam(0, pass);
 		AddNewsItem(STR_B006_FLOOD_VEHICLE_DESTROYED,
 			NS_ACCIDENT_VEHICLE,