Quake II RTX 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 500 of file m_insane.c.

501 {
502 // if ( (self->s.frame == FRAME_stand94) || (self->s.frame == FRAME_stand65) )
503  if (self->spawnflags & 32) // Always stand
504  return;
505  if (random() < 0.3) {
506  if (random() < 0.5)
507  self->monsterinfo.currentmove = &insane_move_uptodown;
508  else
509  self->monsterinfo.currentmove = &insane_move_jumpdown;
510  }
511 }

◆ insane_checkup()

void insane_checkup ( edict_t *  self)

Definition at line 513 of file m_insane.c.

514 {
515  // If Hold_Ground and Crawl are set
516  if ((self->spawnflags & 4) && (self->spawnflags & 16))
517  return;
518  if (random() < 0.5)
519  self->monsterinfo.currentmove = &insane_move_downtoup;
520 
521 }

◆ insane_cross()

void insane_cross ( edict_t *  self)

Definition at line 417 of file m_insane.c.

418 {
419  if (random() < 0.8)
420  self->monsterinfo.currentmove = &insane_move_cross;
421  else
422  self->monsterinfo.currentmove = &insane_move_struggle_cross;
423 }

◆ insane_dead()

void insane_dead ( edict_t *  self)

Definition at line 538 of file m_insane.c.

539 {
540  if (self->spawnflags & 8) {
541  self->flags |= FL_FLY;
542  } else {
543  VectorSet(self->mins, -16, -16, -24);
544  VectorSet(self->maxs, 16, 16, -8);
545  self->movetype = MOVETYPE_TOSS;
546  }
547  self->svflags |= SVF_DEADMONSTER;
548  self->nextthink = 0;
549  gi.linkentity(self);
550 }

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 553 of file m_insane.c.

554 {
555  int n;
556 
557  if (self->health <= self->gib_health) {
558  gi.sound(self, CHAN_VOICE, gi.soundindex("misc/udeath.wav"), 1, ATTN_IDLE, 0);
559  for (n = 0; n < 2; n++)
560  ThrowGib(self, "models/objects/gibs/bone/tris.md2", damage, GIB_ORGANIC);
561  for (n = 0; n < 4; n++)
562  ThrowGib(self, "models/objects/gibs/sm_meat/tris.md2", damage, GIB_ORGANIC);
563  ThrowHead(self, "models/objects/gibs/head2/tris.md2", damage, GIB_ORGANIC);
564  self->deadflag = DEAD_DEAD;
565  return;
566  }
567 
568  if (self->deadflag == DEAD_DEAD)
569  return;
570 
571  gi.sound(self, CHAN_VOICE, gi.soundindex(va("player/male/death%i.wav", (rand() % 4) + 1)), 1, ATTN_IDLE, 0);
572 
573  self->deadflag = DEAD_DEAD;
574  self->takedamage = DAMAGE_YES;
575 
576  if (self->spawnflags & 8) {
577  insane_dead(self);
578  } else {
579  if (((self->s.frame >= FRAME_crawl1) && (self->s.frame <= FRAME_crawl9)) || ((self->s.frame >= FRAME_stand99) && (self->s.frame <= FRAME_stand160)))
580  self->monsterinfo.currentmove = &insane_move_crawl_death;
581  else
582  self->monsterinfo.currentmove = &insane_move_stand_death;
583  }
584 }

Referenced by SP_misc_insane().

◆ insane_fist()

void insane_fist ( edict_t *  self)

Definition at line 35 of file m_insane.c.

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

◆ insane_moan()

void insane_moan ( edict_t *  self)

Definition at line 45 of file m_insane.c.

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

◆ insane_onground()

void insane_onground ( edict_t *  self)

Definition at line 495 of file m_insane.c.

496 {
497  self->monsterinfo.currentmove = &insane_move_down;
498 }

◆ insane_pain()

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

Definition at line 456 of file m_insane.c.

