Fix for clock problem when dual wield or auto-fire causes a soldier to turn on the first shot but knocks him down on a successive shot

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@1542 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
Overhaul
2007-10-23 08:06:02 +00:00
parent b0b9d14154
commit a1ac43ee58
3 changed files with 17 additions and 5 deletions
+8 -2
View File
@@ -1396,8 +1396,14 @@ BOOLEAN AdjustToNextAnimationFrame( SOLDIERTYPE *pSoldier )
// OK, pick a larger direction to goto....
pSoldier->uiStatusFlags |= SOLDIER_TURNINGFROMHIT;
// This becomes an attack busy situation
gTacticalStatus.ubAttackBusyCount++;
DebugAttackBusy( String( "Soldier turning from a hit. Increasing attack busy. Now %d\n", gTacticalStatus.ubAttackBusyCount ) );
// 0verhaul: There is an attack busy problem with this. The soldier could be in mid-turn
// when another bullet is fired (auto-fire or dual-wield, for instance), and the soldier is
// knocked down in the middle of the turn. In such a case, the attack busy does not get
// cancelled. So if we indeed need to keep the attack busy (which may not be the case),
// we will need to find a more reliable method. For now, I'm going to cancel out the
// ABC adjustment here and we'll see if there needs to be something in its place.
//gTacticalStatus.ubAttackBusyCount++;
DebugAttackBusy( String( "Soldier turning from a hit. Not Increasing attack busy. Now %d\n", gTacticalStatus.ubAttackBusyCount ) );
// Pick evenly between both
if ( Random( 50 ) < 25 )