+ Ответить в теме
Показано с 1 по 8 из 8

Тема: Как бороться с инфляцией

  1. #1
    <div class='quotetop'>Цитата</div>
    Так что желающие без проблем могут уменьшить инфляцию до устраивающего их уровня. [/b]
    Стесняюсь спросить: а как?
    продвинь это сообщение в соцсеть:  

  2. #2
    Вот полная формула расчета роста инфляции из SDK

    [codebox]int CvPlayer::calculateInflationRate() const
    {
    int iTurns = ((GC.getGameINLINE().getGameTurn() + GC.getGameINLINE().getElapsedGameTurns()) / 2);
    iTurns += GC.getGameSpeedInfo(GC.getGameINLINE().getGameSpeedType()).getInflationOffset();

    if (iTurns <= 0)
    {
    return 0;
    }

    int iInflationPerTurnTimes10000 = GC.getGameSpeedInfo(GC.getGameINLINE().getGameSpeedType()).getInflationPercent();
    iInflationPerTurnTimes10000 *= GC.getHandicapInfo(getHandicapType()).getInflationPercent();
    iInflationPerTurnTimes10000 /= 100;

    int iModifier = m_iInflationModifier;
    if (!isHuman() && !isBarbarian())
    {
    int iAIModifier = GC.getHandicapInfo(GC.getGameINLINE().getHandicapType()).getAIInflationPercent();
    iAIModifier *= max(0, ((GC.getHandicapInfo(GC.getGameINLINE().getHandicapType()).getAIPerEraModifier() * getCurrentEra()) + 100));
    iAIModifier /= 100;

    iModifier += iAIModifier - 100;
    }

    iInflationPerTurnTimes10000 *= max(0, 100 + iModifier);
    iInflationPerTurnTimes10000 /= 100;

    // Keep up to second order terms in binomial series
    int iRatePercent = (iTurns * iInflationPerTurnTimes10000) / 100;
    iRatePercent += (iTurns * (iTurns - 1) * iInflationPerTurnTimes10000 * iInflationPerTurnTimes10000) / 2000000;

    FAssert(iRatePercent >= 0);

    return iRatePercent;
    }[/codebox]

    Из нее видно, что повлиять на итоговые цифры можно через CIV4GameSpeedInfos и CIV4HandicapInfo. В обоих файлах есть тег iInflationPercent, значения которого можно понизить до нужно уровня.

    В CIV4GameSpeedInfos даже лучше, потому что там есть еще и iInflationOffset, в котором определяется ход, после которого начинает считаться инфляция. Например, на нормальной скорости инфляция начинается после 120 ходов.

    [codebox] <GameSpeedInfo>
    <Type>GAMESPEED_NORMAL</Type>
    <Description>TXT_KEY_GAMESPEED_NORMAL</Description>
    <Help>TXT_KEY_GAMESPEED_NORMAL_HELP</Help>
    <iGrowthPercent>100</iGrowthPercent>
    <iTrainPercent>100</iTrainPercent>
    <iConstructPercent>100</iConstructPercent>
    <iCreatePercent>100</iCreatePercent>
    <iResearchPercent>100</iResearchPercent>
    <iBuildPercent>100</iBuildPercent>
    <iImprovementPercent>100</iImprovementPercent>
    <iGreatPeoplePercent>100</iGreatPeoplePercent>
    <iCulturePercent>100</iCulturePercent>
    <iAnarchyPercent>100</iAnarchyPercent>
    <iBarbPercent>100</iBarbPercent>
    <iFeatureProductionPercent>100</iFeatureProductionPercent>
    <iUnitDiscoverPercent>100</iUnitDiscoverPercent>
    <iUnitHurryPercent>100</iUnitHurryPercent>
    <iUnitTradePercent>100</iUnitTradePercent>
    <iUnitGreatWorkPercent>100</iUnitGreatWorkPercent>
    <iGoldenAgePercent>100</iGoldenAgePercent>
    <iHurryPercent>100</iHurryPercent>
    <iHurryConscriptAngerPercent>100</iHurryConscriptAngerPercent>
    <iInflationPercent>45</iInflationPercent>
    <iInflationOffset>-120</iInflationOffset>
    <iVictoryDelayPercent>100</iVictoryDelayPercent>[/codebox]

    Если увеличить это значение, инфляция будет начинаться в игре позже и, соответственно, оказывать на нее меньшее влияние. Если поставить значение больше стандартного числа ходов на данной скорости (допустим -400), то инфляции вообще не будет.

    Ты же уже копался в CIV4GameSpeedInfos.xml, тебе и флаг в руки.
    продвинь это сообщение в соцсеть:  

  3. #3
    ну а как в самой игре с этим боротся? ведь опции - ОТМЕНИТЬ ПРИБЛЬ ( по типу как в europa universales ) нету.
    продвинь это сообщение в соцсеть:  

  4. #4
    А нельзя ли вообще отменить привязку содержания корпораций к инфляции?
    продвинь это сообщение в соцсеть:  

  5. #5
    Точно не в XML. И в любом случае, это гоораздо сложнее, т.к инфляция применяется к общим расходам. Но, судя по списку изменений, именно это сделано в патче 3.13. Ждем.
    продвинь это сообщение в соцсеть:  

  6. #6
    <div class='quotetop'>Цитата</div>
    ==Изменения==
    GAMEPLAY
    Отрегулирована зависимость содержания корпораций от инфляциии[/b]
    А как теперь выглядит эта зависимость?
    продвинь это сообщение в соцсеть:  

  7. #7
    Полководец


    Регистрация
    30.07.2007
    Адрес
    Тюмень
    Сообщений
    243
    Кирил, стоимость содержания корпорации теперь не зависит от инфляции.
    продвинь это сообщение в соцсеть:  
    http://igoreha89.livejournal.com/
    мой штаб
    "еще один ход и спать" - заклинание которое я повторяю каждую ночь :0)

  8. #8


    АААААААААААААА!
    Клёво! Наконец-то можно сделать так, чтобы прибыль от Ювелиров содержала все остальные корпорации.
    2 crazy monkey: спасибо тебе за инфу. Щас пойду играть и проверю ее верность на практике.
    продвинь это сообщение в соцсеть:  

+ Ответить в теме

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
Рейтинг@Mail.ru

free counters