Fix for critical bug introduced in r9182: replace CoweringShockLevel check which calculates suppression tolerance every time, with IsCowering, which uses cowering animation check.

DrawBarsInUIBox: fix possible divide by zero.

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9184 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Sevenfm
2021-10-16 16:07:31 +00:00
parent 9fd9e82397
commit b11957691c
8 changed files with 17 additions and 15 deletions
+2 -2
View File
@@ -337,7 +337,7 @@ void CalcBestShot(SOLDIERTYPE *pSoldier, ATTACKTYPE *pBestShot)
(pOpponent->stats.bLife < OKLIFE ||
pOpponent->bCollapsed && pOpponent->bBreath == 0 ||
pOpponent->IsCowering() ||
CoweringShockLevel(pOpponent) ||
pOpponent->IsCowering() ||
pOpponent->IsZombie() ||
!IS_MERC_BODY_TYPE(pOpponent)))
{
@@ -1146,7 +1146,7 @@ void CalcBestThrow(SOLDIERTYPE *pSoldier, ATTACKTYPE *pBestThrow)
Explosive[Item[usGrenade].ubClassIndex].ubType == EXPLOSV_SMOKE &&
(FindAIUsableObjClass(pOpponent, IC_GUN) == NO_SLOT ||
(pSoldier->usAnimState == COWERING || pSoldier->usAnimState == COWERING_PRONE) ||
CoweringShockLevel(pOpponent) > 50 ||
pOpponent->ShockLevelPercent() > 50 ||
EffectiveMarksmanship(pOpponent) < 90 && !IsScoped(&pOpponent->inv[HANDPOS]) && !pOpponent->aiData.bLastAttackHit))
{
continue;