diff --git a/src/water_cmd.cpp b/src/water_cmd.cpp index 2691ee3b2f..88a8fc9360 100644 --- a/src/water_cmd.cpp +++ b/src/water_cmd.cpp @@ -1259,6 +1259,9 @@ void TileLoop_Water(TileIndex tile) /* do not try to flood water tiles - increases performance a lot */ if (IsTileType(dest, MP_WATER)) continue; + /* Buoys and docks cannot be flooded, and when removed turn into flooding water. */ + if (IsTileType(dest, MP_STATION) && (IsBuoy(dest) || IsDock(dest))) continue; + /* This neighbour tile might be floodable later if the tile is cleared, so allow flooding to continue. */ continue_flooding = true;