DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ JumpOrClimb()

void DayZPlayerImplementJumpClimb::JumpOrClimb ( )
inlineprivate

Can't change to bool return.

Reset states

Early exit if the player is being heavy damaged so the stagger animation can't be skipped

См. определение в файле DayZPlayerImplementJumpClimb.c строка 20

21 {
23 m_bWasClimb = false;
24
26 if (m_Player.IsInFullbodyDamageAnimation())
27 return;
28
29 SHumanCommandClimbSettings hcls = m_Player.GetDayZPlayerType().CommandClimbSettingsW();
30
31 if (m_Player.m_MovementState.m_iMovement != DayZPlayerConstants.MOVEMENTIDX_IDLE)
32 hcls.m_fFwMaxDistance = 2.5;
33 else
34 hcls.m_fFwMaxDistance = 1.2;
35
36 if (m_Player.m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_SWIM)
37 hcls.m_fBackwardsCheckDist = 0.35;
38 else
39 hcls.m_fBackwardsCheckDist = 0;
40
41 SHumanCommandClimbResult climbRes = new SHumanCommandClimbResult();
42
43 HumanCommandClimb.DoPerformClimbTest(m_Player, climbRes, 0);
44 if (climbRes.m_bIsClimb || climbRes.m_bIsClimbOver)
45 {
46 int climbType = GetClimbType(climbRes.m_fClimbHeight);
47 if (!m_Player.CanClimb(climbType, climbRes))
48 return;
49
50 if (Climb(climbRes))
51 {
52 if (climbType == 1)
53 m_Player.DepleteStamina(EStaminaModifiers.VAULT);
54 else if (climbType == 2)
55 m_Player.DepleteStamina(EStaminaModifiers.CLIMB);
56
57 return;
58 }
59 }
60
61 if (m_Player.CanJump())
62 {
63 Jump();
64 m_Player.DepleteStamina(EStaminaModifiers.JUMP);
65 }
66 }
EStaminaModifiers
Определения EStaminaModifiers.c:2
DayZPlayerImplement m_Player
Определения DayZPlayerImplementJumpClimb.c:5
int GetClimbType(float pHeight)
Определения DayZPlayerImplementJumpClimb.c:101
bool Climb(SHumanCommandClimbResult pClimbRes)
Определения DayZPlayerImplementJumpClimb.c:77
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
void HumanCommandClimb()
Определения human.c:810
class SHumanCommandSwimSettings SHumanCommandClimbSettings()
Определения humansettings.c:74

Перекрестные ссылки Climb(), HumanCommandClimb::DoPerformClimbTest(), GetClimbType(), Jump(), m_bWasClimb, m_Player и SHumanCommandClimbSettings().