Taunts update:

- TAUNT_INFORM_ABOUT (check that this opponent is really new)
- TAUNT_ALERT (say taunt only when red alert raised, if it's no initial alert, use TAUNT_INFORM_ABOUT instead)
- TAUNT_SUSPICIOUS (only when yellow alert is raised)

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8262 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Sevenfm
2016-06-25 10:41:13 +00:00
parent 90594fb43f
commit f8d9a538cd
2 changed files with 14 additions and 8 deletions
+3 -3
View File
@@ -2624,12 +2624,12 @@ void ManSeesMan(SOLDIERTYPE *pSoldier, SOLDIERTYPE *pOpponent, INT32 sOppGridNo,
// if the looker hasn't seen this opponent at all earlier this turn, OR
// if the opponent is not where the looker last thought him to be
if ((pSoldier->aiData.bOppList[pOpponent->ubID] != SEEN_THIS_TURN) ||
(gsLastKnownOppLoc[pSoldier->ubID][pOpponent->ubID] != sOppGridNo))
if ((pSoldier->aiData.bOppList[pOpponent->ubID] != SEEN_THIS_TURN) || (gsLastKnownOppLoc[pSoldier->ubID][pOpponent->ubID] != sOppGridNo))
{
SetNewSituation( pSoldier ); // force the looker to re-evaluate
// anv: simulate informing buddies about detected enemy's position
if(gbPublicOpplist[pSoldier->bTeam][pOpponent->ubID] != SEEN_CURRENTLY)
// sevenfm: check that he is really new
if( gbPublicOpplist[pSoldier->bTeam][pOpponent->ubID] != SEEN_CURRENTLY && gbPublicOpplist[pSoldier->bTeam][pOpponent->ubID] != SEEN_THIS_TURN )
PossiblyStartEnemyTaunt( pSoldier, TAUNT_INFORM_ABOUT, pOpponent->ubID );
}
+11 -5
View File
@@ -2043,11 +2043,16 @@ INT8 ExecuteAction(SOLDIERTYPE *pSoldier)
HandleInitialRedAlert(pSoldier->bTeam, TRUE);
pSoldier->usSoldierFlagMask |= SOLDIER_RAISED_REDALERT;
}
// SANDRO - ENEMY TAUNTS
PossiblyStartEnemyTaunt( pSoldier, TAUNT_ALERT );
// SANDRO - ENEMY TAUNTS
PossiblyStartEnemyTaunt( pSoldier, TAUNT_ALERT );
}
else
{
// sevenfm: if it's not initial RED ALERT and we are informing others
PossiblyStartEnemyTaunt( pSoldier, TAUNT_INFORM_ABOUT );
}
//ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_BETAVERSION, L"Debug: AI radios your position!" );
// DROP THROUGH HERE!
case AI_ACTION_YELLOW_ALERT: // tell friends opponent(s) heard
@@ -2067,7 +2072,8 @@ INT8 ExecuteAction(SOLDIERTYPE *pSoldier)
AIDecideRadioAnimation( pSoldier );
// SANDRO - ENEMY TAUNTS
PossiblyStartEnemyTaunt( pSoldier, TAUNT_SUSPICIOUS );
if (pSoldier->aiData.bAction == AI_ACTION_YELLOW_ALERT )
PossiblyStartEnemyTaunt( pSoldier, TAUNT_SUSPICIOUS );
break;