icculus quake2 doxygen
1.0 dev
|
|
Go to the documentation of this file.
277 if (self->health < (self->max_health / 2))
280 if (
level.time < self->pain_debounce_time)
283 self->pain_debounce_time =
level.time + 3;
308 if (angles[0] < -180)
310 if (fabs(angles[0]) > 30)
318 vec3_t offset, start, f,
r, end, dir;
329 end[2] =
self->enemy->s.origin[2] +
self->enemy->maxs[2] - 8;
332 end[2] =
self->enemy->s.origin[2] +
self->enemy->mins[2] + 8;
476 if (self->health <= self->gib_health)
479 for (n= 0; n < 2; n++)
481 for (n= 0; n < 4; n++)
526 self->s.modelindex =
gi.
modelindex (
"models/monsters/parasite/tris.md2");
533 self->gib_health = -50;
void parasite_walk(edict_t *self)
mmove_t parasite_move_death
void G_ProjectSource(vec3_t point, vec3_t distance, vec3_t forward, vec3_t right, vec3_t result)
mmove_t parasite_move_fidget
mmove_t parasite_move_stop_walk
mmove_t parasite_move_break
trace_t(* trace)(vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end, edict_t *passent, int contentmask)
void parasite_scratch(edict_t *self)
void ThrowGib(edict_t *self, char *gibname, int damage, int type)
#define VectorSubtract(a, b, c)
void ai_charge(edict_t *self, float dist)
void parasite_idle(edict_t *self)
void(* WritePosition)(vec3_t pos)
void(* multicast)(vec3_t origin, multicast_t to)
mframe_t parasite_frames_stand[]
void parasite_run(edict_t *self)
mmove_t parasite_move_start_run
void parasite_search(edict_t *self)
mframe_t parasite_frames_start_run[]
mmove_t parasite_move_end_fidget
void(* sound)(edict_t *ent, int channel, int soundindex, float volume, float attenuation, float timeofs)
mmove_t parasite_move_stop_run
mframe_t parasite_frames_stop_run[]
void parasite_sight(edict_t *self, edict_t *other)
mframe_t parasite_frames_drain[]
void T_Damage(edict_t *targ, edict_t *inflictor, edict_t *attacker, vec3_t dir, vec3_t point, vec3_t normal, int damage, int knockback, int dflags, int mod)
void walkmonster_start(edict_t *self)
#define DAMAGE_NO_KNOCKBACK
void parasite_refidget(edict_t *self)
void AngleVectors(vec3_t angles, vec3_t forward, vec3_t right, vec3_t up)
void parasite_reel_in(edict_t *self)
void vectoangles(vec3_t vec, vec3_t angles)
void G_FreeEdict(edict_t *e)
mmove_t parasite_move_drain
mmove_t parasite_move_walk
int(* soundindex)(char *name)
void parasite_launch(edict_t *self)
vec_t VectorLength(vec3_t v)
int(* modelindex)(char *name)
void parasite_drain_attack(edict_t *self)
mframe_t parasite_frames_end_fidget[]
mframe_t parasite_frames_walk[]
void parasite_attack(edict_t *self)
mmove_t parasite_move_stand
void ai_walk(edict_t *self, float dist)
void parasite_stand(edict_t *self)
void parasite_start_walk(edict_t *self)
mframe_t parasite_frames_pain1[]
void parasite_end_fidget(edict_t *self)
static qboolean parasite_drain_attack_ok(vec3_t start, vec3_t end)
void ai_move(edict_t *self, float dist)
void(* WriteShort)(int c)
void parasite_tap(edict_t *self)
mframe_t parasite_frames_run[]
mmove_t parasite_move_start_fidget
mframe_t parasite_frames_stop_walk[]
void ai_run(edict_t *self, float dist)
mframe_t parasite_frames_death[]
mframe_t parasite_frames_start_fidget[]
void parasite_dead(edict_t *self)
mframe_t parasite_frames_fidget[]
void ThrowHead(edict_t *self, char *gibname, int damage, int type)
void parasite_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
#define VectorSet(v, x, y, z)
mframe_t parasite_frames_start_walk[]
mmove_t parasite_move_pain1
mframe_t parasite_frames_break[]
void(* linkentity)(edict_t *ent)
mmove_t parasite_move_start_walk
mmove_t parasite_move_run
void parasite_start_run(edict_t *self)
void ai_stand(edict_t *self, float dist)
void SP_monster_parasite(edict_t *self)
void parasite_do_fidget(edict_t *self)
void parasite_pain(edict_t *self, edict_t *other, float kick, int damage)