vkQuake2 doxygen  1.0 dev
m_insane.c File Reference
#include "g_local.h"
#include "m_insane.h"

Go to the source code of this file.

Functions

void insane_fist (edict_t *self)
 
void insane_shake (edict_t *self)
 
void insane_moan (edict_t *self)
 
void insane_scream (edict_t *self)
 
void insane_stand (edict_t *self)
 
void insane_dead (edict_t *self)
 
void insane_cross (edict_t *self)
 
void insane_walk (edict_t *self)
 
void insane_run (edict_t *self)
 
void insane_checkdown (edict_t *self)
 
void insane_checkup (edict_t *self)
 
void insane_onground (edict_t *self)
 
void insane_pain (edict_t *self, edict_t *other, float kick, int damage)
 
void insane_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
 
void SP_misc_insane (edict_t *self)
 

Variables

static int sound_fist
 
static int sound_shake
 
static int sound_moan
 
static int sound_scream [8]
 
mframe_t insane_frames_stand_normal []
 
mmove_t insane_move_stand_normal = {FRAME_stand60, FRAME_stand65, insane_frames_stand_normal, insane_stand}
 
mframe_t insane_frames_stand_insane []
 
mmove_t insane_move_stand_insane = {FRAME_stand65, FRAME_stand94, insane_frames_stand_insane, insane_stand}
 
mframe_t insane_frames_uptodown []
 
mmove_t insane_move_uptodown = {FRAME_stand1, FRAME_stand40, insane_frames_uptodown, insane_onground}
 
mframe_t insane_frames_downtoup []
 
mmove_t insane_move_downtoup = {FRAME_stand41, FRAME_stand59, insane_frames_downtoup, insane_stand}
 
mframe_t insane_frames_jumpdown []
 
mmove_t insane_move_jumpdown = {FRAME_stand96, FRAME_stand100, insane_frames_jumpdown, insane_onground}
 
mframe_t insane_frames_down []
 
mmove_t insane_move_down = {FRAME_stand100, FRAME_stand160, insane_frames_down, insane_onground}
 
mframe_t insane_frames_walk_normal []
 
mmove_t insane_move_walk_normal = {FRAME_walk27, FRAME_walk39, insane_frames_walk_normal, insane_walk}
 
mmove_t insane_move_run_normal = {FRAME_walk27, FRAME_walk39, insane_frames_walk_normal, insane_run}
 
mframe_t insane_frames_walk_insane []
 
mmove_t insane_move_walk_insane = {FRAME_walk1, FRAME_walk26, insane_frames_walk_insane, insane_walk}
 
mmove_t insane_move_run_insane = {FRAME_walk1, FRAME_walk26, insane_frames_walk_insane, insane_run}
 
mframe_t insane_frames_stand_pain []
 
mmove_t insane_move_stand_pain = {FRAME_st_pain2, FRAME_st_pain12, insane_frames_stand_pain, insane_run}
 
mframe_t insane_frames_stand_death []
 
mmove_t insane_move_stand_death = {FRAME_st_death2, FRAME_st_death18, insane_frames_stand_death, insane_dead}
 
mframe_t insane_frames_crawl []
 
mmove_t insane_move_crawl = {FRAME_crawl1, FRAME_crawl9, insane_frames_crawl, NULL}
 
mmove_t insane_move_runcrawl = {FRAME_crawl1, FRAME_crawl9, insane_frames_crawl, NULL}
 
mframe_t insane_frames_crawl_pain []
 
mmove_t insane_move_crawl_pain = {FRAME_cr_pain2, FRAME_cr_pain10, insane_frames_crawl_pain, insane_run}
 
mframe_t insane_frames_crawl_death []
 
mmove_t insane_move_crawl_death = {FRAME_cr_death10, FRAME_cr_death16, insane_frames_crawl_death, insane_dead}
 
mframe_t insane_frames_cross []
 
mmove_t insane_move_cross = {FRAME_cross1, FRAME_cross15, insane_frames_cross, insane_cross}
 
mframe_t insane_frames_struggle_cross []
 
mmove_t insane_move_struggle_cross = {FRAME_cross16, FRAME_cross30, insane_frames_struggle_cross, insane_cross}
 

Function Documentation

◆ insane_checkdown()

void insane_checkdown ( edict_t self)

