diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp index 292f379f8e..3cc143aa6b 100644 --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -2494,8 +2494,8 @@ void GenerateIndustries() /* Total number of industries scaled by land/water proportion. */ uint total_amount = p.total * GetNumberOfIndustries() / (lprob.total + wprob.total); - /* Scale land-based industries to the land proportion. */ - if (!water) total_amount = Map::ScaleByLandProportion(total_amount); + /* Scale land-based industries to the land proportion, unless the player has set a custom industry count. */ + if (!water && _settings_game.difficulty.industry_density != ID_CUSTOM) total_amount = Map::ScaleByLandProportion(total_amount); /* Ensure that forced industries are generated even if the scaled amounts are too low. */ if (p.total == 0 || total_amount < p.num_forced) { diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index 4ba9143c84..60cde52c29 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -2421,7 +2421,7 @@ bool GenerateTowns(TownLayout layout, std::optional number) if (number.has_value()) { total = number.value(); } else if (_settings_game.difficulty.number_towns == static_cast(CUSTOM_TOWN_NUMBER_DIFFICULTY)) { - total = Map::ScaleByLandProportion(GetDefaultTownsForMapSize()); + total = GetDefaultTownsForMapSize(); } else { total = Map::ScaleByLandProportion(GetDefaultTownsForMapSize() + (Random() & 7)); }