Go to the documentation of this file.
173 fire_hit (
self, aim, (15 + (rand() % 6)), 400);
201 fire_hit (
self, aim, (5 + (rand() % 6)), 400);
251 if ((rand() % 2) == 0)
317 if (self->health < (self->max_health / 2))
320 if (
level.time < self->pain_debounce_time)
323 self->pain_debounce_time =
level.time + 3;
329 if ((damage < 20) || (
random() < 0.5))
385 if (self->health <= self->gib_health)
388 for (n= 0; n < 2; n++)
390 for (n= 0; n < 4; n++)
429 self->s.modelindex =
gi.
modelindex(
"models/monsters/berserk/tris.md2");
436 self->gib_health = -60;
445 self->monsterinfo.dodge =
NULL;
446 self->monsterinfo.attack =
NULL;
mframe_t berserk_frames_stand[]
void ThrowGib(edict_t *self, char *gibname, int damage, int type)
mmove_t berserk_move_run1
void ai_charge(edict_t *self, float dist)
mframe_t berserk_frames_stand_fidget[]
void berserk_strike(edict_t *self)
mframe_t berserk_frames_pain1[]
mframe_t berserk_frames_run1[]
mframe_t berserk_frames_attack_spike[]
void(* sound)(edict_t *ent, int channel, int soundindex, float volume, float attenuation, float timeofs)
mframe_t berserk_frames_attack_strike[]
qboolean fire_hit(edict_t *self, vec3_t aim, int damage, int kick)
void berserk_attack_spike(edict_t *self)
void walkmonster_start(edict_t *self)
mmove_t berserk_move_stand
mmove_t berserk_move_attack_spike
mmove_t berserk_move_death2
void berserk_stand(edict_t *self)
mframe_t berserk_frames_death2[]
void G_FreeEdict(edict_t *e)
mmove_t berserk_move_walk
mmove_t berserk_move_pain1
void berserk_melee(edict_t *self)
mframe_t berserk_frames_walk[]
int(* soundindex)(char *name)
void berserk_fidget(edict_t *self)
int(* modelindex)(char *name)
void berserk_attack_club(edict_t *self)
mframe_t berserk_frames_death1[]
void berserk_walk(edict_t *self)
void ai_walk(edict_t *self, float dist)
void berserk_dead(edict_t *self)
void berserk_search(edict_t *self)
mmove_t berserk_move_attack_club
void ai_move(edict_t *self, float dist)
mframe_t berserk_frames_pain2[]
mmove_t berserk_move_death1
void ai_run(edict_t *self, float dist)
void SP_monster_berserk(edict_t *self)
mmove_t berserk_move_attack_strike
mmove_t berserk_move_pain2
void ThrowHead(edict_t *self, char *gibname, int damage, int type)
void berserk_swing(edict_t *self)
mmove_t berserk_move_stand_fidget
#define VectorSet(v, x, y, z)
void berserk_sight(edict_t *self, edict_t *other)
void berserk_pain(edict_t *self, edict_t *other, float kick, int damage)
mframe_t berserk_frames_attack_club[]
void(* linkentity)(edict_t *ent)
void berserk_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
void ai_stand(edict_t *self, float dist)
void berserk_run(edict_t *self)