#pragma once
+
+#include "phaser_weapon.qh"
+
+CLASS(PhaserTurret, Turret)
+/* spawnflags */ ATTRIB(PhaserTurret, spawnflags, int, TUR_FLAG_SNIPER | TUR_FLAG_HITSCAN | TUR_FLAG_PLAYER);
+/* mins */ ATTRIB(PhaserTurret, m_mins, vector, '-32 -32 0');
+/* maxs */ ATTRIB(PhaserTurret, m_maxs, vector, '32 32 64');
+/* modelname */ ATTRIB(PhaserTurret, mdl, string, "base.md3");
+/* model */ ATTRIB_STRZONE(PhaserTurret, model, string, strcat("models/turrets/", this.mdl));
+/* head_model */ ATTRIB_STRZONE(PhaserTurret, head_model, string, strcat("models/turrets/", "phaser.md3"));
+/* netname */ ATTRIB(PhaserTurret, netname, string, "phaser");
+/* fullname */ ATTRIB(PhaserTurret, turret_name, string, _("Phaser Cannon"));
+ ATTRIB(PhaserTurret, m_weapon, Weapon, WEP_PHASER);
+
+#define X(BEGIN, P, END, class, prefix) \
+ BEGIN(class) \
+ TR_PROPS_COMMON(P, class, prefix) \
+ END()
+ TR_PROPS(X, PhaserTurret, phaser)
+#undef X
+
+ENDCLASS(PhaserTurret)
+REGISTER_TURRET(PHASER, NEW(PhaserTurret));