home *** CD-ROM | disk | FTP | other *** search
/ Superpower (Alt) / SUPERPOWER.iso / q / patch / mbq073 / iwbotsrc / bot.qc < prev    next >
Encoding:
Text File  |  1996-08-31  |  4.2 KB  |  134 lines

  1. /*
  2. ==============================================================================
  3.  
  4. BOT
  5.  
  6. ==============================================================================
  7. */
  8.  
  9. // Prototypes
  10. entity ()       SelectSpawnPoint; // bens
  11.  
  12. void    ()        Bot_Precache;
  13. void (vector org) spawn_tfog;
  14.  
  15. float   modelindex_eyes, modelindex_bot;
  16.  
  17. //=============================================================
  18. // Bot_Precache - called by Worldspawn
  19. //=============================================================
  20. void () Bot_Precache =
  21. {
  22.         precache_model ("progs/s_explod.spr");
  23.         precache_model ("progs/player.mdl");
  24.         precache_model ("progs/h_player.mdl");
  25.     precache_model2 ("progs/laser.mdl");
  26.         precache_model ("progs/null.spr");
  27.     precache_sound2 ("enforcer/death1.wav");
  28.     precache_sound2 ("enforcer/enfire.wav");
  29.     precache_sound2 ("enforcer/enfstop.wav");
  30.     precache_sound2 ("enforcer/idle1.wav");
  31.     precache_sound2 ("enforcer/pain1.wav");
  32.     precache_sound2 ("enforcer/pain2.wav");
  33.     precache_sound2 ("enforcer/sight1.wav");
  34.     precache_sound2 ("enforcer/sight2.wav");
  35.     precache_sound2 ("enforcer/sight3.wav");
  36.     precache_sound2 ("enforcer/sight4.wav");
  37. };
  38.  
  39. void () BotStartDM =
  40. {
  41. // sounds and models precached in the world.qc file
  42.  
  43.     local entity    newbot;
  44.         local entity    spot;
  45.     newbot = spawn();
  46.         newbot.solid = SOLID_SLIDEBOX;
  47.         newbot.movetype = MOVETYPE_STEP;
  48.         newbot.angles = self.angles;
  49.         newbot.classname = "bot";
  50.         newbot.netname = "BOT";
  51.         newbot.owner=newbot;
  52.         self.bot_flag = TRUE;
  53.     newbot.health = 100;
  54.         newbot.takedamage = DAMAGE_YES;
  55.         newbot.goalentity = self;
  56.         newbot.movetarget = self;
  57.     newbot.pausetime = time + 2;
  58.         newbot.weapon = 1;
  59.         newbot.ammo_shells = 25;
  60.     newbot.ideal_yaw = newbot.angles * '0 1 0';
  61.     newbot.yaw_speed = 30;
  62.     newbot.view_ofs = '0 0 25';
  63.     newbot.th_stand = bot_stand1;
  64.     newbot.th_walk = bot_walk1;
  65.         newbot.th_stuff = bot_stuff1;
  66.         newbot.th_dodge = bot_dodge1;
  67.     newbot.th_run = bot_run1;
  68.     newbot.th_pain = bot_pain;
  69.     newbot.th_die = bot_die;
  70.     newbot.th_missile = bot_atk1;
  71.         setmodel (newbot, "progs/eyes.mdl");
  72.     modelindex_eyes = self.modelindex;
  73.         setmodel (newbot, "progs/player.mdl");
  74.         modelindex_bot = self.modelindex;
  75.     setsize (newbot, '-16 -16 -24', '16 16 40');
  76.         spot = SelectSpawnPoint ();
  77.         newbot.origin = spot.origin + '0 0 1';
  78.         newbot.angles = spot.angles;
  79.         newbot.fixangle = TRUE;             
  80.         bot_client();
  81.     spawn_tfog (newbot.origin);
  82.     newbot.nextthink = time + 0.1;
  83.     newbot.think = newbot.th_stand;
  84.  
  85. };
  86. void (float frgs,entity tmp) BotReStartDM =
  87. {
  88. // sounds and models precached in the world.qc file
  89.  
  90.     local entity    newbot;
  91.         local entity    spot;
  92.     newbot = spawn();
  93.         newbot.solid = SOLID_SLIDEBOX;
  94.         newbot.movetype = MOVETYPE_STEP;
  95.         newbot.angles = self.angles;
  96.         newbot.classname = "bot";
  97.         newbot.netname = "BOT";
  98.         newbot.owner=newbot;
  99.     newbot.health = 100;
  100.         newbot.takedamage = DAMAGE_YES;
  101.         newbot.goalentity = tmp;
  102.         newbot.movetarget = tmp;
  103.     newbot.pausetime = time + 2;
  104.         newbot.weapon = 1;
  105.         newbot.ammo_shells = 25;
  106.  
  107.     newbot.ideal_yaw = newbot.angles * '0 1 0';
  108.     newbot.yaw_speed = 30;
  109.     newbot.view_ofs = '0 0 25';
  110.         newbot.enemy = tmp;
  111.         newbot.frags = frgs;
  112.     newbot.th_stand = bot_stand1;
  113.     newbot.th_walk = bot_walk1;
  114.     newbot.th_run = bot_run1;
  115.         newbot.th_stuff = bot_stuff1;
  116.         newbot.th_dodge = bot_dodge1;
  117.         newbot.th_pain = bot_pain;
  118.     newbot.th_die = bot_die;
  119.     newbot.th_missile = bot_atk1;
  120.         setmodel (newbot, "progs/eyes.mdl");
  121.     modelindex_eyes = self.modelindex;
  122.         setmodel (newbot, "progs/player.mdl");
  123.         modelindex_bot = self.modelindex;
  124.     setsize (newbot, '-16 -16 -24', '16 16 40');
  125.         spot = SelectSpawnPoint ();
  126.         newbot.origin = spot.origin + '0 0 1';
  127.         newbot.angles = spot.angles;
  128.         newbot.fixangle = TRUE;             
  129.         bot_client();
  130.     spawn_tfog (newbot.origin);
  131.     newbot.nextthink = time + 0.1;
  132.         newbot.think = newbot.th_run;
  133. };
  134.