5 float autocvar_g_turrets_unit_hellion_shot_speed_gain;
6 float autocvar_g_turrets_unit_hellion_shot_speed_max;
8 void turret_hellion_missile_think(
entity this);
15 turret_initparams(actor);
19 actor.tur_head = actor;
20 actor.shot_radius = 500;
24 if (actor.tur_head.frame != 0)
31 te_explosion (missile.origin);
32 setthink(missile, turret_hellion_missile_think);
33 missile.nextthink =
time;
34 missile.max_health =
time + 9;
37 if (!isPlayer) actor.tur_head.frame += 1;
41 void turret_hellion_missile_think(
entity this)
68 this.
velocity = olddir *
min(
vlen(this.
velocity) * (autocvar_g_turrets_unit_hellion_shot_speed_gain), (autocvar_g_turrets_unit_hellion_shot_speed_max));
81 pre_pos = this.
enemy.origin + this.
enemy.velocity * itime;
83 pre_pos = (pre_pos + this.
enemy.origin) * 0.5;
89 newdir =
normalize(olddir + newdir * 0.35);
95 this.
velocity = newdir *
min(
vlen(this.
velocity) * (autocvar_g_turrets_unit_hellion_shot_speed_gain), (autocvar_g_turrets_unit_hellion_shot_speed_max));
#define WEP_CVAR_PRI(wepname, name)
void w_ready(Weapon thiswep, entity actor,.entity weaponentity, int fire)
string W_Sound(string w_snd)
#define METHOD(cname, name, prototype)
void turret_projectile_explode(entity this)
void UpdateCSQCProjectile(entity e)
const int PROJECTILE_ROCKET
bool weapon_prepareattack(Weapon thiswep, entity actor,.entity weaponentity, bool secondary, float attacktime)
entity turret_projectile(entity actor, Sound _snd, float _size, float _health, float _death, float _proj_type, float _cull, float _cli_anim)
#define W_SetupShot_Dir(ent, wepent, s_forward, antilag, recoil, snd, chan, maxdamage, deathtype)
vector(float skel, float bonenum) _skel_get_boneabs_hidden
#define vdist(v, cmp, f)
Vector distance comparison, avoids sqrt()
void weapon_thinkf(entity actor,.entity weaponentity, WFRAME fr, float t, void(Weapon thiswep, entity actor,.entity weaponentity, int fire) func)
const int MIF_GUIDED_HEAT
#define SOUND(name, path)