+
+#include "../all.qh"
+
+#ifdef GAMEQC
+MODEL(MON_MAGE, M_Model("nanomage.dpm"));
+#endif
+
+CLASS(Mage, Monster)
+ ATTRIB(Mage, spawnflags, int, MON_FLAG_MELEE | MON_FLAG_RANGED);
+ ATTRIB(Mage, m_mins, vector, '-16 -16 -24');
+ ATTRIB(Mage, m_maxs, vector, '16 16 55');
+#ifdef GAMEQC
+ ATTRIB(Mage, m_model, Model, MDL_MON_MAGE);
+#endif
+ ATTRIB(Mage, netname, string, "mage");
+ ATTRIB(Mage, monster_name, string, _("Mage"));
+ENDCLASS(Mage)
+
+REGISTER_MONSTER(MAGE, NEW(Mage));
+
+#include <common/weapons/_all.qh>
+#include <common/items/_mod.qh>
+
+CLASS(MageSpike, PortoLaunch)
+/* flags */ ATTRIB(MageSpike, spawnflags, int, WEP_FLAG_HIDDEN | WEP_FLAG_SPECIALATTACK);
+/* impulse */ ATTRIB(MageSpike, impulse, int, 9);
+/* refname */ ATTRIB(MageSpike, netname, string, "magespike");
+/* wepname */ ATTRIB(MageSpike, m_name, string, _("Mage spike"));
+ENDCLASS(MageSpike)
+REGISTER_WEAPON(MAGE_SPIKE, NEW(MageSpike));