diff --git a/GameSettings.cpp b/GameSettings.cpp index f3270ae5f..b6d1a7c52 100644 --- a/GameSettings.cpp +++ b/GameSettings.cpp @@ -705,6 +705,9 @@ void LoadGameExternalOptions() // Kaiden: Vehicle Inventory change - Added INI file Option VEHICLE_INVENTORY gGameExternalOptions.fVehicleInventory = iniReader.ReadBoolean("JA2 Gameplay Settings", "VEHICLE_INVENTORY", TRUE); + // WANNE: Added INI file Option for enemy ambushes, so we also have the option to play vanilla ja2 ambush settings + gGameExternalOptions.fEnableChanceOfEnemyAmbushesOnInsaneDifficult = iniReader.ReadBoolean("JA2 Gameplay Settings", "ENABLE_CHANCE_OF_ENEMY_AMBUSHES_ON_INSANE_DIFFICULT", TRUE); + } diff --git a/GameSettings.h b/GameSettings.h index 8d73475f6..0aca4c4cf 100644 --- a/GameSettings.h +++ b/GameSettings.h @@ -209,6 +209,8 @@ typedef struct // Kaiden: Vehicle Inventory change - Added for INI Option BOOLEAN fVehicleInventory; + BOOLEAN fEnableChanceOfEnemyAmbushesOnInsaneDifficult; + // System settings UINT8 gubDeadLockDelay; BOOLEAN gfEnableEmergencyButton_SkipStrategicEvents; diff --git a/Strategic/PreBattle Interface.cpp b/Strategic/PreBattle Interface.cpp index 9bb7c5720..d2b796dc2 100644 --- a/Strategic/PreBattle Interface.cpp +++ b/Strategic/PreBattle Interface.cpp @@ -543,8 +543,10 @@ void InitPreBattleInterface( GROUP *pBattleGroup, BOOLEAN fPersistantPBI ) { gubEnemyEncounterCode = ENEMY_AMBUSH_CODE; } - // Madd - else if( gGameOptions.ubDifficultyLevel == DIF_LEVEL_INSANE && + // Madd: + // WANNE: Added an ja2_options.ini Property "ENABLE_CHANCE_OF_ENEMY_AMBUSHES_ON_INSANE_DIFFICULT" + else if( gGameExternalOptions.fEnableChanceOfEnemyAmbushesOnInsaneDifficult && + gGameOptions.ubDifficultyLevel == DIF_LEVEL_INSANE && CurrentPlayerProgressPercentage() >= 25 ) { //if the enemy outnumbers the players, then there is a chance of the enemies ambushing the group if( ubNumMobileEnemies > ubNumMercs )