
// Tribes 2 Arena [Rev2] 1.0 Final
// Written By Teribaen (teribaen@planettribes.com)
// http://www.planettribes.com/t2arena/

$Arena::AI::Version = 1.0;


// ========================================================================== //
// |                                                                        | //
// |  AI TASKS                                                              | //
// |                                                                        | //
// ========================================================================== //

// ------------------------------------------------------------------ //
// ArenaGame::onAIRespawn()
// Gives the bots their objectives

function ArenaGame::onAIRespawn( %game, %client )
{
  // Setup AI tasks
  if ( !%client.defaultTasksAdded )
  {
    %client.defaultTasksAdded = true;
    %client.addTask(AIEngageTask);
    %client.addTask(AIPickupItemTask);
//  %client.addTask(AITauntCorpseTask);    // Heh, this makes the bots sitting ducks while they taunt
    %client.addTask(AIUseInventoryTask);
//  %client.addtask(AIEngageTurretTask);
    %client.addtask(AIDetectMineTask);
    %client.addTask(AIPatrolTask);
  }

  // Use an inv whenever we spawn?
  %client.spawnUseInv = true;

  // Mark the bot as alive (they just spawned)
  arenaSetClientAlive( %client );
}


// ========================================================================== //
// |                                                                        | //
// |  AI CALLBACK HANDLERS                                                  | //
// |                                                                        | //
// ========================================================================== //

function ArenaGame::AIInit( %game )
{
  // Call the default AIInit() function
  AIInit();
}

function ArenaGame::onAIDamaged(%game, %clVictim, %clAttacker, %damageType, %implement )
{
  if ( %clAttacker && %clAttacker != %clVictim && %clAttacker.team == %clVictim.team )
  {
    // Clear the "lastDamageClient" tag so we don't turn on teammates
    %clVictim.lastDamageClient = -1;
  }
}

function ArenaGame::onAIKilledClient(%game, %clVictim, %clAttacker, %damageType, %implement)
{
  if ( %clVictim.team != %clAttacker.team )
    DefaultGame::onAIKilledClient( %game, %clVictim, %clAttacker, %damageType, %implement );
}

function ArenaGame::onAIFriendlyFire(%game, %clVictim, %clAttacker, %damageType, %implement)
{
//  if ( %clAttacker && %clAttacker.team == %clVictim.team && %clAttacker != %clVictim )
//    AIMessageThread("ChatSorry", %clAttacker, %clVictim);
}


