From f3bbd1c4a418dad5f1949e572a68f4d496a79bd6 Mon Sep 17 00:00:00 2001 From: MaddMugsy Date: Fri, 11 Aug 2006 04:44:21 +0000 Subject: [PATCH] -small change to autofire spread bursts to enable selection of # of rounds fired git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@422 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- GameVersion.cpp | 2 +- Tactical/Spread Burst.cpp | 21 +++++++++++++-------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/GameVersion.cpp b/GameVersion.cpp index b33a4d95..00333212 100644 --- a/GameVersion.cpp +++ b/GameVersion.cpp @@ -23,7 +23,7 @@ INT16 zVersionLabel[256] = { L"Beta v. 0.98" }; #else //RELEASE BUILD VERSION - INT16 zVersionLabel[256] = { L"Release v1.13.420" }; + INT16 zVersionLabel[256] = { L"Release v1.13.422" }; #endif diff --git a/Tactical/Spread Burst.cpp b/Tactical/Spread Burst.cpp index 204c4ccf..e6b1fb05 100644 --- a/Tactical/Spread Burst.cpp +++ b/Tactical/Spread Burst.cpp @@ -135,17 +135,22 @@ void PickBurstLocations( SOLDIERTYPE *pSoldier ) { INT16 sAPCosts; - pSoldier->bDoAutofire = 1; - - do + if ( pSoldier->bDoAutofire <= gbNumBurstLocations ) { - pSoldier->bDoAutofire++; - sAPCosts = CalcTotalAPsToAttack( pSoldier, gsBurstLocations[0].sGridNo, TRUE, 0); + pSoldier->bDoAutofire = 1; + do + { + pSoldier->bDoAutofire++; + sAPCosts = CalcTotalAPsToAttack( pSoldier, gsBurstLocations[0].sGridNo, TRUE, 0); + } + while(EnoughPoints( pSoldier, sAPCosts, 0, FALSE ) && pSoldier->inv[ pSoldier->ubAttackingHand ].ubGunShotsLeft >= pSoldier->bDoAutofire && gbNumBurstLocations >= pSoldier->bDoAutofire); + pSoldier->bDoAutofire--; + + ubShotsPerBurst = __min(pSoldier->bDoAutofire,MAX_BURST_SPREAD_TARGETS); } - while(EnoughPoints( pSoldier, sAPCosts, 0, FALSE ) && pSoldier->inv[ pSoldier->ubAttackingHand ].ubGunShotsLeft >= pSoldier->bDoAutofire && gbNumBurstLocations >= pSoldier->bDoAutofire); - pSoldier->bDoAutofire--; + else if ( gbNumBurstLocations > 0 ) + ubShotsPerBurst = pSoldier->bDoAutofire / gbNumBurstLocations; - ubShotsPerBurst = __min(pSoldier->bDoAutofire,MAX_BURST_SPREAD_TARGETS); } else {