From 85918fc23ed4044409750365cd745eb477034998 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Tue, 28 May 2024 20:26:34 +0100 Subject: [PATCH] Fix: Water infrastructure total when changing owner of object on water --- src/object_cmd.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/object_cmd.cpp b/src/object_cmd.cpp index 7320786ce0..c3f926eba8 100644 --- a/src/object_cmd.cpp +++ b/src/object_cmd.cpp @@ -880,6 +880,10 @@ static void ChangeTileOwner_Object(TileIndex tile, Owner old_owner, Owner new_ow ObjectType type = GetObjectType(tile); if ((type == OBJECT_OWNED_LAND || type >= NEW_OBJECT_OFFSET) && new_owner != INVALID_OWNER) { SetTileOwner(tile, new_owner); + if (GetWaterClass(tile) == WATER_CLASS_CANAL) { + Company::Get(old_owner)->infrastructure.water--; + Company::Get(new_owner)->infrastructure.water++; + } } else if (type == OBJECT_STATUE) { Town *t = Object::GetByTile(tile)->town; ClrBit(t->statues, old_owner);