Change: Protect rivers from removal when terraforming

This commit is contained in:
Richard Wheeler
2026-01-27 20:01:07 +00:00
parent bcaf3eaec2
commit 17cab9b29d
3 changed files with 5 additions and 1 deletions
+1
View File
@@ -5105,6 +5105,7 @@ STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... alre
STR_ERROR_TOO_HIGH :{WHITE}... too high
STR_ERROR_ALREADY_LEVELLED :{WHITE}... already flat
STR_ERROR_BRIDGE_TOO_HIGH_AFTER_LOWER_LAND :{WHITE}Afterwards the bridge above it would be too high.
STR_ERROR_MUST_DEMOLISH_RIVER_FIRST :{WHITE}Must demolish river first
# Company related errors
STR_ERROR_CAN_T_CHANGE_COMPANY_NAME :{WHITE}Can't change company name...
+1 -1
View File
@@ -150,7 +150,7 @@ public:
ERR_ALREADY_BUILT, // [STR_ERROR_ALREADY_BUILT, STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST, STR_ERROR_TREE_ALREADY_HERE]
/** Area isn't clear, try to demolish the building on it */
ERR_AREA_NOT_CLEAR, // [STR_ERROR_BUILDING_MUST_BE_DEMOLISHED, STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST, STR_ERROR_MUST_DEMOLISH_RAILROAD, STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST, STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST, STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST, STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST, STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST, STR_ERROR_BUOY_IN_THE_WAY, STR_ERROR_MUST_DEMOLISH_DOCK_FIRST, STR_ERROR_GENERIC_OBJECT_IN_THE_WAY, STR_ERROR_COMPANY_HEADQUARTERS_IN, STR_ERROR_OBJECT_IN_THE_WAY, STR_ERROR_MUST_REMOVE_ROAD_FIRST, STR_ERROR_MUST_REMOVE_RAILROAD_TRACK, STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST, STR_ERROR_MUST_DEMOLISH_TUNNEL_FIRST, STR_ERROR_EXCAVATION_WOULD_DAMAGE, STR_ERROR_MUST_DEMOLISH_CANAL_FIRST, STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST, STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST, STR_ERROR_MUST_REMOVE_SIGNALS_FIRST]
ERR_AREA_NOT_CLEAR, // [STR_ERROR_BUILDING_MUST_BE_DEMOLISHED, STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST, STR_ERROR_MUST_DEMOLISH_RAILROAD, STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST, STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST, STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST, STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST, STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST, STR_ERROR_BUOY_IN_THE_WAY, STR_ERROR_MUST_DEMOLISH_DOCK_FIRST, STR_ERROR_GENERIC_OBJECT_IN_THE_WAY, STR_ERROR_COMPANY_HEADQUARTERS_IN, STR_ERROR_OBJECT_IN_THE_WAY, STR_ERROR_MUST_REMOVE_ROAD_FIRST, STR_ERROR_MUST_REMOVE_RAILROAD_TRACK, STR_ERROR_MUST_DEMOLISH_BRIDGE_FIRST, STR_ERROR_MUST_DEMOLISH_TUNNEL_FIRST, STR_ERROR_EXCAVATION_WOULD_DAMAGE, STR_ERROR_MUST_DEMOLISH_CANAL_FIRST, STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST, STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST, STR_ERROR_MUST_REMOVE_SIGNALS_FIRST, STR_ERROR_MUST_DEMOLISH_RIVER_FIRST]
/** Area / property is owned by another company */
ERR_OWNED_BY_ANOTHER_COMPANY, // [STR_ERROR_AREA_IS_OWNED_BY_ANOTHER, STR_ERROR_OWNED_BY]
+3
View File
@@ -1449,6 +1449,9 @@ static CommandCost TerraformTile_Water(TileIndex tile, DoCommandFlags flags, int
/* Canals can't be terraformed */
if (IsWaterTile(tile) && IsCanal(tile)) return CommandCost(STR_ERROR_MUST_DEMOLISH_CANAL_FIRST);
/* Rivers can't be terraformed */
if (IsWaterTile(tile) && IsRiver(tile)) return CommandCost(STR_ERROR_MUST_DEMOLISH_RIVER_FIRST);
return Command<Commands::LandscapeClear>::Do(flags, tile);
}