1
0
Fork 0

Fix d450d4743: Division by zero when larger_towns is set to 0. (#13104)

Universe ended.
pull/13106/head
Peter Nelson 2024-11-20 00:09:02 +00:00 committed by GitHub
parent 9b6b6d50c3
commit b730f8783e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 2 additions and 2 deletions

View File

@ -2401,13 +2401,13 @@ bool GenerateTowns(TownLayout layout)
/* Randomised offset for city status. This means with e.g. 1-in-4 towns being cities, a map with 10 towns
* may have 2 or 3 cities, instead of always 3. */
uint city_random_offset = Random() % _settings_game.economy.larger_towns;
uint city_random_offset = _settings_game.economy.larger_towns == 0 ? 0 : (Random() % _settings_game.economy.larger_towns);
/* First attempt will be made at creating the suggested number of towns.
* Note that this is really a suggested value, not a required one.
* We would not like the system to lock up just because the user wanted 100 cities on a 64*64 map, would we? */
do {
bool city = (_settings_game.economy.larger_towns != 0 && ((city_random_offset + current_number) % _settings_game.economy.larger_towns) == 0);
bool city = (_settings_game.economy.larger_towns != 0 && ((city_random_offset + current_number) % _settings_game.economy.larger_towns) == 0);
IncreaseGeneratingWorldProgress(GWP_TOWN);
/* Get a unique name for the town. */
if (!GenerateTownName(_random, &townnameparts, &town_names)) continue;