diff --git a/Tactical/Overhead.cpp b/Tactical/Overhead.cpp index da0ad7b6f..66d666a50 100644 --- a/Tactical/Overhead.cpp +++ b/Tactical/Overhead.cpp @@ -9388,7 +9388,7 @@ SOLDIERTYPE *InternalReduceAttackBusyCount( ) fEnterCombat = FALSE; } - if ( pSoldier->flags.fSayAmmoQuotePending ) + if ( pSoldier->flags.fSayAmmoQuotePending && ( Chance( gGameExternalOptions.iChanceSayAnnoyingPhrase ) || GetMagSize( &pSoldier->inv[pSoldier->ubAttackingHand] ) > 4 ) ) { pSoldier->flags.fSayAmmoQuotePending = FALSE; TacticalCharacterDialogue( pSoldier, QUOTE_OUT_OF_AMMO ); diff --git a/Tactical/Points.cpp b/Tactical/Points.cpp index e291e5fc0..487045a34 100644 --- a/Tactical/Points.cpp +++ b/Tactical/Points.cpp @@ -2910,7 +2910,7 @@ BOOLEAN EnoughAmmo( SOLDIERTYPE *pSoldier, BOOLEAN fDisplay, INT8 bInvPos ) return ( TRUE ); } - if ( fDisplay ) + if ( fDisplay && ( Chance( gGameExternalOptions.iChanceSayAnnoyingPhrase ) || GetMagSize( pObjUsed, 0 ) > 4 ) ) { TacticalCharacterDialogue( pSoldier, QUOTE_OUT_OF_AMMO ); } @@ -2921,10 +2921,11 @@ BOOLEAN EnoughAmmo( SOLDIERTYPE *pSoldier, BOOLEAN fDisplay, INT8 bInvPos ) { if ( (*pObjUsed)[0]->data.gun.ubGunShotsLeft == 0 ) { - if ( fDisplay ) + if ( fDisplay && ( Chance( gGameExternalOptions.iChanceSayAnnoyingPhrase ) || GetMagSize( pObjUsed, 0 ) > 4 ) ) { TacticalCharacterDialogue( pSoldier, QUOTE_OUT_OF_AMMO ); } + return( FALSE ); }