Neko » Пн фев 13, 2006 11:59
Ответ на твой вопрос находится в файле industry_cmd.c в функции ExtChangeIndustryProduction()
Для твоего случая, когда рейтинг высокий, приведу кусочек кода:
===========
//if more than 60% of cargo is transported, there's a up to 3% chance we increase
r = Random();
new = old = i->production_rate[j];
if (CHANCE16I(((CHANCE_A * _patches.prod_changes) + influence), (CHANCE_B * _patches.prod_changes), r))
new += (1 + RandomRange(old >> 3) + (old >> 4) - (old >> 5));
=========
Новое значение зависит от того, как у тебя включены патчи Изменчивости экономики и Инфляции. И всё это круто замешано на рандомных функциях, которые могут дать три варианта:
new=old
new>old
new<old
Для if (new == old) у тя вааще эта инфантерия подохнет.
Для оставшихся вариантов ты получишь либо увеличение, либо уменьшение производительности.
Следует только добавить, что любые изменения могут произойти только если процентная разность выходит за 10% (в коде это if (mag >= 10))
Остаётся только сожалеть, что фортуна в этот раз была не на твоей стороне - видать, звёзды на небе не так легли.
Если охота, то можно повоевать с мистером Рандомом хорошо известными методами, но твой высокий рейтинг не очень будет способствовать этому.
Револьвер - лучший аргумент в любом споре