AI and tactics improvements (by Sevenfm):

New options:
 AI_YELLOW_FLANKING - yellow flanking is disabled by default
 IMPROVED_TACTICAL_UI - use name color to show soldier's status (disguised, drunk)

Removed obsolete options:
 SHOW_COVER_INDICATOR
 SHOW_ENEMY_RANK_ICON
 SHOW_ENEMY_AWARENESS

Fixes and improvements:
 - collapsed enemies should not taunt
 - if soldier is unconscious, he can't see anything or anybody
 - ClosestReachableDisturbance - performance improvement
 - allow InternalGoAsFarAsPossibleTowards to jump over fences

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8226 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
silversurfer
2016-05-20 18:25:33 +00:00
parent e86b24821c
commit 196a1eb84d
9 changed files with 88 additions and 399 deletions
+10 -8
View File
@@ -2097,12 +2097,13 @@ INT8 DecideActionYellow(SOLDIERTYPE *pSoldier)
}
// possibly start YELLOW flanking
if ( ( pSoldier->aiData.bAttitude == CUNNINGAID || pSoldier->aiData.bAttitude == CUNNINGSOLO ) &&
if( gGameExternalOptions.fAIYellowFlanking &&
( pSoldier->aiData.bAttitude == CUNNINGAID || pSoldier->aiData.bAttitude == CUNNINGSOLO ) &&
pSoldier->bTeam == ENEMY_TEAM &&
( CountFriendsInDirection( pSoldier, sNoiseGridNo ) > 0 || NightTime() ) &&
( pSoldier->aiData.bOrders == SEEKENEMY ||
pSoldier->aiData.bOrders == FARPATROL ||
pSoldier->aiData.bOrders == CLOSEPATROL && NightTime() ) )
pSoldier->aiData.bOrders == CLOSEPATROL && NightTime() ))
{
INT8 action = AI_ACTION_SEEK_NOISE;
INT16 dist = PythSpacesAway ( pSoldier->sGridNo, sNoiseGridNo );
@@ -9555,12 +9556,13 @@ INT8 ArmedVehicleDecideActionYellow( SOLDIERTYPE *pSoldier )
#endif
// possibly start YELLOW flanking
if ( (pSoldier->aiData.bAttitude == CUNNINGAID || pSoldier->aiData.bAttitude == CUNNINGSOLO) &&
pSoldier->bTeam == ENEMY_TEAM &&
(CountFriendsInDirection( pSoldier, sNoiseGridNo ) > 0 || NightTime( )) &&
(pSoldier->aiData.bOrders == SEEKENEMY ||
pSoldier->aiData.bOrders == FARPATROL ||
pSoldier->aiData.bOrders == CLOSEPATROL && NightTime( )) )
if( gGameExternalOptions.fAIYellowFlanking &&
(pSoldier->aiData.bAttitude == CUNNINGAID || pSoldier->aiData.bAttitude == CUNNINGSOLO) &&
pSoldier->bTeam == ENEMY_TEAM &&
(CountFriendsInDirection( pSoldier, sNoiseGridNo ) > 0 || NightTime( )) &&
(pSoldier->aiData.bOrders == SEEKENEMY ||
pSoldier->aiData.bOrders == FARPATROL ||
pSoldier->aiData.bOrders == CLOSEPATROL && NightTime( )) )
{
INT8 action = AI_ACTION_SEEK_NOISE;
INT16 dist = PythSpacesAway( pSoldier->sGridNo, sNoiseGridNo );