mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
unactivated turncoats ignore suspicious activity.
unactivated turncoats intentionally try to miss when shooting at mercs/militia. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9370 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
@@ -16169,6 +16169,10 @@ BOOLEAN SOLDIERTYPE::SeemsLegit( UINT8 ubObserverID )
|
||||
if ( !pSoldier )
|
||||
return TRUE;
|
||||
|
||||
// rftr: turncoats ignore suspicious people/behaviour
|
||||
if (gSkillTraitValues.fCOTurncoats && (pSoldier->usSoldierFlagMask2 & SOLDIER_TURNCOAT))
|
||||
return TRUE;
|
||||
|
||||
// if we don't have the Flag: not covert
|
||||
// important: no messages up to this point. the function will get called a lot, up to this point there is nothing unusual
|
||||
if ( !(this->usSoldierFlagMask & (SOLDIER_COVERT_CIV | SOLDIER_COVERT_SOLDIER)) )
|
||||
|
||||
@@ -1842,6 +1842,12 @@ void GetTargetWorldPositions( SOLDIERTYPE *pSoldier, INT32 sTargetGridNo, FLOAT
|
||||
dTargetZ += CONVERT_PIXELS_TO_HEIGHTUNITS( gpWorldLevelData[sTargetGridNo].sHeight );
|
||||
}
|
||||
|
||||
// rftr: unactivated turncoats intentionally try to miss - aim high
|
||||
if (gSkillTraitValues.fCOTurncoats && pSoldier && (pSoldier->usSoldierFlagMask2 & SOLDIER_TURNCOAT))
|
||||
{
|
||||
dTargetZ += 100.f;
|
||||
}
|
||||
|
||||
*pdXPos = dTargetX;
|
||||
*pdYPos = dTargetY;
|
||||
*pdZPos = dTargetZ;
|
||||
@@ -9121,6 +9127,10 @@ void ShotMiss( UINT8 ubAttackerID, INT32 iBullet )
|
||||
|
||||
UINT32 CalcChanceHTH( SOLDIERTYPE * pAttacker,SOLDIERTYPE *pDefender, INT16 ubAimTime, UINT8 ubMode )
|
||||
{
|
||||
// rftr: unactivated turncoats intentionally try to miss
|
||||
if (gSkillTraitValues.fCOTurncoats && pAttacker && (pAttacker->usSoldierFlagMask2 & SOLDIER_TURNCOAT))
|
||||
return gGameExternalOptions.ubMinimumCTH;
|
||||
|
||||
UINT16 usInHand;
|
||||
UINT8 ubBandaged;
|
||||
INT32 iAttRating, iDefRating;
|
||||
@@ -10176,6 +10186,10 @@ INT32 CalcMaxTossRange( SOLDIERTYPE * pSoldier, UINT16 usItem, BOOLEAN fArmed, O
|
||||
|
||||
UINT32 CalcThrownChanceToHit(SOLDIERTYPE *pSoldier, INT32 sGridNo, INT16 ubAimTime, UINT8 ubAimPos )
|
||||
{
|
||||
// rftr: unactivated turncoats intentionally try to miss
|
||||
if (gSkillTraitValues.fCOTurncoats && pSoldier && (pSoldier->usSoldierFlagMask2 & SOLDIER_TURNCOAT))
|
||||
return gGameExternalOptions.ubMinimumCTH;
|
||||
|
||||
INT32 iChance, iMaxRange, iRange;
|
||||
UINT16 usHandItem;
|
||||
INT8 bPenalty, bBandaged;
|
||||
|
||||
Reference in New Issue
Block a user