Fix (by Sevenfm): Corrected mixed suppression parameters MAX_CTH_PENALTY_FOR_TARGET_SHOCK and MAX_CTH_PENALTY_FROM_SHOCK and also fixed suppression calculation.

http://www.ja-galaxy-forum.com/ubbthreads.php/topics/337412/Re:_Code_Snippets#Post337412


git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7621 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
silversurfer
2014-10-31 15:36:02 +00:00
parent 08af7cca36
commit faf345ac18
5 changed files with 24 additions and 10 deletions
+17 -3
View File
@@ -8218,7 +8218,7 @@ INT8 CalcSuppressionTolerance( SOLDIERTYPE * pSoldier )
// HEADROCK HAM 3.6: This value has moved here. It reduces tolerance if the character is massively shocked.
if (gGameExternalOptions.ubCowerEffectOnSuppression != 0)
{
if (pSoldier->aiData.bShock > bTolerance)
if (CalcEffectiveShockLevel( pSoldier ) > bTolerance)
{
bTolerance -= gGameExternalOptions.ubCowerEffectOnSuppression;
}
@@ -8472,7 +8472,7 @@ void HandleSuppressionFire( UINT8 ubTargetedMerc, UINT8 ubCausedAttacker )
fCower = false;
// SANDRO - STOMP traits
// sevenfm: moved bShockForCower calculation to CalcEffectiveShockLevel()
INT8 bShockForCower = CalcEffectiveShockLevel( pSoldier );
//INT8 bShockForCower = CalcEffectiveShockLevel( pSoldier );
/*
INT8 bShockForCower = pSoldier->aiData.bShock;
if ( gGameOptions.fNewTraitSystem )
@@ -8496,7 +8496,7 @@ void HandleSuppressionFire( UINT8 ubTargetedMerc, UINT8 ubCausedAttacker )
bShockForCower = (INT8)((bShockForCower * (100 - pSoldier->GetFearResistanceBonus()) / 100 ) + 0.5);
}
*/
if (bShockForCower >= bTolerance)
if ( CoweringShockLevel(pSoldier) )
{
fCower = true;
@@ -11038,4 +11038,18 @@ void VIPFleesToMeduna()
SectorInfo[usSector].ubNumElites += 5;
}
}
}
BOOLEAN CoweringShockLevel( SOLDIERTYPE * pSoldier )
{
INT8 bTolerance = CalcSuppressionTolerance( pSoldier );
INT8 bShock = CalcEffectiveShockLevel( pSoldier );
// check that character is cowering
if (bShock >= bTolerance )
{
return TRUE;
}
return FALSE;
}