summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/town_cmd.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp
index 745eed350..a1d9cdf9e 100644
--- a/src/town_cmd.cpp
+++ b/src/town_cmd.cpp
@@ -2775,11 +2775,13 @@ static void UpdateTownGrowRate(Town *t)
if (_settings_game.economy.town_growth_rate == 0 && t->fund_buildings_months == 0) return;
- /* Check if all goals are reached for this town to grow */
- for (int i = TE_BEGIN; i < TE_END; i++) {
- if (t->goal[i] == TOWN_GROWTH_WINTER && TileHeight(t->xy) >= GetSnowLine() && t->received[i].old_act == 0 && t->population > 90) return;
- if (t->goal[i] == TOWN_GROWTH_DESERT && GetTropicZone(t->xy) == TROPICZONE_DESERT && t->received[i].old_act == 0 && t->population > 60) return;
- if (t->goal[i] > t->received[i].old_act) return;
+ if (t->fund_buildings_months == 0) {
+ /* Check if all goals are reached for this town to grow (given we are not funding it) */
+ for (int i = TE_BEGIN; i < TE_END; i++) {
+ if (t->goal[i] == TOWN_GROWTH_WINTER && TileHeight(t->xy) >= GetSnowLine() && t->received[i].old_act == 0 && t->population > 90) return;
+ if (t->goal[i] == TOWN_GROWTH_DESERT && GetTropicZone(t->xy) == TROPICZONE_DESERT && t->received[i].old_act == 0 && t->population > 60) return;
+ if (t->goal[i] > t->received[i].old_act) return;
+ }
}
/**