Covert Ops trait improvements:

- performing suspicious activities renders a spy easily identifiable for a short time (realtime) or until he ha spend enough AP (turnbased). This should make exploiting disguises harder.
- if a spy is closer than COVERT_ELITES_UNCOVER_RADIUS to an elite or officer, they can uncover the spy, depending on uniform worn an experience levels.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@7514 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Flugente
2014-09-13 13:12:46 +00:00
parent 260f09356c
commit a642ab500d
16 changed files with 170 additions and 75 deletions
+18
View File
@@ -13612,6 +13612,24 @@ void TransformationMenuPopup_Arm( OBJECTTYPE* pObj )
gpItemDescSoldier->InventoryExplosion();
}
// Flugente: blowing up bombs in our inventory can be used to indirectly kill as a spy (via mustard gas), so make this a suspicious action
if ( gpItemDescSoldier->usSoldierFlagMask & (SOLDIER_COVERT_CIV | SOLDIER_COVERT_SOLDIER) )
{
// if e perform a suspicious action, we are easier to identify
UINT16 appenalty = 50;
if ( appenalty )
{
// mark us a easily identifiable
gpItemDescSoldier->usSoldierFlagMask |= SOLDIER_COVERT_TEMPORARY_OVERT;
// in realtime mode, remember the second when this event happened. Once suspicion is checked, we are either uncovered or, if enough time has passed, no longer suspicious
// in turnbase mode, remember our current APs. If a new turn has started or enough APs have been used, remove the flag
gpItemDescSoldier->usSkillCooldown[SOLDIER_COOLDOWN_COVERTOPS_TEMPORARYOVERT_SECONDS] = GetWorldTotalSeconds( ) + max( 1, appenalty / 25 );
gpItemDescSoldier->usSkillCooldown[SOLDIER_COOLDOWN_COVERTOPS_TEMPORARYOVERT_APS] = appenalty;
}
}
DeleteObj( pObj );
return;