one bad pointer crash i know of could help (very common crash bug)
Code:
// Enemy behind Obstacle ? Bot wants to fire ?
if (pBot->iStates & STATE_SUSPECTENEMY && pBot->bWantsToFire)
{
int iTask = pBot->pTasks->iTask;
// Don't allow shooting through walls when camping
if(iTask == TASK_PAUSE || iTask == TASK_CAMP)
pBot->bWantsToFire = FALSE;
}
should be
Code:
// Enemy behind Obstacle ? Bot wants to fire ?
if (pBot->iStates & STATE_SUSPECTENEMY && pBot->bWantsToFire)
{
int iTask = BotGetSafeTask (pBot)->iTask;
// Don't allow shooting through walls when camping
if(iTask == TASK_PAUSE || iTask == TASK_CAMP)
pBot->bWantsToFire = FALSE;
}