]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
when teleporting, clear the "speed averaging" for multijump
authorRudolf Polzer <divverent@alientrap.org>
Sat, 14 Aug 2010 20:30:35 +0000 (22:30 +0200)
committerRudolf Polzer <divverent@alientrap.org>
Sat, 14 Aug 2010 20:30:35 +0000 (22:30 +0200)
qcsrc/server/antilag.qc
qcsrc/server/cl_physics.qc
qcsrc/server/t_teleporters.qc

index 644a0234463cb92f4a6eb938b65850f8e53cbb09..8a628a1bea91e1c5f9e5d5158b176b3eeedfad91 100644 (file)
@@ -75,7 +75,7 @@ vector antilag_takebackorigin(entity e, float t)
 vector antilag_takebackavgvelocity(entity e, float t0, float t1)
 {
        vector o0, o1;
-       if(t0 == t1)
+       if(t0 >= t1)
                return '0 0 0';
        o0 = antilag_takebackorigin(e, t0);
        o1 = antilag_takebackorigin(e, t1);
index 9e5350095314ac3d6e4e9ecfe23de43d262181b6..b31e477d784bfe56b6b216e180c73b4f97611784 100644 (file)
@@ -103,7 +103,7 @@ void PlayerJump (void)
 
                                        curspeed = max(
                                                vlen(vec2(self.velocity)), // current xy speed
-                                               vlen(vec2(antilag_takebackavgvelocity(self, time - 0.25, time))) // average xy topspeed over the last 0.25 secs
+                                               vlen(vec2(antilag_takebackavgvelocity(self, max(self.lastteleporttime + 0.05, time - 0.25), time))) // average xy topspeed over the last 0.25 secs
                                        );
                                        makevectors(self.v_angle_y * '0 1 0');
                                        wishvel = v_forward * self.movement_x + v_right * self.movement_y;
index 795697dcdf9af68b1d84739cf2e85e60213f5374..26b79c551cc96ec581836131dfcfd1b926bb91bf 100644 (file)
@@ -132,8 +132,7 @@ void TeleportPlayer(entity teleporter, entity player, vector to, vector to_angle
                        player.pushltime = 0;
                }
 
-               if(player.isbot)
-                       player.lastteleporttime = time;
+               player.lastteleporttime = time;
 
                // stop player name display
                {