From 6363d7d1cd87a8ad870453195ca9b2ee398830b6 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Sun, 11 Sep 2011 14:47:17 +0200 Subject: [PATCH] sv_doublejump: clip velocity when landing (fixes sticking-to-floor bug) --- qcsrc/server/cl_physics.qc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/qcsrc/server/cl_physics.qc b/qcsrc/server/cl_physics.qc index b10c88d49..7d14fbdae 100644 --- a/qcsrc/server/cl_physics.qc +++ b/qcsrc/server/cl_physics.qc @@ -34,7 +34,15 @@ void PlayerJump (void) { tracebox(self.origin + '0 0 0.01', self.mins, self.maxs, self.origin - '0 0 0.01', MOVE_NORMAL, self); if (trace_fraction < 1 && trace_plane_normal_z > 0.7) + { doublejump = TRUE; + + // we MUST clip velocity here! + float f; + f = self.velocity * trace_plane_normal; + if(f < 0) + self.velocity -= f * trace_plane_normal; + } } mjumpheight = autocvar_sv_jumpvelocity; -- 2.39.2