shotgun: play less ricoche sounds, this fixes performance issues for Unknown[NF]
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / w_shotgun.qc
index f47077a2573ff286b9e400d88ec6399a43ca1cd3..c5f1ed12c02143b993bb15d92e7c3d27c7c4d5b1 100644 (file)
@@ -146,6 +146,7 @@ float w_shotgun(float req)
 };
 #endif
 #ifdef CSQC
 };
 #endif
 #ifdef CSQC
+.float prevric;
 float w_shotgun(float req)
 {
        if(req == WR_IMPACTEFFECT)
 float w_shotgun(float req)
 {
        if(req == WR_IMPACTEFFECT)
@@ -153,14 +154,15 @@ float w_shotgun(float req)
                vector org2;
                org2 = w_org + w_backoff * 2;
                pointparticles(particleeffectnum("shotgun_impact"), org2, w_backoff * 1000, 1);
                vector org2;
                org2 = w_org + w_backoff * 2;
                pointparticles(particleeffectnum("shotgun_impact"), org2, w_backoff * 1000, 1);
-               if(!w_issilent)
+               if(!w_issilent && time - self.prevric > 0.25)
                {
                {
-                       if(w_random < 0.05)
+                       if(w_random < 0.0165)
                                sound(self, CHAN_PROJECTILE, "weapons/ric1.wav", VOL_BASE, ATTN_NORM);
                                sound(self, CHAN_PROJECTILE, "weapons/ric1.wav", VOL_BASE, ATTN_NORM);
-                       else if(w_random < 0.1)
+                       else if(w_random < 0.033)
                                sound(self, CHAN_PROJECTILE, "weapons/ric2.wav", VOL_BASE, ATTN_NORM);
                                sound(self, CHAN_PROJECTILE, "weapons/ric2.wav", VOL_BASE, ATTN_NORM);
-                       else if(w_random < 0.2)
+                       else if(w_random < 0.05)
                                sound(self, CHAN_PROJECTILE, "weapons/ric3.wav", VOL_BASE, ATTN_NORM);
                                sound(self, CHAN_PROJECTILE, "weapons/ric3.wav", VOL_BASE, ATTN_NORM);
+                       self.prevric = time;
                }
        }
        else if(req == WR_PRECACHE)
                }
        }
        else if(req == WR_PRECACHE)