457 {
458  int l, r;
459 
460 // if (self->health < (self->max_health / 2))
461 // self->s.skinnum = 1;
462 
463  if (level.time < self->pain_debounce_time)
464  return;
465 
466  self->pain_debounce_time = level.time + 3;
467 
468  r = 1 + (rand() & 1);
469  if (self->health < 25)
470  l = 25;
471  else if (self->health < 50)
472  l = 50;
473  else if (self->health < 75)
474  l = 75;
475  else
476  l = 100;
477  gi.sound(self, CHAN_VOICE, gi.soundindex(va("player/male/pain%i_%i.wav", l, r)), 1, ATTN_IDLE, 0);
478 
479  if (skill->value == 3)
480  return; // no pain anims in nightmare
481 
482  // Don't go into pain frames if crucified.
483  if (self->spawnflags & 8) {
484  self->monsterinfo.currentmove = &insane_move_struggle_cross;
485  return;
486  }
487 
488  if (((self->s.frame >= FRAME_crawl1) && (self->s.frame <= FRAME_crawl9)) || ((self->s.frame >= FRAME_stand99) && (self->s.frame <= FRAME_stand160))) {
489  self->monsterinfo.currentmove = &insane_move_crawl_pain;
490  } else
491  self->monsterinfo.currentmove = &insane_move_stand_pain;
492 
493 }

Referenced by SP_misc_insane().

◆ insane_run()

void insane_run ( edict_t *  self)

Definition at line 440 of file m_insane.c.

441 {
442  if (self->spawnflags & 16) // Hold Ground?
443  if (self->s.frame == FRAME_cr_pain10) {
444  self->monsterinfo.currentmove = &insane_move_down;
445  return;
446  }
447  if (self->spawnflags & 4) // Crawling?
448  self->monsterinfo.currentmove = &insane_move_runcrawl;
449  else if (random() <= 0.5) // Else, mix it up
450  self->monsterinfo.currentmove = &insane_move_run_normal;
451  else
452  self->monsterinfo.currentmove = &insane_move_run_insane;
453 }

Referenced by SP_misc_insane().

◆ insane_scream()

void insane_scream ( edict_t *  self)

Definition at line 50 of file m_insane.c.

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

◆ insane_shake()

void insane_shake ( edict_t *  self)

Definition at line 40 of file m_insane.c.

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

◆ insane_stand()

void insane_stand ( edict_t *  self)

Definition at line 523 of file m_insane.c.

524 {
525  if (self->spawnflags & 8) { // If crucified
526  self->monsterinfo.currentmove = &insane_move_cross;
527  self->monsterinfo.aiflags |= AI_STAND_GROUND;
528  }
529  // If Hold_Ground and Crawl are set
530  else if ((self->spawnflags & 4) && (self->spawnflags & 16))
531  self->monsterinfo.currentmove = &insane_move_down;
532  else if (random() < 0.5)
533  self->monsterinfo.currentmove = &insane_move_stand_normal;
534  else
535  self->monsterinfo.currentmove = &insane_move_stand_insane;
536 }

Referenced by SP_misc_insane().

◆ insane_walk()

void insane_walk ( edict_t *  self)

Definition at line 425 of file m_insane.c.

426 {
427  if (self->spawnflags & 16) // Hold Ground?
428  if (self->s.frame == FRAME_cr_pain10) {
429  self->monsterinfo.currentmove = &insane_move_down;
430  return;
431  }
432  if (self->spawnflags & 4)
433  self->monsterinfo.currentmove = &insane_move_crawl;
434  else if (random() <= 0.5)
435  self->monsterinfo.currentmove = &insane_move_walk_normal;
436  else
437  self->monsterinfo.currentmove = &insane_move_walk_insane;
438 }

Referenced by SP_misc_insane().

◆ SP_misc_insane()

void SP_misc_insane ( edict_t *  self)

Definition at line 589 of file m_insane.c.

