(svn r27105) -Fix [FS#6195]: grow_counter was not properly bounded by growth_rate, but by some other value used to calculate growth_rate.

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
rubidium 10 years ago
parent 14f197c6ff
commit 30f778e933

@ -91,7 +91,7 @@ struct Town : TownPool::PoolItem<&_town_pool> {
uint16 time_until_rebuild; ///< time until we rebuild a house
uint16 grow_counter; ///< counter to count when to grow
uint16 grow_counter; ///< counter to count when to grow, value is smaller than or equal to growth_rate
uint16 growth_rate; ///< town growth rate
byte fund_buildings_months; ///< fund buildings program in action?

@ -3115,9 +3115,7 @@ static void UpdateTownGrowRate(Town *t)
if (t->larger_town) m /= 2;
t->growth_rate = m / (t->cache.num_houses / 50 + 1);
if (m <= t->grow_counter) {
t->grow_counter = m;
}
t->grow_counter = min(t->growth_rate, t->grow_counter);
SetBit(t->flags, TOWN_IS_GROWING);
SetWindowDirty(WC_TOWN_VIEW, t->index);

Loading…
Cancel
Save