mirror of
https://github.com/1dot13/source.git
synced 2026-07-29 13:52:17 +02:00
upon decapitating or gutting, a knife may take damage
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@5952 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -4948,15 +4948,21 @@ void CorpseMessageBoxCallBack( UINT8 ubExitValue )
|
||||
|
||||
INT16 sAPCost = CalcTotalAPsToAttack( gpTempSoldier, nextGridNoinSight, FALSE, gpTempSoldier->aiData.bAimTime );
|
||||
|
||||
BOOLEAN fDamageKnife = FALSE;
|
||||
|
||||
switch (ubExitValue)
|
||||
{
|
||||
case 1:
|
||||
DecapitateCorpse( gpTempSoldier, nextGridNoinSight, level );
|
||||
DeductPoints( gpTempSoldier, sAPCost, 0 );
|
||||
if ( DecapitateCorpse( gpTempSoldier, nextGridNoinSight, level ) )
|
||||
fDamageKnife = TRUE;
|
||||
|
||||
DeductPoints( gpTempSoldier, sAPCost, 0 );
|
||||
break;
|
||||
case 2:
|
||||
GutCorpse( gpTempSoldier, nextGridNoinSight, level );
|
||||
DeductPoints( gpTempSoldier, sAPCost, 0 );
|
||||
if ( GutCorpse( gpTempSoldier, nextGridNoinSight, level ) )
|
||||
fDamageKnife = TRUE;
|
||||
|
||||
DeductPoints( gpTempSoldier, sAPCost, 0 );
|
||||
break;
|
||||
case 3:
|
||||
StripCorpse( gpTempSoldier, nextGridNoinSight, level );
|
||||
@@ -4969,6 +4975,20 @@ void CorpseMessageBoxCallBack( UINT8 ubExitValue )
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
// 35% chance to damage our knife a bit
|
||||
if ( fDamageKnife && Chance(35) )
|
||||
{
|
||||
if ( Item[ gpTempSoldier->inv[HANDPOS].usItem ].usItemClass & IC_BLADE )
|
||||
{
|
||||
gpTempSoldier->inv[HANDPOS][0]->data.objectStatus--;
|
||||
|
||||
if ( Random(100) < Item[ gpTempSoldier->inv[HANDPOS].usItem ].usDamageChance )
|
||||
{
|
||||
gpTempSoldier->inv[HANDPOS][0]->data.sRepairThreshold--;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user