11 return m_bIsJumpInProgress || m_bWasClimb;
21 if (m_Player.IsInFullbodyDamageAnimation())
29 hcls.m_fFwMaxDistance = 2.5;
31 hcls.m_fFwMaxDistance = 1.2;
33 SHumanCommandClimbResult climbRes =
new SHumanCommandClimbResult();
36 if ( climbRes.m_bIsClimb || climbRes.m_bIsClimbOver )
38 int climbType = GetClimbType(climbRes.m_fClimbHeight);
40 if ( !m_Player.CanClimb( climbType,climbRes ) )
43 if ( Climb(climbRes) )
47 else if ( climbType == 2 )
54 if ( m_Player.CanJump() )
61 void CheckAndFinishJump(
int pLandType = 0)
63 if ( m_bIsJumpInProgress )
65 m_bIsJumpInProgress =
false;
66 m_Player.OnJumpEnd(pLandType);
70 private bool Climb(SHumanCommandClimbResult pClimbRes)
72 int climbType = GetClimbType(pClimbRes.m_fClimbHeight);
75 m_Player.StartCommand_Climb(pClimbRes, climbType);
76 m_Player.StopHandEvent();
81 return climbType != -1;
86 m_bIsJumpInProgress =
true;
87 m_Player.SetFallYDiff(m_Player.GetPosition()[1]);
89 m_Player.OnJumpStart();
90 m_Player.StartCommand_Fall(2.6);
91 m_Player.StopHandEvent();
94 private int GetClimbType(
float pHeight)
99 else if( pHeight >= 1.1 && pHeight < 1.7 )
101 else if( pHeight >= 1.7 && pHeight < 2.75 )
108 bool m_bIsJumpInProgress =
false;
112 private bool m_bWasClimb;