combo hits - when we are already in Melee command and clicking UseButton
wait for the previous hit commit before hitting again
select if the next attack will be light or heavy (based on input/attachment modifier)
no suitable attack - skip that
No combos for the finisher command
targetting
continue 'combo' - left hand attacks
broken legs shock
stamina depletion per attack
См. определение в файле DayZPlayerMeleeFightLogic_LightHeavy.c строка 504
505 {
506
508
511 return false;
512
514 if (itemInHands && itemInHands.IsWeapon())
516 else
518
521 return false;
522
525 return false;
526
531
533
535
538 m_Player.GetCommand_Melee2().ContinueCombo(isHeavy, attackByDistance, target,
m_MeleeCombat.GetHitPos());
540
543 {
545
546 if (!isHeavy)
548
550 m_Player.m_ShockHandler.CheckValue(
true);
551 }
552
555 {
562 break;
563 default:
565 break;
566 }
567
568 return true;
569 }
EMeleeHitType m_HitType
Hit type of the most recent attack.
ref DayZPlayerImplementMeleeCombat m_MeleeCombat
EMeleeHitType GetAttackTypeFromInputs(HumanInputController pInputs)
void GetTargetData(out EntityAI target, out EMeleeTargetType targetType)
float GetAttackTypeByDistanceToTarget(EntityAI pTarget, EMeleeTargetType pTargetType=EMeleeTargetType.ALIGNABLE)
bool m_WasPreviousHitProcessed
EMeleeHitType GetAttackTypeByWeaponAttachments(EntityAI pEntity)
static const float BROKEN_LEGS_LIGHT_MELEE_SHOCK
static const float BROKEN_LEGS_HEAVY_MELEE_SHOCK
Перекрестные ссылки PlayerConstants::BROKEN_LEGS_HEAVY_MELEE_SHOCK, PlayerConstants::BROKEN_LEGS_LIGHT_MELEE_SHOCK, DisableControls(), GetAttackTypeByDistanceToTarget(), GetAttackTypeByWeaponAttachments(), GetAttackTypeFromInputs(), GetTargetData(), m_HitType, m_IsInComboRange, m_MeleeCombat, m_Player и m_WasPreviousHitProcessed.
Используется в HandleFightLogic().