home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2007 September / maximum-cd-2007-09.iso / Assets / data / AssaultCube_v0.93.exe / source / src / bot / ac_bot.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  2007-01-13  |  1.9 KB  |  81 lines

  1. //
  2. // C++ Implementation: bot
  3. //
  4. // Description: Main bot code for Action Cube
  5. //
  6. // Main bot file
  7. //
  8. // Author:  Rick <rickhelmus@gmail.com>
  9. //
  10. //
  11. //
  12.  
  13. #include "bot.h"
  14.  
  15. #ifdef AC_CUBE
  16.  
  17. extern vector<server_entity> sents;
  18. extern int triggertime;
  19. extern itemstat itemstats[];
  20. extern void spawnstate(playerent *d);
  21.  
  22. //AC Bot class begin
  23.  
  24. void CACBot::Spawn()
  25. {
  26.      // Init all bot variabeles     
  27.      m_pMyEnt->nextprimary = 2 + rnd(4);
  28.      m_pMyEnt->targetyaw = m_pMyEnt->targetpitch = 0.0f;
  29.      equip(m_pMyEnt);
  30.      m_pMyEnt->armour = 0;
  31.      m_pMyEnt->pBot = this;
  32.  
  33.      spawnplayer(m_pMyEnt);
  34.      
  35.      m_eCurrentBotState = STATE_NORMAL;
  36.      m_iShootDelay = m_iChangeWeaponDelay = 0;
  37.      m_iCheckEnvDelay = 0;
  38.      m_vPrevOrigin = g_vecZero;
  39.      m_iStuckCheckDelay = lastmillis + 250;
  40.      m_bStuck = false;
  41.      m_iStuckTime = 0;
  42.      m_iStrafeTime = m_iStrafeCheckDelay = 0;
  43.      m_iMoveDir = DIR_NONE;
  44.      
  45.      m_pPrevEnemy = NULL;
  46.      m_iCombatNavTime = 0;
  47.      m_iSPMoveTime = 0;
  48.      m_iEnemySearchDelay = 0;
  49.      m_bCombatJump = false;
  50.      m_iCombatJumpDelay = 0;
  51.      m_bShootAtFeet = (RandomLong(1, 100) <= m_pBotSkill->sShootAtFeetWithRLPercent);
  52.      m_iHuntDelay = 0;
  53.      m_vHuntLocation = m_vPrevHuntLocation = g_vecZero;
  54.      m_pHuntTarget = NULL;
  55.      m_fPrevHuntDist = 0.0f;
  56.      m_iHuntLastTurnLessTime = m_iHuntPlayerUpdateTime = m_iHuntPauseTime = 0;
  57.         
  58.      m_iLastJumpPad = 0;
  59.      m_pTargetEnt = NULL;
  60.      m_iCheckTeleporterDelay = m_iCheckJumppadsDelay = 0;
  61.      m_iCheckEntsDelay = 0;
  62.      m_iCheckTriggersDelay = 0;
  63.      m_iLookForWaypointTime = 0;
  64.         
  65.      m_iAimDelay = 0;
  66.      m_fYawToTurn = m_fPitchToTurn = 0.0f;
  67.      
  68.      m_vGoal = m_vWaterGoal = g_vecZero;
  69.           
  70.      ResetWaypointVars();
  71. }
  72.  
  73. void CACBot::CheckItemPickup()
  74. {
  75.     checkitems(m_pMyEnt);
  76. }
  77.           
  78. // AC Bot class end
  79.  
  80. #endif
  81.