From 0a31b27a209f71a2a71b3fab740fb39253b3f2c4 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Mon, 25 Apr 2022 17:44:09 +0100 Subject: [PATCH] Fix water infra total when building water over canal with object See: https://github.com/OpenTTD/OpenTTD/issues/9870 --- src/water_cmd.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/water_cmd.cpp b/src/water_cmd.cpp index d2ae3178b5..14528dc64b 100644 --- a/src/water_cmd.cpp +++ b/src/water_cmd.cpp @@ -503,6 +503,14 @@ CommandCost CmdBuildCanal(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 if (!water) cost.AddCost(ret); if (flags & DC_EXEC) { + if (IsTileType(current_tile, MP_WATER) && IsCanal(current_tile)) { + Owner owner = GetTileOwner(tile); + if (Company::IsValidID(owner)) { + Company::Get(owner)->infrastructure.water--; + DirtyCompanyInfrastructureWindows(owner); + } + } + switch (wc) { case WATER_CLASS_RIVER: MakeRiver(current_tile, Random());