diff --git a/GameSettings.cpp b/GameSettings.cpp index 5a2102df..6a0e50ae 100644 --- a/GameSettings.cpp +++ b/GameSettings.cpp @@ -1610,6 +1610,8 @@ void LoadGameExternalOptions() // HEADROCK HAM 3.5: Explosive Suppression Effectiveness alters the amount of Suppression Points you get from nearby blasts. gGameExternalOptions.usExplosionSuppressionEffect = iniReader.ReadInteger("Tactical Suppression Fire Settings","EXPLOSIVE_SUPPRESSION_EFFECTIVENESS", 100, 0, 1000); + gGameExternalOptions.ubBuckshotSuppressionEffectiveness = iniReader.ReadInteger("Tactical Suppression Fire Settings", "BUCKSHOT_SUPPRESSION_EFFECTIVENESS", 50, 0, 100); + // HEADROCK HAM 3.1: This is a suppression tool that not everyone will like. It gives an on-screen message when any character has been suppressed so much he's lost his next turn completely! gGameExternalOptions.fShowSuppressionShutdown = iniReader.ReadBoolean("Tactical Suppression Fire Settings","NOTIFY_WHEN_PINNED_DOWN", FALSE); diff --git a/GameSettings.h b/GameSettings.h index 3bb1871d..b7b50440 100644 --- a/GameSettings.h +++ b/GameSettings.h @@ -1205,6 +1205,8 @@ typedef struct // HEADROCK HAM 3.5: Explosive Suppression Effectiveness alters the amount of Suppression Points you get from nearby blasts. UINT16 usExplosionSuppressionEffect; + UINT8 ubBuckshotSuppressionEffectiveness; + // HEADROCK HAM 3.5: When enabled, goggle-switching affects every merc in the sector, not just those belonging to the current squad. BOOLEAN fGoggleSwapAffectsAllMercsInSector; diff --git a/Tactical/LOS.cpp b/Tactical/LOS.cpp index 7e963243..617eea44 100644 --- a/Tactical/LOS.cpp +++ b/Tactical/LOS.cpp @@ -7106,7 +7106,9 @@ void MoveBullet( INT32 iBullet ) { // buckshot has only a 1 in 2 chance of applying a suppression point // HEADROCK HAM 5: For NCTH, make pellets as effective as any other bullet. - if (UsingNewCTHSystem() || !(pBullet->usFlags & BULLET_FLAG_BUCKSHOT) || Random(2)) + // sevenfm: externalized chance + //if (UsingNewCTHSystem() || !(pBullet->usFlags & BULLET_FLAG_BUCKSHOT) || Random(2)) + if (!(pBullet->usFlags & BULLET_FLAG_BUCKSHOT) || Chance(gGameExternalOptions.ubBuckshotSuppressionEffectiveness)) { // bullet goes whizzing by this guy! switch ( gAnimControl[ MercPtrs[pStructure->usStructureID]->usAnimState ].ubEndHeight ) @@ -7192,7 +7194,9 @@ void MoveBullet( INT32 iBullet ) { // buckshot has only a 1 in 2 chance of applying a suppression point // HEADROCK HAM 5: For NCTH, make pellets as effective as any other bullet. - if (UsingNewCTHSystem() || !(pBullet->usFlags & BULLET_FLAG_BUCKSHOT) || Random(2)) + // sevenfm: externalized chance + //if (UsingNewCTHSystem() || !(pBullet->usFlags & BULLET_FLAG_BUCKSHOT) || Random(2)) + if (!(pBullet->usFlags & BULLET_FLAG_BUCKSHOT) || Chance(gGameExternalOptions.ubBuckshotSuppressionEffectiveness)) { // bullet goes whizzing by this guy! switch ( gAnimControl[ pTarget->usAnimState ].ubEndHeight )