From: Rudolf Polzer <divverent@alientrap.org>
Date: Sat, 14 Aug 2010 20:30:35 +0000 (+0200)
Subject: when teleporting, clear the "speed averaging" for multijump
X-Git-Tag: xonotic-v0.1.0preview~361^2~2
X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=18fcbe90782fb21a1163193f0e878a87ab3f4400;p=xonotic%2Fxonotic-data.pk3dir.git

when teleporting, clear the "speed averaging" for multijump
---

diff --git a/qcsrc/server/antilag.qc b/qcsrc/server/antilag.qc
index 644a023446..8a628a1bea 100644
--- a/qcsrc/server/antilag.qc
+++ b/qcsrc/server/antilag.qc
@@ -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);
diff --git a/qcsrc/server/cl_physics.qc b/qcsrc/server/cl_physics.qc
index 9e53500953..b31e477d78 100644
--- a/qcsrc/server/cl_physics.qc
+++ b/qcsrc/server/cl_physics.qc
@@ -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;
diff --git a/qcsrc/server/t_teleporters.qc b/qcsrc/server/t_teleporters.qc
index 795697dcdf..26b79c551c 100644
--- a/qcsrc/server/t_teleporters.qc
+++ b/qcsrc/server/t_teleporters.qc
@@ -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
 		{