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 {