summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/economy.cpp7
-rw-r--r--src/saveload/afterload.cpp6
2 files changed, 11 insertions, 2 deletions
diff --git a/src/economy.cpp b/src/economy.cpp
index d767524ed..5026e0127 100644
--- a/src/economy.cpp
+++ b/src/economy.cpp
@@ -676,8 +676,11 @@ void AddInflation(bool check_year)
* 12 -> months per year
* This is only a good approxiamtion for small values
*/
- _economy.inflation_prices += min((_economy.inflation_prices * _economy.infl_amount * 54) >> 16, MAX_INFLATION);
- _economy.inflation_payment += min((_economy.inflation_payment * _economy.infl_amount_pr * 54) >> 16, MAX_INFLATION);
+ _economy.inflation_prices += (_economy.inflation_prices * _economy.infl_amount * 54) >> 16;
+ _economy.inflation_payment += (_economy.inflation_payment * _economy.infl_amount_pr * 54) >> 16;
+
+ if (_economy.inflation_prices > MAX_INFLATION) _economy.inflation_prices = MAX_INFLATION;
+ if (_economy.inflation_payment > MAX_INFLATION) _economy.inflation_payment = MAX_INFLATION;
}
/**
diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp
index 8a87dcc40..d97aa2aaf 100644
--- a/src/saveload/afterload.cpp
+++ b/src/saveload/afterload.cpp
@@ -2742,6 +2742,12 @@ bool AfterLoadGame()
FOR_ALL_COMPANIES(c) c->tree_limit = _settings_game.construction.tree_frame_burst << 16;
}
+ if (IsSavegameVersionBefore(177)) {
+ /* Fix too high inflation rates */
+ if (_economy.inflation_prices > MAX_INFLATION) _economy.inflation_prices = MAX_INFLATION;
+ if (_economy.inflation_payment > MAX_INFLATION) _economy.inflation_payment = MAX_INFLATION;
+ }
+
/* Road stops is 'only' updating some caches */
AfterLoadRoadStops();
AfterLoadLabelMaps();