590 {
591 // static int skin = 0; //@@
592 
593  if (deathmatch->value) {
594  G_FreeEdict(self);
595  return;
596  }
597 
598  sound_fist = gi.soundindex("insane/insane11.wav");
599  sound_shake = gi.soundindex("insane/insane5.wav");
600  sound_moan = gi.soundindex("insane/insane7.wav");
601  sound_scream[0] = gi.soundindex("insane/insane1.wav");
602  sound_scream[1] = gi.soundindex("insane/insane2.wav");
603  sound_scream[2] = gi.soundindex("insane/insane3.wav");
604  sound_scream[3] = gi.soundindex("insane/insane4.wav");
605  sound_scream[4] = gi.soundindex("insane/insane6.wav");
606  sound_scream[5] = gi.soundindex("insane/insane8.wav");
607  sound_scream[6] = gi.soundindex("insane/insane9.wav");
608  sound_scream[7] = gi.soundindex("insane/insane10.wav");
609 
610  self->movetype = MOVETYPE_STEP;
611  self->solid = SOLID_BBOX;
612  self->s.modelindex = gi.modelindex("models/monsters/insane/tris.md2");
613 
614  VectorSet(self->mins, -16, -16, -24);
615  VectorSet(self->maxs, 16, 16, 32);
616 
617  self->health = 100;
618  self->gib_health = -50;
619  self->mass = 300;
620 
621  self->pain = insane_pain;
622  self->die = insane_die;
623 
624  self->monsterinfo.stand = insane_stand;
625  self->monsterinfo.walk = insane_walk;
626  self->monsterinfo.run = insane_run;
627  self->monsterinfo.dodge = NULL;
628  self->monsterinfo.attack = NULL;
629  self->monsterinfo.melee = NULL;
630  self->monsterinfo.sight = NULL;
631  self->monsterinfo.aiflags |= AI_GOOD_GUY;
632 
633 //@@
634 // self->s.skinnum = skin;
635 // skin++;
636 // if (skin > 12)
637 // skin = 0;
638 
639  gi.linkentity(self);
640 
641  if (self->spawnflags & 16) // Stand Ground
642  self->monsterinfo.aiflags |= AI_STAND_GROUND;
643 
644  self->monsterinfo.currentmove = &insane_move_stand_normal;
645 
646  self->monsterinfo.scale = MODEL_SCALE;
647 
648  if (self->spawnflags & 8) { // Crucified ?
649  VectorSet(self->mins, -16, 0, 0);
650  VectorSet(self->maxs, 16, 8, 32);
651  self->flags |= FL_NO_KNOCKBACK;
652  flymonster_start(self);
653  } else {
654  walkmonster_start(self);
655  self->s.skinnum = rand() % 3;
656  }
657 }

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, 2, NULL },
{ ai_walk, 0.9, NULL },
{ ai_walk, 3, NULL },
{ ai_walk, 3.4, NULL },
{ ai_walk, 2.4, NULL }
}

Definition at line 341 of file m_insane.c.

◆ insane_frames_crawl_death

mframe_t insane_frames_crawl_death[]
Initial value:
= {
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL }
}

Definition at line 368 of file m_insane.c.

◆ insane_frames_crawl_pain

mframe_t insane_frames_crawl_pain[]
Initial value:
= {
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL }
}

Definition at line 355 of file m_insane.c.

◆ insane_frames_cross

mframe_t insane_frames_cross[]
Initial value:
= {
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL }
}

Definition at line 379 of file m_insane.c.

◆ insane_frames_down

mframe_t insane_frames_down[]

Definition at line 191 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 },
{ ai_move, 0, NULL }
}

Definition at line 158 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 },
{ ai_move, 0, NULL }
}

Definition at line 181 of file m_insane.c.

◆ insane_frames_stand_death

mframe_t insane_frames_stand_death[]
Initial value:
= {
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL }
}

Definition at line 320 of file m_insane.c.

◆ insane_frames_stand_insane

mframe_t insane_frames_stand_insane[]

Definition at line 76 of file m_insane.c.

◆ insane_frames_stand_normal

mframe_t insane_frames_stand_normal[]
Initial value:
= {
{ ai_stand, 0, NULL },
{ ai_stand, 0, NULL },
{ ai_stand, 0, NULL },
{ ai_stand, 0, NULL },
{ ai_stand, 0, NULL },
}

Definition at line 66 of file m_insane.c.

◆ insane_frames_stand_pain

mframe_t insane_frames_stand_pain[]
Initial value:
= {
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL }
}

Definition at line 305 of file m_insane.c.

◆ insane_frames_struggle_cross

mframe_t insane_frames_struggle_cross[]
Initial value:
= {
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL },
{ ai_move, 0, NULL }
}