Definition at line 524 of file m_insane.c.

525 {
526 // if ( (self->s.frame == FRAME_stand94) || (self->s.frame == FRAME_stand65) )
527  if (self->spawnflags & 32) // Always stand
528  return;
529  if (random() < 0.3)
530  if (random() < 0.5)
531  self->monsterinfo.currentmove = &insane_move_uptodown;
532  else
533  self->monsterinfo.currentmove = &insane_move_jumpdown;
534 }

◆ insane_checkup()

void insane_checkup ( edict_t self)

Definition at line 536 of file m_insane.c.

537 {
538  // If Hold_Ground and Crawl are set
539  if ( (self->spawnflags & 4) && (self->spawnflags & 16) )
540  return;
541  if (random() < 0.5)
542  self->monsterinfo.currentmove = &insane_move_downtoup;
543 
544 }

◆ insane_cross()

void insane_cross ( edict_t self)

Definition at line 434 of file m_insane.c.

435 {
436  if (random() < 0.8)
437  self->monsterinfo.currentmove = &insane_move_cross;
438  else
439  self->monsterinfo.currentmove = &insane_move_struggle_cross;
440 }

◆ insane_dead()

void insane_dead ( edict_t self)

Definition at line 563 of file m_insane.c.

564 {
565  if (self->spawnflags & 8)
566  {
567  self->flags |= FL_FLY;
568  }
569  else
570  {
571  VectorSet (self->mins, -16, -16, -24);
572  VectorSet (self->maxs, 16, 16, -8);
573  self->movetype = MOVETYPE_TOSS;
574  }
575  self->svflags |= SVF_DEADMONSTER;
576  self->nextthink = 0;
577  gi.linkentity (self);
578 }

Referenced by insane_die().

◆ insane_die()

void insane_die ( edict_t self,
edict_t inflictor,
edict_t attacker,
int  damage,
vec3_t  point 
)

Definition at line 581 of file m_insane.c.

582 {
583  int n;
584 
585  if (self->health <= self->gib_health)
586  {
587  gi.sound (self, CHAN_VOICE, gi.soundindex ("misc/udeath.wav"), 1, ATTN_IDLE, 0);
588  for (n= 0; n < 2; n++)
589  ThrowGib (self, "models/objects/gibs/bone/tris.md2", damage, GIB_ORGANIC);
590  for (n= 0; n < 4; n++)
591  ThrowGib (self, "models/objects/gibs/sm_meat/tris.md2", damage, GIB_ORGANIC);
592  ThrowHead (self, "models/objects/gibs/head2/tris.md2", damage, GIB_ORGANIC);
593  self->deadflag = DEAD_DEAD;
594  return;
595  }
596 
597  if (self->deadflag == DEAD_DEAD)
598  return;
599 
600  gi.sound (self, CHAN_VOICE, gi.soundindex(va("player/male/death%i.wav", (rand()%4)+1)), 1, ATTN_IDLE, 0);
601 
602  self->deadflag = DEAD_DEAD;
603  self->takedamage = DAMAGE_YES;
604 
605  if (self->spawnflags & 8)
606  {
607  insane_dead (self);
608  }
609  else
610  {
611  if ( ((self->s.frame >= FRAME_crawl1) && (self->s.frame <= FRAME_crawl9)) || ((self->s.frame >= FRAME_stand99) && (self->s.frame <= FRAME_stand160)) )
612  self->monsterinfo.currentmove = &insane_move_crawl_death;
613  else
614  self->monsterinfo.currentmove = &insane_move_stand_death;
615  }
616 }

Referenced by SP_misc_insane().

◆ insane_fist()

void insane_fist ( edict_t self)

Definition at line 37 of file m_insane.c.

38 {
39  gi.sound (self, CHAN_VOICE, sound_fist, 1, ATTN_IDLE, 0);
40 }

◆ insane_moan()

void insane_moan ( edict_t self)

Definition at line 47 of file m_insane.c.

48 {
49  gi.sound (self, CHAN_VOICE, sound_moan, 1, ATTN_IDLE, 0);
50 }

◆ insane_onground()

void insane_onground ( edict_t self)

Definition at line 519 of file m_insane.c.

520 {
521  self->monsterinfo.currentmove = &insane_move_down;
522 }

◆ insane_pain()

