1 #ifndef TURRET_HELLION_H
2 #define TURRET_HELLION_H
4 #include "hellion_weapon.qh"
7 /* spawnflags */ ATTRIB(Hellion, spawnflags, int, TUR_FLAG_SPLASH | TUR_FLAG_FASTPROJ | TUR_FLAG_PLAYER | TUR_FLAG_MISSILE);
8 /* mins */ ATTRIB(Hellion, mins, vector, '-32 -32 0');
9 /* maxs */ ATTRIB(Hellion, maxs, vector, '32 32 64');
10 /* modelname */ ATTRIB(Hellion, mdl, string, "base.md3");
11 /* model */ ATTRIB_STRZONE(Hellion, model, string, strcat("models/turrets/", this.mdl));
12 /* head_model */ ATTRIB_STRZONE(Hellion, head_model, string, strcat("models/turrets/", "hellion.md3"));
13 /* netname */ ATTRIB(Hellion, netname, string, "hellion");
14 /* fullname */ ATTRIB(Hellion, turret_name, string, _("Hellion Missile Turret"));
15 ATTRIB(Hellion, m_weapon, Weapon, WEP_HELLION);
17 REGISTER_TURRET(HELLION, NEW(Hellion));
25 spawnfunc(turret_hellion) { if (!turret_initialize(this, TUR_HELLION)) delete(this); }
27 METHOD(Hellion, tr_think, void(Hellion thistur, entity it))
29 if (it.tur_head.frame != 0)
30 it.tur_head.frame += 1;
32 if (it.tur_head.frame >= 7)
33 it.tur_head.frame = 0;
35 METHOD(Hellion, tr_setup, void(Hellion this, entity it))
37 it.aim_flags = TFL_AIM_SIMPLE;
38 it.target_select_flags = TFL_TARGETSELECT_LOS | TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_RANGELIMITS | TFL_TARGETSELECT_TEAMCHECK ;
39 it.firecheck_flags = TFL_FIRECHECK_DEAD | TFL_FIRECHECK_DISTANCES | TFL_FIRECHECK_TEAMCHECK | TFL_FIRECHECK_REFIRE | TFL_FIRECHECK_AFF | TFL_FIRECHECK_AMMO_OWN;
40 it.ammo_flags = TFL_AMMO_ROCKETS | TFL_AMMO_RECHARGE;