void spawnfunc_weapon_laser(void) { spawnfunc_weapon_blaster(); }
void W_Blaster_Touch(void)
-{
+{SELFPARAM();
PROJECTILE_TOUCH;
self.event_damage = func_null;
}
void W_Blaster_Think(void)
-{
+{SELFPARAM();
self.movetype = MOVETYPE_FLY;
self.think = SUB_Remove;
self.nextthink = time + self.blaster_lifetime;
float atk_spread,
float atk_delay,
float atk_lifetime)
-{
+{SELFPARAM();
vector s_forward = v_forward * cos(atk_shotangle * DEG2RAD) + v_up * sin(atk_shotangle * DEG2RAD);
W_SetupShot_Dir(self, s_forward, false, 3, W_Sound("lasergun_fire"), CH_WEAPON_B, atk_damage);
if(time >= missile.nextthink)
{
- entity oldself;
- oldself = self;
- self = missile;
- self.think();
- self = oldself;
+ WITH(entity, self, missile, missile.think());
}
}
-bool W_Blaster(int request)
-{
+bool W_Blaster(entity thiswep, int request)
+{SELFPARAM();
switch(request)
{
case WR_AIM:
case WR_INIT:
{
- precache_model(W_Model("g_laser.md3"));
- precache_model(W_Model("v_laser.md3"));
- precache_model(W_Model("h_laser.iqm"));
precache_sound(W_Sound("lasergun_fire"));
BLASTER_SETTINGS(WEP_SKIP_CVAR, WEP_SET_PROP);
return true;
}
#endif
#ifdef CSQC
-bool W_Blaster(int request)
-{
+bool W_Blaster(entity thiswep, int request)
+{SELFPARAM();
switch(request)
{
case WR_IMPACTEFFECT: