(svn r23323) -Fix: when you fund a town, it should grow; goals reached or not

This commit is contained in:
truebrain 2011-11-25 11:35:15 +00:00
parent 8062c80219
commit 7ff6daee80
1 changed files with 7 additions and 5 deletions

View File

@ -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;
}
}
/**