mirror of
https://github.com/1dot13/source.git
synced 2026-08-05 14:00:23 +02:00
Prevent AI deadlock when they try to shoot and player gets an interrupt
This commit is contained in:
@@ -675,6 +675,13 @@ void HandleSoldierAI( SOLDIERTYPE *pSoldier ) // FIXME - this function is named
|
||||
// make sure we're not using combat AI
|
||||
pSoldier->aiData.bAlertStatus = STATUS_GREEN;
|
||||
}
|
||||
// Poor hack to prevent AI deadlocking in case they change stance before firing and player gets an interrupt.
|
||||
// Without this, if player doesn't move any mercs, the AI soldier won't fire and will wait until the deadlock is broken
|
||||
// By canceling the AI action, the AI can reconsider actions and oddly enough, usually decides to fire but this time successfully.
|
||||
if (pSoldier->aiData.bAction == AI_ACTION_FIRE_GUN && pSoldier->aiData.bLastAction == AI_ACTION_NONE)
|
||||
{
|
||||
CancelAIAction(pSoldier, FALSE);
|
||||
}
|
||||
pSoldier->aiData.bNewSituation = WAS_NEW_SITUATION;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user