From 6a10c8a57f1c5d0f31251d24956f5c428d63f433 Mon Sep 17 00:00:00 2001 From: Zhilkin Serg Date: Mon, 18 Apr 2022 10:27:56 +0300 Subject: [PATCH] Fix empty city generation --- src/overmap.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/overmap.cpp b/src/overmap.cpp index c06d5df289bad..7bc67fa8e4142 100644 --- a/src/overmap.cpp +++ b/src/overmap.cpp @@ -4971,17 +4971,20 @@ void overmap::place_cities() tmp.size = size; } } else { + placement_attempts = 0; tmp = random_entry( cities_to_place ); p = tripoint_om_omt( tmp.pos, 0 ); ter_set( tripoint_om_omt( tmp.pos, 0 ), oter_road_nesw ); } - cities.push_back( tmp ); - const om_direction::type start_dir = om_direction::random(); - om_direction::type cur_dir = start_dir; + if( placement_attempts == 0 ) { + cities.push_back( tmp ); + const om_direction::type start_dir = om_direction::random(); + om_direction::type cur_dir = start_dir; - do { - build_city_street( local_road, tmp.pos, tmp.size, cur_dir, tmp ); - } while( ( cur_dir = om_direction::turn_right( cur_dir ) ) != start_dir ); + do { + build_city_street( local_road, tmp.pos, tmp.size, cur_dir, tmp ); + } while( ( cur_dir = om_direction::turn_right( cur_dir ) ) != start_dir ); + } } }