From 9445ded9e22105300b2ff8b772545fa06f247223 Mon Sep 17 00:00:00 2001 From: Wanne Date: Sun, 4 May 2008 18:53:49 +0000 Subject: [PATCH] Fixed bug #94: Merc with no ammo in autocombat = CTD git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@2099 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Strategic/Auto Resolve.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Strategic/Auto Resolve.cpp b/Strategic/Auto Resolve.cpp index 2365e564..ea308052 100644 --- a/Strategic/Auto Resolve.cpp +++ b/Strategic/Auto Resolve.cpp @@ -4140,7 +4140,7 @@ void AttackTarget( SOLDIERCELL *pAttacker, SOLDIERCELL *pTarget ) } // WANNE: Does this lead to a CTD -> no I did not get any CTD, so I reenabled it - if( pAttacker->bWeaponSlot != HANDPOS ) + if( pAttacker->bWeaponSlot != HANDPOS && pAttacker->bWeaponSlot != -1) { //switch items tempItem = pAttacker->pSoldier->inv[ HANDPOS ]; @@ -4153,7 +4153,14 @@ void AttackTarget( SOLDIERCELL *pAttacker, SOLDIERCELL *pTarget ) { iImpact = HTHImpact( pAttacker->pSoldier, pTarget->pSoldier, ubAccuracy, (BOOLEAN)(fKnife || fClaw) ); } - iImpact = 0; + + // WANNE: Why is impact here always set to 0? The impact was calculated a few lines before! + //iImpact = 0; + + // WANNE: Just for safty. + if (iImpact < 0) + iImpact = 0; + iNewLife = pTarget->pSoldier->stats.bLife - iImpact; if( pAttacker->uiFlags & CELL_MERC )