void insane_pain ( edict_t self,
edict_t other,
float  kick,
int  damage 
)

Definition at line 477 of file m_insane.c.

478 {
479  int l,r;
480 
481 // if (self->health < (self->max_health / 2))
482 // self->s.skinnum = 1;
483 
484  if (level.time < self->pain_debounce_time)
485  return;
486 
487  self->pain_debounce_time = level.time + 3;
488 
489  r = 1 + (rand()&1);
490  if (self->health < 25)
491  l = 25;
492  else if (self->health < 50)
493  l = 50;
494  else if (self->health < 75)
495  l = 75;
496  else
497  l = 100;
498  gi.sound (self, CHAN_VOICE, gi.soundindex (va("player/male/pain%i_%i.wav", l, r)), 1, ATTN_IDLE, 0);
499 
500  if (skill->value == 3)
501  return; // no pain anims in nightmare
502 
503  // Don't go into pain frames if crucified.
504  if (self->spawnflags & 8)
505  {
506  self->monsterinfo.currentmove = &insane_move_struggle_cross;
507  return;
508  }
509 
510  if ( ((self->s.frame >= FRAME_crawl1) && (self->s.frame <= FRAME_crawl9)) || ((self->s.frame >= FRAME_stand99) && (self->s.frame <= FRAME_stand160)) )
511  {
512  self->monsterinfo.currentmove = &insane_move_crawl_pain;
513  }
514  else
515  self->monsterinfo.currentmove = &insane_move_stand_pain;
516 
517 }

Referenced by SP_misc_insane().

◆ insane_run()

void insane_run ( edict_t self)

Definition at line 459 of file m_insane.c.

460 {
461  if ( self->spawnflags & 16 ) // Hold Ground?
462  if (self->s.frame == FRAME_cr_pain10)
463  {
464  self->monsterinfo.currentmove = &insane_move_down;
465  return;
466  }
467  if (self->spawnflags & 4) // Crawling?
468  self->monsterinfo.currentmove = &insane_move_runcrawl;
469  else
470  if (random() <= 0.5) // Else, mix it up
471  self->monsterinfo.currentmove = &insane_move_run_normal;
472  else
473  self->monsterinfo.currentmove = &insane_move_run_insane;
474 }

Referenced by SP_misc_insane().

◆ insane_scream()

void insane_scream ( edict_t self)

Definition at line 52 of file m_insane.c.

53 {
54  gi.sound (self, CHAN_VOICE, sound_scream[rand()%8], 1, ATTN_IDLE, 0);
55 }

◆ insane_shake()

void insane_shake ( edict_t self)

Definition at line 42 of file m_insane.c.

43 {
44  gi.sound (self, CHAN_VOICE, sound_shake, 1, ATTN_IDLE, 0);
45 }

◆ insane_stand()

void insane_stand ( edict_t self)

Definition at line 546 of file m_insane.c.

547 {
548  if (self->spawnflags & 8) // If crucified
549  {
550  self->monsterinfo.currentmove = &insane_move_cross;
551  self->monsterinfo.aiflags |= AI_STAND_GROUND;
552  }
553  // If Hold_Ground and Crawl are set
554  else if ( (self->spawnflags & 4) && (self->spawnflags & 16) )
555  self->monsterinfo.currentmove = &insane_move_down;
556  else
557  if (random() < 0.5)
558  self->monsterinfo.currentmove = &insane_move_stand_normal;
559  else
560  self->monsterinfo.currentmove = &insane_move_stand_insane;
561 }

Referenced by SP_misc_insane().

◆ insane_walk()

void insane_walk ( edict_t self)

Definition at line 442 of file m_insane.c.

443 {
444  if ( self->spawnflags & 16 ) // Hold Ground?
445  if (self->s.frame == FRAME_cr_pain10)
446  {
447  self->monsterinfo.currentmove = &insane_move_down;
448  return;
449  }
450  if (self->spawnflags & 4)
451  self->monsterinfo.currentmove = &insane_move_crawl;
452  else
453  if (random() <= 0.5)
454  self->monsterinfo.currentmove = &insane_move_walk_normal;
455  else
456  self->monsterinfo.currentmove = &insane_move_walk_insane;
457 }

Referenced by SP_misc_insane().

◆ SP_misc_insane()

void SP_misc_insane ( edict_t self)

