]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/sv_main.qc
shotgun: play less ricoche sounds, this fixes performance issues for Unknown[NF]
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / sv_main.qc
index 603aad7fd0977eb30b0f84f651db59d1677a1358..3b7d77d58be6ef819dfcd4ae68266588e1ed36fc 100644 (file)
@@ -2,7 +2,7 @@
 void CreatureFrame (void)
 {
        local entity oldself;
-       local float dm;
+       local float dm, maxspeed;
        oldself = self;
        self = findfloat(world, iscreature, TRUE);
        while (self)
@@ -77,14 +77,17 @@ void CreatureFrame (void)
                                if (dm > 0)
                                {
                                        Damage (self, world, world, dm, DEATH_FALL, self.origin, '0 0 0');
-                               }
-                               else if(vlen(self.velocity) > 100000 && cvar("developer"))
-                               {
-                                       dprint(strcat(self.netname, " became too fast, please investigate: ", vtos(self.spawnorigin), "\n"));
-                                       Damage (self, world, world, 50000, DEATH_SHOOTING_STAR, self.origin, '0 0 0');
+                                       // this must be allowed to cut the normal pain sounds (played after them and on the same channel)
+                                       // there's no way to detect falling damage and prevent the pain sounds for this to be played instead
+                                       if(self.health > 0)
+                                               PlayerSound(playersound_fall, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
                                }
                        }
 
+                       maxspeed = cvar("g_maxspeed");
+                       if(maxspeed > 0 && vlen(self.velocity) > maxspeed)
+                               Damage (self, world, world, 100000, DEATH_SHOOTING_STAR, self.origin, '0 0 0');
+
                        // play stupid sounds
                        if (g_footsteps)
                        if (!gameover)
@@ -190,15 +193,19 @@ void StartFrame (void)
        sv_airstopaccelerate = cvar("sv_airstopaccelerate");
        sv_airstrafeaccelerate = cvar("sv_airstrafeaccelerate");
        sv_maxairstrafespeed = cvar("sv_maxairstrafespeed");
+       sv_airstrafeaccel_qw = cvar("sv_airstrafeaccel_qw");
        sv_aircontrol = cvar("sv_aircontrol");
+       sv_aircontrol_penalty = cvar("sv_aircontrol_penalty");
        sv_aircontrol_power = cvar("sv_aircontrol_power");
        sv_warsowbunny_airforwardaccel = cvar("sv_warsowbunny_airforwardaccel");
        sv_warsowbunny_accel = cvar("sv_warsowbunny_accel");
        sv_warsowbunny_topspeed = cvar("sv_warsowbunny_topspeed");
        sv_warsowbunny_turnaccel = cvar("sv_warsowbunny_turnaccel");
        sv_warsowbunny_backtosideratio = cvar("sv_warsowbunny_backtosideratio");
+       sv_airspeedlimit_nonqw = cvar("sv_airspeedlimit_nonqw");
        teamplay = cvar ("teamplay");
        sys_frametime = cvar("sys_ticrate") * cvar("slowmo");
+       sv_doublejump = cvar("sv_doublejump");
 
        if (timeoutStatus == 1) // just before the timeout (when timeoutStatus will be 2)
                orig_slowmo = cvar("slowmo"); // slowmo will be restored after the timeout