#pragma once

#include "hellion_weapon.qh"

CLASS(Hellion, Turret)
#ifdef GAMEQC
/* spawnflags */ ATTRIB(Hellion, spawnflags, int, TUR_FLAG_SPLASH | TUR_FLAG_FASTPROJ | TUR_FLAG_PLAYER | TUR_FLAG_MISSILE);
/* mins       */ ATTRIB(Hellion, m_mins, vector, '-32 -32 0');
/* maxs       */ ATTRIB(Hellion, m_maxs, vector, '32 32 64');
/* modelname  */ ATTRIB(Hellion, mdl, string, "base.md3");
/* model      */ ATTRIB_STRZONE(Hellion, model, string, strcat("models/turrets/", this.mdl));
/* head_model */ ATTRIB_STRZONE(Hellion, head_model, string, strcat("models/turrets/", "hellion.md3"));
#endif
/* netname    */ ATTRIB(Hellion, netname, string, "hellion");
/* fullname   */ ATTRIB(Hellion, m_name, string, _("Hellion Missile Turret"));
#ifdef SVQC
/* weapon     */ ATTRIB(Hellion, m_weapon, Weapon, WEP_HELLION);
#endif

#define X(BEGIN, P, END, class, prefix) \
	BEGIN(class) \
		TR_PROPS_COMMON(P, class, prefix) \
		P(class, prefix, shot_speed_gain, float) \
		P(class, prefix, shot_speed_max, float) \
	END()
	TR_PROPS(X, Hellion, hellion)
#undef X

ENDCLASS(Hellion)
REGISTER_TURRET(HELLION, NEW(Hellion));
