From 93be9a1c905b92f2f68c24d71eb718197b9ed7bc Mon Sep 17 00:00:00 2001 From: yexo Date: Tue, 17 Mar 2009 01:30:39 +0000 Subject: (svn r15750) -Fix: The big ufo sometimes landed just outside the map. Instead of landing, just disappear (fly away) in those cases. --- src/disaster_cmd.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/disaster_cmd.cpp') diff --git a/src/disaster_cmd.cpp b/src/disaster_cmd.cpp index 2db744fb5..725cd914c 100644 --- a/src/disaster_cmd.cpp +++ b/src/disaster_cmd.cpp @@ -481,6 +481,12 @@ static void DisasterTick_Big_Ufo(Vehicle *v) return; } + if (!IsValidTile(v->dest_tile)) { + /* Make sure we don't land outside the map. */ + delete v; + return; + } + byte z = GetSlopeZ(v->x_pos, v->y_pos); if (z < v->z_pos) { SetDisasterVehiclePos(v, v->x_pos, v->y_pos, v->z_pos - 1); -- cgit v1.2.3-54-g00ecf