Definition at line 398 of file m_insane.c.

◆ insane_frames_uptodown

mframe_t insane_frames_uptodown[]

Definition at line 110 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 },
{ ai_walk, 0, NULL }
}

Definition at line 274 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 },
{ ai_walk, 0, NULL }
}

Definition at line 256 of file m_insane.c.

◆ insane_move_crawl

mmove_t insane_move_crawl = {FRAME_crawl1, FRAME_crawl9, insane_frames_crawl, NULL}

Definition at line 352 of file m_insane.c.

Referenced by insane_walk().

◆ insane_move_crawl_death

Definition at line 377 of file m_insane.c.

Referenced by insane_die().

◆ insane_move_crawl_pain

Definition at line 366 of file m_insane.c.

Referenced by insane_pain().

◆ insane_move_cross

Definition at line 396 of file m_insane.c.

Referenced by insane_cross(), and insane_stand().

◆ insane_move_down

◆ insane_move_downtoup

Definition at line 179 of file m_insane.c.

Referenced by insane_checkup().

◆ insane_move_jumpdown

Definition at line 188 of file m_insane.c.

Referenced by insane_checkdown().

◆ insane_move_run_insane

Definition at line 303 of file m_insane.c.

Referenced by insane_run().

◆ insane_move_run_normal

Definition at line 272 of file m_insane.c.

Referenced by insane_run().

◆ insane_move_runcrawl

mmove_t insane_move_runcrawl = {FRAME_crawl1, FRAME_crawl9, insane_frames_crawl, NULL}

Definition at line 353 of file m_insane.c.

Referenced by insane_run().

◆ insane_move_stand_death

Definition at line 339 of file m_insane.c.

Referenced by insane_die().

◆ insane_move_stand_insane

Definition at line 108 of file m_insane.c.

Referenced by insane_stand().

◆ insane_move_stand_normal

Definition at line 74 of file m_insane.c.

Referenced by insane_stand(), and SP_misc_insane().

◆ insane_move_stand_pain

Definition at line 318 of file m_insane.c.

Referenced by insane_pain().

◆ insane_move_struggle_cross

Definition at line 415 of file m_insane.c.

Referenced by insane_cross(), and insane_pain().

◆ insane_move_uptodown

Definition at line 155 of file m_insane.c.

Referenced by insane_checkdown().

◆ insane_move_walk_insane

Definition at line 302 of file m_insane.c.

Referenced by insane_walk().

◆ insane_move_walk_normal

Definition at line 271 of file m_insane.c.

Referenced by insane_walk().

◆ sound_fist

int sound_fist
static

Definition at line 30 of file m_insane.c.

Referenced by insane_fist(), and SP_misc_insane().

◆ sound_moan

int sound_moan
static

Definition at line 32 of file m_insane.c.

Referenced by insane_moan(), and SP_misc_insane().

◆ sound_scream

int sound_scream[8]
static

Definition at line 33 of file m_insane.c.

Referenced by insane_scream(), and SP_misc_insane().

◆ sound_shake

int sound_shake
static

Definition at line 31 of file m_insane.c.

Referenced by insane_shake(), and SP_misc_insane().

