-#ifndef TURRET_HK_H
-#define TURRET_HK_H
-
-//#define TURRET_DEBUG_HK
-
-#include "hk_weapon.qc"
-
-CLASS(HunterKiller, Turret)
-/* spawnflags */ ATTRIB(HunterKiller, spawnflags, int, TUR_FLAG_SPLASH | TUR_FLAG_MEDPROJ | TUR_FLAG_PLAYER | TUR_FLAG_RECIEVETARGETS);
-/* mins */ ATTRIB(HunterKiller, mins, vector, '-32 -32 0');
-/* maxs */ ATTRIB(HunterKiller, maxs, vector, '32 32 64');
-/* modelname */ ATTRIB(HunterKiller, mdl, string, "base.md3");
-/* model */ ATTRIB(HunterKiller, model, string, strzone(strcat("models/turrets/", this.mdl)));
-/* head_model */ ATTRIB(HunterKiller, head_model, string, strzone(strcat("models/turrets/", "hk.md3")));
-/* netname */ ATTRIB(HunterKiller, netname, string, "hk");
-/* fullname */ ATTRIB(HunterKiller, turret_name, string, _("Hunter-Killer Turret"));
- ATTRIB(HunterKiller, m_weapon, Weapon, WEP_HK);
-ENDCLASS(HunterKiller)
-REGISTER_TURRET(HK, NEW(HunterKiller));
-
-#endif
+#include "hk.qh"
#ifdef IMPLEMENTATION
-#include "hk_weapon.qc"
-
#ifdef SVQC
#ifdef TURRET_DEBUG_HK
.float atime;
#endif
-spawnfunc(turret_hk) { if(!turret_initialize(TUR_HK)) remove(self); }
+spawnfunc(turret_hk) { if(!turret_initialize(this, TUR_HK)) delete(this); }
-METHOD(HunterKiller, tr_think, void(HunterKiller thistur))
+METHOD(HunterKiller, tr_think, void(HunterKiller thistur, entity it))
{
- if (self.tur_head.frame != 0)
- self.tur_head.frame = self.tur_head.frame + 1;
+ if (it.tur_head.frame != 0)
+ it.tur_head.frame = it.tur_head.frame + 1;
- if (self.tur_head.frame > 5)
- self.tur_head.frame = 0;
+ if (it.tur_head.frame > 5)
+ it.tur_head.frame = 0;
}
-float turret_hk_addtarget(entity e_target,entity e_sender);
+bool turret_hk_addtarget(entity this, entity e_target,entity e_sender);
METHOD(HunterKiller, tr_setup, void(HunterKiller this, entity it))
{
it.ammo_flags = TFL_AMMO_ROCKETS | TFL_AMMO_RECHARGE;
it.turret_addtarget = turret_hk_addtarget;
}
-float turret_hk_addtarget(entity e_target,entity e_sender)
-{SELFPARAM();
+bool turret_hk_addtarget(entity this, entity e_target,entity e_sender)
+{
if (e_target)
{
- if (turret_validate_target(self,e_target,self.target_validate_flags) > 0)
+ if (turret_validate_target(this,e_target,this.target_validate_flags) > 0)
{
- self.enemy = e_target;
- return 1;
+ this.enemy = e_target;
+ return true;
}
}
- return 0;
+ return false;
}
#endif // SVQC