1
0
Fork 0

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

release/1.5
rubidium 2015-01-01 21:25:42 +00:00
parent 14f197c6ff
commit 30f778e933
2 changed files with 2 additions and 4 deletions

View File

@ -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?

View File

@ -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);