| 
    Quake II RTX doxygen
    1.0 dev
    
   | 
           
 | 
 
 
 
 
Go to the documentation of this file.
  426     if (
visible(
self, self->enemy))
 
  438     if (self->health < (self->max_health / 2))
 
  441     if (
level.
time < self->pain_debounce_time)
 
  450     if (
skill->value >= 2)
 
  454     self->pain_debounce_time = 
level.
time + 3;
 
  456     if (
skill->value == 3)
 
  462     } 
else if (damage <= 25) {
 
  481         flash_number = MZ2_SUPERTANK_ROCKET_1;
 
  483         flash_number = MZ2_SUPERTANK_ROCKET_2;
 
  485         flash_number = MZ2_SUPERTANK_ROCKET_3;
 
  490     VectorCopy(self->enemy->s.origin, vec);
 
  491     vec[2] += 
self->enemy->viewheight;
 
  492     VectorSubtract(vec, start, dir);
 
  506     flash_number = MZ2_SUPERTANK_MACHINEGUN_1 + (
self->s.frame - 
FRAME_attak1_1);
 
  510     dir[1] = 
self->s.angles[1];
 
  517         VectorCopy(self->enemy->s.origin, vec);
 
  518         VectorMA(vec, 0, self->enemy->velocity, vec);
 
  519         vec[2] += 
self->enemy->viewheight;
 
  520         VectorSubtract(vec, start, 
forward);
 
  534     VectorSubtract(self->enemy->s.origin, self->s.origin, vec);
 
  535     range = VectorLength(vec);
 
  560     VectorSet(self->mins, -60, -60, 0);
 
  561     VectorSet(self->maxs, 60, 60, 72);
 
  563     self->svflags |= SVF_DEADMONSTER;
 
  575     VectorCopy(self->s.origin, org);
 
  576     org[2] += 24 + (rand() & 15);
 
  577     switch (self->count++) {
 
  612         for (n = 0; n < 4; n++)
 
  614         for (n = 0; n < 8; n++)
 
  623     gi.WriteByte(TE_EXPLOSION1);
 
  624     gi.WritePosition(org);
 
  625     gi.multicast(self->s.origin, MULTICAST_PVS);
 
  631 void supertank_die(edict_t *
self, edict_t *inflictor, edict_t *attacker, 
int damage, vec3_t point)
 
  664     self->solid = SOLID_BBOX;
 
  665     self->s.modelindex = 
gi.modelindex(
"models/monsters/boss1/tris.md2");
 
  666     VectorSet(self->mins, -64, -64, 0);
 
  667     VectorSet(self->maxs, 64, 64, 112);
 
  670     self->gib_health = -500;
 
  678     self->monsterinfo.dodge = NULL;
 
  681     self->monsterinfo.melee = NULL;
 
  682     self->monsterinfo.sight = NULL;
 
  
 
mmove_t supertank_move_stand
 
mframe_t supertank_frames_attack2[]
 
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 supertank_frames_pain3[]
 
void ai_charge(edict_t *self, float dist)
 
mframe_t supertank_frames_turn_right[]
 
void supertank_dead(edict_t *self)
 
mmove_t supertank_move_attack1
 
mframe_t supertank_frames_forward[]
 
mframe_t supertank_frames_attack1[]
 
mframe_t supertank_frames_death1[]
 
void supertank_forward(edict_t *self)
 
mframe_t supertank_frames_turn_left[]
 
mmove_t supertank_move_attack4
 
mmove_t supertank_move_run
 
void walkmonster_start(edict_t *self)
 
qboolean visible(edict_t *self, edict_t *other)
 
mframe_t supertank_frames_pain2[]
 
void supertank_walk(edict_t *self)
 
#define DEFAULT_BULLET_VSPREAD
 
void G_FreeEdict(edict_t *e)
 
void supertank_stand(edict_t *self)
 
mmove_t supertank_move_forward
 
mframe_t supertank_frames_attack4[]
 
mmove_t supertank_move_attack2
 
mframe_t supertank_frames_stand[]
 
mmove_t supertank_move_end_attack1
 
void supertank_run(edict_t *self)
 
mframe_t supertank_frames_backward[]
 
void ai_walk(edict_t *self, float dist)
 
void AngleVectors(vec3_t angles, vec3_t forward, vec3_t right, vec3_t up)
 
mmove_t supertank_move_pain2
 
mmove_t supertank_move_backward
 
void monster_fire_bullet(edict_t *self, vec3_t start, vec3_t dir, int damage, int kick, int hspread, int vspread, int flashtype)
 
mmove_t supertank_move_turn_right
 
void monster_fire_rocket(edict_t *self, vec3_t start, vec3_t dir, int damage, int speed, int flashtype)
 
void SP_monster_supertank(edict_t *self)
 
mframe_t supertank_frames_end_attack1[]
 
void ai_move(edict_t *self, float dist)
 
void supertank_reattack1(edict_t *self)
 
mframe_t supertank_frames_pain1[]
 
void BossExplode(edict_t *self)
 
mmove_t supertank_move_attack3
 
mmove_t supertank_move_pain3
 
mframe_t supertank_frames_attack3[]
 
void TreadSound(edict_t *self)
 
mmove_t supertank_move_turn_left
 
void supertank_attack(edict_t *self)
 
void ai_run(edict_t *self, float dist)
 
const vec3_t monster_flash_offset[256]
 
void ThrowHead(edict_t *self, char *gibname, int damage, int type)
 
int range(edict_t *self, edict_t *other)
 
void supertankMachineGun(edict_t *self)
 
mmove_t supertank_move_death
 
void supertank_search(edict_t *self)
 
vec_t VectorNormalize(vec3_t v)
 
mframe_t supertank_frames_run[]
 
void supertank_pain(edict_t *self, edict_t *other, float kick, int damage)
 
void supertank_die(edict_t *self, edict_t *inflictor, edict_t *attacker, int damage, vec3_t point)
 
void ai_stand(edict_t *self, float dist)
 
void supertankRocket(edict_t *self)
 
mmove_t supertank_move_pain1