if (HasTileWaterClass(tile) && GetWaterClass(tile) == WATER_CLASS_CANAL) {
if (!IsTileType(tile, MP_INDUSTRY)) {
Owner o1 = GetTileOwner(tile);
if (o1 != OWNER_NONE) {
ret = CheckTileOwnership(tile);
if (ret.Failed()) return ret;
}
}
}
if (!IsWaterTile(tile)) {
ret = DoCommand(tile, 0, 0, flags, CMD_LANDSCAPE_CLEAR);
if (ret.Failed()) return ret;
cost.AddCost(ret);
cost.AddCost(_price[PR_BUILD_CANAL]);
}