Add setting for inflation dates mode

This commit is contained in:
Jonathan G Rennison
2021-01-30 19:59:00 +00:00
parent 39df1c49a1
commit 33d9e48bcf
8 changed files with 24 additions and 2 deletions

View File

@@ -768,7 +768,11 @@ bool AddInflation(bool check_year)
* inflation doesn't add anything after that either; it even makes playing
* it impossible due to the diverging cost and income rates.
*/
if (check_year && (_cur_year < ORIGINAL_BASE_YEAR || _cur_year >= ORIGINAL_MAX_YEAR)) return true;
if (_settings_game.economy.inflation_fixed_dates) {
if (check_year && (_cur_year < ORIGINAL_BASE_YEAR || _cur_year >= ORIGINAL_MAX_YEAR)) return true;
} else {
if (check_year && (_cur_year - _settings_game.game_creation.starting_year) >= (ORIGINAL_MAX_YEAR - ORIGINAL_BASE_YEAR)) return true;
}
if (_economy.inflation_prices == MAX_INFLATION || _economy.inflation_payment == MAX_INFLATION) return true;
@@ -960,7 +964,7 @@ void StartupEconomy()
_economy.infl_amount_pr = max(0, _settings_game.difficulty.initial_interest - 1);
_economy.fluct = GB(Random(), 0, 8) + 168;
if (_settings_game.economy.inflation) {
if (_settings_game.economy.inflation && _settings_game.economy.inflation_fixed_dates) {
/* Apply inflation that happened before our game start year. */
int months = (min(_cur_year, ORIGINAL_MAX_YEAR) - ORIGINAL_BASE_YEAR) * 12;
for (int i = 0; i < months; i++) {