}
void W_Blaster_Attack(
+ float atk_deathtype,
float atk_shotangle,
float atk_damage,
float atk_edgedamage,
atk_spread,
FALSE
);
-
+
missile.angles = vectoangles(missile.velocity);
-
+
//missile.glow_color = 250; // 244, 250
//missile.glow_size = 120;
missile.touch = W_Blaster_Touch;
missile.flags = FL_PROJECTILE;
missile.missile_flags = MIF_SPLASH;
- missile.projectiledeathtype = WEP_BLASTER;
+ missile.projectiledeathtype = atk_deathtype;
missile.think = W_Blaster_Think;
missile.nextthink = time + atk_delay;
if(weapon_prepareattack(0, WEP_CVAR_PRI(blaster, refire)))
{
W_Blaster_Attack(
+ WEP_BLASTER,
WEP_CVAR_PRI(blaster, shotangle),
WEP_CVAR_PRI(blaster, damage),
WEP_CVAR_PRI(blaster, edgedamage),
if(weapon_prepareattack(1, WEP_CVAR_SEC(blaster, refire)))
{
W_Blaster_Attack(
+ WEP_BLASTER | HITTYPE_SECONDARY,
WEP_CVAR_SEC(blaster, shotangle),
WEP_CVAR_SEC(blaster, damage),
WEP_CVAR_SEC(blaster, edgedamage),
W_DecreaseAmmo(WEP_CVAR_SEC(vaporizer, ammo));
// ugly minstagib hack to reuse the fire mode of the laser
- float w;
- w = self.weapon;
- self.weapon = WEP_BLASTER;
W_Blaster_Attack(
+ WEP_VAPORIZER | HITTYPE_SECONDARY,
WEP_CVAR_SEC(vaporizer, shotangle),
WEP_CVAR_SEC(vaporizer, damage),
WEP_CVAR_SEC(vaporizer, edgedamage),
WEP_CVAR_SEC(vaporizer, delay),
WEP_CVAR_SEC(vaporizer, lifetime)
);
- self.weapon = w;
// now do normal refire
weapon_thinkf(WFRAME_FIRE2, WEP_CVAR_SEC(vaporizer, animtime), w_ready);
{
vector org2;
org2 = w_org + w_backoff * 6;
- pointparticles(particleeffectnum("nex_impact"), org2, '0 0 0', 1);
- if(!w_issilent)
- sound(self, CH_SHOTS, "weapons/neximpact.wav", VOL_BASE, ATTN_NORM);
-
+ if(w_deathtype & HITTYPE_SECONDARY)
+ {
+ pointparticles(particleeffectnum("laser_impact"), org2, w_backoff * 1000, 1);
+ if(!w_issilent) { sound(self, CH_SHOTS, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM); }
+ }
+ else
+ {
+ pointparticles(particleeffectnum("nex_impact"), org2, '0 0 0', 1);
+ if(!w_issilent) { sound(self, CH_SHOTS, "weapons/neximpact.wav", VOL_BASE, ATTN_NORM); }
+ }
return TRUE;
}
case WR_INIT:
{
+ precache_sound("weapons/laserimpact.wav");
precache_sound("weapons/neximpact.wav");
if(autocvar_cl_reticle && autocvar_cl_reticle_weapon)
{