4 #include "flac_weapon.qh"
7 /* spawnflags */ ATTRIB(Flac, spawnflags, int, TUR_FLAG_SPLASH | TUR_FLAG_FASTPROJ | TUR_FLAG_MISSILE);
8 /* mins */ ATTRIB(Flac, mins, vector, '-32 -32 0');
9 /* maxs */ ATTRIB(Flac, maxs, vector, '32 32 64');
10 /* modelname */ ATTRIB(Flac, mdl, string, "base.md3");
11 /* model */ ATTRIB_STRZONE(Flac, model, string, strcat("models/turrets/", this.mdl));
12 /* head_model */ ATTRIB_STRZONE(Flac, head_model, string, strcat("models/turrets/", "flac.md3"));
13 /* netname */ ATTRIB(Flac, netname, string, "flac");
14 /* fullname */ ATTRIB(Flac, turret_name, string, _("FLAC Cannon"));
15 ATTRIB(Flac, m_weapon, Weapon, WEP_FLAC);
17 REGISTER_TURRET(FLAC, NEW(Flac));
25 spawnfunc(turret_flac) { if (!turret_initialize(TUR_FLAC)) remove(self); }
27 METHOD(Flac, tr_setup, void(Flac this, entity it))
29 it.ammo_flags = TFL_AMMO_ROCKETS | TFL_AMMO_RECHARGE;
30 it.aim_flags = TFL_AIM_LEAD | TFL_AIM_SHOTTIMECOMPENSATE;
31 it.damage_flags |= TFL_DMG_HEADSHAKE;
32 it.target_select_flags |= TFL_TARGETSELECT_NOTURRETS | TFL_TARGETSELECT_MISSILESONLY;