DayZ 1.24
|
Go to the source code of this file.
Enumerations | |
enum | EFightLogicCooldownCategory { EVADE = 0 } |
Light / Heavy punches. More... | |
Variables | |
enum EFightLogicCooldownCategory | EVADE_COOLDOWN = 0.5 |
cooldown timers settings | |
const float | CLOSE_TARGET_DISTANCE = 1.5 |
const string | DUMMY_LIGHT_AMMO = "Dummy_Light" |
dummy ammo types | |
const string | DUMMY_HEAVY_AMMO = "Dummy_Heavy" |
PlayerBase | m_Player |
ref DayZPlayerImplementMeleeCombat | m_MeleeCombat |
EMeleeHitType | m_HitType |
ref map< int, ref Timer > | m_CooldownTimers |
Mission | m_Mission |
bool | m_IsInBlock |
bool | m_IsEvading |
bool | m_IsInComboRange |
bool | m_WasPreviousHitProcessed |
DayZPlayerImplement | m_DZPlayer |
DEPRECATED. | |
bool | m_IsFinisher |
Light / Heavy punches.
Enumerator | |
---|---|
EVADE |
Definition at line 2 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
|
protected |
Definition at line 73 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References m_Player.
|
protected |
Definition at line 764 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References GetGame(), m_HitType, m_MeleeCombat, m_Player, Math::RandomIntInclusive(), and GameConstants::STATE_RUINED.
Referenced by HandleHitEvent().
|
protected |
Definition at line 31 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References Init().
Referenced by DayZPlayer::DayZPlayerImplement().
Picks a specific finisher ammo fot the hit type. This gets synchronized and guides further behaviour of the target.
Definition at line 879 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
Referenced by EvaluateFinisherAttack().
Picks a specific finisher animation. Not used for mounted bayonet stabs.
Definition at line 860 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References HumanCommandMelee2::HIT_TYPE_FINISHER, and HumanCommandMelee2::HIT_TYPE_FINISHER_NECK.
Referenced by HandleInitialMeleeErc().
DEPRECATED.
Definition at line 898 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
|
protected |
Referenced by HandleComboHit(), HandleInitialFirearmMelee(), HandleInitialMeleeErc(), HandleProneKick(), and HandleSprintAttack().
|
protected |
evaluation of hit player vs. player
in case of kick (on back or push from erc) change the ammo type to dummy
Definition at line 718 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References DUMMY_HEAVY_AMMO, and DUMMY_LIGHT_AMMO.
Referenced by EvaluateHit_Common().
|
protected |
Referenced by HandleHitEvent().
|
protected |
Check and evaluate stealth kill, if applicable.
Definition at line 601 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References DetermineFinisherAmmo(), GetGame(), m_MeleeCombat, and m_Player.
Referenced by EvaluateHit_Infected().
|
protected |
Definition at line 541 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References EvaluateHit_Common(), EvaluateHit_Infected(), EvaluateHit_NonAlignableObjects(), EvaluateHit_Player(), and m_MeleeCombat.
Referenced by HandleHitEvent().
|
protected |
check if we need to use dummy hit
normal hit with applied damage to targeted component
play hit animation for dummy hits
override hit pos by pos defined in type
Definition at line 616 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References DummyHitSelector(), GetGame(), m_HitType, m_MeleeCombat, m_Player, and WeaponDestroyedCheck().
Referenced by EvaluateHit(), EvaluateHit_Infected(), and EvaluateHit_Player().
|
protected |
Definition at line 593 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References EvaluateFinisherAttack(), and EvaluateHit_Common().
Referenced by EvaluateHit().
|
protected |
Definition at line 661 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References m_MeleeCombat, m_Player, and WeaponDestroyedCheck().
Referenced by EvaluateHit().
|
protected |
Melee Hit/Impact modifiers
if the oponnent is in Melee Block shift the damage down
Definition at line 560 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References Math::AbsFloat(), Math3D::AngleFromPosition(), EvaluateHit_Common(), m_MeleeCombat, m_Player, GameConstants::PVP_MAX_BLOCKABLE_ANGLE, and Math::RAD2DEG.
Referenced by EvaluateHit().
|
protected |
target in short distance - in place attack
target is far from the player - forward movement attack
Definition at line 112 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References CLOSE_TARGET_DISTANCE, IsShortDistance(), and Math::SqrFloat().
Referenced by HandleComboHit(), HandleInitialFirearmMelee(), HandleInitialMeleeErc(), HandleProneKick(), and HandleSprintAttack().
|
protected |
use stabbing if the bayonet/knife is attached to firearm
Definition at line 98 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References DayZPlayer::CanConsumeStamina(), and m_Player.
Referenced by HandleComboHit(), and HandleInitialFirearmMelee().
|
protected |
Definition at line 90 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References DayZPlayer::CanConsumeStamina(), and m_Player.
Referenced by HandleComboHit(), and HandleInitialMeleeErc().
|
protected |
Definition at line 68 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References m_HitType.
|
protected |
DEPRECATED.
Definition at line 848 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
|
protected |
default
nullify target for nonalignable objects (big objects)
Definition at line 700 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References m_MeleeCombat.
Referenced by HandleComboHit(), HandleInitialFirearmMelee(), HandleInitialMeleeErc(), HandleProneKick(), and HandleSprintAttack().
|
protected |
combo hits - when we are already in Melee command and clicking UseButton
no suitable attack - skip that
No combos for the finisher command
select if the next attack will light or heavy (based on input/attachment modifier)
targetting
wait for the previous hit commit before hitting again
continue 'combo' - left hand attacks
broken legs shock
stamina depletion per attack
Definition at line 475 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References PlayerConstants::BROKEN_LEGS_HEAVY_MELEE_SHOCK, PlayerConstants::BROKEN_LEGS_LIGHT_MELEE_SHOCK, DayZPlayer::DepleteStamina(), DisableControls(), GetAttackTypeByDistanceToTarget(), GetAttackTypeByWeaponAttachments(), GetAttackTypeFromInputs(), GetTargetData(), m_HitType, m_IsInComboRange, m_MeleeCombat, m_Player, and m_WasPreviousHitProcessed.
Referenced by HandleFightLogic().
|
protected |
Check if we need to damage
Actually pressing a button to start a melee attack
do not perform attacks when blocking
if the item in hands cannot be used as melee weapon
Currently not performing any attacks, so here we start the initial
melee with firearm
first attack in raised erc (light or heavy if modifier is used). Also added support for finishers
kick from raised pne
sprint attack in erc stance
combo hits - when we are already in Melee command and clicking UseButton
evade and blocking logic
evades in raised erc stance while moving
not enough stamina to do evades
stand up when crouching and raised pressed
blocks in raised erc/pro stance (bare hand or with melee weapon only)
Definition at line 125 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References PlayerConstants::BROKEN_LEGS_LIGHT_MELEE_SHOCK, DayZPlayer::CanConsumeStamina(), DayZPlayerUtils(), DayZPlayer::DepleteStamina(), EVADE_COOLDOWN, HandleComboHit(), HandleHitEvent(), HandleInitialFirearmMelee(), HandleInitialMeleeErc(), HandleProneKick(), HandleSprintAttack(), DayZPlayer::IsSprintFull(), m_IsEvading, m_IsInBlock, m_IsInComboRange, m_Player, SetBlock(), and SetCooldown().
|
protected |
Handle the event that our melee hit something.
Check if we need to damage
on anim event Hit received
re-target (enemy can have moved out of range or disappeared)
evaluate hit - selection of cfg 'ammo' type
Definition at line 259 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References DamageHands(), EnableControls(), EvaluateHit(), m_HitType, m_MeleeCombat, m_Player, and m_WasPreviousHitProcessed.
Referenced by HandleFightLogic().
|
protected |
NOTE: Only singular (or first) hits, combo attacks are handled in combo.
don't allow bash to interfere with actions like chambering or ejecting bullets
perform firearm melee from raised erect or continue with attack after character stand up from crouch
exit if there is no suitable attack
char stand up when performing firearm melee from crouch
Definition at line 312 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References DayZPlayer::DepleteStamina(), DisableControls(), GetAttackTypeByDistanceToTarget(), GetAttackTypeByWeaponAttachments(), GetTargetData(), DayZPlayer::IsFighting(), m_HitType, m_MeleeCombat, and m_Player.
Referenced by HandleFightLogic().
|
protected |
First attack in raised erc (light or heavy if modifier is used). Also added support for finishers.
Definition at line 358 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References PlayerConstants::BROKEN_LEGS_HEAVY_MELEE_SHOCK, PlayerConstants::BROKEN_LEGS_LIGHT_MELEE_SHOCK, DayZPlayer::DepleteStamina(), DetermineFinisherAnimation(), DisableControls(), GetAttackTypeByDistanceToTarget(), GetAttackTypeFromInputs(), GetTargetData(), m_HitType, m_MeleeCombat, m_Player, and m_WasPreviousHitProcessed.
Referenced by HandleFightLogic().
|
protected |
kick from raised pne
check if player is on back (situation where the player is raised in prone and on back is not in anim graph)
Definition at line 424 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References DayZPlayer::DepleteStamina(), DisableControls(), GetAttackTypeByDistanceToTarget(), GetTargetData(), m_HitType, m_MeleeCombat, and m_Player.
Referenced by HandleFightLogic().
|
protected |
sprint attack in erc stance
targetting
command
Definition at line 454 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References DayZPlayer::DepleteStamina(), DisableControls(), GetAttackTypeByDistanceToTarget(), GetTargetData(), m_HitType, m_MeleeCombat, and m_Player.
Referenced by HandleFightLogic().
|
protected |
Definition at line 36 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References GetGame(), DayZPlayer::GetMeleeCombat(), m_DZPlayer, m_HitType, m_IsEvading, m_IsInBlock, m_MeleeCombat, m_Mission, m_Player, m_WasPreviousHitProcessed, and RegisterCooldowns().
|
protected |
DEPRECATED - moved into DayZPlayerImplementMeleeCombat.
Definition at line 735 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
|
protected |
Definition at line 63 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References m_IsEvading.
DEPRECATED.
Definition at line 854 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
|
protected |
Definition at line 53 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References m_IsInBlock.
Definition at line 903 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References vector::DistanceSq(), m_MeleeCombat, and m_Player.
Referenced by GetAttackTypeByDistanceToTarget().
|
protected |
Definition at line 84 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References CALL_CATEGORY_SYSTEM, and m_CooldownTimers.
Referenced by Init().
|
protected |
Definition at line 751 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References m_IsEvading.
Definition at line 58 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References m_IsInBlock.
Referenced by HandleFightLogic().
|
protected |
stops currently running cooldown timer (for specific category)
param for ResetCooldown
Definition at line 740 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
References m_CooldownTimers.
|
protected |
Definition at line 678 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
Referenced by EvaluateHit_Common(), and EvaluateHit_NonAlignableObjects().
|
protected |
Definition at line 51 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
Definition at line 13 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
Referenced by GetAttackTypeByDistanceToTarget().
Definition at line 17 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
Referenced by DummyHitSelector().
dummy ammo types
Definition at line 16 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
Referenced by DummyHitSelector().
enum EFightLogicCooldownCategory EVADE_COOLDOWN = 0.5 |
cooldown timers settings
Referenced by HandleFightLogic().
Definition at line 22 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
Referenced by RegisterCooldowns(), and SetCooldown().
|
protected |
DEPRECATED.
Definition at line 909 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
|
protected |
Definition at line 21 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
|
protected |
Definition at line 26 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
Referenced by HandleFightLogic(), Init(), IsEvading(), and ResetCooldown().
|
protected |
Definition at line 910 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
|
protected |
Definition at line 25 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
Referenced by HandleFightLogic(), Init(), IsInBlock(), and SetBlock().
|
protected |
Definition at line 28 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
Referenced by HandleComboHit(), and HandleFightLogic().
|
protected |
Definition at line 20 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
Referenced by DamageHands(), DayZPlayer::DayZPlayerImplement(), EvaluateFinisherAttack(), EvaluateHit(), EvaluateHit_Common(), EvaluateHit_NonAlignableObjects(), EvaluateHit_Player(), DayZPlayer::GetMeleeCombat(), GetTargetData(), HandleComboHit(), HandleHitEvent(), HandleInitialFirearmMelee(), HandleInitialMeleeErc(), HandleProneKick(), HandleSprintAttack(), Init(), IsShortDistance(), and DayZPlayer::OnInputUserDataProcess().
|
protected |
Definition at line 23 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
Referenced by UIScriptedMenu::Init(), Init(), UIScriptedMenu::OnClick(), UIScriptedMenu::OpenCredits(), and UIScriptedMenu::Refresh().
|
protected |
Definition at line 19 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
|
protected |
Definition at line 29 of file DayZPlayerMeleeFightLogic_LightHeavy.c.
Referenced by HandleComboHit(), HandleHitEvent(), HandleInitialMeleeErc(), and Init().