mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-15 18:45:23 -04:00
Fix double jump resulting in extremely fast noclip. (Thanks BDlikes)
This commit is contained in:
parent
f4ce55cb5c
commit
2398dded54
@ -10,7 +10,7 @@ namespace ClassicalSharp {
|
||||
|
||||
bool useLiquidGravity = false; // used by BlockDefinitions.
|
||||
bool canLiquidJump = true;
|
||||
bool firstJump = true, secondJump = true;
|
||||
bool firstJump = false, secondJump = false;
|
||||
|
||||
void UpdateVelocityState( float xMoving, float zMoving ) {
|
||||
if( !NoclipSlide && (noClip && xMoving == 0 && zMoving == 0) )
|
||||
@ -101,8 +101,10 @@ namespace ClassicalSharp {
|
||||
|
||||
float yMul = Math.Max( 1f, multiply / 5 ) * modifier;
|
||||
float horMul = multiply * modifier;
|
||||
if( !secondJump ) { horMul *= 93f; yMul *= 10f; }
|
||||
else if( !firstJump ) { horMul *= 46.5f; yMul *= 7.5f; }
|
||||
if( !(flying || noClip) ) {
|
||||
if( secondJump ) { horMul *= 93f; yMul *= 10f; }
|
||||
else if( firstJump ) { horMul *= 46.5f; yMul *= 7.5f; }
|
||||
}
|
||||
|
||||
if( TouchesAnyWater() && !flying && !noClip ) {
|
||||
MoveNormal( xMoving, zMoving, 0.02f * horMul, waterDrag, liquidGrav, yMul );
|
||||
|
@ -116,7 +116,7 @@ namespace ClassicalSharp {
|
||||
HandleInput( ref xMoving, ref zMoving );
|
||||
UpdateVelocityState( xMoving, zMoving );
|
||||
PhysicsTick( xMoving, zMoving );
|
||||
if( onGround ) { firstJump = true; secondJump = true; }
|
||||
if( onGround ) { firstJump = false; secondJump = false; }
|
||||
|
||||
nextPos = Position;
|
||||
Position = lastPos;
|
||||
@ -318,12 +318,12 @@ namespace ClassicalSharp {
|
||||
} else if( key == keys[KeyBinding.NoClip] && CanNoclip && HacksEnabled ) {
|
||||
noClip = !noClip;
|
||||
} else if( key == keys[KeyBinding.Jump] && !onGround && !(flying || noClip) ) {
|
||||
if( firstJump && CanDoubleJump && DoubleJump ) {
|
||||
if( !firstJump && CanDoubleJump && DoubleJump ) {
|
||||
DoNormalJump();
|
||||
firstJump = false;
|
||||
} else if( secondJump && CanDoubleJump && DoubleJump ) {
|
||||
firstJump = true;
|
||||
} else if( !secondJump && CanDoubleJump && DoubleJump ) {
|
||||
DoNormalJump();
|
||||
secondJump = false;
|
||||
secondJump = true;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user