Definition at line 621 of file m_insane.c.

622 {
623 // static int skin = 0; //@@
624 
625  if (deathmatch->value)
626  {
627  G_FreeEdict (self);
628  return;
629  }
630 
631  sound_fist = gi.soundindex ("insane/insane11.wav");
632  sound_shake = gi.soundindex ("insane/insane5.wav");
633  sound_moan = gi.soundindex ("insane/insane7.wav");
634  sound_scream[0] = gi.soundindex ("insane/insane1.wav");
635  sound_scream[1] = gi.soundindex ("insane/insane2.wav");
636  sound_scream[2] = gi.soundindex ("insane/insane3.wav");
637  sound_scream[3] = gi.soundindex ("insane/insane4.wav");
638  sound_scream[4] = gi.soundindex ("insane/insane6.wav");
639  sound_scream[5] = gi.soundindex ("insane/insane8.wav");
640  sound_scream[6] = gi.soundindex ("insane/insane9.wav");
641  sound_scream[7] = gi.soundindex ("insane/insane10.wav");
642 
643  self->movetype = MOVETYPE_STEP;
644  self->solid = SOLID_BBOX;
645  self->s.modelindex = gi.modelindex("models/monsters/insane/tris.md2");
646 
647  VectorSet (self->mins, -16, -16, -24);
648  VectorSet (self->maxs, 16, 16, 32);
649 
650  self->health = 100;
651  self->gib_health = -50;
652  self->mass = 300;
653 
654  self->pain = insane_pain;
655  self->die = insane_die;
656 
657  self->monsterinfo.stand = insane_stand;
658  self->monsterinfo.walk = insane_walk;
659  self->monsterinfo.run = insane_run;
660  self->monsterinfo.dodge = NULL;
661  self->monsterinfo.attack = NULL;
662  self->monsterinfo.melee = NULL;
663  self->monsterinfo.sight = NULL;
664  self->monsterinfo.aiflags |= AI_GOOD_GUY;
665 
666 //@@
667 // self->s.skinnum = skin;
668 // skin++;
669 // if (skin > 12)
670 // skin = 0;
671 
672  gi.linkentity (self);
673 
674  if (self->spawnflags & 16) // Stand Ground
675  self->monsterinfo.aiflags |= AI_STAND_GROUND;
676 
677  self->monsterinfo.currentmove = &insane_move_stand_normal;
678 
679  self->monsterinfo.scale = MODEL_SCALE;
680 
681  if (self->spawnflags & 8) // Crucified ?
682  {
683  VectorSet (self->mins, -16, 0, 0);
684  VectorSet (self->maxs, 16, 8, 32);
685  self->flags |= FL_NO_KNOCKBACK;
686  flymonster_start (self);
687  }
688  else
689  {
690  walkmonster_start (self);
691  self->s.skinnum = rand()%3;
692  }
693 }

Variable Documentation

◆ insane_frames_crawl

mframe_t insane_frames_crawl[]
Initial value:
=
{
ai_walk, 1.5, NULL,
ai_walk, 2.1, NULL,
ai_walk, 3.6, NULL,
ai_walk, 0.9, NULL,
ai_walk, 3.4, NULL,
ai_walk, 2.4, NULL
}

Definition at line 353 of file m_insane.c.

◆ insane_frames_crawl_death

mframe_t insane_frames_crawl_death[]
Initial value:
=
{
}

Definition at line 382 of file m_insane.c.

◆ insane_frames_crawl_pain

mframe_t insane_frames_crawl_pain[]
Initial value:
=
{
}

Definition at line 368 of file m_insane.c.

◆ insane_frames_cross

mframe_t insane_frames_cross[]
Initial value:

Definition at line 394 of file m_insane.c.

◆ insane_frames_down

mframe_t insane_frames_down[]

Definition at line 198 of file m_insane.c.

◆ insane_frames_downtoup

mframe_t insane_frames_downtoup[]
Initial value:
=
{
ai_move, -0.7, NULL,
ai_move, -1.2, NULL,
ai_move, -1.5, NULL,
ai_move, -4.5, NULL,
ai_move, -3.5, NULL,
ai_move, -0.2, NULL,
ai_move, 0, NULL,
ai_move, -1.3, NULL,
ai_move, -3, NULL,
ai_move, -2, NULL,
ai_move, 0, NULL,
ai_move, 0, NULL,
ai_move, 0, NULL,
ai_move, -3.3, NULL,
ai_move, -1.6, NULL,
ai_move, -0.3, NULL,
ai_move, 0, NULL,
ai_move, 0, NULL,
}

