Quake II RTX doxygen
1.0 dev
|
|
Go to the documentation of this file.
134 gi.sound(
self, CHAN_VOICE,
sound_idle, 1, ATTN_IDLE, 0);
211 if (self->health < (self->max_health / 2))
214 if (
level.
time < self->pain_debounce_time)
217 self->pain_debounce_time =
level.
time + 3;
219 if (
skill->value == 3)
250 vec3_t start, target;
256 flash_number = MZ2_INFANTRY_MACHINEGUN_1;
261 VectorMA(self->enemy->s.origin, -0.2, self->enemy->velocity, target);
262 target[2] +=
self->enemy->viewheight;
263 VectorSubtract(target, start,
forward);
269 flash_number = MZ2_INFANTRY_MACHINEGUN_2 + (
self->s.frame -
FRAME_death211);
274 VectorSubtract(self->s.angles,
aimangles[flash_number - MZ2_INFANTRY_MACHINEGUN_2], vec);
288 VectorSet(self->mins, -16, -16, -24);
289 VectorSet(self->maxs, 16, 16, -8);
291 self->svflags |= SVF_DEADMONSTER;
365 void infantry_die(edict_t *
self, edict_t *inflictor, edict_t *attacker,
int damage, vec3_t point)
370 if (self->health <= self->gib_health) {
371 gi.sound(
self, CHAN_VOICE,
gi.soundindex(
"misc/udeath.wav"), 1, ATTN_NORM, 0);
372 for (n = 0; n < 2; n++)
374 for (n = 0; n < 4; n++)
391 gi.sound(
self, CHAN_VOICE,
sound_die2, 1, ATTN_NORM, 0);
394 gi.sound(
self, CHAN_VOICE,
sound_die1, 1, ATTN_NORM, 0);
397 gi.sound(
self, CHAN_VOICE,
sound_die2, 1, ATTN_NORM, 0);
404 if (self->monsterinfo.aiflags &
AI_DUCKED)
409 self->monsterinfo.pausetime =
level.
time + 1;
415 if (
level.
time >= self->monsterinfo.pausetime)
444 self->enemy = attacker;
455 n = (rand() & 15) + 3 + 7;
463 if (
level.
time >= self->monsterinfo.pausetime)
499 if (
fire_hit(
self, aim, (5 + (rand() % 5)), 50))
549 self->solid = SOLID_BBOX;
550 self->s.modelindex =
gi.modelindex(
"models/monsters/infantry/tris.md2");
551 VectorSet(self->mins, -16, -16, -24);
552 VectorSet(self->maxs, 16, 16, 32);
555 self->gib_health = -40;
566 self->monsterinfo.melee = NULL;
void G_ProjectSource(const vec3_t point, const vec3_t distance, const vec3_t forward, const vec3_t right, vec3_t result)
#define DEFAULT_BULLET_HSPREAD
void ThrowGib(edict_t *self, char *gibname, int damage, int type)
mframe_t infantry_frames_death3[]
void ai_charge(edict_t *self, float dist)
void infantry_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
mframe_t infantry_frames_attack2[]
mmove_t infantry_move_stand
mmove_t infantry_move_pain1
void infantry_cock_gun(edict_t *self)
mframe_t infantry_frames_duck[]
void infantry_duck_up(edict_t *self)
mmove_t infantry_move_death1
mframe_t infantry_frames_pain1[]
void InfantryMachineGun(edict_t *self)
static int sound_punch_swing
mframe_t infantry_frames_walk[]
void infantry_duck_hold(edict_t *self)
void infantry_fire(edict_t *self)
void infantry_swing(edict_t *self)
void infantry_walk(edict_t *self)
qboolean fire_hit(edict_t *self, vec3_t aim, int damage, int kick)
static int sound_weapon_cock
void walkmonster_start(edict_t *self)
mframe_t infantry_frames_death1[]
mframe_t infantry_frames_attack1[]
#define DEFAULT_BULLET_VSPREAD
void G_FreeEdict(edict_t *e)
void infantry_dodge(edict_t *self, edict_t *attacker, float eta)
void infantry_attack(edict_t *self)
mmove_t infantry_move_walk
void infantry_smack(edict_t *self)
mmove_t infantry_move_attack1
mmove_t infantry_move_pain2
void ai_walk(edict_t *self, float dist)
void AngleVectors(vec3_t angles, vec3_t forward, vec3_t right, vec3_t up)
void SP_monster_infantry(edict_t *self)
mframe_t infantry_frames_run[]
void infantry_duck_down(edict_t *self)
void monster_fire_bullet(edict_t *self, vec3_t start, vec3_t dir, int damage, int kick, int hspread, int vspread, int flashtype)
void infantry_pain(edict_t *self, edict_t *other, float kick, int damage)
void ai_move(edict_t *self, float dist)
mframe_t infantry_frames_pain2[]
mmove_t infantry_move_fidget
void ai_run(edict_t *self, float dist)
void M_FlyCheck(edict_t *self)
const vec3_t monster_flash_offset[256]
void infantry_dead(edict_t *self)
void ThrowHead(edict_t *self, char *gibname, int damage, int type)
void infantry_stand(edict_t *self)
void infantry_run(edict_t *self)
mmove_t infantry_move_death2
int range(edict_t *self, edict_t *other)
void infantry_sight(edict_t *self, edict_t *other)
mmove_t infantry_move_death3
mmove_t infantry_move_duck
mmove_t infantry_move_run
mmove_t infantry_move_attack2
mframe_t infantry_frames_fidget[]
mframe_t infantry_frames_stand[]
vec_t VectorNormalize(vec3_t v)
void ai_stand(edict_t *self, float dist)
static int sound_punch_hit
mframe_t infantry_frames_death2[]
void infantry_fidget(edict_t *self)