diff --git a/src/economy.cpp b/src/economy.cpp index 4e8bbc2527..5559d61a53 100644 --- a/src/economy.cpp +++ b/src/economy.cpp @@ -674,9 +674,18 @@ static void CompaniesPayInterest() static void HandleEconomyFluctuations() { - if (_settings_game.difficulty.economy == 0) return; + if (_settings_game.difficulty.economy != 0) { + /* When economy is Fluctuating, decrease counter */ + _economy.fluct--; + } else if (_economy.fluct <= 0) { + /* When it's Steady and we are in recession, end it now */ + _economy.fluct = -12; + } else { + /* No need to do anything else in other cases */ + return; + } - if (--_economy.fluct == 0) { + if (_economy.fluct == 0) { _economy.fluct = -(int)GB(Random(), 0, 2); AddNewsItem(STR_NEWS_BEGIN_OF_RECESSION, NS_ECONOMY); } else if (_economy.fluct == -12) {