Definition at line 163 of file m_insane.c.

◆ insane_frames_jumpdown

mframe_t insane_frames_jumpdown[]
Initial value:
=
{
ai_move, 0.2, NULL,
ai_move, 11.5, NULL,
ai_move, 5.1, NULL,
ai_move, 7.1, NULL,
}

Definition at line 187 of file m_insane.c.

◆ insane_frames_stand_death

mframe_t insane_frames_stand_death[]
Initial value:

Definition at line 331 of file m_insane.c.

◆ insane_frames_stand_insane

mframe_t insane_frames_stand_insane[]

Definition at line 79 of file m_insane.c.

◆ insane_frames_stand_normal

mframe_t insane_frames_stand_normal[]
Initial value:

Definition at line 68 of file m_insane.c.

◆ insane_frames_stand_pain

mframe_t insane_frames_stand_pain[]
Initial value:
=
{
}

Definition at line 315 of file m_insane.c.

◆ insane_frames_struggle_cross

mframe_t insane_frames_struggle_cross[]
Initial value:

Definition at line 414 of file m_insane.c.

◆ insane_frames_uptodown

mframe_t insane_frames_uptodown[]

Definition at line 114 of file m_insane.c.

◆ insane_frames_walk_insane

mframe_t insane_frames_walk_insane[]
Initial value:
=
{
ai_walk, 3.4, NULL,
ai_walk, 3.6, NULL,
ai_walk, 2.9, NULL,
ai_walk, 2.2, NULL,
ai_walk, 2.6, NULL,
ai_walk, 0, NULL,
ai_walk, 0.7, NULL,
ai_walk, 4.8, NULL,
ai_walk, 5.3, NULL,
ai_walk, 1.1, NULL,
ai_walk, 2, NULL,
ai_walk, 0.5, NULL,
ai_walk, 0, NULL,
ai_walk, 0, NULL,
ai_walk, 4.9, NULL,
ai_walk, 6.7, NULL,
ai_walk, 3.8, NULL,
ai_walk, 2, NULL,
ai_walk, 0.2, NULL,
ai_walk, 0, NULL,
ai_walk, 3.4, NULL,
ai_walk, 6.4, NULL,
ai_walk, 5, NULL,
ai_walk, 1.8, NULL,
}

Definition at line 283 of file m_insane.c.

◆ insane_frames_walk_normal

mframe_t insane_frames_walk_normal[]
Initial value:
=
{
ai_walk, 2.5, NULL,
ai_walk, 3.5, NULL,
ai_walk, 1.7, NULL,
ai_walk, 2.3, NULL,
ai_walk, 2.4, NULL,
ai_walk, 2.2, NULL,
ai_walk, 4.2, NULL,
ai_walk, 5.6, NULL,
ai_walk, 3.3, NULL,
ai_walk, 2.4, NULL,
ai_walk, 0.9, NULL,
}

Definition at line 264 of file m_insane.c.

◆ insane_move_crawl

Definition at line 365 of file m_insane.c.

Referenced by insane_walk().

◆ insane_move_crawl_death

Definition at line 392 of file m_insane.c.

Referenced by insane_die().

◆ insane_move_crawl_pain

Definition at line 380 of file m_insane.c.

Referenced by insane_pain().

◆ insane_move_cross

Definition at line 412 of file m_insane.c.

Referenced by insane_cross(), and insane_stand().

◆ insane_move_down

◆ insane_move_downtoup

Definition at line 185 of file m_insane.c.

Referenced by insane_checkup().

◆ insane_move_jumpdown

Definition at line 195 of file m_insane.c.

Referenced by insane_checkdown().

◆ insane_move_run_insane

Definition at line 313 of file m_insane.c.

Referenced by insane_run().

◆ insane_move_run_normal

Definition at line 281 of file m_insane.c.

Referenced by insane_run().

◆ insane_move_runcrawl

Definition at line 366 of file m_insane.c.

Referenced by insane_run().

◆ insane_move_stand_death

