From 6194bbdbd87434d9e78ffa6c25a1b7d243888fc9 Mon Sep 17 00:00:00 2001 From: Sevenfm Date: Mon, 28 Sep 2020 04:41:15 +0000 Subject: [PATCH] Hopefully improved r8658: - check weapon magazine size and chance to say phrase when using gun - always reset fSayAmmoQuotePending in InternalReduceAttackBusyCount() git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8894 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Tactical/Overhead.cpp | 2 +- Tactical/Weapons.cpp | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Tactical/Overhead.cpp b/Tactical/Overhead.cpp index 4021a070e..3f4244bd6 100644 --- a/Tactical/Overhead.cpp +++ b/Tactical/Overhead.cpp @@ -9625,7 +9625,7 @@ SOLDIERTYPE *InternalReduceAttackBusyCount( ) fEnterCombat = FALSE; } - if ( pSoldier->flags.fSayAmmoQuotePending && ( Chance( gGameExternalOptions.iChanceSayAnnoyingPhrase ) || GetMagSize( &pSoldier->inv[pSoldier->ubAttackingHand] ) > 4 ) ) + if (pSoldier->flags.fSayAmmoQuotePending) { pSoldier->flags.fSayAmmoQuotePending = FALSE; TacticalCharacterDialogue( pSoldier, QUOTE_OUT_OF_AMMO ); diff --git a/Tactical/Weapons.cpp b/Tactical/Weapons.cpp index 46da42210..5c13734d1 100644 --- a/Tactical/Weapons.cpp +++ b/Tactical/Weapons.cpp @@ -2657,12 +2657,12 @@ BOOLEAN UseGunNCTH( SOLDIERTYPE *pSoldier , INT32 sTargetGridNo ) DeductAmmo( pSoldier, pSoldier->ubAttackingHand ); // ATE: Check if we should say quote... - if ( (*pObjHand)[0]->data.gun.ubGunShotsLeft == 0 && !Item[usUBItem].rocketlauncher ) + if ( (*pObjHand)[0]->data.gun.ubGunShotsLeft == 0 && + !Item[usUBItem].rocketlauncher && + pSoldier->bTeam == gbPlayerNum && + (Chance(gGameExternalOptions.iChanceSayAnnoyingPhrase) || GetMagSize(pObjHand) > 4)) { - if ( pSoldier->bTeam == gbPlayerNum ) - { - pSoldier->flags.fSayAmmoQuotePending = TRUE; - } + pSoldier->flags.fSayAmmoQuotePending = TRUE; } } else // throwing knife @@ -3419,12 +3419,12 @@ BOOLEAN UseGun( SOLDIERTYPE *pSoldier , INT32 sTargetGridNo ) DeductAmmo( pSoldier, pSoldier->ubAttackingHand ); // ATE: Check if we should say quote... - if ( (*pObjUsed)[0]->data.gun.ubGunShotsLeft == 0 && !Item[usUBItem].rocketlauncher ) + if ( (*pObjUsed)[0]->data.gun.ubGunShotsLeft == 0 && + !Item[usUBItem].rocketlauncher && + pSoldier->bTeam == gbPlayerNum && + (Chance(gGameExternalOptions.iChanceSayAnnoyingPhrase) || GetMagSize(pObjUsed) > 4)) { - if ( pSoldier->bTeam == gbPlayerNum ) - { - pSoldier->flags.fSayAmmoQuotePending = TRUE; - } + pSoldier->flags.fSayAmmoQuotePending = TRUE; } // NB bDoBurst will be 2 at this point for the first shot since it was incremented // above