From 698ec86ffb5e13c781813094b24aec56c68b210e Mon Sep 17 00:00:00 2001 From: Mario Date: Mon, 20 Nov 2017 18:04:17 +1000 Subject: [PATCH] Add an option to change jump height while crouching --- defaultServer.cfg | 1 + physics.cfg | 10 ++++++++++ physicsCPMA.cfg | 1 + physicsFruit.cfg | 1 + physicsHavoc.cfg | 1 + physicsLeeStricklin-ModdedFruit.cfg | 1 + physicsLeeStricklin.cfg | 1 + physicsLeeStricklinOld.cfg | 1 + physicsLzd.cfg | 1 + physicsNexuiz10.cfg | 1 + physicsNexuiz11.cfg | 1 + physicsNexuiz151.cfg | 1 + physicsNexuiz151b.cfg | 1 + physicsNexuiz16rc1.cfg | 1 + physicsNexuiz20.cfg | 1 + physicsNexuiz25.cfg | 1 + physicsNexuiz26.cfg | 1 + physicsNoQWBunny-nexbased.cfg | 1 + physicsOverkill.cfg | 1 + physicsQ.cfg | 1 + physicsQ2.cfg | 1 + physicsQ2a.cfg | 1 + physicsQ3.cfg | 1 + physicsQBF.cfg | 1 + physicsQBFplus.cfg | 1 + physicsSamual.cfg | 1 + physicsWarsow.cfg | 1 + physicsWarsowClassicBunny.cfg | 1 + physicsWarsowDev.cfg | 1 + physicsX.cfg | 1 + physicsX010.cfg | 1 + physicsX07.cfg | 1 + physicsXDF.cfg | 1 + physicsXDFLight.cfg | 1 + qcsrc/common/physics/player.qc | 3 ++- qcsrc/common/physics/player.qh | 1 + qcsrc/common/stats.qh | 1 + qcsrc/server/autocvars.qh | 1 + 38 files changed, 48 insertions(+), 1 deletion(-) diff --git a/defaultServer.cfg b/defaultServer.cfg index 47037c069..99845f648 100644 --- a/defaultServer.cfg +++ b/defaultServer.cfg @@ -77,6 +77,7 @@ set sv_jumpspeedcap_min "" "lower bound on the baseline velocity of a jump; fina set sv_jumpspeedcap_max "" "upper bound on the baseline velocity of a jump; final velocity will be <= (jumpheight * max + jumpheight)" set sv_jumpspeedcap_max_disable_on_ramps 0 "disable upper baseline velocity bound on ramps to preserve the old rampjump style" set sv_track_canjump 0 "track if the player released the jump key between 2 jumps to decide if they are able to jump or not" +set sv_jumpvelocity_crouch 0 "jump height while crouching, set to 0 to use regular jump height" set sv_precacheplayermodels 1 set sv_precacheweapons 0 diff --git a/physics.cfg b/physics.cfg index 88742ff0b..b74f68b3d 100644 --- a/physics.cfg +++ b/physics.cfg @@ -18,6 +18,7 @@ set g_physics_xonotic_airstrafeaccel_qw -0.95 set g_physics_xonotic_airspeedlimit_nonqw 900 set g_physics_xonotic_maxspeed 360 set g_physics_xonotic_jumpvelocity 260 +set g_physics_xonotic_jumpvelocity_crouch 0 set g_physics_xonotic_maxairstrafespeed 100 set g_physics_xonotic_maxairspeed 360 set g_physics_xonotic_airstrafeaccelerate 18 @@ -48,6 +49,7 @@ set g_physics_nexuiz_airstrafeaccel_qw 0 set g_physics_nexuiz_airspeedlimit_nonqw 0 set g_physics_nexuiz_maxspeed 400 set g_physics_nexuiz_jumpvelocity 300 "333 to match xonotic physics" +set g_physics_nexuiz_jumpvelocity_crouch 0 "333 to match xonotic physics" set g_physics_nexuiz_maxairstrafespeed 0 set g_physics_nexuiz_maxairspeed 220 set g_physics_nexuiz_airstrafeaccelerate 0 @@ -78,6 +80,7 @@ set g_physics_quake_airstrafeaccel_qw 0 set g_physics_quake_airspeedlimit_nonqw 0 set g_physics_quake_maxspeed 320 set g_physics_quake_jumpvelocity 270 +set g_physics_quake_jumpvelocity_crouch 0 set g_physics_quake_maxairstrafespeed 0 set g_physics_quake_maxairspeed 30 set g_physics_quake_airstrafeaccelerate 0 @@ -108,6 +111,7 @@ set g_physics_warsow_airstrafeaccel_qw 0 set g_physics_warsow_airspeedlimit_nonqw 0 set g_physics_warsow_maxspeed 320 set g_physics_warsow_jumpvelocity 280 +set g_physics_warsow_jumpvelocity_crouch 0 set g_physics_warsow_maxairstrafespeed 30 set g_physics_warsow_maxairspeed 320 set g_physics_warsow_airstrafeaccelerate 70 @@ -138,6 +142,7 @@ set g_physics_defrag_airstrafeaccel_qw 1 set g_physics_defrag_airspeedlimit_nonqw 0 set g_physics_defrag_maxspeed 320 set g_physics_defrag_jumpvelocity 270 +set g_physics_defrag_jumpvelocity_crouch 0 set g_physics_defrag_maxairstrafespeed 30 set g_physics_defrag_maxairspeed 320 set g_physics_defrag_airstrafeaccelerate 70 @@ -168,6 +173,7 @@ set g_physics_quake3_airstrafeaccel_qw 0 set g_physics_quake3_airspeedlimit_nonqw 0 set g_physics_quake3_maxspeed 320 set g_physics_quake3_jumpvelocity 270 +set g_physics_quake3_jumpvelocity_crouch 0 set g_physics_quake3_maxairstrafespeed 0 set g_physics_quake3_maxairspeed 320 set g_physics_quake3_airstrafeaccelerate 0 @@ -198,6 +204,7 @@ set g_physics_vecxis_airstrafeaccel_qw 0 set g_physics_vecxis_airspeedlimit_nonqw 0 set g_physics_vecxis_maxspeed 400 set g_physics_vecxis_jumpvelocity 300 "333 to match xonotic physics" +set g_physics_vecxis_jumpvelocity_crouch 0 "333 to match xonotic physics" set g_physics_vecxis_maxairstrafespeed 0 set g_physics_vecxis_maxairspeed 220 set g_physics_vecxis_airstrafeaccelerate 0 @@ -228,6 +235,7 @@ set g_physics_quake2_airstrafeaccel_qw 0 set g_physics_quake2_airspeedlimit_nonqw 0 set g_physics_quake2_maxspeed 300 set g_physics_quake2_jumpvelocity 270 +set g_physics_quake2_jumpvelocity_crouch 0 set g_physics_quake2_maxairstrafespeed 0 set g_physics_quake2_maxairspeed 300 set g_physics_quake2_airstrafeaccelerate 0 @@ -258,6 +266,7 @@ set g_physics_bones_airstrafeaccel_qw 1 set g_physics_bones_airspeedlimit_nonqw 0 set g_physics_bones_maxspeed 320 set g_physics_bones_jumpvelocity 270 +set g_physics_bones_jumpvelocity_crouch 0 set g_physics_bones_maxairstrafespeed 30 set g_physics_bones_maxairspeed 320 set g_physics_bones_airstrafeaccelerate 70 @@ -288,6 +297,7 @@ set g_physics_overkill_airstrafeaccel_qw -0.95 set g_physics_overkill_airspeedlimit_nonqw 900 set g_physics_overkill_maxspeed 400 set g_physics_overkill_jumpvelocity 260 +set g_physics_overkill_jumpvelocity_crouch 0 set g_physics_overkill_maxairstrafespeed 100 set g_physics_overkill_maxairspeed 360 set g_physics_overkill_airstrafeaccelerate 24 diff --git a/physicsCPMA.cfg b/physicsCPMA.cfg index 612a779da..3c1614dcd 100644 --- a/physicsCPMA.cfg +++ b/physicsCPMA.cfg @@ -11,6 +11,7 @@ sv_friction 8 edgefriction 1 sv_stepheight 18 sv_jumpvelocity 270 +sv_jumpvelocity_crouch 0 sv_wateraccelerate 4 sv_waterfriction 1 sv_airaccel_sideways_friction 0 diff --git a/physicsFruit.cfg b/physicsFruit.cfg index 8e0a7f0fe..8c034b8a9 100644 --- a/physicsFruit.cfg +++ b/physicsFruit.cfg @@ -11,6 +11,7 @@ sv_friction 8 edgefriction 1 sv_stepheight 34 sv_jumpvelocity 270 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 // breaks strafing? diff --git a/physicsHavoc.cfg b/physicsHavoc.cfg index e5d431b3e..f45a73f14 100644 --- a/physicsHavoc.cfg +++ b/physicsHavoc.cfg @@ -11,6 +11,7 @@ sv_friction 7 edgefriction 1 sv_stepheight 34 sv_jumpvelocity 300 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0.65 diff --git a/physicsLeeStricklin-ModdedFruit.cfg b/physicsLeeStricklin-ModdedFruit.cfg index 81d54d2ee..b2c35d086 100644 --- a/physicsLeeStricklin-ModdedFruit.cfg +++ b/physicsLeeStricklin-ModdedFruit.cfg @@ -18,6 +18,7 @@ sv_stepheight 26 // actually, what we want is 266.6666 for 180bpm // but 260 takes same amount of frames and is nicer to mappers sv_jumpvelocity 260 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 // breaks strafing? diff --git a/physicsLeeStricklin.cfg b/physicsLeeStricklin.cfg index 741224b11..f529ed66d 100644 --- a/physicsLeeStricklin.cfg +++ b/physicsLeeStricklin.cfg @@ -18,6 +18,7 @@ sv_stepheight 26 // actually, what we want is 266.6666 for 180bpm // but 260 takes same amount of frames and is nicer to mappers sv_jumpvelocity 260 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 diff --git a/physicsLeeStricklinOld.cfg b/physicsLeeStricklinOld.cfg index 83689d161..522c30197 100644 --- a/physicsLeeStricklinOld.cfg +++ b/physicsLeeStricklinOld.cfg @@ -13,6 +13,7 @@ sv_friction 9.6 // higher values make you slide less edgefriction 1 // div0 says no! lol sv_stepheight 26 sv_jumpvelocity 304 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 // pain in the ass to tweak without screwing up the strafing diff --git a/physicsLzd.cfg b/physicsLzd.cfg index de271c298..0c32adb2e 100644 --- a/physicsLzd.cfg +++ b/physicsLzd.cfg @@ -12,6 +12,7 @@ sv_friction 5 edgefriction 1 sv_stepheight 34 sv_jumpvelocity 310 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0.35 diff --git a/physicsNexuiz10.cfg b/physicsNexuiz10.cfg index 28d7c7f2c..1f0b8bde1 100644 --- a/physicsNexuiz10.cfg +++ b/physicsNexuiz10.cfg @@ -11,6 +11,7 @@ sv_friction 5 edgefriction 1 sv_stepheight 34 sv_jumpvelocity 300 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 diff --git a/physicsNexuiz11.cfg b/physicsNexuiz11.cfg index 7633e5a28..51ef497e7 100644 --- a/physicsNexuiz11.cfg +++ b/physicsNexuiz11.cfg @@ -11,6 +11,7 @@ sv_friction 5 edgefriction 1 sv_stepheight 34 sv_jumpvelocity 300 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 diff --git a/physicsNexuiz151.cfg b/physicsNexuiz151.cfg index aaec2756f..0dd5b0da2 100644 --- a/physicsNexuiz151.cfg +++ b/physicsNexuiz151.cfg @@ -11,6 +11,7 @@ sv_friction 5 edgefriction 1 sv_stepheight 34 sv_jumpvelocity 300 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 diff --git a/physicsNexuiz151b.cfg b/physicsNexuiz151b.cfg index 3cd9df61e..5b9b21bf6 100644 --- a/physicsNexuiz151b.cfg +++ b/physicsNexuiz151b.cfg @@ -11,6 +11,7 @@ sv_friction 5 edgefriction 1 sv_stepheight 34 sv_jumpvelocity 300 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 diff --git a/physicsNexuiz16rc1.cfg b/physicsNexuiz16rc1.cfg index 17b8de8e4..4bad86850 100644 --- a/physicsNexuiz16rc1.cfg +++ b/physicsNexuiz16rc1.cfg @@ -11,6 +11,7 @@ sv_friction 5 edgefriction 1 sv_stepheight 34 sv_jumpvelocity 300 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 diff --git a/physicsNexuiz20.cfg b/physicsNexuiz20.cfg index 168ec2d34..531952a36 100644 --- a/physicsNexuiz20.cfg +++ b/physicsNexuiz20.cfg @@ -11,6 +11,7 @@ sv_friction 5 edgefriction 1 sv_stepheight 34 sv_jumpvelocity 300 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0.3 diff --git a/physicsNexuiz25.cfg b/physicsNexuiz25.cfg index 6038e7b6a..4de91d19a 100644 --- a/physicsNexuiz25.cfg +++ b/physicsNexuiz25.cfg @@ -11,6 +11,7 @@ sv_friction 7 edgefriction 1 sv_stepheight 34 sv_jumpvelocity 300 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0.35 diff --git a/physicsNexuiz26.cfg b/physicsNexuiz26.cfg index cb088f9df..151d360cb 100644 --- a/physicsNexuiz26.cfg +++ b/physicsNexuiz26.cfg @@ -11,6 +11,7 @@ sv_friction 7 edgefriction 1 sv_stepheight 34 sv_jumpvelocity 300 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0.35 diff --git a/physicsNoQWBunny-nexbased.cfg b/physicsNoQWBunny-nexbased.cfg index 2b054788a..7acc35544 100644 --- a/physicsNoQWBunny-nexbased.cfg +++ b/physicsNoQWBunny-nexbased.cfg @@ -19,6 +19,7 @@ sv_stepheight 26 // actually, what we want is 266.6666 for 180bpm // but 260 takes same amount of frames and is nicer to mappers sv_jumpvelocity 260 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 diff --git a/physicsOverkill.cfg b/physicsOverkill.cfg index 526f7e222..a6f36a77e 100644 --- a/physicsOverkill.cfg +++ b/physicsOverkill.cfg @@ -24,6 +24,7 @@ sv_stepheight 31 // this is smaller than 112 qu, so a 112 qu high corridor (7 of 8 grid units in // the 16 grid, and the 8th unit used for wall/floor) just lets a player jump! sv_jumpvelocity 260 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 diff --git a/physicsQ.cfg b/physicsQ.cfg index c880f511e..4f880c90f 100644 --- a/physicsQ.cfg +++ b/physicsQ.cfg @@ -12,6 +12,7 @@ sv_friction 4 edgefriction 1 sv_stepheight 18 sv_jumpvelocity 270 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 diff --git a/physicsQ2.cfg b/physicsQ2.cfg index 992cb3e62..f45a81b77 100644 --- a/physicsQ2.cfg +++ b/physicsQ2.cfg @@ -11,6 +11,7 @@ sv_friction 6 edgefriction 1 sv_stepheight 18 sv_jumpvelocity 270 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction 1 sv_airaccel_sideways_friction 0 diff --git a/physicsQ2a.cfg b/physicsQ2a.cfg index ce3232696..585262a2e 100644 --- a/physicsQ2a.cfg +++ b/physicsQ2a.cfg @@ -12,6 +12,7 @@ sv_friction 6 edgefriction 1 sv_stepheight 18 sv_jumpvelocity 270 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction 1 sv_airaccel_sideways_friction 0 diff --git a/physicsQ3.cfg b/physicsQ3.cfg index a6d46ca82..3ce18b52a 100644 --- a/physicsQ3.cfg +++ b/physicsQ3.cfg @@ -11,6 +11,7 @@ sv_friction 6 edgefriction 1 sv_stepheight 18 sv_jumpvelocity 270 +sv_jumpvelocity_crouch 0 sv_wateraccelerate 4 sv_waterfriction 1 sv_airaccel_sideways_friction 0 diff --git a/physicsQBF.cfg b/physicsQBF.cfg index 39b705637..6b210f55b 100644 --- a/physicsQBF.cfg +++ b/physicsQBF.cfg @@ -11,6 +11,7 @@ sv_friction 5 edgefriction 1 sv_stepheight 34 sv_jumpvelocity 300 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0.8 diff --git a/physicsQBFplus.cfg b/physicsQBFplus.cfg index 2e092b123..e8772b3f3 100644 --- a/physicsQBFplus.cfg +++ b/physicsQBFplus.cfg @@ -11,6 +11,7 @@ sv_friction 5 edgefriction 1 sv_stepheight 34 sv_jumpvelocity 300 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0.5 diff --git a/physicsSamual.cfg b/physicsSamual.cfg index 8506e2255..4f22085f9 100644 --- a/physicsSamual.cfg +++ b/physicsSamual.cfg @@ -11,6 +11,7 @@ sv_friction 4 edgefriction 1 sv_stepheight 34 sv_jumpvelocity 300 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0.3 diff --git a/physicsWarsow.cfg b/physicsWarsow.cfg index 1bd23b647..de7352aab 100644 --- a/physicsWarsow.cfg +++ b/physicsWarsow.cfg @@ -11,6 +11,7 @@ sv_friction 8 edgefriction 1 sv_stepheight 18 sv_jumpvelocity 280 +sv_jumpvelocity_crouch 0 sv_wateraccelerate 10 sv_waterfriction 1 sv_airaccel_sideways_friction 0 diff --git a/physicsWarsowClassicBunny.cfg b/physicsWarsowClassicBunny.cfg index 985be7e95..7705a4d51 100644 --- a/physicsWarsowClassicBunny.cfg +++ b/physicsWarsowClassicBunny.cfg @@ -11,6 +11,7 @@ sv_friction 8 edgefriction 1 sv_stepheight 18 sv_jumpvelocity 280 +sv_jumpvelocity_crouch 0 sv_wateraccelerate 10 sv_waterfriction 1 sv_airaccel_sideways_friction 0 diff --git a/physicsWarsowDev.cfg b/physicsWarsowDev.cfg index dff451087..9009beab3 100644 --- a/physicsWarsowDev.cfg +++ b/physicsWarsowDev.cfg @@ -11,6 +11,7 @@ sv_friction 8 edgefriction 1 sv_stepheight 18 sv_jumpvelocity 280 +sv_jumpvelocity_crouch 0 sv_wateraccelerate 10 sv_waterfriction 1 sv_airaccel_sideways_friction 0 diff --git a/physicsX.cfg b/physicsX.cfg index 6b154508e..6076dd73d 100644 --- a/physicsX.cfg +++ b/physicsX.cfg @@ -25,6 +25,7 @@ sv_stepheight 31 // this is smaller than 112 qu, so a 112 qu high corridor (7 of 8 grid units in // the 16 grid, and the 8th unit used for wall/floor) just lets a player jump! sv_jumpvelocity 260 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 diff --git a/physicsX010.cfg b/physicsX010.cfg index 9c5a7d334..a5349c98f 100644 --- a/physicsX010.cfg +++ b/physicsX010.cfg @@ -18,6 +18,7 @@ sv_stepheight 26 // actually, what we want is 266.6666 for 180bpm // but 260 takes same amount of frames and is nicer to mappers sv_jumpvelocity 260 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 diff --git a/physicsX07.cfg b/physicsX07.cfg index 1fd86cd80..8ae771f1c 100644 --- a/physicsX07.cfg +++ b/physicsX07.cfg @@ -24,6 +24,7 @@ sv_stepheight 26 // this is smaller than 112 qu, so a 112 qu high corridor (7 of 8 grid units in // the 16 grid, and the 8th unit used for wall/floor) just lets a player jump! sv_jumpvelocity 260 +sv_jumpvelocity_crouch 0 sv_wateraccelerate -1 sv_waterfriction -1 sv_airaccel_sideways_friction 0 diff --git a/physicsXDF.cfg b/physicsXDF.cfg index e192ab476..e0bea6a0e 100644 --- a/physicsXDF.cfg +++ b/physicsXDF.cfg @@ -16,6 +16,7 @@ edgefriction 1 sv_stepheight 26 // CPMA: 18 sv_jumpvelocity 270 +sv_jumpvelocity_crouch 0 sv_wateraccelerate 4 sv_waterfriction 1 sv_airaccel_sideways_friction 0 diff --git a/physicsXDFLight.cfg b/physicsXDFLight.cfg index 24705deb8..f9bed43f6 100644 --- a/physicsXDFLight.cfg +++ b/physicsXDFLight.cfg @@ -16,6 +16,7 @@ edgefriction 1 sv_stepheight 26 // CPMA: 18 sv_jumpvelocity 270 +sv_jumpvelocity_crouch 0 sv_wateraccelerate 4 sv_waterfriction 1 sv_airaccel_sideways_friction 0 diff --git a/qcsrc/common/physics/player.qc b/qcsrc/common/physics/player.qc index 20e2d4cc3..20c580a85 100644 --- a/qcsrc/common/physics/player.qc +++ b/qcsrc/common/physics/player.qc @@ -75,6 +75,7 @@ void Physics_UpdateStats(entity this) STAT(MOVEVARS_AIRACCELERATE, this) = Physics_ClientOption(this, "airaccelerate", autocvar_sv_airaccelerate); STAT(MOVEVARS_AIRSTOPACCELERATE, this) = Physics_ClientOption(this, "airstopaccelerate", autocvar_sv_airstopaccelerate); STAT(MOVEVARS_JUMPVELOCITY, this) = Physics_ClientOption(this, "jumpvelocity", autocvar_sv_jumpvelocity); + STAT(MOVEVARS_JUMPVELOCITY_CROUCH, this) = Physics_ClientOption(this, "jumpvelocity_crouch", autocvar_sv_jumpvelocity_crouch); STAT(MOVEVARS_TRACK_CANJUMP, this) = Physics_ClientOption(this, "track_canjump", autocvar_sv_track_canjump); } #endif @@ -303,7 +304,7 @@ bool PlayerJump(entity this) #endif bool doublejump = false; - float mjumpheight = PHYS_JUMPVELOCITY(this); + float mjumpheight = ((PHYS_JUMPVELOCITY_CROUCH(this) && IS_DUCKED(this)) ? PHYS_JUMPVELOCITY_CROUCH(this) : PHYS_JUMPVELOCITY(this)); bool track_jump = PHYS_CL_TRACK_CANJUMP(this); if (MUTATOR_CALLHOOK(PlayerJump, this, mjumpheight, doublejump)) diff --git a/qcsrc/common/physics/player.qh b/qcsrc/common/physics/player.qh index ae59381e5..0ebea585f 100644 --- a/qcsrc/common/physics/player.qh +++ b/qcsrc/common/physics/player.qh @@ -82,6 +82,7 @@ bool IsFlying(entity a); #define PHYS_JUMPSPEEDCAP_DISABLE_ONRAMPS(s) STAT(MOVEVARS_JUMPSPEEDCAP_DISABLE_ONRAMPS) #define PHYS_JUMPVELOCITY(s) STAT(MOVEVARS_JUMPVELOCITY, s) +#define PHYS_JUMPVELOCITY_CROUCH(s) STAT(MOVEVARS_JUMPVELOCITY_CROUCH, s) #define PHYS_MAXAIRSPEED(s) STAT(MOVEVARS_MAXAIRSPEED, s) #define PHYS_MAXAIRSTRAFESPEED(s) STAT(MOVEVARS_MAXAIRSTRAFESPEED, s) diff --git a/qcsrc/common/stats.qh b/qcsrc/common/stats.qh index 94e408d7f..4fff7de73 100644 --- a/qcsrc/common/stats.qh +++ b/qcsrc/common/stats.qh @@ -338,6 +338,7 @@ REGISTER_STAT(MOVEVARS_AIRACCELERATE, float) // FIXME: Was 0 on server, 1 on client. Still want that? REGISTER_STAT(MOVEVARS_ENTGRAVITY, float, (this.gravity) ? this.gravity : 1) REGISTER_STAT(MOVEVARS_JUMPVELOCITY, float) +REGISTER_STAT(MOVEVARS_JUMPVELOCITY_CROUCH, float) REGISTER_STAT(MOVEVARS_MAXAIRSPEED, float) REGISTER_STAT(MOVEVARS_STEPHEIGHT, float, autocvar_sv_stepheight) REGISTER_STAT(MOVEVARS_AIRACCEL_QW, float) diff --git a/qcsrc/server/autocvars.qh b/qcsrc/server/autocvars.qh index 4303aa976..b71d4459d 100644 --- a/qcsrc/server/autocvars.qh +++ b/qcsrc/server/autocvars.qh @@ -311,6 +311,7 @@ string autocvar_sv_jumpspeedcap_max; float autocvar_sv_jumpspeedcap_max_disable_on_ramps; string autocvar_sv_jumpspeedcap_min; float autocvar_sv_jumpvelocity; +float autocvar_sv_jumpvelocity_crouch; bool autocvar_sv_logscores_bots; bool autocvar_sv_logscores_console; bool autocvar_sv_logscores_file; -- 2.39.2