Fix: gGameCTHConstants.BASE_CROUCHING_STANCE was missing from handling calculations in NCTH

- removed gGameExternalOptions.fUseNewCTHCalculation as it is not needed anymore
- cleaned up function CalcNewChanceToHitGun

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8281 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
silversurfer
2016-08-06 10:44:42 +00:00
parent a58f8a6622
commit 73e3e1172c
8 changed files with 178 additions and 1419 deletions
+9 -2
View File
@@ -7342,7 +7342,7 @@ BOOLEAN AutoPlaceObject( SOLDIERTYPE * pSoldier, OBJECTTYPE * pObj, BOOLEAN fNew
break;
}
if (PlaceInAnySlot(pSoldier, pObj, (fNewItem == TRUE), bExcludeSlot, fStackOrSingleSlot) == true)
if ( PlaceInAnySlot(pSoldier, pObj, (fNewItem == TRUE), bExcludeSlot, fStackOrSingleSlot) )
return TRUE;
return( FALSE );
@@ -12845,7 +12845,14 @@ FLOAT GetBestScopeMagnificationFactor( SOLDIERTYPE *pSoldier, OBJECTTYPE * pObj,
INT32 iCurrentTotalPenalty = 0;
INT32 iBestTotalPenalty = 0;
FLOAT rangeModifier = GetScopeRangeMultiplier(pSoldier, pObjUsed, uiRange);
FLOAT iProjectionFactor = CalcProjectionFactor(pSoldier, pObjUsed, uiRange, 1);
FLOAT iProjectionFactor = 0;
// With the reworked NCTH code we don't want to use iProjectionFactor anymore.
// Instead we use the performance bonus if at least one bonus is != 0. Otherwise -> continue using Projection Factor.
if ( (gGameCTHConstants.LASER_PERFORMANCE_BONUS_HIP + gGameCTHConstants.LASER_PERFORMANCE_BONUS_IRON + gGameCTHConstants.LASER_PERFORMANCE_BONUS_SCOPE) != 0 )
iProjectionFactor = 1.0;
else
iProjectionFactor = CalcProjectionFactor(pSoldier, pObjUsed, uiRange, 1);
// Flugente: if scope modes are allowed, use them
if ( gGameExternalOptions.fScopeModes && pSoldier && pObjUsed->exists() == true && Item[pObjUsed->usItem].usItemClass == IC_GUN )