icculus quake2 doxygen
1.0 dev
|
|
Go to the documentation of this file.
67 vec[2] +=
self->enemy->viewheight;
75 vec[2] +=
self->enemy->viewheight;
83 vec[2] +=
self->enemy->viewheight;
91 vec[2] +=
self->enemy->viewheight;
105 VectorMA (self->enemy->s.origin, -0.2, self->enemy->velocity,
target);
106 target[2] +=
self->enemy->viewheight;
121 VectorMA (self->enemy->s.origin, -0.2, self->enemy->velocity,
target);
123 target[2] +=
self->enemy->viewheight;
460 if (
infront(
self, self->enemy) )
472 if (self->health < (self->max_health / 2))
475 if (
level.time < self->pain_debounce_time)
478 self->pain_debounce_time =
level.time + 3;
485 else if (damage < 30)
519 if (self->health <= self->gib_health)
522 for (n= 0; n < 2; n++)
524 for (n= 0; n < 4; n++)
550 if (self->enemy->health > 0)
554 spot1[2] +=
self->viewheight;
556 spot2[2] +=
self->enemy->viewheight;
576 if (self->monsterinfo.melee)
577 self->monsterinfo.attack_state =
AS_MELEE;
584 if (!self->monsterinfo.attack)
587 if (
level.time < self->monsterinfo.attack_finished)
617 self->monsterinfo.attack_finished =
level.time + 2*
random();
650 self->s.sound =
gi.
soundindex (
"bosshovr/bhvengn1.wav");
654 self->s.modelindex =
gi.
modelindex (
"models/monsters/boss2/tris.md2");
659 self->gib_health = -200;
mframe_t boss2_frames_walk[]
void G_ProjectSource(vec3_t point, vec3_t distance, vec3_t forward, vec3_t right, vec3_t result)
#define MZ2_BOSS2_ROCKET_1
trace_t(* trace)(vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end, edict_t *passent, int contentmask)
#define DEFAULT_BULLET_HSPREAD
void boss2_firebullet_left(edict_t *self)
void ThrowGib(edict_t *self, char *gibname, int damage, int type)
#define VectorSubtract(a, b, c)
mmove_t boss2_move_attack_pre_mg
void ai_charge(edict_t *self, float dist)
mframe_t boss2_frames_attack_post_mg[]
void SP_monster_boss2(edict_t *self)
#define MZ2_BOSS2_MACHINEGUN_R1
void boss2_reattack_mg(edict_t *self)
mmove_t boss2_move_attack_mg
#define MZ2_BOSS2_ROCKET_3
mframe_t boss2_frames_attack_mg[]
void boss2_firebullet_right(edict_t *self)
void boss2_pain(edict_t *self, edict_t *other, float kick, int damage)
void BossExplode(edict_t *self)
void(* sound)(edict_t *ent, int channel, int soundindex, float volume, float attenuation, float timeofs)
qboolean infront(edict_t *self, edict_t *other)
float vectoyaw(vec3_t vec)
mmove_t boss2_move_attack_post_mg
void AngleVectors(vec3_t angles, vec3_t forward, vec3_t right, vec3_t up)
mframe_t boss2_frames_run[]
mframe_t boss2_frames_attack_rocket[]
vec3_t monster_flash_offset[]
void boss2_stand(edict_t *self)
mframe_t boss2_frames_pain_heavy[]
#define DEFAULT_BULLET_VSPREAD
void G_FreeEdict(edict_t *e)
mframe_t boss2_frames_attack_pre_mg[]
mframe_t boss2_frames_fidget[]
int(* soundindex)(char *name)
vec_t VectorLength(vec3_t v)
void boss2_walk(edict_t *self)
int(* modelindex)(char *name)
#define MZ2_BOSS2_MACHINEGUN_L1
void boss2_attack_mg(edict_t *self)
mmove_t boss2_move_fidget
void ai_walk(edict_t *self, float dist)
vec_t VectorNormalize(vec3_t v)
#define MZ2_BOSS2_ROCKET_2
mframe_t boss2_frames_pain_light[]
void boss2_run(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 monster_fire_rocket(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed, int flashtype)
mmove_t boss2_move_attack_rocket
void ai_move(edict_t *self, float dist)
void Boss2Rocket(edict_t *self)
void ai_run(edict_t *self, float dist)
void boss2_dead(edict_t *self)
mframe_t boss2_frames_stand[]
void VectorMA(vec3_t veca, float scale, vec3_t vecb, vec3_t vecc)
qboolean Boss2_CheckAttack(edict_t *self)
mframe_t boss2_frames_death[]
void boss2_attack(edict_t *self)
void ThrowHead(edict_t *self, char *gibname, int damage, int type)
mmove_t boss2_move_pain_heavy
mmove_t boss2_move_pain_light
#define VectorSet(v, x, y, z)
void boss2_search(edict_t *self)
void boss2_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
void(* linkentity)(edict_t *ent)
void Boss2MachineGun(edict_t *self)
#define MZ2_BOSS2_ROCKET_4
void ai_stand(edict_t *self, float dist)
void flymonster_start(edict_t *self)