Definition at line 351 of file m_insane.c.

Referenced by insane_die().

◆ insane_move_stand_insane

Definition at line 112 of file m_insane.c.

Referenced by insane_stand().

◆ insane_move_stand_normal

Definition at line 77 of file m_insane.c.

Referenced by insane_stand(), and SP_misc_insane().

◆ insane_move_stand_pain

Definition at line 329 of file m_insane.c.

Referenced by insane_pain().

◆ insane_move_struggle_cross

Definition at line 432 of file m_insane.c.

Referenced by insane_cross(), and insane_pain().

◆ insane_move_uptodown

Definition at line 160 of file m_insane.c.

Referenced by insane_checkdown().

◆ insane_move_walk_insane

Definition at line 312 of file m_insane.c.

Referenced by insane_walk().

◆ insane_move_walk_normal

Definition at line 280 of file m_insane.c.

Referenced by insane_walk().

◆ sound_fist

int sound_fist
static

Definition at line 32 of file m_insane.c.

Referenced by insane_fist(), and SP_misc_insane().

◆ sound_moan

int sound_moan
static

Definition at line 34 of file m_insane.c.

Referenced by insane_moan(), and SP_misc_insane().

◆ sound_scream

int sound_scream[8]
static

Definition at line 35 of file m_insane.c.

Referenced by insane_scream(), and SP_misc_insane().

◆ sound_shake

int sound_shake
static

Definition at line 33 of file m_insane.c.

Referenced by insane_shake(), and SP_misc_insane().

