AI_ACTION_STOP_MEDIC: also check START_AID, START_AID_PRN animations to prevent AI endless clock when first aid has just started and AI decides to move somewhere.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@8923 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Sevenfm
2021-01-30 23:22:59 +00:00
parent 2ff6826b8e
commit 1256639fe5
4 changed files with 16 additions and 7 deletions
+1 -1
View File
@@ -2632,7 +2632,7 @@ INT8 ExecuteAction(SOLDIERTYPE *pSoldier)
if (pSoldier->stats.bLife >= OKLIFE &&
pSoldier->bBreath > 0 &&
!pSoldier->bCollapsed &&
(pSoldier->usAnimState == GIVING_AID || pSoldier->usAnimState == GIVING_AID_PRN))
pSoldier->IsGivingAid())
{
if (gAnimControl[pSoldier->usAnimState].ubEndHeight == ANIM_PRONE)
pSoldier->ChangeSoldierState(END_AID_PRN, 0, 0);
+6 -6
View File
@@ -2522,7 +2522,7 @@ INT8 DecideActionRed(SOLDIERTYPE *pSoldier)
pSoldier->stats.bLife >= OKLIFE &&
!pSoldier->bCollapsed &&
!pSoldier->bBreathCollapsed &&
(pSoldier->usAnimState == COWERING || pSoldier->usAnimState == COWERING_PRONE))
pSoldier->IsCowering())
{
return AI_ACTION_STOP_COWERING;
}
@@ -2533,7 +2533,7 @@ INT8 DecideActionRed(SOLDIERTYPE *pSoldier)
pSoldier->stats.bLife >= OKLIFE &&
!pSoldier->bCollapsed &&
!pSoldier->bBreathCollapsed &&
(pSoldier->usAnimState == GIVING_AID || pSoldier->usAnimState == GIVING_AID_PRN))
pSoldier->IsGivingAid())
{
return AI_ACTION_STOP_MEDIC;
}
@@ -4934,7 +4934,7 @@ INT16 ubMinAPCost;
pSoldier->stats.bLife >= OKLIFE &&
!pSoldier->bCollapsed &&
!pSoldier->bBreathCollapsed &&
(pSoldier->usAnimState == COWERING || pSoldier->usAnimState == COWERING_PRONE))
pSoldier->IsCowering())
{
return AI_ACTION_STOP_COWERING;
}
@@ -4945,7 +4945,7 @@ INT16 ubMinAPCost;
pSoldier->stats.bLife >= OKLIFE &&
!pSoldier->bCollapsed &&
!pSoldier->bBreathCollapsed &&
(pSoldier->usAnimState == GIVING_AID || pSoldier->usAnimState == GIVING_AID_PRN))
pSoldier->IsGivingAid())
{
return AI_ACTION_STOP_MEDIC;
}
@@ -10143,11 +10143,11 @@ void LogDecideInfo(SOLDIERTYPE *pSoldier)
DebugAI(AI_MSG_INFO, pSoldier, String("Health %d/%d Breath %d/%d Shock %d Tolerance %d AI Morale %d Morale %d", pSoldier->stats.bLife, pSoldier->stats.bLifeMax, pSoldier->bBreath, pSoldier->bBreathMax, pSoldier->aiData.bShock, CalcSuppressionTolerance(pSoldier), pSoldier->aiData.bAIMorale, pSoldier->aiData.bMorale));
DebugAI(AI_MSG_INFO, pSoldier, String("Spot %d level %d opponents %d", pSoldier->sGridNo, pSoldier->pathing.bLevel, pSoldier->aiData.bOppCnt));
DebugAI(AI_MSG_INFO, pSoldier, String("ubServiceCount %d ubServicePartner %d fDoingSurgery %d", pSoldier->ubServiceCount, pSoldier->ubServicePartner, pSoldier->fDoingSurgery));
if (pSoldier->usAnimState == COWERING || pSoldier->usAnimState == COWERING_PRONE)
if (pSoldier->IsCowering())
{
DebugAI(AI_MSG_INFO, pSoldier, String("Cowering"));
}
if (pSoldier->usAnimState == GIVING_AID || pSoldier->usAnimState == GIVING_AID_PRN)
if (pSoldier->IsGivingAid())
{
DebugAI(AI_MSG_INFO, pSoldier, String("Giving aid"));
}