Old revision #pft3rt0m2 | New revision #pun0ehlix | ||
---|---|---|---|
81 | } | 81 | } |
82 | 82 | ||
83 | /** | 83 | /** |
84 | @@ -1276,8 +1288,14 @@ | 84 | @@ -1275,9 +1287,15 @@ |
85 | bool is_lock_middle = IsLock(tile) && GetLockPart(tile) == LOCK_PART_MIDDLE; | ||
85 | 86 | ||
86 | /* No need to dirty company windows here, we'll redraw the whole screen anyway. */ | 87 | /* No need to dirty company windows here, we'll redraw the whole screen anyway. */ |
87 | if (is_lock_middle) Company::Get(old_owner)->infrastructure.water -= 3 * LOCK_DEPOT_TILE_FACTOR; // Lock has three parts. | 88 | - if (is_lock_middle) Company::Get(old_owner)->infrastructure.water -= 3 * LOCK_DEPOT_TILE_FACTOR; // Lock has three parts. |
88 | + if (GetWaterClass(tile) == WATER_CLASS_CANAL && is_lock_middle) { | 89 | + if (is_lock_middle) { |
89 | + Company::Get(old_owner)->infrastructure.water--; | 90 | + Company::Get(old_owner)->infrastructure.water -= 3 * LOCK_DEPOT_TILE_FACTOR; // Lock has three parts. |
91 | + if (GetWaterClass(tile) == WATER_CLASS_CANAL) Company::Get(old_owner)->infrastructure.water--; | ||
90 | + } | 92 | + } |
91 | if (new_owner != INVALID_OWNER) { | 93 | if (new_owner != INVALID_OWNER) { |
92 | if (is_lock_middle) Company::Get(new_owner)->infrastructure.water += 3 * LOCK_DEPOT_TILE_FACTOR; // Lock has three parts. | 94 | - if (is_lock_middle) Company::Get(new_owner)->infrastructure.water += 3 * LOCK_DEPOT_TILE_FACTOR; // Lock has three parts. |
93 | + if (GetWaterClass(tile) == WATER_CLASS_CANAL && is_lock_middle) { | 95 | + if (is_lock_middle) { |
94 | + Company::Get(new_owner)->infrastructure.water++; | 96 | + Company::Get(new_owner)->infrastructure.water += 3 * LOCK_DEPOT_TILE_FACTOR; // Lock has three parts. |
97 | + if (GetWaterClass(tile) == WATER_CLASS_CANAL) Company::Get(new_owner)->infrastructure.water++; | ||
95 | + } | 98 | + } |
96 | /* Only subtract from the old owner here if the new owner is valid, | 99 | /* Only subtract from the old owner here if the new owner is valid, |
97 | * otherwise we clear ship depots and canal water below. */ | 100 | * otherwise we clear ship depots and canal water below. */ |