Quake II RTX doxygen
1.0 dev
|
|
Go to the documentation of this file.
52 void floater_die(edict_t *
self, edict_t *inflictor, edict_t *attacker,
int damage, vec3_t point);
67 effect = EF_HYPERBLASTER;
73 VectorCopy(self->enemy->s.origin, end);
74 end[2] +=
self->enemy->viewheight;
75 VectorSubtract(end, start, dir);
505 fire_hit(
self, aim, 5 + rand() % 6, -50);
515 VectorSubtract(self->enemy->s.origin, self->s.origin, dir);
519 VectorSet(offset, 18.5, -0.9, 10);
527 gi.WriteByte(TE_SPLASH);
532 gi.multicast(
origin, MULTICAST_PVS);
556 if (self->health < (self->max_health / 2))
559 if (
level.
time < self->pain_debounce_time)
562 self->pain_debounce_time =
level.
time + 3;
563 if (
skill->value == 3)
566 n = (rand() + 1) % 3;
578 VectorSet(self->mins, -16, -16, -24);
579 VectorSet(self->maxs, 16, 16, -8);
581 self->svflags |= SVF_DEADMONSTER;
586 void floater_die(edict_t *
self, edict_t *inflictor, edict_t *attacker,
int damage, vec3_t point)
609 gi.soundindex(
"floater/fltatck1.wav");
611 self->s.sound =
gi.soundindex(
"floater/fltsrch1.wav");
614 self->solid = SOLID_BBOX;
615 self->s.modelindex =
gi.modelindex(
"models/monsters/float/tris.md2");
616 VectorSet(self->mins, -24, -24, -24);
617 VectorSet(self->maxs, 24, 24, 32);
620 self->gib_health = -80;
void G_ProjectSource(const vec3_t point, const vec3_t distance, const vec3_t forward, const vec3_t right, vec3_t result)
void ai_charge(edict_t *self, float dist)
mframe_t floater_frames_pain1[]
mmove_t floater_move_stand2
void floater_stand(edict_t *self)
mframe_t floater_frames_activate[]
mframe_t floater_frames_attack2[]
void floater_walk(edict_t *self)
void BecomeExplosion1(edict_t *self)
mmove_t floater_move_activate
void floater_idle(edict_t *self)
qboolean fire_hit(edict_t *self, vec3_t aim, int damage, int kick)
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)
mmove_t floater_move_attack3
void floater_wham(edict_t *self)
void SP_monster_floater(edict_t *self)
mframe_t floater_frames_attack1[]
mmove_t floater_move_pain1
void G_FreeEdict(edict_t *e)
void floater_attack(edict_t *self)
void floater_run(edict_t *self)
mmove_t floater_move_attack1
void ai_walk(edict_t *self, float dist)
void AngleVectors(vec3_t angles, vec3_t forward, vec3_t right, vec3_t up)
mframe_t floater_frames_death[]
void floater_pain(edict_t *self, edict_t *other, float kick, int damage)
mframe_t floater_frames_pain2[]
mframe_t floater_frames_pain3[]
void floater_sight(edict_t *self, edict_t *other)
mmove_t floater_move_pain2
void ai_move(edict_t *self, float dist)
void monster_fire_blaster(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed, int flashtype, int effect)
mframe_t floater_frames_stand2[]
mframe_t floater_frames_attack3[]
mmove_t floater_move_pain3
void floater_dead(edict_t *self)
mmove_t floater_move_death
void ai_run(edict_t *self, float dist)
mframe_t floater_frames_run[]
const vec3_t monster_flash_offset[256]
mframe_t floater_frames_stand1[]
void floater_melee(edict_t *self)
mmove_t floater_move_attack2
mframe_t floater_frames_walk[]
void floater_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
void floater_fire_blaster(edict_t *self)
mmove_t floater_move_stand1
void floater_zap(edict_t *self)
void ai_stand(edict_t *self, float dist)
mmove_t floater_move_walk
void flymonster_start(edict_t *self)