Improved AI path tweaks.

FindBestNearbyCover: avoid moving into light if not in light already and not under attack.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8729 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Sevenfm
2020-01-12 09:07:31 +00:00
parent f54a91718b
commit 168f9b9f6d
2 changed files with 23 additions and 13 deletions
+15 -6
View File
@@ -3846,13 +3846,22 @@ if(!GridNoOnVisibleWorldTile(iDestination))
if (s->bTeam != gbPlayerNum &&
!(s->flags.uiStatusFlags & SOLDIER_BOXER) &&
!AreInMeanwhile() &&
IS_MERC_BODY_TYPE(s) &&
(InGasSpot(s, newLoc, bLevel) ||
DeepWater(newLoc, bLevel) && (s->numFlanks == 0 || s->numFlanks >= MAX_FLANKS_RED) ||
s->bTeam == ENEMY_TEAM && s->aiData.bAlertStatus >= STATUS_RED && (s->aiData.bAttitude == CUNNINGSOLO || s->aiData.bAttitude == CUNNINGAID || s->aiData.bAIMorale < MORALE_FEARLESS) &&
(InLightAtNight(newLoc, bLevel) || GetNearestRottingCorpseAIWarning(newLoc) > 0)))
IS_MERC_BODY_TYPE(s))
{
nextCost += 20;
if (InGasSpot(s, newLoc, bLevel) ||
DeepWater(newLoc, bLevel) && (s->numFlanks == 0 || s->numFlanks >= MAX_FLANKS_RED))
{
nextCost += 20;
}
else if (s->bTeam == ENEMY_TEAM &&
s->aiData.bAlertStatus >= STATUS_RED &&
(InLightAtNight(newLoc, bLevel) || GetNearestRottingCorpseAIWarning(newLoc) > 0))
{
if (s->aiData.bAttitude == CUNNINGSOLO || s->aiData.bAttitude == CUNNINGAID || s->aiData.bAIMorale < MORALE_FEARLESS)
nextCost += 20;
else
nextCost += 10;
}
}
/*