]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/w_hlac.qc
crylink: also remember the last group of projectiles that was fired
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / w_hlac.qc
index ebdd0f99e19e2e1a62750ef69de95e68fb596c34..6aaf174147142b1f70212fd276274cbec9c5c053 100644 (file)
@@ -74,6 +74,8 @@ void W_HLAC_Attack (void)
        missile.projectiledeathtype = WEP_HLAC;
 
        CSQCProjectile(missile, TRUE, PROJECTILE_HLAC, TRUE);
+
+       other = missile; MUTATOR_CALLHOOK(EditProjectile);
 }
 
 void W_HLAC_Attack2f (void)
@@ -116,6 +118,8 @@ void W_HLAC_Attack2f (void)
        missile.projectiledeathtype = WEP_HLAC | HITTYPE_SECONDARY;
 
        CSQCProjectile(missile, TRUE, PROJECTILE_HLAC, TRUE);
+
+       other = missile; MUTATOR_CALLHOOK(EditProjectile);
 }
 
 void W_HLAC_Attack2 (void)
@@ -207,16 +211,28 @@ float w_hlac(float req)
                return self.ammo_cells >= cvar("g_balance_hlac_primary_ammo");
        else if (req == WR_CHECKAMMO2)
                return self.ammo_cells >= cvar("g_balance_hlac_secondary_ammo");
-       else if (req == WR_SUICIDEMESSAGE)
-               w_deathtypestring = "should have used a smaller gun";
-       else if (req == WR_KILLMESSAGE)
-               w_deathtypestring = "was cut down by";
        return TRUE;
 };
 #endif
 #ifdef CSQC
 float w_hlac(float req)
 {
+       if(req == WR_IMPACTEFFECT)
+       {
+               vector org2;
+               org2 = w_org + w_backoff * 6;
+               pointparticles(particleeffectnum("laser_impact"), org2, w_backoff * 1000, 1);
+               if(!w_issilent)
+                       sound(self, CHAN_PROJECTILE, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM);
+       }
+       else if(req == WR_PRECACHE)
+       {
+               precache_sound("weapons/laserimpact.wav");
+       }
+       else if (req == WR_SUICIDEMESSAGE)
+               w_deathtypestring = "%s should have used a smaller gun";
+       else if (req == WR_KILLMESSAGE)
+               w_deathtypestring = "%s was cut down by %s";
        return TRUE;
 }
 #endif