From b335b0501cba1765ec97e89da828942cd925a1e9 Mon Sep 17 00:00:00 2001 From: SamuXarick <43006711+SamuXarick@users.noreply.github.com> Date: Sat, 18 Sep 2021 11:46:20 +0100 Subject: [PATCH] Fix: wrong error message when building canals over ship depots / locks IsTileType() also considers ship depots and locks water. IsWaterTile() does the right thing. --- src/water_cmd.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/water_cmd.cpp b/src/water_cmd.cpp index 6906f744b9..a661cb38ca 100644 --- a/src/water_cmd.cpp +++ b/src/water_cmd.cpp @@ -475,10 +475,11 @@ CommandCost CmdBuildCanal(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 return_cmd_error(STR_ERROR_FLAT_LAND_REQUIRED); } - /* can't make water of water! */ - if (IsTileType(current_tile, MP_WATER) && (!IsTileOwner(current_tile, OWNER_WATER) || wc == WATER_CLASS_SEA)) continue; - bool water = IsWaterTile(current_tile); + + /* can't make water of water! */ + if (water && (!IsTileOwner(current_tile, OWNER_WATER) || wc == WATER_CLASS_SEA)) continue; + ret = DoCommand(current_tile, 0, 0, flags, CMD_LANDSCAPE_CLEAR); if (ret.Failed()) return ret;