A few bugs fixed.
This commit is contained in:
@@ -155,7 +155,7 @@ void reinforce_barricade_max_with_sticks() {
|
||||
int to_do = (max_reinforcements < can_afford) ? max_reinforcements : can_afford;
|
||||
int total_cost = to_do * BARRICADE_STICK_COST;
|
||||
|
||||
simulate_crafting(to_do);
|
||||
simulate_crafting(total_cost);
|
||||
add_personal_count(ITEM_STICKS, -total_cost);
|
||||
barricade_health += (to_do * BARRICADE_STICK_HEALTH);
|
||||
if (barricade_health > BARRICADE_MAX_HEALTH) barricade_health = BARRICADE_MAX_HEALTH;
|
||||
@@ -181,7 +181,7 @@ void reinforce_barricade_max_with_vines() {
|
||||
int to_do = (max_reinforcements < can_afford) ? max_reinforcements : can_afford;
|
||||
int total_cost = to_do * BARRICADE_VINE_COST;
|
||||
|
||||
simulate_crafting(to_do);
|
||||
simulate_crafting(total_cost);
|
||||
add_personal_count(ITEM_VINES, -total_cost);
|
||||
barricade_health += (to_do * BARRICADE_VINE_HEALTH);
|
||||
if (barricade_health > BARRICADE_MAX_HEALTH) barricade_health = BARRICADE_MAX_HEALTH;
|
||||
@@ -207,7 +207,7 @@ void reinforce_barricade_max_with_log() {
|
||||
int to_do = (max_reinforcements < can_afford) ? max_reinforcements : can_afford;
|
||||
int total_cost = to_do * BARRICADE_LOG_COST;
|
||||
|
||||
simulate_crafting(to_do);
|
||||
simulate_crafting(total_cost);
|
||||
add_personal_count(ITEM_LOGS, -total_cost);
|
||||
barricade_health += (to_do * BARRICADE_LOG_HEALTH);
|
||||
if (barricade_health > BARRICADE_MAX_HEALTH) barricade_health = BARRICADE_MAX_HEALTH;
|
||||
@@ -233,7 +233,7 @@ void reinforce_barricade_max_with_stones() {
|
||||
int to_do = (max_reinforcements < can_afford) ? max_reinforcements : can_afford;
|
||||
int total_cost = to_do * BARRICADE_STONE_COST;
|
||||
|
||||
simulate_crafting(to_do);
|
||||
simulate_crafting(total_cost);
|
||||
add_personal_count(ITEM_STONES, -total_cost);
|
||||
barricade_health += (to_do * BARRICADE_STONE_HEALTH);
|
||||
if (barricade_health > BARRICADE_MAX_HEALTH) barricade_health = BARRICADE_MAX_HEALTH;
|
||||
|
||||
@@ -754,6 +754,22 @@ void perform_search(int current_x)
|
||||
}
|
||||
}
|
||||
|
||||
if (!near_stream_bank && !is_mountain_stream_at(current_x)) {
|
||||
for (uint i = 0; i < world_mountains.length(); i++) {
|
||||
for (uint j = 0; j < world_mountains[i].stream_positions.length(); j++) {
|
||||
int stream_world_x = world_mountains[i].start_position + world_mountains[i].stream_positions[j];
|
||||
if (stream_world_x == current_x) {
|
||||
continue;
|
||||
}
|
||||
if (abs(stream_world_x - current_x) <= 3) {
|
||||
near_stream_bank = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (near_stream_bank) break;
|
||||
}
|
||||
}
|
||||
|
||||
if (near_stream_bank) {
|
||||
try_search_for_terrain("stream_bank");
|
||||
return;
|
||||
|
||||
@@ -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