combo hits - when we are already in Melee command and clicking UseButton
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
wait for the previous hit commit before hitting again if the next attack is heavy and the previous wasn't - otherwise the previous light attack will turn into heavy
targetting
continue 'combo' - left hand attacks
broken legs shock
stamina depletion per attack
См. определение в файле DayZPlayerMeleeFightLogic_LightHeavy.c строка 504
505 {
506
508
510 if (itemInHands && itemInHands.IsWeapon())
512 else
514
517 return false;
518
521 return false;
522
525
528 {
529 return false;
530 }
531
533
535
537
542
544 m_Player.GetCommand_Melee2().ContinueCombo(isHeavy, attackByDistance, target,
m_MeleeCombat.GetHitPos());
546
549 {
551
552 if (!isHeavy)
554
556 m_Player.m_ShockHandler.CheckValue(
true);
557 }
558
561 {
568 break;
569 default:
571 break;
572 }
573
574 return true;
575 }
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_MeleeCombat, m_Player и m_WasPreviousHitProcessed.
Используется в HandleFightLogic().