public void LocalPlayerUpdateCrouchState(ref CrouchState incoming, ref bool crouchFlag, ref bool crouchBlockFlag, ref Smoothing smoothing) { double initialEyesOffsetY = base.initialEyesOffsetY; double num2 = incoming.BottomY + initialEyesOffsetY; double num3 = incoming.BottomY + incoming.InitialStandingHeight; double num4 = num3 - num2; double num5 = incoming.TopY - num4; double num6 = num5 - incoming.BottomY; double target = num6 - initialEyesOffsetY; this.crouchUnits = smoothing.CatchUp(target); base.idMain.InvalidateEyesOffset(); if (incoming.CrouchBlocked) { crouchBlockFlag = true; crouchFlag = true; } else { crouchBlockFlag = false; } }