home *** CD-ROM | disk | FTP | other *** search
/ Gambler 19 / GAMBLERCD19.BIN / UTILS / 3D / BRONIE / DUAL_LAU.ZIP / src / m_boss3.c < prev    next >
C/C++ Source or Header  |  1997-11-24  |  1KB  |  58 lines

  1. /*
  2. ==============================================================================
  3.  
  4. boss3
  5.  
  6. ==============================================================================
  7. */
  8.  
  9. #include "g_local.h"
  10. #include "m_boss32.h"
  11.  
  12. void Use_Boss3 (edict_t *ent, edict_t *other, edict_t *activator)
  13. {
  14.     gi.WriteByte (svc_temp_entity);
  15.     gi.WriteByte (TE_BOSSTPORT);
  16.     gi.WritePosition (ent->s.origin);
  17.     gi.multicast (ent->s.origin, MULTICAST_PVS);
  18.     G_FreeEdict (ent);
  19. }
  20.  
  21. void Think_Boss3Stand (edict_t *ent)
  22. {
  23.     if (ent->s.frame == FRAME_stand260)
  24.         ent->s.frame = FRAME_stand201;
  25.     else
  26.         ent->s.frame++;
  27.     ent->nextthink = level.time + FRAMETIME;
  28. }
  29.  
  30. /*QUAKED monster_boss3_stand (1 .5 0) (-32 -32 0) (32 32 90)
  31.  
  32. Just stands and cycles in one place until targeted, then teleports away.
  33. */
  34. void SP_monster_boss3_stand (edict_t *self)
  35. {
  36.     if (deathmatch->value)
  37.     {
  38.         G_FreeEdict (self);
  39.         return;
  40.     }
  41.  
  42.     self->movetype = MOVETYPE_STEP;
  43.     self->solid = SOLID_BBOX;
  44.     self->model = "models/monsters/boss3/rider/tris.md2";
  45.     self->s.modelindex = gi.modelindex (self->model);
  46.     self->s.frame = FRAME_stand201;
  47.  
  48.     gi.soundindex ("misc/bigtele.wav");
  49.  
  50.     VectorSet (self->mins, -32, -32, 0);
  51.     VectorSet (self->maxs, 32, 32, 90);
  52.  
  53.     self->use = Use_Boss3;
  54.     self->think = Think_Boss3Stand;
  55.     self->nextthink = level.time + FRAMETIME;
  56.     gi.linkentity (self);
  57. }
  58.