(svn r11262) -Fix [FS#1330]: do not check for vehicles that are not on the ground when removing owned land, furthermore do not check for shadows (of aircraft).
authorrubidium
Sun, 14 Oct 2007 20:12:51 +0000
changeset 7727 5aaf86199444
parent 7726 a9c8beebf2c1
child 7728 68e794385dc9
(svn r11262) -Fix [FS#1330]: do not check for vehicles that are not on the ground when removing owned land, furthermore do not check for shadows (of aircraft).
src/clear_cmd.cpp
src/vehicle.cpp
--- a/src/clear_cmd.cpp	Sun Oct 14 19:57:15 2007 +0000
+++ b/src/clear_cmd.cpp	Sun Oct 14 20:12:51 2007 +0000
@@ -480,7 +480,7 @@
 	if (!CheckTileOwnership(tile) && _current_player != OWNER_WATER) return CMD_ERROR;
 
 
-	if (!EnsureNoVehicle(tile)) return CMD_ERROR;
+	if (!EnsureNoVehicleOnGround(tile)) return CMD_ERROR;
 
 	if (flags & DC_EXEC) DoClearSquare(tile);
 
--- a/src/vehicle.cpp	Sun Oct 14 19:57:15 2007 +0000
+++ b/src/vehicle.cpp	Sun Oct 14 20:12:51 2007 +0000
@@ -119,7 +119,7 @@
 
 static void *EnsureNoVehicleProc(Vehicle *v, void *data)
 {
-	if (v->tile != *(const TileIndex*)data || v->type == VEH_DISASTER)
+	if (v->tile != *(const TileIndex*)data || v->type == VEH_DISASTER || (v->type == VEH_AIRCRAFT && v->subtype == AIR_SHADOW))
 		return NULL;
 
 	_error_message = VehicleInTheWayErrMsg(v);
@@ -135,7 +135,7 @@
 {
 	const TileInfo *ti = (const TileInfo*)data;
 
-	if (v->tile != ti->tile || v->type == VEH_DISASTER) return NULL;
+	if (v->tile != ti->tile || v->type == VEH_DISASTER || (v->type == VEH_AIRCRAFT && v->subtype == AIR_SHADOW)) return NULL;
 	if (v->z_pos > ti->z) return NULL;
 
 	_error_message = VehicleInTheWayErrMsg(v);