gi
game_import_t gi
Definition: g_main.c:25
edict_s::s
entity_state_t s
Definition: g_local.h:970
deathmatch
cvar_t * deathmatch
Definition: g_main.c:35
insane_walk
void insane_walk(edict_t *self)
Definition: m_insane.c:442
insane_moan
void insane_moan(edict_t *self)
Definition: m_insane.c:47
DEAD_DEAD
#define DEAD_DEAD
Definition: g_local.h:115
insane_move_walk_insane
mmove_t insane_move_walk_insane
Definition: m_insane.c:312
insane_pain
void insane_pain(edict_t *self, edict_t *other, float kick, int damage)
Definition: m_insane.c:477
sound_scream
static int sound_scream[8]
Definition: m_insane.c:35
ThrowGib
void ThrowGib(edict_t *self, char *gibname, int damage, int type)
Definition: g_misc.c:135
edict_s::gib_health
int gib_health
Definition: g_local.h:1059
entity_state_s::frame
int frame
Definition: q_shared.h:1154
AI_GOOD_GUY
#define AI_GOOD_GUY
Definition: g_local.h:137
SOLID_BBOX
@ SOLID_BBOX
Definition: game.h:37
insane_move_crawl_death
mmove_t insane_move_crawl_death
Definition: m_insane.c:392
insane_scream
void insane_scream(edict_t *self)
Definition: m_insane.c:52
sound_fist
static int sound_fist
Definition: m_insane.c:32
insane_move_stand_death
mmove_t insane_move_stand_death
Definition: m_insane.c:351
AI_STAND_GROUND
#define AI_STAND_GROUND
Definition: g_local.h:129
insane_move_crawl
mmove_t insane_move_crawl
Definition: m_insane.c:365
insane_move_walk_normal
mmove_t insane_move_walk_normal
Definition: m_insane.c:280
MODEL_SCALE
#define MODEL_SCALE
Definition: m_actor.h:506
sound_shake
static int sound_shake
Definition: m_insane.c:33
DAMAGE_YES
@ DAMAGE_YES
Definition: g_local.h:89
game_import_t::sound
void(* sound)(edict_t *ent, int channel, int soundindex, float volume, float attenuation, float timeofs)
Definition: game.h:109
ATTN_IDLE
#define ATTN_IDLE
Definition: q_shared.h:996
FL_NO_KNOCKBACK
#define FL_NO_KNOCKBACK
Definition: g_local.h:70
edict_s::mins
vec3_t mins
Definition: g_local.h:990
insane_die
void insane_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
Definition: m_insane.c:581
walkmonster_start
void walkmonster_start(edict_t *self)
Definition: g_monster.c:692
MOVETYPE_STEP
@ MOVETYPE_STEP
Definition: g_local.h:196
insane_move_run_insane
mmove_t insane_move_run_insane
Definition: m_insane.c:313
va
char * va(char *format,...)
Definition: q_shared.c:1050
SVF_DEADMONSTER
#define SVF_DEADMONSTER
Definition: game.h:28
CHAN_VOICE
#define CHAN_VOICE
Definition: q_shared.h:985
G_FreeEdict
void G_FreeEdict(edict_t *e)
Definition: g_utils.c:452
r
GLdouble GLdouble r
Definition: qgl_win.c:336
insane_move_down
mmove_t insane_move_down
Definition: m_insane.c:262
FRAME_cr_pain10
#define FRAME_cr_pain10
Definition: m_insane.h:268
game_import_t::soundindex
int(* soundindex)(char *name)
Definition: game.h:122
edict_s::spawnflags
int spawnflags
Definition: g_local.h:1012
game_import_t::modelindex
int(* modelindex)(char *name)
Definition: game.h:121
FRAME_stand99
#define FRAME_stand99
Definition: m_insane.h:122
edict_s::deadflag
int deadflag
Definition: g_local.h:1060
insane_dead
void insane_dead(edict_t *self)
Definition: m_insane.c:563
FRAME_crawl1
#define FRAME_crawl1
Definition: m_insane.h:251
cvar_s::value
float value
Definition: q_shared.h:331
insane_move_downtoup
mmove_t insane_move_downtoup
Definition: m_insane.c:185
ai_walk
void ai_walk(edict_t *self, float dist)
Definition: g_ai.c:163
insane_move_cross
mmove_t insane_move_cross
Definition: m_insane.c:412
random
#define random()
Definition: g_local.h:515
NULL
#define NULL
Definition: q_shared.h:67
skill
cvar_t * skill
Definition: g_main.c:38
FRAME_stand160
#define FRAME_stand160
Definition: m_insane.h:183
ai_move
void ai_move(edict_t *self, float dist)
Definition: g_ai.c:92
edict_s::pain_debounce_time
float pain_debounce_time
Definition: g_local.h:1052
insane_move_crawl_pain
mmove_t insane_move_crawl_pain
Definition: m_insane.c:380
insane_move_run_normal
mmove_t insane_move_run_normal
Definition: m_insane.c:281
level
GLint level
Definition: qgl_win.c:116
insane_stand
void insane_stand(edict_t *self)
Definition: m_insane.c:546
GIB_ORGANIC
#define GIB_ORGANIC
Definition: g_local.h:125
insane_move_runcrawl
mmove_t insane_move_runcrawl
Definition: m_insane.c:366
edict_s::maxs
vec3_t maxs
Definition: g_local.h:990
insane_move_stand_insane
mmove_t insane_move_stand_insane
Definition: m_insane.c:112
FL_FLY
#define FL_FLY
Definition: g_local.h:59
ThrowHead
void ThrowHead(edict_t *self, char *gibname, int damage, int type)
Definition: g_misc.c:183
insane_move_struggle_cross
mmove_t insane_move_struggle_cross
Definition: m_insane.c:432
insane_checkdown
void insane_checkdown(edict_t *self)
Definition: m_insane.c:524
insane_move_stand_normal
mmove_t insane_move_stand_normal
Definition: m_insane.c:77
MOVETYPE_TOSS
@ MOVETYPE_TOSS
Definition: g_local.h:198
VectorSet
#define VectorSet(v, x, y, z)
Definition: q_shared.h:168
insane_run
void insane_run(edict_t *self)
Definition: m_insane.c:459
insane_move_uptodown
mmove_t insane_move_uptodown
Definition: m_insane.c:160
game_import_t::linkentity
void(* linkentity)(edict_t *ent)
Definition: game.h:138
insane_move_jumpdown
mmove_t insane_move_jumpdown
Definition: m_insane.c:195
FRAME_crawl9
#define FRAME_crawl9
Definition: m_insane.h:259
sound_moan
static int sound_moan
Definition: m_insane.c:34
ai_stand
void ai_stand(edict_t *self, float dist)
Definition: g_ai.c:106
flymonster_start
void flymonster_start(edict_t *self)
Definition: g_monster.c:715
edict_s::health
int health
Definition: g_local.h:1057
insane_move_stand_pain
mmove_t insane_move_stand_pain
Definition: m_insane.c:329