mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-17 21:25:40 +00:00
(svn r10290) -Fix: with smooth_economy, when industry production hit 32, it stayed there for ever. Give it some chance to get out of that uber-lowness (although it is a very slim chance, at least it has one)
This commit is contained in:
parent
2d42f4544d
commit
27a6e21975
@ -1643,7 +1643,11 @@ static void ExtChangeIndustryProduction(Industry *i)
|
|||||||
if (CHANCE16I(20, 1024, r))
|
if (CHANCE16I(20, 1024, r))
|
||||||
new_prod -= ((RandomRange(50) + 10) * old_prod) >> 8;
|
new_prod -= ((RandomRange(50) + 10) * old_prod) >> 8;
|
||||||
if (CHANCE16I(20 + (i->last_month_pct_transported[j] * 20 >> 8), 1024, r >> 16))
|
if (CHANCE16I(20 + (i->last_month_pct_transported[j] * 20 >> 8), 1024, r >> 16))
|
||||||
new_prod += ((RandomRange(50) + 10) * old_prod) >> 8;
|
/* old_prod gets stuck at '4' because 60 * 4 / 256 < 1, so in that case
|
||||||
|
* increase the odds a bit for increasing, so at least it can escape
|
||||||
|
* the production of '4' at some time in the future (instead of being
|
||||||
|
* stuck there for ever). */
|
||||||
|
new_prod += ((RandomRange(old_prod == 4 ? 55 : 50) + 10) * old_prod) >> 8;
|
||||||
|
|
||||||
new_prod = clamp(new_prod, 0, 255);
|
new_prod = clamp(new_prod, 0, 255);
|
||||||
if (new_prod == old_prod) {
|
if (new_prod == old_prod) {
|
||||||
|
Loading…
Reference in New Issue
Block a user