gi
game_import_t gi
Definition: g_main.c:23
deathmatch
cvar_t * deathmatch
Definition: g_main.c:33
insane_walk
void insane_walk(edict_t *self)
Definition: m_insane.c:425
insane_moan
void insane_moan(edict_t *self)
Definition: m_insane.c:45
DEAD_DEAD
#define DEAD_DEAD
Definition: g_local.h:112
insane_move_walk_insane
mmove_t insane_move_walk_insane
Definition: m_insane.c:302
insane_pain
void insane_pain(edict_t *self, edict_t *other, float kick, int damage)
Definition: m_insane.c:456
sound_scream
static int sound_scream[8]
Definition: m_insane.c:33
ThrowGib
void ThrowGib(edict_t *self, char *gibname, int damage, int type)
Definition: g_misc.c:130
AI_GOOD_GUY
#define AI_GOOD_GUY
Definition: g_local.h:134
insane_move_crawl_death
mmove_t insane_move_crawl_death
Definition: m_insane.c:377
insane_scream
void insane_scream(edict_t *self)
Definition: m_insane.c:50
sound_fist
static int sound_fist
Definition: m_insane.c:30
insane_move_stand_death
mmove_t insane_move_stand_death
Definition: m_insane.c:339
AI_STAND_GROUND
#define AI_STAND_GROUND
Definition: g_local.h:126
insane_move_crawl
mmove_t insane_move_crawl
Definition: m_insane.c:352
insane_move_walk_normal
mmove_t insane_move_walk_normal
Definition: m_insane.c:271
MODEL_SCALE
#define MODEL_SCALE
Definition: m_actor.h:504
sound_shake
static int sound_shake
Definition: m_insane.c:31
DAMAGE_YES
@ DAMAGE_YES
Definition: g_local.h:88
FL_NO_KNOCKBACK
#define FL_NO_KNOCKBACK
Definition: g_local.h:70
insane_die
void insane_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
Definition: m_insane.c:553
walkmonster_start
void walkmonster_start(edict_t *self)
Definition: g_monster.c:630
MOVETYPE_STEP
@ MOVETYPE_STEP
Definition: g_local.h:192
insane_move_run_insane
mmove_t insane_move_run_insane
Definition: m_insane.c:303
G_FreeEdict
void G_FreeEdict(edict_t *e)
Definition: g_utils.c:421
insane_move_down
mmove_t insane_move_down
Definition: m_insane.c:254
FRAME_cr_pain10
#define FRAME_cr_pain10
Definition: m_insane.h:266
FRAME_stand99
#define FRAME_stand99
Definition: m_insane.h:120
va
char * va(const char *format,...)
Definition: shared.c:429
insane_dead
void insane_dead(edict_t *self)
Definition: m_insane.c:538
FRAME_crawl1
#define FRAME_crawl1
Definition: m_insane.h:249
insane_move_downtoup
mmove_t insane_move_downtoup
Definition: m_insane.c:179
ai_walk
void ai_walk(edict_t *self, float dist)
Definition: g_ai.c:148
insane_move_cross
mmove_t insane_move_cross
Definition: m_insane.c:396
random
#define random()
Definition: g_local.h:504
skill
cvar_t * skill
Definition: g_main.c:36
FRAME_stand160
#define FRAME_stand160
Definition: m_insane.h:181
ai_move
void ai_move(edict_t *self, float dist)
Definition: g_ai.c:86
level_locals_t::time
float time
Definition: g_local.h:299
insane_move_crawl_pain
mmove_t insane_move_crawl_pain
Definition: m_insane.c:366
insane_move_run_normal
mmove_t insane_move_run_normal
Definition: m_insane.c:272
insane_stand
void insane_stand(edict_t *self)
Definition: m_insane.c:523
GIB_ORGANIC
#define GIB_ORGANIC
Definition: g_local.h:122
insane_move_runcrawl
mmove_t insane_move_runcrawl
Definition: m_insane.c:353
level
level_locals_t level
Definition: g_main.c:22
insane_move_stand_insane
mmove_t insane_move_stand_insane
Definition: m_insane.c:108
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:175
insane_move_struggle_cross
mmove_t insane_move_struggle_cross
Definition: m_insane.c:415
insane_checkdown
void insane_checkdown(edict_t *self)
Definition: m_insane.c:500
insane_move_stand_normal
mmove_t insane_move_stand_normal
Definition: m_insane.c:74
MOVETYPE_TOSS
@ MOVETYPE_TOSS
Definition: g_local.h:194
insane_run
void insane_run(edict_t *self)
Definition: m_insane.c:440
insane_move_uptodown
mmove_t insane_move_uptodown
Definition: m_insane.c:155
insane_move_jumpdown
mmove_t insane_move_jumpdown
Definition: m_insane.c:188
FRAME_crawl9
#define FRAME_crawl9
Definition: m_insane.h:257
sound_moan
static int sound_moan
Definition: m_insane.c:32
ai_stand
void ai_stand(edict_t *self, float dist)
Definition: g_ai.c:100
flymonster_start
void flymonster_start(edict_t *self)
Definition: g_monster.c:653
insane_move_stand_pain
mmove_t insane_move_stand_pain
Definition: m_insane.c:318