mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-18 03:55:19 -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 useLiquidGravity = false; // used by BlockDefinitions.
|
||||||
bool canLiquidJump = true;
|
bool canLiquidJump = true;
|
||||||
bool firstJump = true, secondJump = true;
|
bool firstJump = false, secondJump = false;
|
||||||
|
|
||||||
void UpdateVelocityState( float xMoving, float zMoving ) {
|
void UpdateVelocityState( float xMoving, float zMoving ) {
|
||||||
if( !NoclipSlide && (noClip && xMoving == 0 && zMoving == 0) )
|
if( !NoclipSlide && (noClip && xMoving == 0 && zMoving == 0) )
|
||||||
@ -101,8 +101,10 @@ namespace ClassicalSharp {
|
|||||||
|
|
||||||
float yMul = Math.Max( 1f, multiply / 5 ) * modifier;
|
float yMul = Math.Max( 1f, multiply / 5 ) * modifier;
|
||||||
float horMul = multiply * modifier;
|
float horMul = multiply * modifier;
|
||||||
if( !secondJump ) { horMul *= 93f; yMul *= 10f; }
|
if( !(flying || noClip) ) {
|
||||||
else if( !firstJump ) { horMul *= 46.5f; yMul *= 7.5f; }
|
if( secondJump ) { horMul *= 93f; yMul *= 10f; }
|
||||||
|
else if( firstJump ) { horMul *= 46.5f; yMul *= 7.5f; }
|
||||||
|
}
|
||||||
|
|
||||||
if( TouchesAnyWater() && !flying && !noClip ) {
|
if( TouchesAnyWater() && !flying && !noClip ) {
|
||||||
MoveNormal( xMoving, zMoving, 0.02f * horMul, waterDrag, liquidGrav, yMul );
|
MoveNormal( xMoving, zMoving, 0.02f * horMul, waterDrag, liquidGrav, yMul );
|
||||||
|
@ -116,7 +116,7 @@ namespace ClassicalSharp {
|
|||||||
HandleInput( ref xMoving, ref zMoving );
|
HandleInput( ref xMoving, ref zMoving );
|
||||||
UpdateVelocityState( xMoving, zMoving );
|
UpdateVelocityState( xMoving, zMoving );
|
||||||
PhysicsTick( xMoving, zMoving );
|
PhysicsTick( xMoving, zMoving );
|
||||||
if( onGround ) { firstJump = true; secondJump = true; }
|
if( onGround ) { firstJump = false; secondJump = false; }
|
||||||
|
|
||||||
nextPos = Position;
|
nextPos = Position;
|
||||||
Position = lastPos;
|
Position = lastPos;
|
||||||
@ -318,12 +318,12 @@ namespace ClassicalSharp {
|
|||||||
} else if( key == keys[KeyBinding.NoClip] && CanNoclip && HacksEnabled ) {
|
} else if( key == keys[KeyBinding.NoClip] && CanNoclip && HacksEnabled ) {
|
||||||
noClip = !noClip;
|
noClip = !noClip;
|
||||||
} else if( key == keys[KeyBinding.Jump] && !onGround && !(flying || noClip) ) {
|
} else if( key == keys[KeyBinding.Jump] && !onGround && !(flying || noClip) ) {
|
||||||
if( firstJump && CanDoubleJump && DoubleJump ) {
|
if( !firstJump && CanDoubleJump && DoubleJump ) {
|
||||||
DoNormalJump();
|
DoNormalJump();
|
||||||
firstJump = false;
|
firstJump = true;
|
||||||
} else if( secondJump && CanDoubleJump && DoubleJump ) {
|
} else if( !secondJump && CanDoubleJump && DoubleJump ) {
|
||||||
DoNormalJump();
|
DoNormalJump();
|
||||||
secondJump = false;
|
secondJump = true;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user