]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/sv_main.qc
much less damage when in lava, actually have a chance of getting out of there :o
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / sv_main.qc
index f4cc8744518593fcb456907ece1c026174ab059e..ceffc32beb16a7858ab3ddd1f0765497340cd934 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)
@@ -34,7 +34,7 @@ void CreatureFrame (void)
                                }
                                if (self.dmgtime < time)
                                {
-                                       self.dmgtime = time + 0.1;
+                                       self.dmgtime = time + 0.2;
                                        if (self.watertype == CONTENT_LAVA)
                                        {
                                                if (self.watersound_finished < time)
@@ -42,7 +42,7 @@ void CreatureFrame (void)
                                                        self.watersound_finished = time + 0.5;
                                                        sound (self, CHAN_PLAYER, "player/lava.wav", VOL_BASE, ATTN_NORM);
                                                }
-                                               Damage (self, world, world, 6 * self.waterlevel, DEATH_LAVA, self.origin, '0 0 0');
+                                               Damage (self, world, world, 4 * self.waterlevel, DEATH_LAVA, self.origin, '0 0 0');
                                        }
                                        else if (self.watertype == CONTENT_SLIME)
                                        {
@@ -75,16 +75,13 @@ void CreatureFrame (void)
                                else
                                        dm = min((dm - cvar("g_balance_falldamage_minspeed")) * cvar("g_balance_falldamage_factor"), cvar("g_balance_falldamage_maxdamage"));
                                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');
-                               }
                        }
 
+                       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)
@@ -192,14 +189,18 @@ void StartFrame (void)
        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");
+       if(sys_frametime <= 0)
+               sys_frametime = 1.0 / 60.0; // somewhat safe fallback
        sv_doublejump = cvar("sv_doublejump");
 
        if (timeoutStatus == 1) // just before the timeout (when timeoutStatus will be 2)