icculus quake2 doxygen  1.0 dev
m_chick.c File Reference
#include "g_local.h"
#include "m_chick.h"

Go to the source code of this file.

Functions

qboolean visible (edict_t *self, edict_t *other)
 
void chick_stand (edict_t *self)
 
void chick_run (edict_t *self)
 
void chick_reslash (edict_t *self)
 
void chick_rerocket (edict_t *self)
 
void chick_attack1 (edict_t *self)
 
void ChickMoan (edict_t *self)
 
void chick_fidget (edict_t *self)
 
void chick_walk (edict_t *self)
 
void chick_pain (edict_t *self, edict_t *other, float kick, int damage)
 
void chick_dead (edict_t *self)
 
void chick_die (edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
 
void chick_duck_down (edict_t *self)
 
void chick_duck_hold (edict_t *self)
 
void chick_duck_up (edict_t *self)
 
void chick_dodge (edict_t *self, edict_t *attacker, float eta)
 
void ChickSlash (edict_t *self)
 
void ChickRocket (edict_t *self)
 
void Chick_PreAttack1 (edict_t *self)
 
void ChickReload (edict_t *self)
 
void chick_slash (edict_t *self)
 
void chick_melee (edict_t *self)
 
void chick_attack (edict_t *self)
 
void chick_sight (edict_t *self, edict_t *other)
 
void SP_monster_chick (edict_t *self)
 

Variables

static int sound_missile_prelaunch
 
static int sound_missile_launch
 
static int sound_melee_swing
 
static int sound_melee_hit
 
static int sound_missile_reload
 
static int sound_death1
 
static int sound_death2
 
static int sound_fall_down
 
static int sound_idle1
 
static int sound_idle2
 
static int sound_pain1
 
static int sound_pain2
 
static int sound_pain3
 
static int sound_sight
 
static int sound_search
 
mframe_t chick_frames_fidget []
 
mmove_t chick_move_fidget = {FRAME_stand201, FRAME_stand230, chick_frames_fidget, chick_stand}
 
mframe_t chick_frames_stand []
 
mmove_t chick_move_stand = {FRAME_stand101, FRAME_stand130, chick_frames_stand, NULL}
 
mframe_t chick_frames_start_run []
 
mmove_t chick_move_start_run = {FRAME_walk01, FRAME_walk10, chick_frames_start_run, chick_run}
 
mframe_t chick_frames_run []
 
mmove_t chick_move_run = {FRAME_walk11, FRAME_walk20, chick_frames_run, NULL}
 
mframe_t chick_frames_walk []
 
mmove_t chick_move_walk = {FRAME_walk11, FRAME_walk20, chick_frames_walk, NULL}
 
mframe_t chick_frames_pain1 []
 
mmove_t chick_move_pain1 = {FRAME_pain101, FRAME_pain105, chick_frames_pain1, chick_run}
 
mframe_t chick_frames_pain2 []
 
mmove_t chick_move_pain2 = {FRAME_pain201, FRAME_pain205, chick_frames_pain2, chick_run}
 
mframe_t chick_frames_pain3 []
 
mmove_t chick_move_pain3 = {FRAME_pain301, FRAME_pain321, chick_frames_pain3, chick_run}
 
mframe_t chick_frames_death2 []
 
mmove_t chick_move_death2 = {FRAME_death201, FRAME_death223, chick_frames_death2, chick_dead}
 
mframe_t chick_frames_death1 []
 
mmove_t chick_move_death1 = {FRAME_death101, FRAME_death112, chick_frames_death1, chick_dead}
 
mframe_t chick_frames_duck []
 
mmove_t chick_move_duck = {FRAME_duck01, FRAME_duck07, chick_frames_duck, chick_run}
 
mframe_t chick_frames_start_attack1 []
 
mmove_t chick_move_start_attack1 = {FRAME_attak101, FRAME_attak113, chick_frames_start_attack1, NULL}
 
mframe_t chick_frames_attack1 []
 
mmove_t chick_move_attack1 = {FRAME_attak114, FRAME_attak127, chick_frames_attack1, NULL}
 
mframe_t chick_frames_end_attack1 []
 
mmove_t chick_move_end_attack1 = {FRAME_attak128, FRAME_attak132, chick_frames_end_attack1, chick_run}
 
mframe_t chick_frames_slash []
 
mmove_t chick_move_slash = {FRAME_attak204, FRAME_attak212, chick_frames_slash, NULL}
 
mframe_t chick_frames_end_slash []
 
mmove_t chick_move_end_slash = {FRAME_attak213, FRAME_attak216, chick_frames_end_slash, chick_run}
 
mframe_t chick_frames_start_slash []
 
mmove_t chick_move_start_slash = {FRAME_attak201, FRAME_attak203, chick_frames_start_slash, chick_slash}
 

Function Documentation

◆ chick_attack()

void chick_attack ( edict_t self)

Definition at line 616 of file m_chick.c.

617 {
618  self->monsterinfo.currentmove = &chick_move_start_attack1;
619 }

Referenced by SP_monster_chick().

◆ chick_attack1()

void chick_attack1 ( edict_t self)

Definition at line 544 of file m_chick.c.

545 {
546  self->monsterinfo.currentmove = &chick_move_attack1;
547 }

◆ chick_dead()

void chick_dead ( edict_t self)

Definition at line 297 of file m_chick.c.

298 {
299  VectorSet (self->mins, -16, -16, 0);
300  VectorSet (self->maxs, 16, 16, 16);
301  self->movetype = MOVETYPE_TOSS;
302  self->svflags |= SVF_DEADMONSTER;
303  self->nextthink = 0;
304  gi.linkentity (self);
305 }

◆ chick_die()

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

Definition at line 353 of file m_chick.c.

354 {
355  int n;
356 
357 // check for gib
358  if (self->health <= self->gib_health)
359  {
360  gi.sound (self, CHAN_VOICE, gi.soundindex ("misc/udeath.wav"), 1, ATTN_NORM, 0);
361  for (n= 0; n < 2; n++)
362  ThrowGib (self, "models/objects/gibs/bone/tris.md2", damage, GIB_ORGANIC);
363  for (n= 0; n < 4; n++)
364  ThrowGib (self, "models/objects/gibs/sm_meat/tris.md2", damage, GIB_ORGANIC);
365  ThrowHead (self, "models/objects/gibs/head2/tris.md2", damage, GIB_ORGANIC);
366  self->deadflag = DEAD_DEAD;
367  return;
368  }
369 
370  if (self->deadflag == DEAD_DEAD)
371  return;
372 
373 // regular death
374  self->deadflag = DEAD_DEAD;
375  self->takedamage = DAMAGE_YES;
376 
377  n = rand() % 2;
378  if (n == 0)
379  {
380  self->monsterinfo.currentmove = &chick_move_death1;
381  gi.sound (self, CHAN_VOICE, sound_death1, 1, ATTN_NORM, 0);
382  }
383  else
384  {
385  self->monsterinfo.currentmove = &chick_move_death2;
386  gi.sound (self, CHAN_VOICE, sound_death2, 1, ATTN_NORM, 0);
387  }
388 }

Referenced by SP_monster_chick().

◆ chick_dodge()

void chick_dodge ( edict_t self,
edict_t attacker,
float  eta 
)

Definition at line 430 of file m_chick.c.

431 {
432  if (random() > 0.25)
433  return;
434 
435  if (!self->enemy)
436  self->enemy = attacker;
437 
439 }

Referenced by SP_monster_chick().

◆ chick_duck_down()

void chick_duck_down ( edict_t self)

Definition at line 391 of file m_chick.c.

392 {
393  if (self->monsterinfo.aiflags & AI_DUCKED)
394  return;
395  self->monsterinfo.aiflags |= AI_DUCKED;
396  self->maxs[2] -= 32;
397  self->takedamage = DAMAGE_YES;
398  self->monsterinfo.pausetime = level.time + 1;
399  gi.linkentity (self);
400 }

◆ chick_duck_hold()

void chick_duck_hold ( edict_t self)

Definition at line 402 of file m_chick.c.

403 {
404  if (level.time >= self->monsterinfo.pausetime)
405  self->monsterinfo.aiflags &= ~AI_HOLD_FRAME;
406  else
407  self->monsterinfo.aiflags |= AI_HOLD_FRAME;
408 }

◆ chick_duck_up()

void chick_duck_up ( edict_t self)

Definition at line 410 of file m_chick.c.

411 {
412  self->monsterinfo.aiflags &= ~AI_DUCKED;
413  self->maxs[2] += 32;
414  self->takedamage = DAMAGE_AIM;
415  gi.linkentity (self);
416 }

◆ chick_fidget()

void chick_fidget ( edict_t self)

Definition at line 99 of file m_chick.c.

100 {
101  if (self->monsterinfo.aiflags & AI_STAND_GROUND)
102  return;
103  if (random() <= 0.3)
104  self->monsterinfo.currentmove = &chick_move_fidget;
105 }

◆ chick_melee()

void chick_melee ( edict_t self)

Definition at line 610 of file m_chick.c.

611 {
612  self->monsterinfo.currentmove = &chick_move_start_slash;
613 }

Referenced by SP_monster_chick().

◆ chick_pain()

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

Definition at line 266 of file m_chick.c.

267 {
268  float r;
269 
270  if (self->health < (self->max_health / 2))
271  self->s.skinnum = 1;
272 
273  if (level.time < self->pain_debounce_time)
274  return;
275 
276  self->pain_debounce_time = level.time + 3;
277 
278  r = random();
279  if (r < 0.33)
280  gi.sound (self, CHAN_VOICE, sound_pain1, 1, ATTN_NORM, 0);
281  else if (r < 0.66)
282  gi.sound (self, CHAN_VOICE, sound_pain2, 1, ATTN_NORM, 0);
283  else
284  gi.sound (self, CHAN_VOICE, sound_pain3, 1, ATTN_NORM, 0);
285 
286  if (skill->value == 3)
287  return; // no pain anims in nightmare
288 
289  if (damage <= 10)
290  self->monsterinfo.currentmove = &chick_move_pain1;
291  else if (damage <= 25)
292  self->monsterinfo.currentmove = &chick_move_pain2;
293  else
294  self->monsterinfo.currentmove = &chick_move_pain3;
295 }

Referenced by SP_monster_chick().

◆ Chick_PreAttack1()

void Chick_PreAttack1 ( edict_t self)

Definition at line 469 of file m_chick.c.

470 {
472 }

◆ chick_rerocket()

void chick_rerocket ( edict_t self)

Definition at line 529 of file m_chick.c.

530 {
531  if (self->enemy->health > 0)
532  {
533  if (range (self, self->enemy) > RANGE_MELEE)
534  if ( visible (self, self->enemy) )
535  if (random() <= 0.6)
536  {
537  self->monsterinfo.currentmove = &chick_move_attack1;
538  return;
539  }
540  }
541  self->monsterinfo.currentmove = &chick_move_end_attack1;
542 }

◆ chick_reslash()

void chick_reslash ( edict_t self)

Definition at line 573 of file m_chick.c.

574 {
575  if (self->enemy->health > 0)
576  {
577  if (range (self, self->enemy) == RANGE_MELEE)
578  {
579  if (random() <= 0.9)
580  {
581  self->monsterinfo.currentmove = &chick_move_slash;
582  return;
583  }
584  else
585  {
586  self->monsterinfo.currentmove = &chick_move_end_slash;
587  return;
588  }
589  }
590  }
591  self->monsterinfo.currentmove = &chick_move_end_slash;
592 }

◆ chick_run()

void chick_run ( edict_t self)

Definition at line 201 of file m_chick.c.

202 {
203  if (self->monsterinfo.aiflags & AI_STAND_GROUND)
204  {
205  self->monsterinfo.currentmove = &chick_move_stand;
206  return;
207  }
208 
209  if (self->monsterinfo.currentmove == &chick_move_walk ||
211  {
212  self->monsterinfo.currentmove = &chick_move_run;
213  }
214  else
215  {
216  self->monsterinfo.currentmove = &chick_move_start_run;
217  }
218 }

Referenced by SP_monster_chick().

◆ chick_sight()

void chick_sight ( edict_t self,
edict_t other 
)

Definition at line 621 of file m_chick.c.

622 {
623  gi.sound (self, CHAN_VOICE, sound_sight, 1, ATTN_NORM, 0);
624 }

Referenced by SP_monster_chick().

◆ chick_slash()

void chick_slash ( edict_t self)

Definition at line 594 of file m_chick.c.

595 {
596  self->monsterinfo.currentmove = &chick_move_slash;
597 }

◆ chick_stand()

void chick_stand ( edict_t self)

Definition at line 143 of file m_chick.c.

144 {
145  self->monsterinfo.currentmove = &chick_move_stand;
146 }

Referenced by SP_monster_chick().

◆ chick_walk()

void chick_walk ( edict_t self)

Definition at line 196 of file m_chick.c.

197 {
198  self->monsterinfo.currentmove = &chick_move_walk;
199 }

Referenced by SP_monster_chick().

◆ ChickMoan()

void ChickMoan ( edict_t self)

Definition at line 56 of file m_chick.c.

57 {
58  if (random() < 0.5)
59  gi.sound (self, CHAN_VOICE, sound_idle1, 1, ATTN_IDLE, 0);
60  else
61  gi.sound (self, CHAN_VOICE, sound_idle2, 1, ATTN_IDLE, 0);
62 }

◆ ChickReload()

void ChickReload ( edict_t self)

Definition at line 474 of file m_chick.c.

475 {
477 }

◆ ChickRocket()

void ChickRocket ( edict_t self)

Definition at line 451 of file m_chick.c.

452 {
454  vec3_t start;
455  vec3_t dir;
456  vec3_t vec;
457 
458  AngleVectors (self->s.angles, forward, right, NULL);
460 
461  VectorCopy (self->enemy->s.origin, vec);
462  vec[2] += self->enemy->viewheight;
463  VectorSubtract (vec, start, dir);
464  VectorNormalize (dir);
465 
466  monster_fire_rocket (self, start, dir, 50, 500, MZ2_CHICK_ROCKET_1);
467 }

◆ ChickSlash()

void ChickSlash ( edict_t self)

Definition at line 441 of file m_chick.c.

442 {
443  vec3_t aim;
444 
445  VectorSet (aim, MELEE_DISTANCE, self->mins[0], 10);
447  fire_hit (self, aim, (10 + (rand() %6)), 100);
448 }

◆ SP_monster_chick()

void SP_monster_chick ( edict_t self)

Definition at line 628 of file m_chick.c.

629 {
630  if (deathmatch->value)
631  {
632  G_FreeEdict (self);
633  return;
634  }
635 
636  sound_missile_prelaunch = gi.soundindex ("chick/chkatck1.wav");
637  sound_missile_launch = gi.soundindex ("chick/chkatck2.wav");
638  sound_melee_swing = gi.soundindex ("chick/chkatck3.wav");
639  sound_melee_hit = gi.soundindex ("chick/chkatck4.wav");
640  sound_missile_reload = gi.soundindex ("chick/chkatck5.wav");
641  sound_death1 = gi.soundindex ("chick/chkdeth1.wav");
642  sound_death2 = gi.soundindex ("chick/chkdeth2.wav");
643  sound_fall_down = gi.soundindex ("chick/chkfall1.wav");
644  sound_idle1 = gi.soundindex ("chick/chkidle1.wav");
645  sound_idle2 = gi.soundindex ("chick/chkidle2.wav");
646  sound_pain1 = gi.soundindex ("chick/chkpain1.wav");
647  sound_pain2 = gi.soundindex ("chick/chkpain2.wav");
648  sound_pain3 = gi.soundindex ("chick/chkpain3.wav");
649  sound_sight = gi.soundindex ("chick/chksght1.wav");
650  sound_search = gi.soundindex ("chick/chksrch1.wav");
651 
652  self->movetype = MOVETYPE_STEP;
653  self->solid = SOLID_BBOX;
654  self->s.modelindex = gi.modelindex ("models/monsters/bitch/tris.md2");
655  VectorSet (self->mins, -16, -16, 0);
656  VectorSet (self->maxs, 16, 16, 56);
657 
658  self->health = 175;
659  self->gib_health = -70;
660  self->mass = 200;
661 
662  self->pain = chick_pain;
663  self->die = chick_die;
664 
665  self->monsterinfo.stand = chick_stand;
666  self->monsterinfo.walk = chick_walk;
667  self->monsterinfo.run = chick_run;
668  self->monsterinfo.dodge = chick_dodge;
669  self->monsterinfo.attack = chick_attack;
670  self->monsterinfo.melee = chick_melee;
671  self->monsterinfo.sight = chick_sight;
672 
673  gi.linkentity (self);
674 
675  self->monsterinfo.currentmove = &chick_move_stand;
676  self->monsterinfo.scale = MODEL_SCALE;
677 
678  walkmonster_start (self);
679 }

◆ visible()

qboolean visible ( edict_t self,
edict_t other 
)

Definition at line 287 of file g_ai.c.

288 {
289  vec3_t spot1;
290  vec3_t spot2;
291  trace_t trace;
292 
293  VectorCopy (self->s.origin, spot1);
294  spot1[2] += self->viewheight;
295  VectorCopy (other->s.origin, spot2);
296  spot2[2] += other->viewheight;
297  trace = gi.trace (spot1, vec3_origin, vec3_origin, spot2, self, MASK_OPAQUE);
298 
299  if (trace.fraction == 1.0)
300  return true;
301  return false;
302 }

Referenced by chick_rerocket().

Variable Documentation

◆ chick_frames_attack1

mframe_t chick_frames_attack1[]
Initial value:

Definition at line 499 of file m_chick.c.

◆ chick_frames_death1

mframe_t chick_frames_death1[]
Initial value:
=
{
{ai_move, 0, NULL},
{ai_move, 0, NULL},
{ai_move, -7, NULL},
{ai_move, 4, NULL},
{ai_move, 11, 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 335 of file m_chick.c.

◆ chick_frames_death2

mframe_t chick_frames_death2[]
Initial value:
=
{
{ai_move, -6, NULL},
{ai_move, 0, NULL},
{ai_move, -1, NULL},
{ai_move, -5, NULL},
{ai_move, 0, NULL},
{ai_move, -1, NULL},
{ai_move, -2, NULL},
{ai_move, 1, NULL},
{ai_move, 10, NULL},
{ai_move, 2, NULL},
{ai_move, 3, NULL},
{ai_move, 1, NULL},
{ai_move, 2, NULL},
{ai_move, 0, NULL},
{ai_move, 3, NULL},
{ai_move, 3, NULL},
{ai_move, 1, NULL},
{ai_move, -3, NULL},
{ai_move, -5, NULL},
{ai_move, 4, NULL},
{ai_move, 15, NULL},
{ai_move, 14, NULL},
{ai_move, 1, NULL}
}

Definition at line 307 of file m_chick.c.

◆ chick_frames_duck

mframe_t chick_frames_duck[]
Initial value:

Definition at line 418 of file m_chick.c.

◆ chick_frames_end_attack1

mframe_t chick_frames_end_attack1[]
Initial value:
=
{
{ai_charge, -3, NULL},
{ai_charge, 0, NULL},
{ai_charge, -6, NULL},
{ai_charge, -4, NULL},
{ai_charge, -2, NULL}
}

Definition at line 519 of file m_chick.c.

◆ chick_frames_end_slash

mframe_t chick_frames_end_slash[]
Initial value:
=
{
{ai_charge, -6, NULL},
{ai_charge, -1, NULL},
{ai_charge, -6, NULL},
}

Definition at line 563 of file m_chick.c.

◆ chick_frames_fidget

mframe_t chick_frames_fidget[]

Definition at line 64 of file m_chick.c.

◆ chick_frames_pain1

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

Definition at line 220 of file m_chick.c.

◆ chick_frames_pain2

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

Definition at line 230 of file m_chick.c.

◆ chick_frames_pain3

mframe_t chick_frames_pain3[]
Initial value:
=
{
{ai_move, 0, NULL},
{ai_move, 0, NULL},
{ai_move, -6, NULL},
{ai_move, 3, NULL},
{ai_move, 11, NULL},
{ai_move, 3, NULL},
{ai_move, 0, NULL},
{ai_move, 0, NULL},
{ai_move, 4, NULL},
{ai_move, 1, NULL},
{ai_move, 0, NULL},
{ai_move, -3, NULL},
{ai_move, -4, NULL},
{ai_move, 5, NULL},
{ai_move, 7, NULL},
{ai_move, -2, NULL},
{ai_move, 3, NULL},
{ai_move, -5, NULL},
{ai_move, -2, NULL},
{ai_move, -8, NULL},
{ai_move, 2, NULL}
}

Definition at line 240 of file m_chick.c.

◆ chick_frames_run

mframe_t chick_frames_run[]
Initial value:
=
{
{ai_run, 6, NULL},
{ai_run, 8, NULL},
{ai_run, 13, NULL},
{ai_run, 5, NULL},
{ai_run, 7, NULL},
{ai_run, 4, NULL},
{ai_run, 11, NULL},
{ai_run, 5, NULL},
{ai_run, 9, NULL},
{ai_run, 7, NULL}
}

Definition at line 163 of file m_chick.c.

◆ chick_frames_slash

mframe_t chick_frames_slash[]
Initial value:
=
{
{ai_charge, 1, NULL},
{ai_charge, -7, NULL},
{ai_charge, 1, NULL},
{ai_charge, -1, NULL},
{ai_charge, 1, NULL},
{ai_charge, 0, NULL},
{ai_charge, 1, NULL},
}

Definition at line 549 of file m_chick.c.

◆ chick_frames_stand

mframe_t chick_frames_stand[]

Definition at line 107 of file m_chick.c.

◆ chick_frames_start_attack1

mframe_t chick_frames_start_attack1[]
Initial value:

Definition at line 480 of file m_chick.c.

◆ chick_frames_start_run

mframe_t chick_frames_start_run[]
Initial value:
=
{
{ai_run, 1, NULL},
{ai_run, 0, NULL},
{ai_run, 0, NULL},
{ai_run, -1, NULL},
{ai_run, -1, NULL},
{ai_run, 0, NULL},
{ai_run, 1, NULL},
{ai_run, 3, NULL},
{ai_run, 6, NULL},
{ai_run, 3, NULL}
}

Definition at line 148 of file m_chick.c.

◆ chick_frames_start_slash

mframe_t chick_frames_start_slash[]
Initial value:
=
{
{ai_charge, 1, NULL},
{ai_charge, 8, NULL},
}

Definition at line 600 of file m_chick.c.

◆ chick_frames_walk

mframe_t chick_frames_walk[]
Initial value:
=
{
{ai_walk, 6, NULL},
{ai_walk, 8, NULL},
{ai_walk, 13, NULL},
{ai_walk, 5, NULL},
{ai_walk, 7, NULL},
{ai_walk, 4, NULL},
{ai_walk, 11, NULL},
{ai_walk, 5, NULL},
{ai_walk, 9, NULL},
{ai_walk, 7, NULL}
}

Definition at line 180 of file m_chick.c.

◆ chick_move_attack1

Definition at line 517 of file m_chick.c.

Referenced by chick_attack1(), and chick_rerocket().

◆ chick_move_death1

Definition at line 351 of file m_chick.c.

Referenced by chick_die().

◆ chick_move_death2

Definition at line 333 of file m_chick.c.

Referenced by chick_die().

◆ chick_move_duck

Definition at line 428 of file m_chick.c.

Referenced by chick_dodge().

◆ chick_move_end_attack1

Definition at line 527 of file m_chick.c.

Referenced by chick_rerocket().

◆ chick_move_end_slash

Definition at line 570 of file m_chick.c.

Referenced by chick_reslash().

◆ chick_move_fidget

Definition at line 97 of file m_chick.c.

Referenced by chick_fidget().

◆ chick_move_pain1

Definition at line 228 of file m_chick.c.

Referenced by chick_pain().

◆ chick_move_pain2

Definition at line 238 of file m_chick.c.

Referenced by chick_pain().

◆ chick_move_pain3

Definition at line 264 of file m_chick.c.

Referenced by chick_pain().

◆ chick_move_run

Definition at line 178 of file m_chick.c.

Referenced by chick_run().

◆ chick_move_slash

Definition at line 561 of file m_chick.c.

Referenced by chick_reslash(), and chick_slash().

◆ chick_move_stand

Definition at line 141 of file m_chick.c.

Referenced by chick_run(), chick_stand(), and SP_monster_chick().

◆ chick_move_start_attack1

Definition at line 496 of file m_chick.c.

Referenced by chick_attack().

◆ chick_move_start_run

Definition at line 161 of file m_chick.c.

Referenced by chick_run().

◆ chick_move_start_slash

Definition at line 606 of file m_chick.c.

Referenced by chick_melee().

◆ chick_move_walk

Definition at line 194 of file m_chick.c.

Referenced by chick_run(), and chick_walk().

◆ sound_death1

int sound_death1
static

Definition at line 44 of file m_chick.c.

Referenced by chick_die(), and SP_monster_chick().

◆ sound_death2

int sound_death2
static

Definition at line 45 of file m_chick.c.

Referenced by chick_die(), and SP_monster_chick().

◆ sound_fall_down

int sound_fall_down
static

Definition at line 46 of file m_chick.c.

Referenced by SP_monster_chick().

◆ sound_idle1

int sound_idle1
static

Definition at line 47 of file m_chick.c.

Referenced by ChickMoan(), and SP_monster_chick().

◆ sound_idle2

int sound_idle2
static

Definition at line 48 of file m_chick.c.

Referenced by ChickMoan(), and SP_monster_chick().

◆ sound_melee_hit

int sound_melee_hit
static

Definition at line 42 of file m_chick.c.

Referenced by SP_monster_chick().

◆ sound_melee_swing

int sound_melee_swing
static

Definition at line 41 of file m_chick.c.

Referenced by ChickSlash(), and SP_monster_chick().

◆ sound_missile_launch

int sound_missile_launch
static

Definition at line 40 of file m_chick.c.

Referenced by SP_monster_chick().

◆ sound_missile_prelaunch

int sound_missile_prelaunch
static

Definition at line 39 of file m_chick.c.

Referenced by Chick_PreAttack1(), and SP_monster_chick().

◆ sound_missile_reload

int sound_missile_reload
static

Definition at line 43 of file m_chick.c.

Referenced by ChickReload(), and SP_monster_chick().

◆ sound_pain1

int sound_pain1
static

Definition at line 49 of file m_chick.c.

Referenced by chick_pain(), and SP_monster_chick().

◆ sound_pain2

int sound_pain2
static

Definition at line 50 of file m_chick.c.

Referenced by chick_pain(), and SP_monster_chick().

◆ sound_pain3

int sound_pain3
static

Definition at line 51 of file m_chick.c.

Referenced by chick_pain(), and SP_monster_chick().

◆ sound_search

int sound_search
static

Definition at line 53 of file m_chick.c.

Referenced by SP_monster_chick().

◆ sound_sight

int sound_sight
static

Definition at line 52 of file m_chick.c.

Referenced by chick_sight(), and SP_monster_chick().

gi
game_import_t gi
Definition: g_main.c:25
G_ProjectSource
void G_ProjectSource(vec3_t point, vec3_t distance, vec3_t forward, vec3_t right, vec3_t result)
Definition: g_utils.c:25
chick_sight
void chick_sight(edict_t *self, edict_t *other)
Definition: m_chick.c:621
edict_s::s
entity_state_t s
Definition: g_local.h:964
deathmatch
cvar_t * deathmatch
Definition: g_main.c:35
DEAD_DEAD
#define DEAD_DEAD
Definition: g_local.h:113
visible
qboolean visible(edict_t *self, edict_t *other)
Definition: g_ai.c:287
game_import_t::trace
trace_t(* trace)(vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end, edict_t *passent, int contentmask)
Definition: game.h:128
trace_t::fraction
float fraction
Definition: q_shared.h:453
sound_missile_reload
static int sound_missile_reload
Definition: m_chick.c:43
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:1053
MELEE_DISTANCE
#define MELEE_DISTANCE
Definition: g_local.h:80
VectorSubtract
#define VectorSubtract(a, b, c)
Definition: q_shared.h:156
ai_charge
void ai_charge(edict_t *self, float dist)
Definition: g_ai.c:194
SOLID_BBOX
@ SOLID_BBOX
Definition: game.h:37
chick_reslash
void chick_reslash(edict_t *self)
Definition: m_chick.c:573
sound_idle1
static int sound_idle1
Definition: m_chick.c:47
chick_move_death2
mmove_t chick_move_death2
Definition: m_chick.c:333
ChickRocket
void ChickRocket(edict_t *self)
Definition: m_chick.c:451
chick_stand
void chick_stand(edict_t *self)
Definition: m_chick.c:143
entity_state_s::origin
vec3_t origin
Definition: q_shared.h:1173
AI_STAND_GROUND
#define AI_STAND_GROUND
Definition: g_local.h:127
sound_pain3
static int sound_pain3
Definition: m_chick.c:51
chick_move_start_slash
mmove_t chick_move_start_slash
Definition: m_chick.c:606
trace_t
Definition: q_shared.h:449
sound_missile_prelaunch
static int sound_missile_prelaunch
Definition: m_chick.c:39
MODEL_SCALE
#define MODEL_SCALE
Definition: m_actor.h:506
edict_s::max_health
int max_health
Definition: g_local.h:1052
DAMAGE_YES
@ DAMAGE_YES
Definition: g_local.h:87
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:1020
edict_s::mins
vec3_t mins
Definition: g_local.h:984
range
GLsizei range
Definition: qgl_win.c:121
monsterinfo_t::currentmove
mmove_t * currentmove
Definition: g_local.h:418
fire_hit
qboolean fire_hit(edict_t *self, vec3_t aim, int damage, int kick)
Definition: g_weapon.c:63
ATTN_NORM
#define ATTN_NORM
Definition: q_shared.h:1019
sound_search
static int sound_search
Definition: m_chick.c:53
chick_rerocket
void chick_rerocket(edict_t *self)
Definition: m_chick.c:529
walkmonster_start
void walkmonster_start(edict_t *self)
Definition: g_monster.c:692
MOVETYPE_STEP
@ MOVETYPE_STEP
Definition: g_local.h:194
SVF_DEADMONSTER
#define SVF_DEADMONSTER
Definition: game.h:28
AngleVectors
void AngleVectors(vec3_t angles, vec3_t forward, vec3_t right, vec3_t up)
Definition: q_shared.c:93
chick_duck_down
void chick_duck_down(edict_t *self)
Definition: m_chick.c:391
monster_flash_offset
vec3_t monster_flash_offset[]
Definition: m_flash.c:27
CHAN_VOICE
#define CHAN_VOICE
Definition: q_shared.h:1009
ChickSlash
void ChickSlash(edict_t *self)
Definition: m_chick.c:441
chick_move_pain1
mmove_t chick_move_pain1
Definition: m_chick.c:228
sound_death1
static int sound_death1
Definition: m_chick.c:44
chick_move_attack1
mmove_t chick_move_attack1
Definition: m_chick.c:517
G_FreeEdict
void G_FreeEdict(edict_t *e)
Definition: g_utils.c:452
monsterinfo_t::pausetime
float pausetime
Definition: g_local.h:434
chick_move_start_attack1
mmove_t chick_move_start_attack1
Definition: m_chick.c:496
chick_move_start_run
mmove_t chick_move_start_run
Definition: m_chick.c:161
r
GLdouble GLdouble r
Definition: qgl_win.c:336
MZ2_CHICK_ROCKET_1
#define MZ2_CHICK_ROCKET_1
Definition: q_shared.h:754
sound_missile_launch
static int sound_missile_launch
Definition: m_chick.c:40
sound_idle2
static int sound_idle2
Definition: m_chick.c:48
edict_s::viewheight
int viewheight
Definition: g_local.h:1061
chick_move_death1
mmove_t chick_move_death1
Definition: m_chick.c:351
game_import_t::soundindex
int(* soundindex)(char *name)
Definition: game.h:122
forward
static vec3_t forward
Definition: p_view.c:29
chick_pain
void chick_pain(edict_t *self, edict_t *other, float kick, int damage)
Definition: m_chick.c:266
chick_move_fidget
mmove_t chick_move_fidget
Definition: m_chick.c:97
AI_HOLD_FRAME
#define AI_HOLD_FRAME
Definition: g_local.h:134
sound_fall_down
static int sound_fall_down
Definition: m_chick.c:46
game_import_t::modelindex
int(* modelindex)(char *name)
Definition: game.h:121
ChickReload
void ChickReload(edict_t *self)
Definition: m_chick.c:474
sound_pain2
static int sound_pain2
Definition: m_chick.c:50
edict_s::deadflag
int deadflag
Definition: g_local.h:1054
chick_duck_hold
void chick_duck_hold(edict_t *self)
Definition: m_chick.c:402
cvar_s::value
float value
Definition: q_shared.h:324
ai_walk
void ai_walk(edict_t *self, float dist)
Definition: g_ai.c:163
chick_move_pain2
mmove_t chick_move_pain2
Definition: m_chick.c:238
random
#define random()
Definition: g_local.h:509
chick_walk
void chick_walk(edict_t *self)
Definition: m_chick.c:196
VectorNormalize
vec_t VectorNormalize(vec3_t v)
Definition: q_shared.c:681
NULL
#define NULL
Definition: q_shared.h:60
Chick_PreAttack1
void Chick_PreAttack1(edict_t *self)
Definition: m_chick.c:469
monsterinfo_t::aiflags
int aiflags
Definition: g_local.h:419
chick_move_end_slash
mmove_t chick_move_end_slash
Definition: m_chick.c:570
chick_duck_up
void chick_duck_up(edict_t *self)
Definition: m_chick.c:410
chick_die
void chick_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
Definition: m_chick.c:353
chick_attack
void chick_attack(edict_t *self)
Definition: m_chick.c:616
monster_fire_rocket
void monster_fire_rocket(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed, int flashtype)
Definition: g_monster.c:71
skill
cvar_t * skill
Definition: g_main.c:38
chick_move_slash
mmove_t chick_move_slash
Definition: m_chick.c:561
MASK_OPAQUE
#define MASK_OPAQUE
Definition: q_shared.h:396
sound_death2
static int sound_death2
Definition: m_chick.c:45
chick_move_walk
mmove_t chick_move_walk
Definition: m_chick.c:194
ai_move
void ai_move(edict_t *self, float dist)
Definition: g_ai.c:92
chick_move_pain3
mmove_t chick_move_pain3
Definition: m_chick.c:264
sound_melee_hit
static int sound_melee_hit
Definition: m_chick.c:42
VectorCopy
#define VectorCopy(a, b)
Definition: q_shared.h:158
edict_s::pain_debounce_time
float pain_debounce_time
Definition: g_local.h:1046
edict_s::monsterinfo
monsterinfo_t monsterinfo
Definition: g_local.h:1108
chick_move_duck
mmove_t chick_move_duck
Definition: m_chick.c:428
vec3_origin
vec3_t vec3_origin
Definition: q_shared.c:24
RANGE_MELEE
#define RANGE_MELEE
Definition: g_local.h:117
chick_melee
void chick_melee(edict_t *self)
Definition: m_chick.c:610
DAMAGE_AIM
@ DAMAGE_AIM
Definition: g_local.h:88
CHAN_WEAPON
#define CHAN_WEAPON
Definition: q_shared.h:1008
sound_sight
static int sound_sight
Definition: m_chick.c:52
level
GLint level
Definition: qgl_win.c:116
ai_run
void ai_run(edict_t *self, float dist)
Definition: g_ai.c:915
GIB_ORGANIC
#define GIB_ORGANIC
Definition: g_local.h:123
chick_move_stand
mmove_t chick_move_stand
Definition: m_chick.c:141
edict_s::maxs
vec3_t maxs
Definition: g_local.h:984
sound_melee_swing
static int sound_melee_swing
Definition: m_chick.c:41
chick_move_run
mmove_t chick_move_run
Definition: m_chick.c:178
ThrowHead
void ThrowHead(edict_t *self, char *gibname, int damage, int type)
Definition: g_misc.c:183
sound_pain1
static int sound_pain1
Definition: m_chick.c:49
chick_dodge
void chick_dodge(edict_t *self, edict_t *attacker, float eta)
Definition: m_chick.c:430
MOVETYPE_TOSS
@ MOVETYPE_TOSS
Definition: g_local.h:196
chick_move_end_attack1
mmove_t chick_move_end_attack1
Definition: m_chick.c:527
VectorSet
#define VectorSet(v, x, y, z)
Definition: q_shared.h:161
chick_attack1
void chick_attack1(edict_t *self)
Definition: m_chick.c:544
right
GLdouble right
Definition: qgl_win.c:159
edict_s::enemy
edict_t * enemy
Definition: g_local.h:1070
AI_DUCKED
#define AI_DUCKED
Definition: g_local.h:138
game_import_t::linkentity
void(* linkentity)(edict_t *ent)
Definition: game.h:138
entity_state_s::angles
vec3_t angles
Definition: q_shared.h:1174
chick_run
void chick_run(edict_t *self)
Definition: m_chick.c:201
vec3_t
vec_t vec3_t[3]
Definition: q_shared.h:127
edict_s::health
int health
Definition: g_local.h:1051