mirror of
https://github.com/1dot13/source.git
synced 2026-08-05 14:00:23 +02:00
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:
+17
-3
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user