A few bugs fixed.
This commit is contained in:
@@ -177,6 +177,36 @@ void expand_mountain() {
|
||||
expanded_terrain_types.insert_last("mountain:" + mountain.terrain_types[i]);
|
||||
}
|
||||
|
||||
// Spawn trees in mountain forest/deep_forest segments
|
||||
int segment_start = -1;
|
||||
string segment_terrain = "";
|
||||
for (int i = 0; i < size; i++) {
|
||||
string terrain = mountain.terrain_types[i];
|
||||
if (terrain == "forest" || terrain == "deep_forest") {
|
||||
if (segment_start == -1) {
|
||||
segment_start = i;
|
||||
segment_terrain = terrain;
|
||||
} else if (terrain != segment_terrain) {
|
||||
int area_start = new_start + segment_start;
|
||||
int area_end = new_start + i - 1;
|
||||
spawn_trees(area_start, area_end);
|
||||
segment_start = i;
|
||||
segment_terrain = terrain;
|
||||
}
|
||||
} else if (segment_start != -1) {
|
||||
int area_start = new_start + segment_start;
|
||||
int area_end = new_start + i - 1;
|
||||
spawn_trees(area_start, area_end);
|
||||
segment_start = -1;
|
||||
segment_terrain = "";
|
||||
}
|
||||
}
|
||||
if (segment_start != -1) {
|
||||
int area_start = new_start + segment_start;
|
||||
int area_end = new_start + size - 1;
|
||||
spawn_trees(area_start, area_end);
|
||||
}
|
||||
|
||||
area_expanded_today = true;
|
||||
notify("A mountain range has been discovered to the east!");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user