# HG changeset patch # User rubidium # Date 2007-10-14 20:12:51 # Node ID 2e9d27db05f92931997da2aabf2dd026082536cd # Parent 69c1ec0a708ec75513405cfdecd4b3f2afd7e8f7 (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). diff --git a/src/clear_cmd.cpp b/src/clear_cmd.cpp --- a/src/clear_cmd.cpp +++ b/src/clear_cmd.cpp @@ -480,7 +480,7 @@ CommandCost CmdSellLandArea(TileIndex ti 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); diff --git a/src/vehicle.cpp b/src/vehicle.cpp --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -119,7 +119,7 @@ StringID VehicleInTheWayErrMsg(const Veh 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 @@ static void *EnsureNoVehicleProcZ(Vehicl { 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);