From 39b193efb682229d87fe5917dd288581c5fdc178 Mon Sep 17 00:00:00 2001 From: maedhros Date: Thu, 12 Apr 2007 18:23:47 +0000 Subject: (svn r9614) -Feature: Use the normal growth rate values when the growth rate is set to none and "Fund new buildings" is used. --- src/town_cmd.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/town_cmd.cpp') diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index 13d32d24e..31e76fb83 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -1687,7 +1687,7 @@ static void UpdateTownGrowRate(Town *t) } CLRBIT(t->flags12, TOWN_IS_FUNDED); - if (_patches.town_growth_rate == 0) return; + if (_patches.town_growth_rate == 0 && t->fund_buildings_months == 0) return; /** Towns are processed every TOWN_GROWTH_FREQUENCY ticks, and this is the * number of times towns are processed before a new building is built. */ @@ -1712,7 +1712,11 @@ static void UpdateTownGrowRate(Town *t) return; } - m >>= (_patches.town_growth_rate - 1); + /* Use the normal growth rate values if new buildings have been funded in + * this town and the growth rate is set to none. */ + uint growth_multiplier = _patches.town_growth_rate != 0 ? _patches.town_growth_rate - 1 : 1; + + m >>= growth_multiplier; if (_patches.larger_towns != 0 && (t->index % _patches.larger_towns) == 0) m /= 2; t->growth_rate = m / (t->num_houses / 50 + 1); -- cgit v1.2.3-70-g09d2