Dayz 1.25
Dayz Code Explorer by KGB
Загрузка...
Поиск...
Не найдено
Класс DayZPlayer

Защищенные члены

void DayZPlayerImplement ()
 constructor
 
DayZPlayerImplementAiming GetAimingModel ()
 
DayZPlayerImplementMeleeCombat GetMeleeCombat ()
 
DayZPlayerMeleeFightLogic_LightHeavy GetMeleeFightLogic ()
 
DayZPlayerImplementThrowing GetThrowing ()
 
DayZPlayerImplementFallDamage GetFallDamage ()
 
void ~DayZPlayerImplement ()
 
override bool IsEyeZoom ()
 Legacy.
 
override int GetEyeZoomLevel ()
 
override bool IsShootingFromCamera ()
 
void OverrideShootFromCamera (bool pState)
 
bool IsInIronsights ()
 
bool IsInOptics ()
 
override bool IsInThirdPerson ()
 
void SetIsInThirdPerson (bool state)
 
bool IsFireWeaponRaised ()
 
bool IsTryingHoldBreath ()
 
bool IsSprintFull ()
 
void ShowWeaponDebug (bool show)
 
bool IsWeaponDebugEnabled ()
 
void SetFallYDiff (float value)
 
override float GetCurrentWaterLevel ()
 
override void SetCurrentWaterLevel (float pWaterLevel)
 
void SetIronsights (bool value)
 
void SetOptics (bool value)
 
void ExitSights ()
 
void SwitchOptics (ItemOptics optic, bool state)
 
void SetClimbingLadderType (string value)
 
bool CanConsumeStamina (EStaminaConsumers consumer)
 Implementations only! - used on PlayerBase.
 
bool CanStartConsumingStamina (EStaminaConsumers consumer)
 
void DepleteStamina (EStaminaModifiers modifier, float dT=-1)
 
bool IsInVehicle ()
 
bool IsSwimming ()
 
bool IsClimbingLadder ()
 
bool PlaySoundEvent (EPlayerSoundEventID id, bool from_anim_system=false, bool is_from_server=false)
 
bool PlaySoundEventEx (EPlayerSoundEventID id, bool from_anim_system=false, bool is_from_server=false, int param=0)
 
bool IsFBSymptomPlaying ()
 
float GetDeltaT ()
 
Transport GetTransportCache ()
 Get the transport that was cached when entering unconsciousness.
 
override string GetDebugText ()
 
void TriggerPullPlayerOutOfVehicle ()
 
void TriggerPullPlayerOutOfVehicleImpl ()
 
override void OnVariablesSynchronized ()
 
bool HandleDeath (int pCurrentCommandID)
 
void ResetDeathStartTime ()
 
int GetTypeOfDeath (int pCurrentCommandID)
 
void SendDeathJuncture (int pAnimTypeDeath, float pAnimHitDirDeath)
 
override void EEKilled (Object killer)
 
void ShowDeadScreen (bool show, float duration)
 
override void StopDeathDarkeningEffect ()
 
void SimulateDeath (bool state)
 
void LockControls (bool state)
 
void SetDeathDarknessLevel (float duration, float tick_time)
 
void SendCompleteWeaponRaiseJuncture ()
 
void CompleteWeaponRaise ()
 
void ResetWeaponRaiseProgress ()
 
bool IsWeaponRaiseCompleted ()
 
DayZPlayerInventory GetDayZPlayerInventory ()
 
override void OnInputForRemote (ParamsReadContext ctx)
 
override void OnInputFromServer (ParamsReadContext ctx)
 
void RequestSoundEvent (EPlayerSoundEventID id, bool from_server_and_client=false)
 
void RequestSoundEventEx (EPlayerSoundEventID id, bool from_server_and_client=false, int param=0)
 
void SendSoundEvent (EPlayerSoundEventID id)
 
void SendSoundEventEx (EPlayerSoundEventID id, int param=0)
 
override void OnItemInHandsChanged ()
 
WeaponManager GetWeaponManager ()
 
void HandleWeapons (float pDt, Entity pInHands, HumanInputController pInputs, out bool pExitIronSights)
 
void HandleOptic (notnull ItemOptics optic, bool inHands, HumanInputController pInputs, out bool pExitOptics)
 
bool IsInFullbodyDamageAnimation ()
 
void EvaluateDamageHit (int pCurrentCommandID)
 Must be ran at the start of CommandHandler before Jump is triggered.
 
bool HandleDamageHit (int pCurrentCommandID)
 
void ResetDamageHitState (bool resetTimer)
 
bool EvaluateDeathAnimation (int pDamageType, EntityAI pSource, string pAmmoType, out int pAnimType, out float pAnimHitDir)
 selects animation type and direction based on damage system data
 
bool EvaluateDamageHitAnimation (TotalDamageResult pDamageResult, int pDamageType, EntityAI pSource, string pComponent, string pAmmoType, vector pModelPos, out int pAnimType, out float pAnimHitDir, out bool pAnimHitFullbody)
 selects animation type and direction based on damage system data
 
override void EEHitBy (TotalDamageResult damageResult, int damageType, EntityAI source, int component, string dmgZone, string ammo, vector modelPos, float speedCoef)
 event from damage system
 
override bool HeadingModel (float pDt, SDayZPlayerHeadingModel pModel)
 is replayed after correction when 'NetworkRewindType.REPLAY' is used
 
override bool AimingModel (float pDt, SDayZPlayerAimingModel pModel)
 
bool CanJump ()
 
bool CanClimb (int climbType, SHumanCommandClimbResult climbRes)
 
void OnJumpStart ()
 
void OnJumpEnd (int pLandType=0)
 
void StopHandEvent ()
 
void StopWeaponEvent ()
 
void AbortWeaponEvent ()
 
void HandleADS ()
 
void HandleView ()
 
bool ModCommandHandlerBefore (float pDt, int pCurrentCommandID, bool pCurrentCommandFinished)
 
bool ModCommandHandlerInside (float pDt, int pCurrentCommandID, bool pCurrentCommandFinished)
 
bool ModCommandHandlerAfter (float pDt, int pCurrentCommandID, bool pCurrentCommandFinished)
 
override void CommandHandler (float pDt, int pCurrentCommandID, bool pCurrentCommandFinished)
 
void HideClothing (ItemOptics optic, bool state)
 
void CommandHandlerDebug (float pDt, int pCurrentCommandID, bool pCurrentCommandFinished)
 
override int CameraHandler (int pCameraMode)
 
void OnMovementChanged ()
 Event, called when HumanMovementState.m_iMovement changes...walk, run, sprint, etc..
 
void OnSprintStart ()
 
void OnSprintEnd ()
 
void OnInputUserDataReceived (ParamsReadContext ctx)
 
bool OnInputUserDataProcess (int userDataType, ParamsReadContext ctx)
 
void OnSyncJuncture (int pJunctureID, ParamsReadContext pCtx)
 
AnimBootsType GetBootsType ()
 
AnimUpperBodyType GetBodyAttachmentType ()
 
AnimBackType GetBackAttachmentType ()
 
AnimRangedWeaponType GetShoulderAttachmentType ()
 
string GetSurfaceType (SurfaceAnimationBone limbType)
 
AbstractWave PlaySound (SoundObject so, SoundObjectBuilder sob)
 
void AddNoise (NoiseParams noisePar, float noiseMultiplier=1.0)
 
void OnStepEvent (string pEventType, string pUserString, int pUserInt)
 
void OnSoundEvent (string pEventType, string pUserString, int pUserInt)
 
void OnParticleEvent (string pEventType, string pUserString, int pUserInt)
 
void ProcessWeaponEvent (string pEventType, string pUserString, int pUserInt)
 
void ProcessAttachmentEvent (string pEventType, string pUserString, int pUserInt)
 
void SetVariablesLadderSoundObjectBuilder (SoundObjectBuilder soundObjectBuilder)
 
void ProcessSoundEvent (string pEventType, string pUserString, int pUserInt)
 
AbstractWave ProcessVoiceEvent (string pEventType, string pUserString, int pUserInt)
 
void ProcessFeetDamageServer (int pUserInt)
 
bool CheckForTakeItem (EntityAI item)
 
bool CheckForDropItem (EntityAI item)
 
bool CheckForRespawn (EntityAI item)
 
bool IsLanded (int pCurrentCommandID)
 
bool OnLand (int pCurrentCommandID, FallDamageData fallDamageData)
 
bool IsAlreadyInFallingCommand (int pCurrentCommandID)
 
void OverrideSlidePoseAngle (float value)
 movement sliding override, originally for FB gestures
 
float GetSlidePoseAngle ()
 
void CheckAnimationOverrides ()
 
bool IsPlayerSelected ()
 
bool IsRestrained ()
 
bool IsInFBEmoteState ()
 Checks if fullbody animation or specific locked state is active in emote manager.
 
void SetSuicide (bool state)
 
bool CommitedSuicide ()
 
void OnLadder (float delta_time, HumanMovementState pState)
 called every command handler tick when player is on ladder
 
void EOnContact (IEntity other, Contact extra)
 
void AttenuateSoundIfNecessary (SoundObject soundObject)
 
void CheckLiftWeapon ()
 
void ProcessLiftWeapon ()
 
void SetHandheldOpticsInUse (bool state)
 
bool IsHandheldOpticsInUse ()
 
bool IsLiftWeapon ()
 
bool IsRaised ()
 
bool IsFighting ()
 
bool CanPickupHeavyItem (notnull EntityAI item)
 -------------— Checks if player can pick up heavy item ----------------------—
 
bool CanPickupHeavyItemSwap (notnull EntityAI item1, notnull EntityAI item2)
 
void SetReturnToOptics (bool state)
 
void RunADSTimer ()
 
void StopADSTimer ()
 

Защищенные данные

ref DayZPlayerImplementAiming m_AimingModel
 
ref DayZPlayerImplementMeleeCombat m_MeleeCombat
 
ref DayZPlayerMeleeFightLogic_LightHeavy m_MeleeFightLogic
 
ref DayZPlayerImplementSwimming m_Swimming
 
ref DayZPlayerImplementThrowing m_Throwing
 
ref DayZPlayerImplementJumpClimb m_JumpClimb
 
ref DayZPlayerImplementFallDamage m_FallDamage
 
ref PlayerSoundEventHandler m_PlayerSoundEventHandler
 
SHumanCommandMoveSettings m_MoveSettings
 
float m_FallYDiff
 
float m_SprintedTime
 
float m_SprintedTimePerStanceMin
 
bool m_SprintFull
 
bool m_IsRaised
 
bool m_ShouldReload
 
bool m_Camera3rdPerson
 
bool m_CameraZoomToggle
 
bool m_bADS
 
bool m_WeaponRaiseCompleted
 measures time from the weapon raise start to complete raise (once per)
 
ECameraZoomType m_CameraEyeZoomLevel
 
bool m_WasIronsight
 
bool m_CameraIronsight
 
bool m_CameraOptics
 
float m_DeathDarkeningCurrentTime
 
bool m_IsTryingHoldBreath
 
bool m_IsShootingFromCamera
 
bool m_PlayerSelected
 
bool m_Suicide
 
bool m_IsUnconscious
 
bool m_ShouldBeUnconscious
 
bool m_IsUnconsciousFalling
 
bool m_UnconsciousDebug
 
int m_LastCommandBeforeUnconscious
 
ref WeaponDebug m_WeaponDebug
 
ref DeathEffectTimer m_DeathEffectTimer
 
ref Timer m_FightEndBlendTimer
 
bool m_ProcessFirearmMeleeHit
 
bool m_ContinueFirearmMelee
 
bool m_LiftWeapon_player
 
bool m_ProcessLiftWeapon
 
bool m_ProcessLiftWeaponState
 
int m_LastSurfaceUnderHash
 
Transport m_TransportCache
 
string m_ClimbingLadderType
 
bool m_isFBsymptomPlaying
 
bool m_HandheldOpticsInUse
 
bool m_ResetADS
 
int m_StepCounter
 
int m_NextVoNNoiseTime
 
ref array< ref SyncHitInfom_SyncedHitDataArray
 
bool m_RaiseStarted = false
 
bool m_AimingFinisherStarted = false
 
bool m_IsWeapon
 
bool m_TriggerPullPlayerOutOfVehicleSynch
 
bool m_PullPlayerOutOfVehicleKeepsInLocalSpace = false
 
int m_PullPlayerOutOfVehicleState = -1
 
int m_ActionSoundCategoryHash
 
float m_dT
 
int m_DeathAnimType = -2
 
float m_DeathHitDir = 0
 
bool m_DeathJuctureSent = false
 
bool m_DamageHitFullbody = false
 
int m_DamageHitAnimType = -1.0
 
float m_DamageHitDir = 0.0
 
float m_DamageHealth = 0.0
 
const float HIT_INTERVAL_MIN = 0.3
 
float m_HitElapsedTime = HIT_INTERVAL_MIN
 
float m_fLastHeadingDiff = 0
 
float m_LastHeadingAngleBlock
 
float m_LastHeadingAngleBlock2
 
float m_LastHeadingAngle
 
int m_LastBackSoundTime
 
int m_LastBackSoundTime2
 
float m_SoundOffset
 
float m_TestDamageCounter = -1
 
float m_DebugDirectionVal = -180
 VKOSTIK - tady dat 0 misto -1.
 
bool m_DebugTypeVal = false
 
int m_DebugWeaponChangeStage = 0
 
string m_DebugWeaponChangeItem
 
int m_DebugWeaponChangeShowSlot
 
bool m_CameraEyeZoom
 
ref Timer m_ADSAutomationTimer
 
bool m_ADSTimerLaunched
 
bool m_ProcessWeaponRaiseCompleted
 
bool m_IsFireWeaponRaised
 

Закрытые данные

ref HumanMovementState m_MovementState = new HumanMovementState()
 time step for gradual update of dead screen visibilibty up to full visbility [s]
 
float m_WeaponRaiseTime
 
float m_CurrentWaterLevel
 
bool m_WasInVehicle
 

Закрытые статические данные

static const int DEAD_SCREEN_DELAY = 1000
 
static const float DEFAULT_DYING_TIME = 2.5
 DEPRECATED.
 
static const float DYING_PROGRESSION_TIME = 0.05
 how long does it take to full death screen [s]
 

Подробное описание

Конструктор(ы)

◆ ~DayZPlayerImplement()

void ~DayZPlayerImplement ( )
inlineprotected
278 {
279 }

Методы

◆ AbortWeaponEvent()

void AbortWeaponEvent ( )
inlineprotected
1737 {
1738 GetDayZPlayerInventory().AbortWeaponEvent();
1739 }
DayZPlayerInventory GetDayZPlayerInventory()
Definition DayZPlayerImplement.c:893

◆ AddNoise()

void AddNoise ( NoiseParams noisePar,
float noiseMultiplier = 1.0 )
inlineprotected
3102 {
3103 if (noisePar != null)
3104 GetGame().GetNoiseSystem().AddNoise(this, noisePar, noiseMultiplier);
3105 }
Definition EntityAI.c:95
proto native CGame GetGame()

Перекрестные ссылки GetGame().

◆ AimingModel()

override bool AimingModel ( float pDt,
SDayZPlayerAimingModel pModel )
inlineprotected

This Aiming Model

1613 {
1615 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_MELEE2)
1616 {
1618 if (hcm.IsFinisher())
1619 {
1621 {
1622 m_AimingModel.OnFinisherBegin(pModel.m_fCurrentAimY);
1624 }
1625 m_AimingModel.ProcessStealthFilters(pDt, pModel);
1626 }
1627
1628 return true;
1629 }
1630
1631 if (m_MovementState.IsRaised())
1632 {
1633 if (!m_RaiseStarted)
1634 {
1635 m_AimingModel.OnRaiseBegin(this);
1636 m_RaiseStarted = true;
1637 }
1638 m_AimingModel.ProcessAimFilters(pDt, pModel, m_MovementState.m_iStanceIdx);
1639
1640 return true;
1641 }
1642
1643 m_RaiseStarted = false;
1645
1646 return true;
1647 }
bool m_AimingFinisherStarted
Definition DayZPlayerImplement.c:173
ref HumanMovementState m_MovementState
time step for gradual update of dead screen visibilibty up to full visbility [s]
Definition DayZPlayerImplement.c:117
ref DayZPlayerImplementAiming m_AimingModel
Definition DayZPlayerImplement.c:118
bool m_RaiseStarted
Definition DayZPlayerImplement.c:172
Definition human.c:537
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602

Перекрестные ссылки m_MovementState.

◆ AttenuateSoundIfNecessary()

void AttenuateSoundIfNecessary ( SoundObject soundObject)
inlineprotected
3680 {
3681 if (GetGame().GetPlayer() != NULL && (IsSoundInsideBuilding() != GetGame().GetPlayer().IsSoundInsideBuilding() || IsCameraInsideVehicle() != GetGame().GetPlayer().IsCameraInsideVehicle()))
3682 {
3683 soundObject.SetKind(WaveKind.WAVEATTALWAYS);
3684 }
3685 else
3686 {
3687 soundObject.SetKind(WaveKind.WAVEEFFECTEX);
3688 }
3689 }
PlayerBase GetPlayer()
Definition ModifierBase.c:47
WaveKind
Definition Sound.c:2

Перекрестные ссылки GetGame() и GetPlayer().

◆ CameraHandler()

override int CameraHandler ( int pCameraMode)
inlineprotected

This is main camera selection logic

ironsights

get movement state

VKOSTIK: v ostatnich commandech mimo COMMANDID_MOVE je m_MovementState.m_iStanceIdx - DayZPlayerConstants.STANCEIDX_ERECT m_MovementState.m_iMovement = 0 (idle)

COMMANDID_ACTION returns stance right - ERECT/CROUCH

melee camera - not melee - stays in stance camera

special handling to allow the camera to fully blend before transitioning to the raised one

2656 {
2659 {
2661 EntityAI entityInHands = GetHumanInventory().GetEntityInHands();
2663 if (weapon)
2664 optics = weapon.GetAttachedOptics();
2665 else if (entityInHands)
2667
2668 if (m_CameraOptics && optics)
2669 {
2671 }
2672 else if (m_CameraIronsight && weapon)
2673 {
2675 }
2676 }
2677
2678 // If the logic above doesn't reach optics nor ironsights camera,
2679 // yet weapon is still raised and ads is wanted, enforce 1pv camera
2680 // as this will reduce erratic behaviour of camera switching in 3pv
2681 HumanInputController hic = GetInputController();
2682 if (m_Camera3rdPerson && m_IsWeapon && m_IsRaised && hic && hic.WeaponADS())
2683 {
2685 }
2686
2687 //uncon
2688 if ( GetCurrentCommandID() == DayZPlayerConstants.COMMANDID_UNCONSCIOUS )
2689 {
2691 }
2692
2694
2695 if (!m_Camera3rdPerson)
2696 {
2697 if (vehicleCommand)
2698 {
2700 }
2701
2703 }
2704 else
2705 {
2706 if (vehicleCommand)
2707 {
2708 Transport transport = vehicleCommand.GetTransport();
2709 if (transport && GetParent())
2710 {
2711 return transport.Get3rdPersonCameraType();
2712 }
2713 }
2714
2717
2721
2723
2725
2726 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_CLIMB)
2727 {
2729 }
2730
2731 if (m_JumpClimb.m_bIsJumpInProgress)
2732 {
2734 }
2735
2736 int targetStanceIndex = m_MovementState.m_iStanceIdx;
2737
2740 if (commandMove && commandMove.IsChangingStance() && m_MovementState.IsRaised())
2741 {
2742 targetStanceIndex = m_MovementState.m_iStanceIdx - DayZPlayerConstants.STANCEIDX_RAISED;
2743 }
2744
2745 //
2746 // normal movement cameras
2747 if (targetStanceIndex == DayZPlayerConstants.STANCEIDX_CROUCH)
2748 {
2750 }
2751 else if (targetStanceIndex == DayZPlayerConstants.STANCEIDX_RAISEDCROUCH)
2752 {
2754 }
2755 else if (targetStanceIndex == DayZPlayerConstants.STANCEIDX_PRONE)
2756 {
2758 }
2759 else if (targetStanceIndex == DayZPlayerConstants.STANCEIDX_RAISEDPRONE)
2760 {
2762 }
2763
2764 if (targetStanceIndex == DayZPlayerConstants.STANCEIDX_RAISEDERECT)
2765 {
2766 if (m_IsWeapon)
2767 {
2769 }
2770 else
2771 {
2773 }
2774 }
2775 else if (targetStanceIndex == DayZPlayerConstants.MOVEMENTIDX_SPRINT)
2776 {
2778 }
2779
2780 // DayZPlayerConstants.STANCEIDX_ERECT
2782 }
2783
2785 }
Super root of all classes in Enforce script.
Definition EnScript.c:11
Definition DayZPlayerCameras.c:2
static const int DAYZCAMERA_3RD_ERC_RAISED
3rd - standing raised
Definition DayZPlayerCameras.c:6
static const int DAYZCAMERA_3RD_CRO_RAISED
3rd - crouch
Definition DayZPlayerCameras.c:8
static const int DAYZCAMERA_IRONSIGHTS
ironsights camera
Definition DayZPlayerCameras.c:12
static const int DAYZCAMERA_3RD_CRO
3rd - crouch
Definition DayZPlayerCameras.c:7
static const int DAYZCAMERA_3RD_ERC_RAISED_MELEE
3rd - laying raised
Definition DayZPlayerCameras.c:11
static const int DAYZCAMERA_1ST
1st person camera
Definition DayZPlayerCameras.c:3
static const int DAYZCAMERA_1ST_VEHICLE
vehicle 1st person
Definition DayZPlayerCameras.c:18
static const int DAYZCAMERA_3RD_PRO_RAISED
3rd - laying raised
Definition DayZPlayerCameras.c:10
static const int DAYZCAMERA_3RD_PRO
3rd - laying
Definition DayZPlayerCameras.c:9
static const int DAYZCAMERA_3RD_JUMP
jump
Definition DayZPlayerCameras.c:15
static const int DAYZCAMERA_3RD_CLIMB
climb / vault
Definition DayZPlayerCameras.c:16
static const int DAYZCAMERA_3RD_ERC_SPR
3rd - standing sprint
Definition DayZPlayerCameras.c:5
static const int DAYZCAMERA_1ST_UNCONSCIOUS
unconscious
Definition DayZPlayerCameras.c:14
static const int DAYZCAMERA_3RD_ERC
3rd - standing
Definition DayZPlayerCameras.c:4
static const int DAYZCAMERA_OPTICS
optics
Definition DayZPlayerCameras.c:13
bool m_LiftWeapon_player
Definition DayZPlayerImplement.c:158
bool m_CameraIronsight
Definition DayZPlayerImplement.c:140
bool m_CameraOptics
Definition DayZPlayerImplement.c:141
bool m_Camera3rdPerson
Definition DayZPlayerImplement.c:133
ref DayZPlayerImplementJumpClimb m_JumpClimb
Definition DayZPlayerImplement.c:123
bool m_IsRaised
Definition DayZPlayerImplement.c:131
bool m_IsWeapon
Definition DayZPlayerImplement.c:174
Definition Building.c:6
Definition human.c:434
Definition human.c:690
Definition human.c:18
Definition ItemOptics.c:2
Base native class for all motorized wheeled vehicles.
Definition Car.c:80
script counterpart to engine's class Weapon
Definition InventoryItem.c:49
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
proto native Widget GetParent()
Get parent of the Effect.
Definition Effect.c:405

Перекрестные ссылки Class::CastTo(), DayZPlayerCameras::DAYZCAMERA_1ST, DayZPlayerCameras::DAYZCAMERA_1ST_UNCONSCIOUS, DayZPlayerCameras::DAYZCAMERA_1ST_VEHICLE, DayZPlayerCameras::DAYZCAMERA_3RD_CLIMB, DayZPlayerCameras::DAYZCAMERA_3RD_CRO, DayZPlayerCameras::DAYZCAMERA_3RD_CRO_RAISED, DayZPlayerCameras::DAYZCAMERA_3RD_ERC, DayZPlayerCameras::DAYZCAMERA_3RD_ERC_RAISED, DayZPlayerCameras::DAYZCAMERA_3RD_ERC_RAISED_MELEE, DayZPlayerCameras::DAYZCAMERA_3RD_ERC_SPR, DayZPlayerCameras::DAYZCAMERA_3RD_JUMP, DayZPlayerCameras::DAYZCAMERA_3RD_PRO, DayZPlayerCameras::DAYZCAMERA_3RD_PRO_RAISED, DayZPlayerCameras::DAYZCAMERA_IRONSIGHTS, DayZPlayerCameras::DAYZCAMERA_OPTICS, GetParent() и m_MovementState.

◆ CanClimb()

bool CanClimb ( int climbType,
SHumanCommandClimbResult climbRes )
inlineprotected
1687 {
1688 if (IsFBSymptomPlaying() || IsRestrained() || IsUnconscious() || IsInFBEmoteState())
1689 return false;
1690
1691 if (m_MovementState.m_iStanceIdx == DayZPlayerConstants.STANCEIDX_PRONE || m_MovementState.m_iStanceIdx == DayZPlayerConstants.STANCEIDX_RAISEDPRONE)
1692 return false;
1693
1694 if (IsRaised() && GetInputInterface().SyncedPress("UAGetOverControllerHelper")) //no raised climb on cotroller
1695 {
1696 return false;
1697 }
1698
1699 HumanItemBehaviorCfg hibcfg = GetItemAccessor().GetItemInHandsBehaviourCfg();
1700 if (!hibcfg.m_bJumpAllowed)
1701 return false;
1702
1703 if (climbRes)
1704 {
1706 if (Class.CastTo(entity,climbRes.m_GrabPointParent) && entity.IsHologram())
1707 return false;
1708 if (Class.CastTo(entity,climbRes.m_ClimbStandPointParent) && entity.IsHologram())
1709 return false;
1710 if (Class.CastTo(entity,climbRes.m_ClimbOverStandPointParent) && entity.IsHologram())
1711 return false;
1712 }
1713
1714 return true;
1715 }
bool IsRaised()
Definition DayZPlayerImplement.c:3705
bool IsFBSymptomPlaying()
Definition DayZPlayerImplement.c:491
bool IsInFBEmoteState()
Checks if fullbody animation or specific locked state is active in emote manager.
bool IsRestrained()
Definition humanitems.c:6

Перекрестные ссылки Class::CastTo() и m_MovementState.

◆ CanConsumeStamina()

bool CanConsumeStamina ( EStaminaConsumers consumer)
inlineprotected

Implementations only! - used on PlayerBase.

468{};

Используется в GetAttackTypeByWeaponAttachments(), GetAttackTypeFromInputs() и HandleFightLogic().

◆ CanJump()

bool CanJump ( )
inlineprotected

Jump

1657 {
1658 if (IsFBSymptomPlaying() || IsRestrained() || IsUnconscious() || IsInFBEmoteState())
1659 return false;
1660
1661 if (m_MovementState.m_iStanceIdx == DayZPlayerConstants.STANCEIDX_PRONE || m_MovementState.m_iStanceIdx == DayZPlayerConstants.STANCEIDX_RAISEDPRONE)
1662 return false;
1663
1664 if (IsRaised() && GetInputInterface().SyncedPress("UAGetOverControllerHelper")) //no raised jump on cotroller
1665 {
1666 return false;
1667 }
1668
1669 HumanItemBehaviorCfg hibcfg = GetItemAccessor().GetItemInHandsBehaviourCfg();
1670 if (!hibcfg.m_bJumpAllowed)
1671 return false;
1672
1673 if (!DayZPlayerUtils.PlayerCanChangeStance(this, DayZPlayerConstants.STANCEIDX_ERECT) || !DayZPlayerUtils.PlayerCanChangeStance(this, DayZPlayerConstants.STANCEIDX_RAISEDERECT))
1674 return false;
1675
1677 if (hcm)
1678 {
1679 if (hcm.IsChangingStance())
1680 return false;
1681 }
1682
1683 return true;
1684 }
void DayZPlayerUtils()
cannot be instantiated
Definition DayZPlayerUtils.c:461

Перекрестные ссылки DayZPlayerUtils() и m_MovementState.

◆ CanPickupHeavyItem()

bool CanPickupHeavyItem ( notnull EntityAI item)
inlineprotected

-------------— Checks if player can pick up heavy item ----------------------—

3715 {
3716 return !item.IsHeavyBehaviour() || (item.IsHeavyBehaviour() && DayZPlayerUtils.PlayerCanChangeStance(this, DayZPlayerConstants.STANCEIDX_ERECT));
3717 }

Перекрестные ссылки DayZPlayerUtils().

◆ CanPickupHeavyItemSwap()

bool CanPickupHeavyItemSwap ( notnull EntityAI item1,
notnull EntityAI item2 )
inlineprotected
3720 {
3722 }
bool CanPickupHeavyItem(notnull EntityAI item)
-------------— Checks if player can pick up heavy item ----------------------—
Definition DayZPlayerImplement.c:3714

◆ CanStartConsumingStamina()

bool CanStartConsumingStamina ( EStaminaConsumers consumer)
inlineprotected
469{};

◆ CheckAnimationOverrides()

void CheckAnimationOverrides ( )
inlineprotected
3630 {
3631 }

◆ CheckForDropItem()

bool CheckForDropItem ( EntityAI item)
inlineprotected
3526 {
3527 /*
3528 bool restrained = IsRestrained(); // IsRestrained()
3529 bool unconscious = IsUnconscious(); // IsRestrained()
3530
3531 ItemBase ib = ItemBase.Cast(item);
3532 if (!IsAlive() || restrained || unconscious || ib.CanBeMovedOverride())
3533 return true;
3534 return false;
3535 */
3536 return CheckForTakeItem(item); //the two functions are currently identical
3537 }
bool CheckForTakeItem(EntityAI item)
Definition DayZPlayerImplement.c:3514

◆ CheckForRespawn()

bool CheckForRespawn ( EntityAI item)
inlineprotected

Player respawn

3544 {
3545 PlayerBase player = PlayerBase.Cast(this);
3546 if (!player)
3547 return true;
3548
3549 if (!IsAlive() || player.IsUnconscious())
3550 return true;
3551 return false;
3552 }
Definition PlayerBaseClient.c:2

◆ CheckForTakeItem()

bool CheckForTakeItem ( EntityAI item)
inlineprotected

anti-cheat condition

3515 {
3516 bool restrained = IsRestrained(); // IsRestrained()
3517 bool unconscious = IsUnconscious(); // IsRestrained()
3518
3519 ItemBase ib = ItemBase.Cast(item);
3520 if (ib && (PlayerBase.DEBUG_INVENTORY_ACCESS || !IsAlive() || restrained || unconscious || ib.CanBeMovedOverride()))
3521 return true;
3522 return false;
3523 }
Definition InventoryItem.c:731

◆ CheckLiftWeapon()

void CheckLiftWeapon ( )
protected

◆ CommandHandler()

override void CommandHandler ( float pDt,
int pCurrentCommandID,
bool pCurrentCommandFinished )
inlineprotected

This is main command logic

handle all Camera changes, switch + zoom

handle death with high priority

handle finished commands

default behaviour after finish is to start move

debug test script command !PSOVIS

Sprint attack limiting - player has to be in full sprint for at least 0.5s

If we are not in fall command then something else is currently running and we can safely continue here, otherwise terminate here

throwing handling

melee

2140 {
2141 m_dT = pDt;
2142
2144 {
2145 return;
2146 }
2147
2148 HumanInputController hic = GetInputController();
2149 EntityAI entityInHands = GetHumanInventory().GetEntityInHands();
2151
2152 bool isRaisedNow = m_MovementState.IsRaised();
2153 bool isWeapon = entityInHands && entityInHands.IsInherited(Weapon);
2154
2155 bool updateAimingMdfr = false;
2156 if (isWeapon != m_IsWeapon)
2157 {
2159 updateAimingMdfr = true;
2160 }
2161
2162 if (isRaisedNow != m_IsRaised)
2163 {
2164 updateAimingMdfr = true;
2165 m_IsRaised = m_MovementState.IsRaised();
2166 }
2167
2168 if (updateAimingMdfr)
2169 {
2170 if (isRaisedNow && isWeapon)
2171 GetUApi().ActivateModificator("aiming");
2172 else
2173 GetUApi().DeactivateModificator("aiming");
2174 }
2175
2176 // handle ADS ironsights/optics transition logic
2177 HandleADS();
2178
2179 // handle weapons
2180 if (hic)
2181 {
2184 {
2186 bool exitIronSights = false;
2188 }
2190 {
2191 bool exitOptic = false;
2193 }
2194 }
2195
2197 HandleView();
2198
2199 if (m_MovementState.m_iMovement != m_MovementState.m_LocalMovement)
2200 {
2202 m_MovementState.m_LocalMovement = m_MovementState.m_iMovement;
2203 }
2204
2207 {
2208 return;
2209 }
2210
2213 {
2214 if (pCurrentCommandID == DayZPlayerConstants.COMMANDID_UNCONSCIOUS)
2215 {
2217 {
2218 int crew_index = m_TransportCache.CrewMemberIndex(this);
2219 int seat = m_TransportCache.GetSeatAnimationType(crew_index);
2222 return;
2223 }
2224 }
2225 // start moving
2226
2227 // start falling ? (could happen after climbing)
2228 if (PhysicsIsFalling(true))
2229 {
2232 return;
2233 }
2234
2236 if (m_Swimming.m_bWasSwimming)
2237 {
2239 return;
2240 }
2241
2242 StartCommand_Move();
2243
2244 if (GetHumanInventory().GetEntityInHands())
2245 ForceStandUpForHeavyItems(GetHumanInventory().GetEntityInHands());
2246
2247 return;
2248 }
2249
2250
2251 //--------------------------------------------
2253
2255 {
2256 return;
2257 }
2258
2259
2260 //--------------------------------------------
2261 // vehicle handling
2262 if (pCurrentCommandID == DayZPlayerConstants.COMMANDID_VEHICLE)
2263 {
2265 if (hcv.WasGearChange())
2266 {
2268 cb.SetVehicleCommand(hcv);
2269 }
2270
2271 return;
2272 }
2273
2275 //--------------------------------------------
2277 if (hcm && hcm.GetCurrentMovementSpeed() > 2.99 && m_MovementState.m_iMovement == DayZPlayerConstants.MOVEMENTIDX_SPRINT)
2278 {
2281 {
2282 m_SprintFull = true;
2284 }
2285 else
2286 m_SprintFull = false;
2287 }
2288 else
2289 {
2290 m_SprintedTime = 0.0;
2291 m_SprintFull = false;
2292 }
2293
2294 //--------------------------------------------
2295 // swimming handling
2296 if (m_Swimming.HandleSwimming(pCurrentCommandID, hcm, m_MovementState))
2297 {
2298 m_JumpClimb.CheckAndFinishJump();
2299 return;
2300 }
2301
2302 //--------------------------------------------
2303 // ladder handling
2304 if (pCurrentCommandID == DayZPlayerConstants.COMMANDID_LADDER)
2305 {
2307 return;
2308 }
2309
2310 //--------------------------------------------
2311 // climb handling
2312 if (pCurrentCommandID == DayZPlayerConstants.COMMANDID_CLIMB)
2313 {
2314 return;
2315 }
2316
2317 //--------------------------------------------
2318 // fall handling
2319
2321 {
2323 {
2326
2328 fallDamageData.m_Height = m_FallYDiff - GetPosition()[1];
2329
2330 // land
2331 if (fallDamageData.m_Height < 0.5)
2332 {
2333 fallDamageData.m_LandType = HumanCommandFall.LANDTYPE_NONE;
2335 npar = type.GetNoiseParamsLandLight();
2336 AddNoise(npar);
2337 }
2338 else if (fallDamageData.m_Height < 3.0)
2339 {
2340 if (m_MovementState.IsInProne() || m_MovementState.IsInRaisedProne())
2341 fallDamageData.m_LandType = HumanCommandFall.LANDTYPE_NONE;
2342 else
2343 fallDamageData.m_LandType = HumanCommandFall.LANDTYPE_LIGHT;
2344
2346 npar = type.GetNoiseParamsLandLight();
2347 AddNoise(npar);
2348 }
2349 else if (fallDamageData.m_Height < 5.0)
2350 {
2351 fallDamageData.m_LandType = HumanCommandFall.LANDTYPE_MEDIUM;
2353 npar = type.GetNoiseParamsLandHeavy();
2354 AddNoise(npar);
2355 }
2356 else
2357 {
2358 fallDamageData.m_LandType = HumanCommandFall.LANDTYPE_HEAVY;
2360 npar = type.GetNoiseParamsLandHeavy();
2361 AddNoise(npar);
2362 }
2363
2364 if (fallDamageData.m_Height >= DayZPlayerImplementFallDamage.HEALTH_HEIGHT_LOW && GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_CLIENT)
2365 {
2366 OnPlayerRecievedHit();
2367 }
2368
2369 m_FallDamage.HandleFallDamage(fallDamageData);
2370 m_JumpClimb.CheckAndFinishJump(fallDamageData.m_LandType);
2371 }
2372
2374 if (pCurrentCommandID == DayZPlayerConstants.COMMANDID_FALL)
2375 {
2376 return;
2377 }
2378 }
2379 else if (PhysicsIsFalling(false))
2380 {
2381 // Not in a falling command but the controller is falling, start default fall
2384 return;
2385 }
2386
2387 //--------------------------------------------
2388 // handle jumping
2389
2390#ifndef NO_GUI
2391#ifdef DEVELOPER
2393
2394 if (DiagMenu.GetEngineValue(DayZPlayerConstants.DEBUG_ENABLEJUMP))
2395 {
2396 SHumanCommandClimbSettings hcls = GetDayZPlayerType().CommandClimbSettingsW();
2397
2398 if (m_MovementState.m_iMovement != DayZPlayerConstants.MOVEMENTIDX_IDLE)
2399 hcls.m_fFwMaxDistance = 3;
2400 else
2401 hcls.m_fFwMaxDistance = 1.2;
2402
2404
2406 HumanCommandClimb.DoClimbTest(this, ret, 0x3);
2407 }
2408
2409#endif
2410#endif
2411
2412 // start jump
2413 if (hic.IsJumpClimb())
2414 {
2415 m_JumpClimb.JumpOrClimb();
2416
2417 if (m_JumpClimb.WasSuccessful())
2418 {
2419 return;
2420 }
2421 }
2422
2424
2425 bool force = false;
2426#ifndef NO_GUI
2427#ifdef DEVELOPER
2429 force = DiagMenu.GetEngineValue(DayZPlayerConstants.DEBUG_ENABLETALKING);
2430#endif
2431#endif
2432 float amplitude = IsPlayerSpeaking();
2433
2434 if (amplitude > 0.1 || force)
2435 {
2436 if (ad)
2437 ad.SetTalking(true);
2438
2439 // add noises on server
2440 if (GetGame().IsServer())
2441 {
2442 int now = GetGame().GetTime();
2443 if (now >= m_NextVoNNoiseTime)
2444 {
2445 m_NextVoNNoiseTime = now + 1000;
2446
2447 int voiceLevel = GetGame().GetVoiceLevel(this);
2449
2450 // add noise every second while talking
2452 switch (voiceLevel)
2453 {
2454 case VoiceLevelWhisper:
2455 vonpar = pt.GetNoiseParamsWhisper();
2456 break;
2457 case VoiceLevelTalk:
2458 vonpar = pt.GetNoiseParamsTalk();
2459 break;
2460 case VoiceLevelShout:
2461 vonpar = pt.GetNoiseParamsShout();
2462 break;
2463 }
2465 }
2466 }
2467 }
2468 else
2469 {
2470 if (ad)
2471 ad.SetTalking(false);
2472 }
2473
2474 //--------------------------------------------
2475 // anything whats handled by InputController
2476
2478
2479 if (hic)
2480 {
2483 m_Throwing.HandleThrowing(hic, hcw, entityInHands, pDt);
2484
2486 if (m_MeleeFightLogic.CanFight())
2487 {
2489 {
2491 return;
2492 }
2493 }
2494 }
2495
2496
2499 {
2500 return;
2501 }
2502 }
void DayZPlayerImplementFallDamage(DayZPlayer pPlayer)
Definition DayZPlayerImplementFallDamage.c:73
class NoiseSystem NoiseParams()
Definition Noise.c:15
proto native UAInputAPI GetUApi()
class JsonUndergroundAreaTriggerData GetPosition
Definition UndergroundAreaLoader.c:9
bool IsLanded(int pCurrentCommandID)
Definition DayZPlayerImplement.c:3576
bool m_ProcessFirearmMeleeHit
Definition DayZPlayerImplement.c:156
float m_dT
Definition DayZPlayerImplement.c:184
bool m_SprintFull
Definition DayZPlayerImplement.c:130
bool OnLand(int pCurrentCommandID, FallDamageData fallDamageData)
Definition DayZPlayerImplement.c:3591
bool IsAlreadyInFallingCommand(int pCurrentCommandID)
Definition DayZPlayerImplement.c:3607
bool ModCommandHandlerInside(float pDt, int pCurrentCommandID, bool pCurrentCommandFinished)
Definition DayZPlayerImplement.c:2122
void HandleView()
Definition DayZPlayerImplement.c:1876
bool HandleDeath(int pCurrentCommandID)
Definition DayZPlayerImplement.c:610
ref DayZPlayerMeleeFightLogic_LightHeavy m_MeleeFightLogic
Definition DayZPlayerImplement.c:120
bool m_ContinueFirearmMelee
Definition DayZPlayerImplement.c:157
float m_FallYDiff
Definition DayZPlayerImplement.c:127
float m_SprintedTime
Definition DayZPlayerImplement.c:128
float m_SprintedTimePerStanceMin
Definition DayZPlayerImplement.c:129
Transport m_TransportCache
Definition DayZPlayerImplement.c:162
void OnLadder(float delta_time, HumanMovementState pState)
called every command handler tick when player is on ladder
ref DayZPlayerImplementFallDamage m_FallDamage
Definition DayZPlayerImplement.c:124
void AddNoise(NoiseParams noisePar, float noiseMultiplier=1.0)
Definition DayZPlayerImplement.c:3101
void HandleADS()
Definition DayZPlayerImplement.c:1745
void SetFallYDiff(float value)
Definition DayZPlayerImplement.c:358
void OnMovementChanged()
Event, called when HumanMovementState.m_iMovement changes...walk, run, sprint, etc....
Definition DayZPlayerImplement.c:2788
bool IsHandheldOpticsInUse()
Definition DayZPlayerImplement.c:3699
ref DayZPlayerImplementThrowing m_Throwing
Definition DayZPlayerImplement.c:122
int m_NextVoNNoiseTime
Definition DayZPlayerImplement.c:168
void HandleWeapons(float pDt, Entity pInHands, HumanInputController pInputs, out bool pExitIronSights)
Definition DayZPlayerImplement.c:968
bool ModCommandHandlerBefore(float pDt, int pCurrentCommandID, bool pCurrentCommandFinished)
Definition DayZPlayerImplement.c:2117
ref DayZPlayerImplementSwimming m_Swimming
Definition DayZPlayerImplement.c:121
bool ModCommandHandlerAfter(float pDt, int pCurrentCommandID, bool pCurrentCommandFinished)
Definition DayZPlayerImplement.c:2127
void HandleOptic(notnull ItemOptics optic, bool inHands, HumanInputController pInputs, out bool pExitOptics)
Definition DayZPlayerImplement.c:1135
int m_LastCommandBeforeUnconscious
Definition DayZPlayerImplement.c:152
Definition EnDebug.c:233
Definition DayZPlayerImplementFallDamage.c:2
Definition DayZPlayerImplementVehicle.c:2
command itself
Definition human.c:772
proto static native bool DoClimbTest(Human pHuman, SHumanCommandClimbResult pResult, int pDebugDrawLevel)
Definition human.c:987
Definition PlayerConstants.c:2
static const float FULL_SPRINT_DELAY_DEFAULT
Definition PlayerConstants.c:7
void DayZPlayerType()
Definition dayzplayer.c:512
void ForceStandUpForHeavyItems(notnull EntityAI item)
-------------— Forces player to stand up when swapping to heavy item ----------------------—
Definition dayzplayer.c:1334
DayZPlayerInstanceType
defined in C++
Definition dayzplayer.c:1059
proto native DayZPlayerType GetDayZPlayerType()
returns appropriate DayZPlayerType
proto native DayZPlayerInstanceType GetInstanceType()
proto native float IsPlayerSpeaking()
-------------— speaking anim ----------------------—
static proto int GetEngineValue(int id)
Get value at the given engine id.
class HumanCommandMelee2 HumanCommandFall()
Definition human.c:574
class HumanCommandWeapons HumanCommandAdditives()
Definition human.c:1099
class SHumanCommandSwimSettings SHumanCommandClimbSettings()
Definition humansettings.c:74

Перекрестные ссылки AddNoise(), DayZPlayerImplementFallDamage(), DayZPlayerType(), HumanCommandClimb::DoClimbTest(), ForceStandUpForHeavyItems(), PlayerConstants::FULL_SPRINT_DELAY_DEFAULT, GetDayZPlayerType(), DiagMenu::GetEngineValue(), GetGame(), GetInstanceType(), GetPosition, GetUApi(), HumanCommandAdditives(), HumanCommandFall(), IsPlayerSpeaking(), m_MovementState, ModCommandHandlerAfter(), ModCommandHandlerBefore(), ModCommandHandlerInside(), NoiseParams() и SHumanCommandClimbSettings().

◆ CommandHandlerDebug()

void CommandHandlerDebug ( float pDt,
int pCurrentCommandID,
bool pCurrentCommandFinished )
inlineprotected

debug handling of adding commands

set item in hands

fuj

start show

damage test

2521 {
2522 if (GetPluginManager())
2523 {
2525 if (playerDebug)
2526 {
2527 playerDebug.CommandHandler();
2528
2530 if (m_DebugWeaponChangeStage == 0)
2531 {
2532
2533 // debug weapon change
2534 int hideSlot;
2535
2537 {
2538 //Print("Change Weapon started: " + m_DebugWeaponChangeItem + "," + hideSlot.ToString() + "," + m_DebugWeaponChangeShowSlot.ToString());
2539
2541 w.StartAction(WeaponActions.HIDE, hideSlot);
2542
2544 }
2545 }
2546 else if (m_DebugWeaponChangeStage == 1)
2547 {
2548 // wait for weapon hide to meet event
2550 if (w2 && w2.GetRunningAction() == WeaponActions.HIDE)
2551 {
2552 if (w2.IsEvent() == WeaponEvents.CHANGE_HIDE)
2553 {
2555 //Print("Change Weapon - hidden: ");
2556
2558 PlayerBase player = PlayerBase.Cast(this);
2559 EntityAI item_in_hands = player.GetHumanInventory().GetEntityInHands();
2560 if (item_in_hands != NULL && player.CanDropEntity(item_in_hands) && GetGame().GetPlayer().GetHumanInventory().CanRemoveEntityInHands())
2561 {
2562 player.PredictiveDropEntity(item_in_hands);
2563 }
2564
2565 if (m_DebugWeaponChangeItem != "")
2566 {
2568 dst.SetHands(this, NULL);
2570 }
2571
2573 w2.StartAction(WeaponActions.SHOW, 3);
2574
2576 }
2577 }
2578 }
2579 else if (m_DebugWeaponChangeStage == 2)
2580 {
2582 if (w3 && w3.IsActionFinished())
2583 {
2585 }
2586 }
2587 }
2588 }
2589
2590
2592 if (m_TestDamageCounter >= 0)
2593 {
2594 if (m_TestDamageCounter > 3)
2595 {
2598
2599 if (m_DebugDirectionVal > 90)
2600 {
2601 m_DebugDirectionVal = -180;
2603 }
2604
2605 if (m_DebugTypeVal)
2606 {
2608 }
2609 else
2610 {
2611 StartCommand_Damage(0, m_DebugDirectionVal); // starts heavy (full body)
2612 }
2613 // 0.. types
2614 // from: -180 back, -90 left, 0 front, 90 right, 180 back
2615 //AddCommandModifier_Damage(0, directionVal); // starts light
2616 //StartCommand_Damage(0, 0); // starts heavy (full body)
2617 }
2618
2620 }
2621
2622
2623#ifndef NO_GUI
2624#ifdef DEVELOPER
2625
2626 // injury / exhaustion
2627 {
2629
2631 float v = DiagMenu.GetEngineRangeValue(DayZPlayerConstants.DEBUG_SHOWINJURY);
2632 if (v > 0)
2633 {
2634 ad.SetInjured(v, true);
2635 }
2636
2638 v = DiagMenu.GetEngineRangeValue(DayZPlayerConstants.DEBUG_SHOWEXHAUSTION);
2639 if (v > 0)
2640 {
2641 ad.SetExhaustion(v, true);
2642 }
2643 }
2644#endif
2645#endif
2646
2647 }
proto native void SpawnEntity(string sClassName, vector vPos, float fRange, int iCount)
Spawn an entity through CE.
const int ECE_IN_INVENTORY
Definition CentralEconomy.c:36
const int RF_DEFAULT
Definition CentralEconomy.c:65
void PluginDayzPlayerDebug()
Definition PluginDayzPlayerDebug.c:275
PluginManager GetPluginManager()
Returns registred plugin by class type, better is to use global funtion GetPlugin(typename plugin_typ...
Definition PluginManager.c:274
float m_DebugDirectionVal
VKOSTIK - tady dat 0 misto -1.
Definition DayZPlayerImplement.c:2512
float m_TestDamageCounter
Definition DayZPlayerImplement.c:2511
int m_DebugWeaponChangeShowSlot
Definition DayZPlayerImplement.c:2517
int m_DebugWeaponChangeStage
Definition DayZPlayerImplement.c:2515
bool m_DebugTypeVal
Definition DayZPlayerImplement.c:2513
string m_DebugWeaponChangeItem
Definition DayZPlayerImplement.c:2516
InventoryLocation.
Definition InventoryLocation.c:28
static proto float GetEngineRangeValue(int id)
Get range value at the given engine id.
WeaponActions
actions
Definition human.c:809
WeaponEvents
events
Definition human.c:956

Перекрестные ссылки ECE_IN_INVENTORY, DiagMenu::GetEngineRangeValue(), GetGame(), GetPlayer(), GetPluginManager(), HumanCommandAdditives(), PluginDayzPlayerDebug(), RF_DEFAULT и SpawnEntity().

◆ CommitedSuicide()

bool CommitedSuicide ( )
inlineprotected
3649 {
3650 return m_Suicide;
3651 }
bool m_Suicide
Definition DayZPlayerImplement.c:147

◆ CompleteWeaponRaise()

void CompleteWeaponRaise ( )
inlineprotected
877 {
880 }
bool m_WeaponRaiseCompleted
measures time from the weapon raise start to complete raise (once per)
Definition DayZPlayerImplement.c:137
float m_WeaponRaiseTime
Definition DayZPlayerImplement.c:136

◆ DayZPlayerImplement()

void DayZPlayerImplement ( )
inlineprotected

constructor

188 {
189 m_SprintFull = false;
190 m_SprintedTime = 0;
200 m_bADS = false;
202 SetOptics(false);
206 m_WasIronsight = true; //initially uses ironsights by default
207 #ifdef PLATFORM_CONSOLE
208 m_Camera3rdPerson = !GetGame().GetWorld().Is3rdPersonDisabled();
209 #endif
210 m_LastSurfaceUnderHash = ("cp_gravel").Hash();
215
216 RegisterNetSyncVariableBoolSignal("m_TriggerPullPlayerOutOfVehicleSynch");
217 }
void DayZPlayerImplementMeleeCombat(DayZPlayerImplement player)
Definition DayZPlayerImplementMeleeCombat.c:90
void DayZPlayerMeleeFightLogic_LightHeavy(DayZPlayerImplement player)
Definition DayZPlayerMeleeFightLogic_LightHeavy.c:31
bool m_bADS
Definition DayZPlayerImplement.c:135
ref DayZPlayerImplementMeleeCombat m_MeleeCombat
Definition DayZPlayerImplement.c:119
bool m_IsShootingFromCamera
Definition DayZPlayerImplement.c:145
void SetOptics(bool value)
Definition DayZPlayerImplement.c:393
float m_CurrentWaterLevel
Definition DayZPlayerImplement.c:176
int m_LastSurfaceUnderHash
Definition DayZPlayerImplement.c:161
bool m_WasIronsight
Definition DayZPlayerImplement.c:139
ref Timer m_ADSAutomationTimer
Definition DayZPlayerImplement.c:3736
ref array< ref SyncHitInfo > m_SyncedHitDataArray
Definition DayZPlayerImplement.c:169
Definition DayZPlayerImplementAiming.c:32
Definition DayZPlayerImplementJumpClimb.c:2
Definition DayZPlayerImplementSwimming.c:3
Definition DayZPlayerImplementThrowing.c:2
Definition DayZPlayerImplement.c:63

Перекрестные ссылки DayZPlayerImplementFallDamage(), DayZPlayerImplementMeleeCombat(), DayZPlayerMeleeFightLogic_LightHeavy(), PlayerConstants::FULL_SPRINT_DELAY_DEFAULT, GetGame() и m_MeleeCombat.

◆ DepleteStamina()

◆ EEHitBy()

override void EEHitBy ( TotalDamageResult damageResult,
int damageType,
EntityAI source,
int component,
string dmgZone,
string ammo,
vector modelPos,
float speedCoef )
inlineprotected

event from damage system

1453 {
1455
1456 m_TransportHitRegistered = false;
1457
1458 if (!IsAlive())
1459 {
1460 int animTypeDeath;
1461 float animHitDirDeath;
1463 {
1465 }
1466
1467 if (!m_DeathSyncSent) //checked until the death is evaluated by 'OnCommandHandlerTick' higher up the road
1468 {
1469 Man killer = source.GetHierarchyRootPlayer();
1470
1471 if (!m_KillerData) //only one player is considered killer in the event of crossfire
1472 {
1473 m_KillerData = new KillerData();
1474 m_KillerData.m_Killer = killer;
1475 m_KillerData.m_MurderWeapon = source;
1476 }
1477
1478 if (killer && killer.IsPlayer())
1479 {
1480 // was player killed by headshot?
1481 if (dmgZone == "Brain")
1482 {
1483 m_KilledByHeadshot = true;
1484 if (m_KillerData.m_Killer == killer)
1485 m_KillerData.m_KillerHiTheBrain = true;
1486 }
1487 }
1488 }
1489 }
1490 else
1491 {
1492 int animType;
1493 float animHitDir;
1494 bool animHitFullbody;
1497 else
1498 {
1499 bool skipSoundRequest = false;
1500 if (damageType == DamageType.CUSTOM && GetCommand_Fall())
1501 skipSoundRequest = GetFallDamage().GetLandType() < HumanCommandFall.LANDTYPE_MEDIUM;
1502
1503 if (!skipSoundRequest)
1504 RequestSoundEvent(EPlayerSoundEventID.TAKING_DMG_LIGHT);
1505 }
1506 }
1507
1508 // interupt melee for non-blocked hit or heavy hit
1509 if (animHitFullbody)
1510 {
1512 if (hcm)
1513 hcm.Cancel();
1514 }
1515 }
DamageType
exposed from C++ (do not change)
Definition DamageSystem.c:11
class BoxCollidingParams component
ComponentInfo for BoxCollidingResult.
EPlayerSoundEventID
Definition PlayerSoundEventHandler.c:2
DayZPlayerImplementFallDamage GetFallDamage()
Definition DayZPlayerImplement.c:272
void SendDeathJuncture(int pAnimTypeDeath, float pAnimHitDirDeath)
Definition DayZPlayerImplement.c:740
void RequestSoundEvent(EPlayerSoundEventID id, bool from_server_and_client=false)
bool EvaluateDamageHitAnimation(TotalDamageResult pDamageResult, int pDamageType, EntityAI pSource, string pComponent, string pAmmoType, vector pModelPos, out int pAnimType, out float pAnimHitDir, out bool pAnimHitFullbody)
selects animation type and direction based on damage system data
Definition DayZPlayerImplement.c:1374
bool EvaluateDeathAnimation(int pDamageType, EntityAI pSource, string pAmmoType, out int pAnimType, out float pAnimHitDir)
selects animation type and direction based on damage system data
Definition DayZPlayerImplement.c:1345
Definition DayZPlayerSyncJunctures.c:5
static void SendDamageHitEx(DayZPlayer pPlayer, int pType, float pHitDir, bool pFullbody, TotalDamageResult pDamageResult, int pDamageType, EntityAI pSource, string pComponent, string pAmmoType, vector pModelPos)
Definition DayZPlayerSyncJunctures.c:98
Definition KillerData.c:2

Перекрестные ссылки component, HumanCommandFall() и DayZPlayerSyncJunctures::SendDamageHitEx().

◆ EEKilled()

override void EEKilled ( Object killer)
inlineprotected
750 {
751 SendDeathJuncture(-1, 0);
752
753 super.EEKilled(killer);
754 }

◆ EOnContact()

void EOnContact ( IEntity other,
Contact extra )
inlineprotected

Phx contact event

3662 {
3663 if (!IsAlive())
3664 return;
3665
3666 if (GetParent() == other)
3667 return;
3668
3670 if (transport)
3671 {
3672 if (GetGame().IsServer())
3673 {
3674 RegisterTransportHit(transport);
3675 }
3676 }
3677 }

Перекрестные ссылки GetGame() и GetParent().

◆ EvaluateDamageHit()

void EvaluateDamageHit ( int pCurrentCommandID)
inlineprotected

Must be ran at the start of CommandHandler before Jump is triggered.

Reset damage hit to prevent animation from playing unnecessarily when it is already cancelled out

ignore hit impacts in prone (for now)

1242 {
1245
1246 if (!m_SyncedHitDataArray || m_SyncedHitDataArray.Count() == 0)
1247 {
1248 return;
1249 }
1250
1251 //evaluate all hit data
1254 for (int i = 0; i < m_SyncedHitDataArray.Count(); i++)
1255 {
1257 m_DamageHitDir = data.m_HitDir;
1258
1259 //client-side effects
1260 #ifndef SERVER
1261 if (IsAlive() && !IsUnconscious() && data.m_HasSource && GetGame().GetMission().GetHud() && GetGame().GetPlayer() == this) //only for controlled players
1262 {
1263 m_DamageHealth = data.m_HealthDamage;
1264 if (m_DamageHealth > 0.0)
1265 {
1266 float rel = m_DamageHealth / (GetMaxHealth("","Health") * PlayerConstants.HEAVY_HIT_THRESHOLD);
1267 GetGame().GetMission().GetHud().SpawnHitDirEffect(this,m_DamageHitDir,rel);
1268 }
1269 }
1270 #endif
1271
1272 if (!greatest_hit)
1273 {
1275 }
1276 //else if (data.m_HealthDamage > greatest_hit.m_HealthDamage || (data.m_Fullbody && !greatest_hit.m_Fullbody)) //TODO - revisit cumulative calculation for animation evaluation purposes (stagger on shotgun to the chest)
1277 else if (data.m_Fullbody) //temporary solution; last fullbody hit is used for animation purposes, some light hit otherwise
1278 {
1280 }
1281 }
1282
1283 m_SyncedHitDataArray.Clear();
1284 m_DamageHealth = 0.0;
1285
1287 if (m_MovementState.m_iStanceIdx == DayZPlayerConstants.STANCEIDX_PRONE || m_MovementState.m_iStanceIdx == DayZPlayerConstants.STANCEIDX_RAISEDPRONE)
1288 {
1289 return;
1290 }
1291
1292 //general effects
1293 m_DamageHitFullbody = greatest_hit.m_Fullbody;
1294 m_DamageHitAnimType = greatest_hit.m_AnimType;
1295 m_DamageHitDir = greatest_hit.m_HitDir;
1296 }
int m_DamageHitAnimType
Definition DayZPlayerImplement.c:1228
bool m_DamageHitFullbody
Definition DayZPlayerImplement.c:1227
float m_DamageHitDir
Definition DayZPlayerImplement.c:1229
float m_DamageHealth
Definition DayZPlayerImplement.c:1230
static const float HEAVY_HIT_THRESHOLD
Definition PlayerConstants.c:5

Перекрестные ссылки GetGame(), GetPlayer(), PlayerConstants::HEAVY_HIT_THRESHOLD и m_MovementState.

◆ EvaluateDamageHitAnimation()

bool EvaluateDamageHitAnimation ( TotalDamageResult pDamageResult,
int pDamageType,
EntityAI pSource,
string pComponent,
string pAmmoType,
vector pModelPos,
out int pAnimType,
out float pAnimHitDir,
out bool pAnimHitFullbody )
inlineprotected

selects animation type and direction based on damage system data

impact from infected attack will be light only

play full body when these coponents were hit

skip evaluation of dmg hit animation

direction

1375 {
1376 int invertHitDir = 0; //Used to flip the heavy hit animation direction
1377
1378 pAnimType = 0;
1379 pAnimHitFullbody = false; // additive anm
1381
1382 switch (pDamageType)
1383 {
1384 case DT_CLOSE_COMBAT:
1386 if (pSource.IsInherited(DayZInfected))
1387 break;
1388
1389 pAnimType = GetGame().ConfigGetInt("cfgAmmo " + pAmmoType + " hitAnimation");
1390 invertHitDir = GetGame().ConfigGetInt("cfgAmmo " + pAmmoType + " invertHitDir");
1391 if (!IsUnconscious() && pAnimType == 1 && !m_MeleeFightLogic.IsInBlock())
1392 pAnimHitFullbody = true;
1393 break;
1394
1395 case DT_FIRE_ARM:
1396 int impactBehaviour = 0;
1397
1398 if (!IsUnconscious() && GetHealth("", "Shock") > 25)
1399 {
1401 if (pComponent == "Torso" || pComponent == "Head")
1402 {
1403 impactBehaviour = GetGame().ConfigGetInt("cfgAmmo " + pAmmoType + " impactBehaviour");
1404 float fireDamage = pDamageResult.GetHighestDamage("Health");
1405 float shockDamage = pDamageResult.GetHighestDamage("Shock");
1406 if ((fireDamage > 80.0 || shockDamage > 40.0) && impactBehaviour == 1)
1407 pAnimHitFullbody = true;
1408 }
1409 }
1410
1411 break;
1412
1413 case DT_EXPLOSION:
1414 break;
1415
1416 case DT_CUSTOM:
1417 pAnimType = GetGame().ConfigGetInt("cfgAmmo " + pAmmoType + " hitAnimation");
1418 if (pAnimType == 1)
1419 pAnimHitFullbody = true;
1420 else
1421 return false;
1422
1423 break;
1424 }
1425
1427 vector targetDirection = GetDirection();
1428 vector toSourceDirection = (pSource.GetPosition() - GetPosition());
1429
1430 targetDirection[1] = 0;
1431 toSourceDirection[1] = 0;
1432
1433 targetDirection.Normalize();
1434 toSourceDirection.Normalize();
1435
1438
1440
1441 // We will invert direction of the hit
1442 if (invertHitDir > 0)
1443 pAnimHitDir -= 180;
1444
1445 if (cross[1] < 0)
1447
1448 return true;
1449 }
Definition ZombieBase.c:2
Definition EnMath.c:7
Definition EnConvert.c:106
static float Dot(vector v1, vector v2)
Returns Dot product of vector v1 and vector v2.
Definition EnConvert.c:271
static proto float Acos(float c)
Returns angle in radians from cosinus.
static const float RAD2DEG
Definition EnMath.c:16

Перекрестные ссылки Math::Acos(), vector::Dot(), GetGame(), GetPosition, m_MovementState и Math::RAD2DEG.

◆ EvaluateDeathAnimation()

bool EvaluateDeathAnimation ( int pDamageType,
EntityAI pSource,
string pAmmoType,
out int pAnimType,
out float pAnimHitDir )
inlineprotected

selects animation type and direction based on damage system data

direction

1346 {
1347 bool doPhxImpulse = GetGame().ConfigGetInt("cfgAmmo " + pAmmoType + " doPhxImpulse") > 0;
1348
1349 pAnimType = DayZPlayerConstants.DEATH_DEFAULT;
1350 if (doPhxImpulse)
1351 pAnimType = DayZPlayerConstants.DEATH_FAST;
1352
1354 vector targetDirection = GetDirection();
1355 vector toSourceDirection = (pSource.GetPosition() - GetPosition());
1356
1357 targetDirection[1] = 0;
1358 toSourceDirection[1] = 0;
1359
1360 targetDirection.Normalize();
1361 toSourceDirection.Normalize();
1362
1365
1367 if (cross[1] < 0)
1369
1370 return true;
1371 }

Перекрестные ссылки Math::Acos(), vector::Dot(), GetGame(), GetPosition и Math::RAD2DEG.

◆ ExitSights()

void ExitSights ( )
inlineprotected
408 {
410 EntityAI entityInHands = GetHumanInventory().GetEntityInHands();
412 if (weapon)
413 {
414 optics = weapon.GetAttachedOptics();
415 }
416 else
417 {
419 }
420
421 SetIronsights(false);
422 SetOptics(false);
423
424 if (optics)
425 {
426 SwitchOptics(optics,false);
427 }
428
430 if (hcw)
431 {
432 hcw.SetADS(false);
433 }
434 }
void SwitchOptics(ItemOptics optic, bool state)
Definition DayZPlayerImplement.c:436
void SetIronsights(bool value)
Definition DayZPlayerImplement.c:373

◆ GetAimingModel()

DayZPlayerImplementAiming GetAimingModel ( )
inlineprotected
253 {
254 return m_AimingModel;
255 }

◆ GetBackAttachmentType()

AnimBackType GetBackAttachmentType ( )
inlineprotected
3005 {
3006 EntityAI back = GetInventory().FindAttachment(InventorySlots.BACK);
3007 if (back)
3008 {
3009 switch (back.GetAttachmentSoundType())
3010 {
3011 case "Small":
3012 return AnimBackType.Small;
3013 case "Military":
3014 return AnimBackType.Military;
3015 case "Outdoor":
3016 return AnimBackType.Outdoor;
3017 case "Ghillie":
3018 return AnimBackType.Ghillie;
3019 }
3020 }
3021
3022 return AnimBackType.None;
3023 }
provides access to slot configuration
Definition InventorySlots.c:6

◆ GetBodyAttachmentType()

AnimUpperBodyType GetBodyAttachmentType ( )
inlineprotected
2974 {
2975 EntityAI attachment = GetInventory().FindAttachment(InventorySlots.BODY);
2976 if (attachment)
2977 {
2978 switch (attachment.GetAttachmentSoundType())
2979 {
2980 case "NylonJacket":
2981 return AnimUpperBodyType.NylonJacket;
2982 case "TShirt":
2983 return AnimUpperBodyType.TShirt;
2984 case "WoolShirt":
2985 return AnimUpperBodyType.WoolShirt;
2986 case "HeavyJacket":
2987 return AnimUpperBodyType.HeavyJacket;
2988 case "LeatherJacket":
2989 return AnimUpperBodyType.LeatherJacket;
2990 case "Coat":
2991 return AnimUpperBodyType.Coat;
2992 case "ChemlonDress":
2993 return AnimUpperBodyType.ChemlonDress;
2994 case "Ghillie":
2995 return AnimUpperBodyType.Ghillie;
2996 case "Chainmail":
2997 return AnimUpperBodyType.Chainmail;
2998 }
2999 }
3000
3001 return AnimUpperBodyType.None;
3002 }

◆ GetBootsType()

AnimBootsType GetBootsType ( )
inlineprotected
2956 {
2957 EntityAI boots = GetInventory().FindAttachment(InventorySlots.FEET);
2958 if (boots)
2959 {
2960 switch (boots.GetAttachmentSoundType())
2961 {
2962 case "Sneakers":
2963 return AnimBootsType.Sneakers;
2964 case "Boots":
2965 return AnimBootsType.Boots;
2966 }
2967 }
2968
2969 return AnimBootsType.None;
2970 }
AnimBootsType
Definition DayZAnimEvents.c:98

◆ GetCurrentWaterLevel()

override float GetCurrentWaterLevel ( )
inlineprotected
364 {
365 return m_CurrentWaterLevel;
366 }

Используется в InterruptWaterCheck().

◆ GetDayZPlayerInventory()

DayZPlayerInventory GetDayZPlayerInventory ( )
inlineprotected
894 {
895 DayZPlayerInventory inv = DayZPlayerInventory.Cast(GetInventory());
896 return inv;
897 }
Definition DayZPlayerInventory.c:112

Используется в ActionPossibilityCheck() и CanPlayEmote().

◆ GetDebugText()

override string GetDebugText ( )
inlineprotected
517 {
518 string text = super.GetDebugText();
519 text += "Parent: " + Object.GetDebugName(Object.Cast(GetParent())) + "\n";//keep
520 text += "IsSimulationDisabled: " + GetIsSimulationDisabled() + "\n";//keep
521 /*
522 text += "DamageDestroyed: " + IsDamageDestroyed() + "\n";
523 text += "DeathProcessed: " + IsDeathProcessed() + "\n";
524 text += "DeathConditionMet: " + IsDeathConditionMet() + "\n";
525 text += "PullOutOfVehicleState: " + m_PullPlayerOutOfVehicleState + "\n";
526 text += "PullOutOfVehicleSynch: " + m_TriggerPullPlayerOutOfVehicleSynch + "\n";
527 text += "Position: " + GetPosition() + "\n";*/
528 return text;
529 }
Definition ObjectTyped.c:2

Перекрестные ссылки GetParent().

◆ GetDeltaT()

float GetDeltaT ( )
inlineprotected
497 {
498 return m_dT;
499 }

◆ GetEyeZoomLevel()

override int GetEyeZoomLevel ( )
inlineprotected
288 {
290 }
ECameraZoomType m_CameraEyeZoomLevel
Definition DayZPlayerImplement.c:138

Используется в DayZPlayerCameraBase(), HoldBreathFOVEffect() и StdFovUpdate().

◆ GetFallDamage()

DayZPlayerImplementFallDamage GetFallDamage ( )
inlineprotected
273 {
274 return m_FallDamage;
275 }

◆ GetMeleeCombat()

DayZPlayerImplementMeleeCombat GetMeleeCombat ( )
inlineprotected
258 {
259 return m_MeleeCombat;
260 }

Перекрестные ссылки m_MeleeCombat.

Используется в Init().

◆ GetMeleeFightLogic()

DayZPlayerMeleeFightLogic_LightHeavy GetMeleeFightLogic ( )
inlineprotected
263 {
264 return m_MeleeFightLogic;
265 }

◆ GetShoulderAttachmentType()

AnimRangedWeaponType GetShoulderAttachmentType ( )
inlineprotected
3027 {
3028 EntityAI shoulderAttachment = GetInventory().FindAttachment(InventorySlots.SHOULDER);
3029 EntityAI meleeAttachment = GetInventory().FindAttachment(InventorySlots.MELEE);
3030
3033
3035 {
3036 switch (shoulderAttachment.GetAttachmentSoundType())
3037 {
3038 case "Shotgun":
3039 {
3041 break;
3042 }
3043 case "Rifle":
3044 {
3046 break;
3047 }
3048 }
3049 }
3050 if (meleeAttachment)
3051 {
3052 switch (meleeAttachment.GetAttachmentSoundType())
3053 {
3054 case "Shotgun":
3055 {
3057 break;
3058 }
3059 case "Rifle":
3060 {
3062 break;
3063 }
3064 }
3065 }
3066
3068 return AnimRangedWeaponType.Shotgun;
3069
3071 return AnimRangedWeaponType.Rifle;
3072
3073 return AnimRangedWeaponType.None;
3074 }

◆ GetSlidePoseAngle()

float GetSlidePoseAngle ( )
inlineprotected
3625 {
3626 return GetDayZPlayerType().CommandMoveSettingsW().m_fSlidingPoseAngle;
3627 }

Перекрестные ссылки GetDayZPlayerType().

◆ GetSurfaceType()

string GetSurfaceType ( SurfaceAnimationBone limbType)
inlineprotected
3077 {
3078 string surfaceType;
3079 int liquidType;
3080
3081 g_Game.SurfaceUnderObjectByBone(this, limbType, surfaceType, liquidType);
3082
3083 return surfaceType;
3084 }
DayZGame g_Game
Definition DayZGame.c:3746

Перекрестные ссылки g_Game.

◆ GetThrowing()

DayZPlayerImplementThrowing GetThrowing ( )
inlineprotected
268 {
269 return m_Throwing;
270 }

Используется в ActionPossibilityCheck() и CanPlayEmote().

◆ GetTransportCache()

Transport GetTransportCache ( )
inlineprotected

Get the transport that was cached when entering unconsciousness.

512 {
513 return m_TransportCache;
514 }

◆ GetTypeOfDeath()

int GetTypeOfDeath ( int pCurrentCommandID)
inlineprotected
717 {
718 switch (pCurrentCommandID)
719 {
720 case DayZPlayerConstants.COMMANDID_SWIM:
721 return DayZPlayerConstants.DEATH_WATER;
722 case DayZPlayerConstants.COMMANDID_FALL:
723 return DayZPlayerConstants.DEATH_FALL;
724 case DayZPlayerConstants.COMMANDID_UNCONSCIOUS:
726 if (hcu)
727 {
728 if (hcu.IsOnLand())
729 return DayZPlayerConstants.DEATH_UNCON_ON_LAND;
730 if (hcu.IsInWater())
731 return DayZPlayerConstants.DEATH_UNCON_IN_WATER;
732 }
733
734 break;
735 }
736
737 return DayZPlayerConstants.DEATH_BODY;
738 }
Definition human.c:620

◆ GetWeaponManager()

◆ HandleADS()

void HandleADS ( )
inlineprotected

This is main command logic

artificial Auto-ADS delay

if !raised if sprinting

1746 {
1747 if (!IsAlive())
1748 {
1750 {
1751 ExitSights();
1752 }
1753 return;
1754 }
1755
1756 bool bADSToggle = false;
1757 bool exitSights = false;
1758 HumanInputController hic = GetInputController();
1761 PlayerBase playerPB = PlayerBase.Cast(this);
1763
1764 if (playerPB.IsRolling())
1765 {
1766 exitSights = true;
1767 }
1768
1769 if (m_ResetADS || (!hia.IsItemInHandsWeapon() && hic.WeaponADS()))
1770 {
1771 hic.ResetADS();
1772 m_ResetADS = false;
1773 }
1774
1775 if (!m_MovementState.IsRaised() || m_LiftWeapon_player)
1776 {
1778 exitSights = true;
1779 }
1780 else
1781 {
1782 if (m_bADS != hic.WeaponADS())
1783 {
1784 m_bADS = hic.WeaponADS();
1785 bADSToggle = true;
1786 }
1787
1789 {
1792 {
1793 bADSToggle = false;
1794 exitSights = true;
1795 }
1796 else
1797 {
1798 bADSToggle = true;
1799 }
1800 }
1801 }
1802
1803 if (bADSToggle && !GetCommand_Melee2() && !GetThrowing().IsThrowingModeEnabled())
1804 {
1805 if (hia.IsItemInHandsWeapon() && playerPB.GetItemInHands() && playerPB.GetItemInHands().IsWeapon() && playerPB.GetWeaponManager() && !playerPB.GetWeaponManager().IsRunning())
1806 {
1807 Weapon_Base weapon = Weapon_Base.Cast(GetHumanInventory().GetEntityInHands());
1808 ItemOptics optic = weapon.GetAttachedOptics();
1809 bool switchToADS = false;
1810 bool canUseIronsights = weapon.CanEnterIronsights();
1811 bool canUseOptics = optic != NULL;
1812
1815
1816 // go to ironsights - disable ironsights when
1819 if (!m_MovementState.IsRaised() || m_MovementState.m_iMovement == DayZPlayerConstants.MOVEMENTIDX_SPRINT)
1820 {
1821 switchToADS = false;
1822 }
1823
1824 // fixes camera switching during item transitions
1826 {
1827 exitSights = true;
1828 }
1829 else if (switchToADS) // enter ironsights or optics
1830 {
1831 // filter by usability
1833 {
1834 m_WasIronsight = false;
1835 }
1836 else if (!m_WasIronsight && !canUseOptics)
1837 {
1838 m_WasIronsight = true;
1839 }
1840
1841 if (m_WasIronsight)
1842 {
1843 hic.ResetFreeLookToggle();
1844 SwitchOptics(optic,false);
1845 SetIronsights(true);
1846 }
1847 else if (!m_WasIronsight || (!canUseIronsights && canUseOptics))
1848 {
1849 SetIronsights(false);
1850 SwitchOptics(optic,true);
1851 }
1852 else
1853 {
1854 exitSights = true;
1855 }
1856
1857 if (hcw && (m_CameraOptics/* || m_CameraIronsight*/))
1858 {
1859 hcw.SetADS(true);
1860 }
1861 }
1862 else
1863 {
1864 exitSights = true;
1865 }
1866 }
1867 }
1868
1869 // leave ironsight and/ or optics
1871 {
1872 ExitSights();
1873 }
1874 }
bool IsProcessing()
Definition DayZPlayerInventory.c:2385
bool IsWeaponRaiseCompleted()
Definition DayZPlayerImplement.c:888
bool IsFighting()
bool IsLiftWeapon()
bool m_ResetADS
Definition DayZPlayerImplement.c:166
void ResetWeaponRaiseProgress()
Definition DayZPlayerImplement.c:882
void ExitSights()
Definition DayZPlayerImplement.c:407
DayZPlayerImplementThrowing GetThrowing()
Definition DayZPlayerImplement.c:267
shorthand
Definition BoltActionRifle_Base.c:6
void HumanItemAccessor()
Definition humanitems.c:141

Перекрестные ссылки HumanItemAccessor(), IsProcessing() и m_MovementState.

◆ HandleDamageHit()

bool HandleDamageHit ( int pCurrentCommandID)
inlineprotected
1299 {
1300 // Update elapsed time since hit first
1301 if ( pCurrentCommandID == DayZPlayerConstants.COMMANDID_DAMAGE )
1302 {
1303 // Throttle heavy hit command up to a fixed rate
1305 {
1307 ResetDamageHitState(false);
1308 return false;
1309 }
1310 }
1311
1312 // If transportcache is not null, player is unconscious inside of a car and should not head into a damage command
1314 {
1316 if (m_DamageHitFullbody && (!vehCommand || vehCommand.IsGettingIn() || vehCommand.IsGettingOut()))
1317 {
1319 ResetDamageHitState(true);
1320 return true;
1321 }
1322 else
1323 {
1325 ResetDamageHitState(false);
1326 return false;
1327 }
1328 }
1329
1330 return pCurrentCommandID == DayZPlayerConstants.COMMANDID_DAMAGE;
1331 }
void ResetDamageHitState(bool resetTimer)
Definition DayZPlayerImplement.c:1333
float m_HitElapsedTime
Definition DayZPlayerImplement.c:1233
const float HIT_INTERVAL_MIN
Definition DayZPlayerImplement.c:1232
bool CommitedSuicide()
Definition DayZPlayerImplement.c:3648

◆ HandleDeath()

bool HandleDeath ( int pCurrentCommandID)
inlineprotected

Can't pull a body out of a car that is in water, don't need to handle that

player looks to be dead now, not unconscious

we don't want the vehicle to be haunted, re-possess the dead player so other players can use the vehicle

611 {
612 if (pCurrentCommandID == DayZPlayerConstants.COMMANDID_DEATH)
613 {
615 {
616 case -1:
617 break;
618 case 0:
620
621 PhysicsSetSolid(true);
622
626 Class.CastTo(callbackVeh.m_pPlayer, this);
627 break;
628 }
629
630 return true;
631 }
632
633 if (m_DeathAnimType != -2 && g_Game.GetMissionState() == g_Game.MISSION_STATE_GAME)
634 {
635 if (!CommitedSuicide())
636 {
637 int type = m_DeathAnimType;
638 if (type == DayZPlayerConstants.DEATH_DEFAULT)
640
641 m_WasInVehicle = false;
643 if (hcv)
644 {
645 m_TransportCache = hcv.GetTransport();
646 m_WasInVehicle = !hcv.IsGettingIn() && !hcv.IsGettingOut();
647 }
648
649 int seatIndex = -1;
651 {
652 seatIndex = m_TransportCache.CrewMemberIndex(this);
653 }
654
656 m_ShouldBeUnconscious = false;
657
660 {
661 if (IsUnconscious() || m_WasInVehicle)
662 {
663 keepInLocalSpace = true;
664 m_TransportCache.CrewDeath(seatIndex);
665 }
666 else
667 {
668 m_TransportCache.CrewGetOut(seatIndex);
669 }
670
671 m_TransportCache.MarkCrewMemberDead(seatIndex);
672
673 if (seatIndex == DayZPlayerConstants.VEHICLESEAT_DRIVER)
674 {
676
677#ifdef FEATURE_NETWORK_RECONCILIATION
678 PlayerIdentity identity = GetIdentity();
679
680 if (identity)
681 {
683 identity.Possess(this);
684 }
685#endif
686 }
687 }
688
689 DisableSimulation(false);
690 GetItemAccessor().HideItemInHands(false);
692
695 Class.CastTo(callback.m_pPlayer, this);
696 }
697 else
698 {
699 PhysicsSetRagdoll(true);
700 }
701
702 // disable voice communication
703 GetGame().GetWorld().SetVoiceOn(false, false);
704
705 return true;
706 }
707
708 return false;
709 }
Definition DayZPlayerImplement.c:11
int m_PullPlayerOutOfVehicleState
Definition DayZPlayerImplement.c:181
float m_DeathHitDir
Definition DayZPlayerImplement.c:507
bool m_PullPlayerOutOfVehicleKeepsInLocalSpace
Definition DayZPlayerImplement.c:180
int GetTypeOfDeath(int pCurrentCommandID)
Definition DayZPlayerImplement.c:716
bool m_ShouldBeUnconscious
Definition DayZPlayerImplement.c:149
int m_DeathAnimType
Definition DayZPlayerImplement.c:506
bool m_WasInVehicle
Definition DayZPlayerImplement.c:178
The class that will be instanced (moddable)
Definition gameplay.c:388

Перекрестные ссылки Class::CastTo(), g_Game и GetGame().

◆ HandleOptic()

void HandleOptic ( notnull ItemOptics optic,
bool inHands,
HumanInputController pInputs,
out bool pExitOptics )
inlineprotected
1136 {
1137 UAInterface input = GetInputInterface();
1138 if (!input)
1139 {
1140 return;
1141 }
1142
1144 int FOVcount;
1145 bool controllerPressIn;
1146 bool controllerPressOut;
1147
1148 if (input.SyncedPress_ID(UAZoomInOptics))
1149 {
1150 weapon = Weapon_Base.Cast(optic.GetHierarchyParent());
1151 FOVcount = optic.GetStepFOVCount();
1153
1155 {
1156 SetIronsights(false);
1157 SwitchOptics(optic,true);
1158 optic.SetStepFOVIndex(0);
1159 }
1160 else if (m_CameraOptics)
1161 {
1162 if (controllerPressIn) //controller
1163 {
1164 if (!optic.StepFOVUp())
1165 {
1166 if (FOVcount > 0)
1167 {
1168 optic.SetStepFOVIndex(0); //loop to minimum magnification
1169 }
1170
1171 if (weapon && weapon.CanEnterIronsights()) //loop into ironsights
1172 {
1173 SwitchOptics(optic,false);
1174 pInputs.ResetFreeLookToggle();
1175 SetIronsights(true);
1176 }
1177 }
1178 }
1179 else //m&k
1180 {
1181 optic.StepFOVUp();
1182 }
1183 }
1184 }
1185
1186 if (input.SyncedPress_ID(UAZoomOutOptics))
1187 {
1188 weapon = Weapon_Base.Cast(optic.GetHierarchyParent());
1189 FOVcount = optic.GetStepFOVCount();
1191 if (m_CameraOptics)
1192 {
1193 if (!optic.StepFOVDown())
1194 {
1196 {
1197 if (FOVcount > 0 && (!weapon || !weapon.CanEnterIronsights()))
1198 {
1199 optic.SetStepFOVIndex(FOVcount - 1); //loop to maximum magnification
1200 }
1201 }
1202
1203 if (weapon && weapon.CanEnterIronsights())
1204 {
1205 SwitchOptics(optic,false);
1206 pInputs.ResetFreeLookToggle();
1207 SetIronsights(true);
1208 }
1209 }
1210 }
1212 {
1213 SwitchOptics(optic,true);
1214 if (FOVcount > 0)
1215 {
1216 optic.SetStepFOVIndex(FOVcount - 1); //loop to maximum magnification
1217 }
1218 }
1219 }
1220 }
Definition UAInput.c:96

◆ HandleView()

void HandleView ( )
inlineprotected

3rd person camera

1877 {
1878 if (!IsAlive())
1879 {
1881 {
1882 ExitSights();
1883 }
1884 return;
1885 }
1886
1887 HumanInputController hic = GetInputController();
1888
1889 bool camChange = hic.CameraViewChanged();
1890
1891 if (IsRaised())
1892 {
1893 if (m_IsWeapon)
1894 {
1895 camChange = false;
1896 }
1897 }
1898
1900 if (GetGame().GetWorld().Is3rdPersonDisabled())
1901 {
1902 m_Camera3rdPerson = false;
1903 }
1904 else if (camChange)
1905 {
1907 }
1908
1909 // exits optics completely, comment to return to ADS
1911 ExitSights();
1912
1913 if (IsPlayerInStance(DayZPlayerConstants.STANCEMASK_RAISEDPRONE) && (m_CameraOptics || m_CameraIronsight))
1914 GetDayZPlayerType().SetVerticalMinimumAimLimit(DayZPlayerCameraIronsights.CONST_UD_MIN_BACK);
1915 else
1916 GetDayZPlayerType().SetVerticalMinimumAimLimit(DayZPlayerCameraIronsights.CONST_UD_MIN);
1917
1918 if (hic.IsZoomToggle() && !m_MovementState.IsRaised())
1919 {
1921 if ((IsClimbingLadder() && Math.AbsInt(m_MovementState.m_iMovement) == 2) || (IsSwimming() && m_MovementState.m_iMovement == 3))
1922 {
1924 }
1925 else if (!IsClimbingLadder() && !IsSwimming() && !IsInVehicle())
1926 {
1927 float pSpeed;
1929 hic.GetMovement(pSpeed ,pLocalDirection);
1930
1931 if (m_MovementState.m_iStanceIdx == DayZPlayerConstants.STANCEIDX_ERECT && pSpeed == 3)
1932 {
1934 }
1935 }
1936 }
1937 else
1938 {
1940 }
1941
1942 if (m_MovementState.IsRaisedInProne())
1943 {
1944 float headingAngle = MiscGameplayFunctions.GetHeadingAngle(this);
1947 float headingAngleDiff = 0.0;
1948
1949 if (m_LastHeadingAngle * headingAngle < 0.0)
1950 {
1952 }
1953 else
1954 {
1956 }
1957
1958 if (headingAngleDiff > 0.2)
1959 {
1960 int time = GetGame().GetTime();
1961
1962 float timefilterconstant = 400 - (headingAngleDiff * 100);
1963
1965 {
1966 float volume = headingAngleDiff / 0.5;
1967 if (volume > 1)
1968 {
1969 volume = 1;
1970 }
1971 if (volume < 0.25)
1972 {
1973 volume = 0.25;
1974 }
1975
1977 if (m_SoundOffset > 0.25)
1978 {
1979 m_SoundOffset = 0.25;
1980 }
1981
1982 string soundSetName = "Cloth_Body_longmove_TShirt_Soundset";
1983
1984 string bodyClothName = "";
1985 EntityAI attachment = GetInventory().FindAttachment(InventorySlots.BODY);
1986 if (attachment)
1987 {
1988 bodyClothName = attachment.GetAttachmentSoundType();
1989 }
1990
1991 if (bodyClothName != "")
1992 {
1993 string path = "CfgSoundTables CfgAttachmentSoundTables Cloth_Body_Longmove_LookupTable";
1994 int soundCount = GetGame().ConfigGetChildrenCount(path);
1995
1996 for (int i = 0; i < soundCount; i++)
1997 {
1998 string name = "";
1999 GetGame().ConfigGetChildName(path, i, name);
2000
2001 if (name == bodyClothName)
2002 {
2004 GetGame().ConfigGetTextArray(path + " " + name + " soundSets", stringArray);
2005 soundSetName = stringArray.Get(0);
2006
2007 delete stringArray;
2008 }
2009 }
2010 }
2011
2014
2015 if (soundObjectBuilder != NULL)
2016 {
2017 SoundObject soundObject = soundObjectBuilder.BuildSoundObject();
2018
2019 if (soundObject != NULL)
2020 {
2021 soundObject.SetPosition(GetPosition());
2022
2023 AbstractWave wave = GetGame().GetSoundScene().Play3D(soundObject, soundObjectBuilder);
2024 wave.SetStartOffset(m_SoundOffset);
2025 wave.SetVolumeRelative(volume);
2026
2027 m_LastBackSoundTime = GetGame().GetTime();
2029 }
2030 }
2031 }
2032
2034 {
2035 float volume2 = headingAngleDiff * 2;
2036 if (volume2 > 1)
2037 {
2038 volume2 = 1;
2039 }
2040
2042 if (m_SoundOffset < 0.1)
2043 {
2044 m_SoundOffset = 0.1;
2045 }
2046 if (m_SoundOffset > 0.3)
2047 {
2048 m_SoundOffset = 0.3;
2049 }
2050
2051 string soundSetName2 = "walkProne_noHS_asphalt_ext_Char_SoundSet";
2052 string surfaceType = GetSurfaceType();
2053
2054 if (surfaceType != "")
2055 {
2056 string movementSurfaceType = "walkProne_" + surfaceType;
2057
2058 string path2 = "CfgSoundTables CfgStepSoundTables walkProne_noHS_Char_LookupTable";
2059 int soundCount2 = GetGame().ConfigGetChildrenCount(path2);
2060
2061 for (int i2 = 0; i2 < soundCount2; i2++)
2062 {
2063 string name2 = "";
2064 GetGame().ConfigGetChildName(path2, i2, name2);
2065
2067 {
2069 GetGame().ConfigGetTextArray(path2 + " " + name2 + " soundSets", stringArray2);
2070 soundSetName2 = stringArray2.Get(0);
2071
2072 delete stringArray2;
2073 }
2074 }
2075 }
2076
2079
2081 {
2082 SoundObject soundObject2 = soundObjectBuilder2.BuildSoundObject();
2083
2084 if (soundObject2 != NULL)
2085 {
2086 soundObject2.SetPosition(GetPosition());
2087
2088 AbstractWave wave2 = GetGame().GetSoundScene().Play3D(soundObject2, soundObjectBuilder2);
2089 wave2.SetStartOffset(m_SoundOffset);
2090 wave2.SetVolumeRelative(volume2);
2091
2092 m_LastBackSoundTime2 = GetGame().GetTime();
2094 }
2095 }
2096 }
2097
2099 }
2100 }
2101 }
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
ECameraZoomType
Definition ECameraZoomType.c:2
string path
Definition OptionSelectorMultistate.c:135
class SoundObjectBuilder SoundObject(SoundParams soundParams)
void SoundObjectBuilder(SoundParams soundParams)
Definition Sound.c:119
float m_SoundOffset
Definition DayZPlayerImplement.c:2108
int m_LastBackSoundTime
Definition DayZPlayerImplement.c:2106
float m_LastHeadingAngleBlock2
Definition DayZPlayerImplement.c:2104
bool IsClimbingLadder()
Definition DayZPlayerImplement.c:482
bool IsSwimming()
Definition DayZPlayerImplement.c:477
float m_LastHeadingAngle
Definition DayZPlayerImplement.c:2105
string GetSurfaceType(SurfaceAnimationBone limbType)
Definition DayZPlayerImplement.c:3076
float m_LastHeadingAngleBlock
Definition DayZPlayerImplement.c:2103
bool IsInVehicle()
Definition DayZPlayerImplement.c:472
int m_LastBackSoundTime2
Definition DayZPlayerImplement.c:2107
Definition Sound.c:46
Definition Sound.c:101
bool IsPlayerInStance(int pStanceMask)
-------------— camera additiona functions ----------------------—
Definition dayzplayer.c:1296
array< string > TStringArray
Definition EnScript.c:685
static proto float AbsFloat(float f)
Returns absolute value.
static proto int AbsInt(int i)
Returns absolute value.

Перекрестные ссылки Math::AbsFloat(), Math::AbsInt(), GetDayZPlayerType(), GetGame(), GetPosition, IsPlayerInStance(), m_MovementState, name, path, SoundObject() и SoundObjectBuilder().

◆ HandleWeapons()

void HandleWeapons ( float pDt,
Entity pInHands,
HumanInputController pInputs,
out bool pExitIronSights )
inlineprotected

HandleWeapons

fire

969 {
971 GetDayZPlayerInventory().HandleWeaponEvents(pDt, pExitIronSights);
972
975 ItemOptics optic = weapon.GetAttachedOptics();
976
979
981
982 // hold breath
983 if (pInputs.IsHoldBreath() && m_MovementState.IsRaised() && (IsInIronsights() || IsInOptics()))
984 {
986 }
987 else
988 {
989 m_IsTryingHoldBreath = false;
990 }
991
992 if (pInputs.IsFireModeChange())
993 {
995 }
996 if (pInputs.IsZeroingUp())
997 {
998 if (optic && (optic.IsInOptics() || optic.IsUsingWeaponIronsightsOverride()))
999 {
1000 optic.StepZeroingUp();
1001 }
1002 else
1003 {
1004 weapon.StepZeroingUpAllMuzzles();
1005 }
1006 }
1007 if (pInputs.IsZeroingDown())
1008 {
1009 if (optic && (optic.IsInOptics() || optic.IsUsingWeaponIronsightsOverride()))
1010 {
1011 optic.StepZeroingDown();
1012 }
1013 else
1014 {
1015 weapon.StepZeroingDownAllMuzzles();
1016 }
1017 }
1018
1019 if (!m_LiftWeapon_player && (m_CameraIronsight || !weapon.CanEnterIronsights() || m_CameraOptics/*m_ForceHandleOptics*/)) // HACK straight to optics, if ironsights not allowed
1020 {
1021 if (optic)
1023 }
1024
1025 if (!m_MovementState.IsRaised())
1026 {
1027 m_IsFireWeaponRaised = false; //legacy reasons
1028 if (weapon && weapon.IsInOptics())
1029 {
1030 weapon.ExitOptics();
1031 }
1032
1034
1035 return; // if not raised => return
1036 }
1037 else
1038 {
1039 m_IsFireWeaponRaised = true; //legacy reasons
1041 {
1043 }
1044
1046 {
1048 }
1049 }
1050
1052 if (GetWeaponManager().CanFire(weapon))
1053 {
1054 bool autofire = weapon.GetCurrentModeAutoFire(weapon.GetCurrentMuzzle()) && weapon.IsChamberEjectable(weapon.GetCurrentMuzzle());
1055 int burst = weapon.GetCurrentModeBurstSize(weapon.GetCurrentMuzzle());
1056 int burst_count = weapon.GetBurstCount();
1057 if (!autofire && (burst < 2 || burst_count < 1))
1058 {
1059 if (pInputs.IsAttackButtonDown() && GetInputInterface().SyncedValue("UAWeaponMeleeAttack") == 0 && GetInputInterface().SyncedValue("UAHeavyMeleeAttack") == 0)
1060 {
1062 }
1063 }
1064 else if (autofire || burst > 1)
1065 {
1066#ifdef DIAG_DEVELOPER
1067 int burst_option = GetWeaponManager().GetBurstOption();
1068 if (burst_option == 0)
1069 {
1070#endif
1071 if (pInputs.IsAttackButton() && GetInputInterface().SyncedValue("UAWeaponMeleeAttack") == 0 && GetInputInterface().SyncedValue("UAHeavyMeleeAttack") == 0)
1072 {
1073 if (autofire || burst_count < burst)
1074 {
1076 }
1077 }
1078 else
1079 {
1080 weapon.ResetBurstCount();
1081 }
1082#ifdef DIAG_DEVELOPER
1083 }
1084 else if (burst_option == 1)
1085 {
1086 if (burst > 1 && burst_count == burst)
1087 {
1088 weapon.ResetBurstCount();
1089 }
1090 else if (burst > 1 && burst_count < burst)
1091 {
1093 }
1094 else
1095 {
1096 //Autofire
1097 if (pInputs.IsAttackButton())
1098 {
1100 }
1101 }
1102 }
1103#endif
1104 }
1105 }
1106
1107 #ifdef PLATFORM_CONSOLE
1108 if (GetGame().GetInput().LocalRelease("UAFire", false) || m_ShouldReload)
1109 {
1110 if (!weapon.IsWaitingForActionFinish() && !IsFighting())
1111 {
1112 int muzzle_index = weapon.GetCurrentMuzzle();
1113
1114 if (weapon.IsChamberFiredOut(muzzle_index))
1115 {
1116 if (weapon.CanProcessWeaponEvents())
1117 {
1118 if (GetWeaponManager().CanEjectBullet(weapon))
1119 {
1121 pExitIronSights = true;
1122 m_ShouldReload = false;
1123 }
1124 }
1125 }
1126 }
1127 else
1128 {
1129 m_ShouldReload = true;
1130 }
1131 }
1132 #endif
1133 }
ActionInput GetInput()
Definition ActionBase.c:1066
bool m_IsTryingHoldBreath
Definition DayZPlayerImplement.c:144
bool IsInIronsights()
Definition DayZPlayerImplement.c:302
WeaponManager GetWeaponManager()
Definition DayZPlayerImplement.c:962
bool m_ShouldReload
Definition DayZPlayerImplement.c:132
bool IsInOptics()
Definition DayZPlayerImplement.c:307
void CheckLiftWeapon()
void CompleteWeaponRaise()
Definition DayZPlayerImplement.c:876
void ProcessLiftWeapon()
bool m_IsFireWeaponRaised
Definition DayZPlayerImplement.c:3739
static const float WEAPON_RAISE_BLEND_DELAY
Definition PlayerConstants.c:3
Definition SyncedValue.c:2
bool SetNextMuzzleMode()
Definition WeaponManager.c:423
bool EjectBullet(ActionBase control_action=NULL)
Definition WeaponManager.c:386
void Fire(Weapon_Base wpn)
Definition WeaponManager.c:428

Перекрестные ссылки Class::CastTo(), GetGame(), GetInput(), m_MovementState и PlayerConstants::WEAPON_RAISE_BLEND_DELAY.

◆ HeadingModel()

override bool HeadingModel ( float pDt,
SDayZPlayerHeadingModel pModel )
inlineprotected

is replayed after correction when 'NetworkRewindType.REPLAY' is used

on ladder - do nothing

if it's standing from prone on back

1525 {
1526 if (!IsAlive())
1527 {
1528 return false;
1529 }
1530
1532
1534 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_LADDER)
1535 {
1537 return false;
1538 }
1539 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_VEHICLE)
1540 {
1542 if (hmv.IsGettingOut() || hmv.IsGettingIn())
1543 {
1545 }
1546
1548 return false;
1549 }
1550 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_UNCONSCIOUS)
1551 {
1553 if (!hcu.IsWakingUp())
1554 {
1556 //pModel.m_iCamMode = DayZPlayerConstants.CAMERAMODE_HEAD;
1557 return false;
1558 }
1559 }
1560
1561 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_CLIMB)
1562 {
1564 return false;
1565 }
1566
1567#ifdef DEVELOPER
1569 if (actMenuValue != 0)
1570 {
1573 }
1574#endif
1575
1576 if (m_MovementState.m_iStanceIdx == DayZPlayerConstants.STANCEIDX_RAISEDPRONE)
1577 {
1579 return false;
1580 }
1581
1583 if (m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_MOVE)
1584 {
1586 if (hcm.IsStandingFromBack())
1587 {
1589 return false;
1590 }
1591 }
1592
1594 HumanItemBehaviorCfg hibcfg = hia.GetItemInHandsBehaviourCfg();
1595 if (hibcfg && hibcfg.m_StanceRotation[m_MovementState.m_iStanceIdx] == DayZPlayerConstants.ROTATION_DISABLE)
1596 {
1598 }
1599 if (IsUnconscious() || (GetCommand_Move() && GetCommand_Move().IsLeavingUncon()))
1600 {
1602 }
1603
1605 }
float m_fLastHeadingDiff
Definition DayZPlayerImplement.c:1521
Definition DayZPlayerImplementHeading.c:11
static bool NoHeading(float pDt, SDayZPlayerHeadingModel pModel, out float pLastHeadingDiff)
Definition DayZPlayerImplementHeading.c:122
static bool ClampHeading(float pDt, SDayZPlayerHeadingModel pModel, out float pLastHeadingDiff)
Definition DayZPlayerImplementHeading.c:19
static bool RotateOrient(float pDt, SDayZPlayerHeadingModel pModel, out float pLastHeadingDiff)
Definition DayZPlayerImplementHeading.c:67
proto native bool IsLeavingUncon()
return true if character transitions out of uncon

Перекрестные ссылки DayZPlayerImplementHeading::ClampHeading(), DiagMenu::GetEngineValue(), HumanItemAccessor(), IsLeavingUncon(), m_MovementState, DayZPlayerImplementHeading::NoHeading() и DayZPlayerImplementHeading::RotateOrient().

◆ HideClothing()

void HideClothing ( ItemOptics optic,
bool state )
inlineprotected
2504{}

◆ IsAlreadyInFallingCommand()

bool IsAlreadyInFallingCommand ( int pCurrentCommandID)
inlineprotected
3608 {
3609 return pCurrentCommandID == DayZPlayerConstants.COMMANDID_FALL;
3610 }

◆ IsClimbingLadder()

bool IsClimbingLadder ( )
inlineprotected
483 {
484 return m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_LADDER;
485 }

Перекрестные ссылки m_MovementState.

Используется в CanPlayEmote().

◆ IsEyeZoom()

override bool IsEyeZoom ( )
inlineprotected

Legacy.

283 {
284 return GetEyeZoomLevel() > 0;
285 }
override int GetEyeZoomLevel()
Definition DayZPlayerImplement.c:287

Перекрестные ссылки GetEyeZoomLevel().

◆ IsFBSymptomPlaying()

bool IsFBSymptomPlaying ( )
inlineprotected
492 {
494 }
bool m_isFBsymptomPlaying
Definition DayZPlayerImplement.c:164

◆ IsFighting()

bool IsFighting ( )
protected

Используется в CanPlayEmote() и HandleInitialFirearmMelee().

◆ IsFireWeaponRaised()

bool IsFireWeaponRaised ( )
inlineprotected
323 {
325 if (m_MovementState)
326 return m_MovementState.IsRaised();
327
328 return false;
329 }

Перекрестные ссылки m_MovementState.

◆ IsHandheldOpticsInUse()

bool IsHandheldOpticsInUse ( )
inlineprotected
3700 {
3701 return m_HandheldOpticsInUse;
3702 }
bool m_HandheldOpticsInUse
Definition DayZPlayerImplement.c:165

◆ IsInFBEmoteState()

bool IsInFBEmoteState ( )
protected

Checks if fullbody animation or specific locked state is active in emote manager.

◆ IsInFullbodyDamageAnimation()

bool IsInFullbodyDamageAnimation ( )
inlineprotected
1236 {
1238 }

◆ IsInIronsights()

bool IsInIronsights ( )
inlineprotected
303 {
304 return m_CameraIronsight;
305 }

Используется в SelectCrossHair() и ScriptedWidgetEventHandler::Update().

◆ IsInOptics()

bool IsInOptics ( )
inlineprotected
308 {
309 return m_CameraOptics;
310 }

Используется в SelectCrossHair().

◆ IsInThirdPerson()

override bool IsInThirdPerson ( )
inlineprotected
313 {
314 return m_Camera3rdPerson;
315 }

◆ IsInVehicle()

bool IsInVehicle ( )
inlineprotected
473 {
474 return m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_VEHICLE || (GetParent() != null && GetParent().IsInherited(Transport));
475 }

Перекрестные ссылки GetParent() и m_MovementState.

◆ IsLanded()

bool IsLanded ( int pCurrentCommandID)
inlineprotected
3577 {
3578 if (pCurrentCommandID == DayZPlayerConstants.COMMANDID_FALL)
3579 {
3581
3582 if (fall)
3583 {
3584 return fall.PhysicsLanded();
3585 }
3586 }
3587
3588 return false;
3589 }

Перекрестные ссылки HumanCommandFall().

◆ IsLiftWeapon()

bool IsLiftWeapon ( )
protected

◆ IsPlayerSelected()

bool IsPlayerSelected ( )
inlineprotected
3634 {
3635 return m_PlayerSelected;
3636 }
bool m_PlayerSelected
Definition DayZPlayerImplement.c:146

Используется в ScriptedWidgetEventHandler::GetActionManager(), GetActionManager(), Update() и ScriptedWidgetEventHandler::Update().

◆ IsRaised()

bool IsRaised ( )
inlineprotected

◆ IsRestrained()

bool IsRestrained ( )
protected

Используется в CanPlayEmote() и Update().

◆ IsShootingFromCamera()

override bool IsShootingFromCamera ( )
inlineprotected
293 {
295 }

Используется в OnEmoteEnd() и StdFovUpdate().

◆ IsSprintFull()

bool IsSprintFull ( )
inlineprotected
337 {
338 return m_SprintFull;
339 }

Используется в HandleFightLogic().

◆ IsSwimming()

bool IsSwimming ( )
inlineprotected
478 {
479 return m_MovementState.m_CommandTypeId == DayZPlayerConstants.COMMANDID_SWIM;
480 }

Перекрестные ссылки m_MovementState.

Используется в CanPlayEmote().

◆ IsTryingHoldBreath()

bool IsTryingHoldBreath ( )
inlineprotected
332 {
334 }

◆ IsWeaponDebugEnabled()

bool IsWeaponDebugEnabled ( )
inlineprotected
354 {
355 return m_WeaponDebug != null;
356 }
ref WeaponDebug m_WeaponDebug
Definition DayZPlayerImplement.c:153

◆ IsWeaponRaiseCompleted()

bool IsWeaponRaiseCompleted ( )
inlineprotected
889 {
891 }

◆ LockControls()

void LockControls ( bool state)
inlineprotected
838 {
839 if (state == true)
840 {
841 GetGame().GetInput().ChangeGameFocus(1, INPUT_DEVICE_MOUSE);
842 GetGame().GetInput().ChangeGameFocus(1, INPUT_DEVICE_KEYBOARD);
843 GetGame().GetInput().ChangeGameFocus(1, INPUT_DEVICE_GAMEPAD);
844
845 if (GetGame().GetUIManager())
846 {
847 GetGame().GetUIManager().ShowUICursor(true);
848 if (GetGame().GetUIManager().IsDialogVisible())
849 GetGame().GetUIManager().CloseDialog();
850 }
851 }
852 else
853 {
854 GetGame().GetInput().ChangeGameFocus(-1, INPUT_DEVICE_MOUSE);
855 GetGame().GetInput().ChangeGameFocus(-1, INPUT_DEVICE_KEYBOARD);
856 GetGame().GetInput().ChangeGameFocus(-1, INPUT_DEVICE_GAMEPAD);
857
858 if (GetGame().GetUIManager())
859 {
860 if (GetGame().GetUIManager().GetMenu())
861 {
862 GetGame().GetUIManager().ShowUICursor(true);
863 }
864 else
865 {
866 GetGame().GetUIManager().ShowUICursor(false);
867 }
868 }
869 }
870 }
const int INPUT_DEVICE_MOUSE
Definition constants.c:24
const int INPUT_DEVICE_GAMEPAD
Definition constants.c:28
const int INPUT_DEVICE_KEYBOARD
Definition constants.c:23

Перекрестные ссылки GetGame(), INPUT_DEVICE_GAMEPAD, INPUT_DEVICE_KEYBOARD и INPUT_DEVICE_MOUSE.

◆ ModCommandHandlerAfter()

bool ModCommandHandlerAfter ( float pDt,
int pCurrentCommandID,
bool pCurrentCommandFinished )
inlineprotected
2128 {
2129 return false;
2130 }

◆ ModCommandHandlerBefore()

bool ModCommandHandlerBefore ( float pDt,
int pCurrentCommandID,
bool pCurrentCommandFinished )
inlineprotected

ModOverrides

2118 {
2119 return false;
2120 }

◆ ModCommandHandlerInside()

bool ModCommandHandlerInside ( float pDt,
int pCurrentCommandID,
bool pCurrentCommandFinished )
inlineprotected
2123 {
2124 return false;
2125 }

◆ OnInputForRemote()

override void OnInputForRemote ( ParamsReadContext ctx)
inlineprotected
900 {
901 int userDataType = 0;
902 if (!ctx.Read(userDataType))
903 {
904 Error("DayZPlayer: OnInputForRemote - cannot read input type");
905 return;
906 }
907
908 switch (userDataType)
909 {
911 GetDayZPlayerInventory().OnEventForRemoteWeapon(ctx);
912 break;
914 GetDayZPlayerInventory().OnHandEventForRemote(ctx);
915 break;
917 GetDayZPlayerInventory().OnInputUserDataForRemote(ctx);
918 break;
919 default:
920 Error("OnInputForRemote - unknown userDataType=" + userDataType);
921 break;
922 }
923 }
const int INPUT_UDT_INVENTORY
Definition _constants.c:9
const int INPUT_UDT_WEAPON_REMOTE_EVENT
Definition _constants.c:12
const int INPUT_UDT_HAND_REMOTE_EVENT
Definition _constants.c:14
void Error(string err)
Messagebox with error message.
Definition EnDebug.c:90

Перекрестные ссылки Error(), INPUT_UDT_HAND_REMOTE_EVENT, INPUT_UDT_INVENTORY и INPUT_UDT_WEAPON_REMOTE_EVENT.

◆ OnInputFromServer()

override void OnInputFromServer ( ParamsReadContext ctx)
inlineprotected
926 {
927 int userDataType = 0;
928 if (!ctx.Read(userDataType))
929 {
930 Error("DayZPlayer: OnInputFromServer - cannot read input type");
931 return;
932 }
933
934 switch (userDataType)
935 {
937 GetDayZPlayerInventory().OnServerInventoryCommand(ctx);
938 break;
939 default:
940 Error("OnInputFromServer - unknown userDataType=" + userDataType);
941 break;
942 }
943 }

Перекрестные ссылки Error() и INPUT_UDT_INVENTORY.

◆ OnInputUserDataProcess()

bool OnInputUserDataProcess ( int userDataType,
ParamsReadContext ctx )
inlineprotected
2894 {
2895 m_MeleeCombat.SetTargetObject(null);
2896 m_MeleeCombat.SetHitPos(vector.Zero);
2897 m_MeleeCombat.SetHitZoneIdx(-1);
2898 m_MeleeCombat.SetFinisherType(-1);
2899
2901 {
2903 if (ctx.Read(target))
2904 {
2905 m_MeleeCombat.SetTargetObject(target);
2906 }
2907
2909 if (ctx.Read(hitPos))
2910 {
2911 m_MeleeCombat.SetHitPos(hitPos);
2912 }
2913
2914 int hitZoneIdx = -1;
2915 if (ctx.Read(hitZoneIdx))
2916 {
2917 m_MeleeCombat.SetHitZoneIdx(hitZoneIdx);
2918 }
2919
2920 int finisherType = -1;
2921 if (ctx.Read(finisherType))
2922 {
2923 m_MeleeCombat.SetFinisherType(finisherType);
2924 }
2925
2926 return true;
2927 }
2928
2929 return false;
2930 }
const int INPUT_UDT_MELEE_TARGET
Definition _constants.c:6
static const vector Zero
Definition EnConvert.c:110

Перекрестные ссылки INPUT_UDT_MELEE_TARGET, m_MeleeCombat и vector::Zero.

◆ OnInputUserDataReceived()

void OnInputUserDataReceived ( ParamsReadContext ctx)
inlineprotected

Input userdata

2882 {
2883 int userDataTypeParam = 0;
2884 if (!ctx.Read(userDataTypeParam))
2885 {
2886 Error("DayZPlayerImplement: cannot read input type");
2887 return;
2888 }
2889
2891 }
bool OnInputUserDataProcess(int userDataType, ParamsReadContext ctx)
Definition DayZPlayerImplement.c:2893

Перекрестные ссылки Error() и OnInputUserDataProcess().

◆ OnItemInHandsChanged()

override void OnItemInHandsChanged ( )
inlineprotected
950 {
951 //Print("inv: DayZPlayerImplement::OnItemInHandsChanged: "/* + GetHumanInventory().GetEntityInHands()*/);
953 GetItemAccessor().OnItemInHandsChanged();
954
955 if (!IsAlive())
956 {
957 //Print("inv: DayZPlayerImplement::OnItemInHandsChanged - human not alive! calling ResetWeaponInHands");
958 GetItemAccessor().ResetWeaponInHands();
959 }
960 }
void StopWeaponEvent()
Definition DayZPlayerImplement.c:1731

Используется в Execute(), NetSyncCurrentStateID(), OnAfterStoreLoad() и TurnItemIntoItemLambda::OnSuccess().

◆ OnJumpEnd()

void OnJumpEnd ( int pLandType = 0)
inlineprotected
1723 {
1724 }

◆ OnJumpStart()

void OnJumpStart ( )
inlineprotected
1719 {
1720 }

◆ OnLadder()

void OnLadder ( float delta_time,
HumanMovementState pState )
protected

called every command handler tick when player is on ladder

◆ OnLand()

bool OnLand ( int pCurrentCommandID,
FallDamageData fallDamageData )
inlineprotected
3592 {
3593 if (pCurrentCommandID == DayZPlayerConstants.COMMANDID_FALL)
3594 {
3596
3597 if (fall)
3598 {
3599 fall.Land(fallDamageData.m_LandType);
3600 return true;
3601 }
3602 }
3603
3604 return false;
3605 }

Перекрестные ссылки HumanCommandFall().

◆ OnMovementChanged()

void OnMovementChanged ( )
inlineprotected

Event, called when HumanMovementState.m_iMovement changes...walk, run, sprint, etc..

2789 {
2790 switch (m_MovementState.m_LocalMovement)
2791 {
2792 case DayZPlayerConstants.MOVEMENTIDX_CROUCH_RUN:
2793 {
2794 //OnCrouchRunEnd();
2795 break;
2796 }
2797 case DayZPlayerConstants.MOVEMENTIDX_SPRINT:
2798 {
2799 OnSprintEnd();
2800 break;
2801 }
2802 case DayZPlayerConstants.MOVEMENTIDX_RUN:
2803 {
2804 //OnRunEnd();
2805 break;
2806 }
2807 case DayZPlayerConstants.MOVEMENTIDX_WALK:
2808 {
2809 //OnWalkEnd();
2810 break;
2811 }
2812 case DayZPlayerConstants.MOVEMENTIDX_IDLE:
2813 {
2814 //OnIdleEnd();
2815 break;
2816 }
2817 case DayZPlayerConstants.MOVEMENTIDX_SLIDE:
2818 {
2819 //OnSlideEnd();
2820 break;
2821 }
2822 }
2823
2824 switch (m_MovementState.m_iMovement)
2825 {
2826 case DayZPlayerConstants.MOVEMENTIDX_CROUCH_RUN:
2827 {
2828 //OnCrouchRunStart();
2829 break;
2830 }
2831 case DayZPlayerConstants.MOVEMENTIDX_SPRINT:
2832 {
2833 OnSprintStart();
2834 break;
2835 }
2836 case DayZPlayerConstants.MOVEMENTIDX_RUN:
2837 {
2838 //OnRunStart();
2839 break;
2840 }
2841 case DayZPlayerConstants.MOVEMENTIDX_WALK:
2842 {
2843 //OnWalkStart();
2844 break;
2845 }
2846 case DayZPlayerConstants.MOVEMENTIDX_IDLE:
2847 {
2848 //OnIdleStart();
2849 break;
2850 }
2851 case DayZPlayerConstants.MOVEMENTIDX_SLIDE:
2852 {
2853 //OnSlideStart();
2854 break;
2855 }
2856 }
2857 }
void OnSprintStart()
Definition DayZPlayerImplement.c:2859
void OnSprintEnd()
Definition DayZPlayerImplement.c:2868

Перекрестные ссылки m_MovementState.

◆ OnParticleEvent()

void OnParticleEvent ( string pEventType,
string pUserString,
int pUserInt )
inlineprotected
3263 {
3264
3265 }

◆ OnSoundEvent()

void OnSoundEvent ( string pEventType,
string pUserString,
int pUserInt )
inlineprotected
3230 {
3231 if (pEventType == "Sound")
3232 {
3234 }
3235 else if (pEventType == "SoundWeapon")
3236 {
3238 }
3239 else if (pEventType == "SoundAttachment")
3240 {
3242 }
3243 else if (pEventType == "SoundVoice")
3244 {
3245 if (GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_CLIENT || GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_REMOTE)
3246 {
3247 int event_id = m_PlayerSoundEventHandler.ConvertAnimIDtoEventID(pUserInt);
3248 if (event_id > 0)
3249 {
3251 return;
3252 }
3253 }
3255 }
3256 else
3257 {
3258 Debug.Log("OnSoundEvent: Unknown sound event \"" + pEventType + "\"");
3259 }
3260 }
void ProcessAttachmentEvent(string pEventType, string pUserString, int pUserInt)
Definition DayZPlayerImplement.c:3322
AbstractWave ProcessVoiceEvent(string pEventType, string pUserString, int pUserInt)
Definition DayZPlayerImplement.c:3425
void ProcessSoundEvent(string pEventType, string pUserString, int pUserInt)
Definition DayZPlayerImplement.c:3386
ref PlayerSoundEventHandler m_PlayerSoundEventHandler
Definition DayZPlayerImplement.c:125
void ProcessWeaponEvent(string pEventType, string pUserString, int pUserInt)
Definition DayZPlayerImplement.c:3268
bool PlaySoundEvent(EPlayerSoundEventID id, bool from_anim_system=false, bool is_from_server=false)
Definition DayZPlayerImplement.c:488
Definition Debug.c:14
static void Log(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
Prints debug message with normal prio.
Definition Debug.c:136

Перекрестные ссылки GetInstanceType() и Debug::Log().

◆ OnSprintEnd()

void OnSprintEnd ( )
inlineprotected
2869 {
2870 if (GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_CLIENT)
2871 {
2872 GetUApi().GetInputByID(UALeanLeft).Unlock();
2873 GetUApi().GetInputByID(UALeanRight).Unlock();
2874 }
2875 }

Перекрестные ссылки GetInstanceType() и GetUApi().

◆ OnSprintStart()

void OnSprintStart ( )
inlineprotected
2860 {
2861 if (GetInstanceType() == DayZPlayerInstanceType.INSTANCETYPE_CLIENT)
2862 {
2863 GetUApi().GetInputByID(UALeanLeft).Lock();
2864 GetUApi().GetInputByID(UALeanRight).Lock();
2865 }
2866 }

Перекрестные ссылки GetInstanceType() и GetUApi().

◆ OnStepEvent()

void OnStepEvent ( string pEventType,
string pUserString,
int pUserInt )
inlineprotected

Event Processing

3113 {
3117
3118 #ifndef SERVER
3119 DayZPlayerTypeStepSoundLookupTable table = type.GetStepSoundLookupTable();
3121 if (pUserInt < 100)
3122 {
3123 string surface;
3124 if (pUserInt % 2 == 1)
3125 {
3126 surface = GetSurfaceType(SurfaceAnimationBone.LeftBackLimb);
3127 if (surface.Length() == 0)//if no surface found, try other leg
3128 surface = GetSurfaceType(SurfaceAnimationBone.RightBackLimb);
3129 }
3130 else
3131 {
3132 surface = GetSurfaceType(SurfaceAnimationBone.RightBackLimb);
3133 if (surface.Length() == 0)//if no surface found, try other leg
3134 surface = GetSurfaceType(SurfaceAnimationBone.LeftBackLimb);
3135 }
3136
3137 if (surface.Length() != 0)
3138 m_LastSurfaceUnderHash = surface.Hash();
3139
3140 soundBuilder = table.GetSoundBuilder(pUserInt, state.m_iMovement, m_LastSurfaceUnderHash, GetBootsType());
3141 }
3142 else
3143 {
3144 string surface2 = GetSurfaceType();
3145 if (surface2.Length() != 0)
3147
3148 soundBuilder = table.GetSoundBuilder(pUserInt, state.m_iMovement, m_LastSurfaceUnderHash, GetBootsType());
3149 }
3150
3151 if (soundBuilder != NULL && GetGame().GetPlayer())
3152 {
3153 vector orientation = Vector(0, 0, 0);
3154 vector edgeLength = Vector(1.5, 3.0, 1.5);
3157
3159 {
3160 for (int i = 0; i < collidedObjects.Count(); ++i)
3161 {
3162 string objectClass = collidedObjects.Get(i).GetType();
3163
3164 if (objectClass.Contains("BushSoft") || objectClass.Contains("BushHard"))
3165 {
3166 for (int j = 0; j < type.GetVegetationSounds().Count(); ++j)
3167 {
3168 VegetationSound vegetationSound = type.GetVegetationSounds().Get(j);
3169
3170 if (vegetationSound.GetAnimEventIds().Find(pUserInt) >= 0)
3171 {
3173 SoundObject vegSoundObject = vegetationSound.GetSoundObjectBuilder().BuildSoundObject();
3174
3175 if (vegSoundObject != NULL)
3176 {
3179 }
3180
3181 break;
3182 }
3183 }
3184
3185 break;
3186 }
3187 }
3188 }
3189
3190 SoundObject soundObject = soundBuilder.BuildSoundObject();
3191 if (soundObject != NULL)
3192 {
3195 }
3196 }
3197 #endif
3198
3199 if (GetGame().IsServer())
3200 {
3201 m_StepCounter++;//move outside of server condition if needed on client as well
3202
3203 float noiseMultiplier = 0;
3204
3206 if (state.m_iStanceIdx == DayZPlayerConstants.STANCEIDX_ERECT || state.m_iStanceIdx == DayZPlayerConstants.STANCEIDX_RAISEDERECT)
3207 noiseParams = type.GetNoiseParamsStand();
3208 else if (state.m_iStanceIdx == DayZPlayerConstants.STANCEIDX_CROUCH || state.m_iStanceIdx == DayZPlayerConstants.STANCEIDX_RAISEDCROUCH)
3209 noiseParams = type.GetNoiseParamsCrouch();
3210 else if (state.m_iStanceIdx == DayZPlayerConstants.STANCEIDX_PRONE || state.m_iStanceIdx == DayZPlayerConstants.STANCEIDX_RAISEDPRONE)
3211 noiseParams = type.GetNoiseParamsProne();
3212 else
3213 {
3214 Debug.Log(string.Format("Wrong stance, id: %1 using backup with stand stance (id: 0)", state.m_iStanceIdx));
3215 noiseParams = type.GetNoiseParamsStand();
3216 }
3217
3219
3221
3223 {
3225 }
3226 }
3227 }
void PlaySound()
Definition HungerSoundHandler.c:38
@ Count
Definition RandomGeneratorSyncManager.c:7
int m_StepCounter
Definition DayZPlayerImplement.c:167
void AttenuateSoundIfNecessary(SoundObject soundObject)
Definition DayZPlayerImplement.c:3679
void ProcessFeetDamageServer(int pUserInt)
AnimBootsType GetBootsType()
Definition DayZPlayerImplement.c:2955
Definition dayzplayer.c:147
Definition human.c:1126
Definition SensesAIEvaluate.c:2
static float GetNoiseMultiplier(DayZPlayerImplement playerImplement)
Definition SensesAIEvaluate.c:5
static const int CHECK_EVERY_N_STEP
Definition PlayerConstants.c:16
Definition dayzplayer.c:191
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
proto native int Hash()
Returns hash of string.
proto native int Length()
Returns length of string.

Перекрестные ссылки AddNoise(), PlayerConstants::CHECK_EVERY_N_STEP, Count, DayZPlayerType(), GetDayZPlayerType(), GetGame(), NoiseAIEvaluate::GetNoiseMultiplier(), GetPlayer(), GetPosition, string::Hash(), string::Length(), Debug::Log(), NoiseParams(), PlaySound(), SoundObject() и Vector().

◆ OnSyncJuncture()

void OnSyncJuncture ( int pJunctureID,
ParamsReadContext pCtx )
inlineprotected

SyncJunctures

2937 {
2938 switch (pJunctureID)
2939 {
2941 if (m_DeathAnimType == -2)
2943 break;
2944
2948 {
2949 m_SyncedHitDataArray.Insert(data);
2950 }
2951 break;
2952 }
2953 }
static bool ReadDeathParams(ParamsReadContext pCtx, out int pType, out float pHitDir)
Definition DayZPlayerSyncJunctures.c:73
static bool ReadDamageHitParamsEx(ParamsReadContext pCtx, out SyncHitInfo pData)
Definition DayZPlayerSyncJunctures.c:131
static const int SJ_DAMAGE_HIT
Definition DayZPlayerSyncJunctures.c:6
static const int SJ_DEATH
Definition DayZPlayerSyncJunctures.c:18

Перекрестные ссылки DayZPlayerSyncJunctures::ReadDamageHitParamsEx(), DayZPlayerSyncJunctures::ReadDeathParams(), DayZPlayerSyncJunctures::SJ_DAMAGE_HIT и DayZPlayerSyncJunctures::SJ_DEATH.

◆ OnVariablesSynchronized()

override void OnVariablesSynchronized ( )
inlineprotected
601 {
602 if (m_TriggerPullPlayerOutOfVehicleSynch && !GetGame().IsDedicatedServer())
603 {
605 }
606
607 super.OnVariablesSynchronized();
608 }
void TriggerPullPlayerOutOfVehicleImpl()
Definition DayZPlayerImplement.c:580
bool m_TriggerPullPlayerOutOfVehicleSynch
Definition DayZPlayerImplement.c:179

Перекрестные ссылки GetGame().

◆ OverrideShootFromCamera()

void OverrideShootFromCamera ( bool pState)
inlineprotected
298 {
300 }

Используется в EmoteBase::OnBeforeStandardCallbackCreated() и OnEmoteEnd().

◆ OverrideSlidePoseAngle()

void OverrideSlidePoseAngle ( float value)
inlineprotected

movement sliding override, originally for FB gestures

3614 {
3615 if (!m_MoveSettings)
3616 m_MoveSettings = GetDayZPlayerType().CommandMoveSettingsW();
3617 if (m_MoveSettings.m_fSlidingPoseAngle != value)
3618 {
3619 m_MoveSettings.m_fSlidingPoseAngle = value;
3620 StartCommand_Move(); //nescessary, re-initializes with adjusted values
3621 }
3622 }
SHumanCommandMoveSettings m_MoveSettings
Definition DayZPlayerImplement.c:126

Перекрестные ссылки GetDayZPlayerType().

◆ PlaySound()

AbstractWave PlaySound ( SoundObject so,
SoundObjectBuilder sob )
inlineprotected

Sounds

3092 {
3093 if (so == null)
3094 return null;
3095
3096 so.SetPosition(GetPosition());
3097 AbstractWave wave = GetGame().GetSoundScene().Play3D(so, sob);
3098 return wave;
3099 }

Перекрестные ссылки GetGame() и GetPosition.

◆ PlaySoundEvent()

bool PlaySoundEvent ( EPlayerSoundEventID id,
bool from_anim_system = false,
bool is_from_server = false )
inlineprotected

◆ PlaySoundEventEx()

bool PlaySoundEventEx ( EPlayerSoundEventID id,
bool from_anim_system = false,
bool is_from_server = false,
int param = 0 )
inlineprotected
489{};

Используется в PlaySound().

◆ ProcessAttachmentEvent()

void ProcessAttachmentEvent ( string pEventType,
string pUserString,
int pUserInt )
inlineprotected
3323 {
3325 DayZPlayerTypeAttachmentSoundLookupTable table = type.GetAttachmentSoundLookupTable();
3326
3328 pUserString.Split(",", attachments);
3329 for (int i = 0; i < attachments.Count(); i++)
3330 {
3331 int attachmentHash = -1;
3332 if (attachments[i] == "shoulder")
3334 else if (attachments[i] == "body")
3336 else if (attachments[i] == "back")
3338
3340
3341 if (soundBuilder != NULL)
3342 {
3343 SoundObject soundObject = soundBuilder.BuildSoundObject();
3344 if (soundObject != NULL)
3345 {
3348 }
3349 }
3350 }
3351 }
AnimUpperBodyType GetBodyAttachmentType()
Definition DayZPlayerImplement.c:2973
AnimRangedWeaponType GetShoulderAttachmentType()
Definition DayZPlayerImplement.c:3026
AnimBackType GetBackAttachmentType()
Definition DayZPlayerImplement.c:3004
Definition dayzplayer.c:171

Перекрестные ссылки DayZPlayerType(), GetDayZPlayerType(), PlaySound() и SoundObject().

◆ ProcessFeetDamageServer()

void ProcessFeetDamageServer ( int pUserInt)
protected

◆ ProcessLiftWeapon()

void ProcessLiftWeapon ( )
protected

◆ ProcessSoundEvent()

void ProcessSoundEvent ( string pEventType,
string pUserString,
int pUserInt )
inlineprotected
3387 {
3389 DayZPlayerTypeAnimTable table = type.GetSoundTable();
3391 if (table)
3392 {
3393 soundEvent = table.GetSoundEvent(pUserInt);
3394 }
3395
3396 if (soundEvent != NULL)
3397 {
3398 if (!GetGame().IsDedicatedServer())
3399 {
3400 SoundObjectBuilder objectBuilder = soundEvent.GetSoundBuilder();
3401 if (GetCommand_Ladder())
3402 {
3404 }
3405 objectBuilder.AddEnvSoundVariables(GetPosition());
3406
3407 SoundObject soundObject = objectBuilder.BuildSoundObject();
3408 if (soundObject != NULL)
3409 {
3412 }
3413 }
3414
3415 if (GetGame().IsServer())
3416 {
3417 if (soundEvent.m_NoiseParams != NULL)
3418 GetGame().GetNoiseSystem().AddNoise(this, soundEvent.m_NoiseParams);
3419 }
3420 }
3421 }
void SetVariablesLadderSoundObjectBuilder(SoundObjectBuilder soundObjectBuilder)
Definition DayZPlayerImplement.c:3353

Перекрестные ссылки DayZPlayerType(), GetDayZPlayerType(), GetGame(), GetPosition, PlaySound() и SoundObject().

◆ ProcessVoiceEvent()

AbstractWave ProcessVoiceEvent ( string pEventType,
string pUserString,
int pUserInt )
inlineprotected
3426 {
3427 #ifdef SERVER//none of this code needs to run on server, ifdef put here rather than before the method call to maintain mod compatibility
3428 return null;
3429 #endif
3431 DayZPlayerTypeVoiceSoundLookupTable table = type.GetVoiceSoundLookupTable();
3432 if (!table)
3433 return null;
3435 EntityAI mask = GetInventory().FindAttachment(InventorySlots.MASK);
3436 EntityAI head_gear = GetInventory().FindAttachment(InventorySlots.HEADGEAR);
3437
3438 string category;
3439 if (mask || head_gear)
3440 {
3441 string category_mask;
3442 string category_headgear;
3443
3444 int priority_mask;
3446
3447 if (mask)
3448 {
3449 category_mask = mask.ConfigGetString("soundVoiceType");
3450 priority_mask = mask.ConfigGetInt("soundVoicePriority");
3451 }
3452 if (head_gear)
3453 {
3454 category_headgear = head_gear.ConfigGetString("soundVoiceType");
3455 priority_headgear = head_gear.ConfigGetInt("soundVoicePriority");
3456 }
3457
3459 {
3461 }
3462 else
3463 {
3465 }
3466 }
3467
3468 if (category == "")
3469 {
3470 category = "none";
3471 }
3472
3473 SoundObjectBuilder soundBuilder = table.GetSoundBuilder(pUserInt, category.Hash());
3474
3475 if (soundBuilder)
3476 {
3477 PlayerBase player = PlayerBase.Cast(this);
3478 //this code block looks super shady, but it's the only way the sounds play correctly, god knows what's going on on c++ side
3479 int maleVoiceType = 0;
3480 int femaleVoiceType = 0;
3481 if (player.IsMale())
3482 {
3483 maleVoiceType = player.GetVoiceType();
3484 }
3485 else
3486 {
3487 femaleVoiceType = player.GetVoiceType();
3488 }
3489
3490 soundBuilder.AddVariable("male", maleVoiceType);
3491 soundBuilder.AddVariable("female", femaleVoiceType);
3492
3493 // end of weirdness
3494 SoundObject soundObject = soundBuilder.BuildSoundObject();
3495 if (soundObject != NULL)
3496 {
3499 }
3500
3501 }
3502
3503 return wave;
3504 }
Definition DayZPlayerCfgSounds.c:168

Перекрестные ссылки DayZPlayerType(), GetDayZPlayerType(), PlaySound() и SoundObject().

Используется в Play().

◆ ProcessWeaponEvent()

void ProcessWeaponEvent ( string pEventType,
string pUserString,
int pUserInt )
inlineprotected
3269 {
3272
3273 float quantity = 0;
3274
3275 EntityAI entityInHands = GetHumanInventory().GetEntityInHands();
3276 if (entityInHands && entityInHands.IsInherited(ItemBase))
3277 {
3278 ItemBase item;
3280 if (item.HasQuantity())
3281 quantity = (float)item.GetQuantity() / (item.GetQuantityMax() - item.GetQuantityMin());
3282 InventoryItemType invItemType = item.GetInventoryItemType();
3283 soundEvent = invItemType.GetSoundEvent(pUserInt);
3284 }
3285
3286 if (soundEvent == null)
3287 {
3288 quantity = 0;
3289 soundEvent = type.GetSoundWeaponEvent(pUserInt);
3290 }
3291
3292 if (soundEvent != null)
3293 {
3294 if (!GetGame().IsDedicatedServer())
3295 {
3297 if (builder)
3298 {
3299 builder.AddVariable("quantity", quantity);
3300 builder.AddVariable("interior", IsSoundInsideBuilding());
3301
3302 SoundObject soundObject = builder.BuildSoundObject();
3303 if (soundObject != NULL)
3304 {
3307 }
3308 }
3309 else
3310 {
3311 //TODO:Userful error message
3312 }
3313 }
3314
3315 if (GetGame().IsServer())
3316 {
3317 AddNoise(soundEvent.m_NoiseParams);
3318 }
3319 }
3320 }
int m_ActionSoundCategoryHash
Definition DayZPlayerImplement.c:182
Definition InventoryItemType.c:2
Definition EnConvert.c:97

Перекрестные ссылки AddNoise(), Class::CastTo(), DayZPlayerType(), GetDayZPlayerType(), GetGame(), PlaySound() и SoundObject().

◆ RequestSoundEvent()

void RequestSoundEvent ( EPlayerSoundEventID id,
bool from_server_and_client = false )
protected

◆ RequestSoundEventEx()

void RequestSoundEventEx ( EPlayerSoundEventID id,
bool from_server_and_client = false,
int param = 0 )
protected

Используется в DrowningMdfr::PlayDrowningSound().

◆ ResetDamageHitState()

void ResetDamageHitState ( bool resetTimer)
inlineprotected
1334 {
1336 m_DamageHitFullbody = false;
1337
1338 if (resetTimer)
1339 {
1340 m_HitElapsedTime = 0;
1341 }
1342 }

◆ ResetDeathStartTime()

void ResetDeathStartTime ( )
inlineprotected
712 {
714 }
proto native void ResetDeathCooldown()

Перекрестные ссылки ResetDeathCooldown().

◆ ResetWeaponRaiseProgress()

void ResetWeaponRaiseProgress ( )
inlineprotected
883 {
886 }

◆ RunADSTimer()

void RunADSTimer ( )
protected

◆ SendCompleteWeaponRaiseJuncture()

void SendCompleteWeaponRaiseJuncture ( )
protected

◆ SendDeathJuncture()

void SendDeathJuncture ( int pAnimTypeDeath,
float pAnimHitDirDeath )
inlineprotected
741 {
743 return;
744
746 m_DeathJuctureSent = true;
747 }
bool m_DeathJuctureSent
Definition DayZPlayerImplement.c:508
static void SendDeath(DayZPlayer pPlayer, int pType, float pHitDir)
Definition DayZPlayerSyncJunctures.c:64

Перекрестные ссылки DayZPlayerSyncJunctures::SendDeath().

◆ SendSoundEvent()

void SendSoundEvent ( EPlayerSoundEventID id)
protected

◆ SendSoundEventEx()

void SendSoundEventEx ( EPlayerSoundEventID id,
int param = 0 )
protected

◆ SetClimbingLadderType()

void SetClimbingLadderType ( string value)
inlineprotected
463 {
465 }
string m_ClimbingLadderType
Definition DayZPlayerImplement.c:163

◆ SetCurrentWaterLevel()

override void SetCurrentWaterLevel ( float pWaterLevel)
inlineprotected
369 {
371 }

Используется в DayZPlayerImplementSwimming::HandleSwimming().

◆ SetDeathDarknessLevel()

void SetDeathDarknessLevel ( float duration,
float tick_time )
protected

◆ SetFallYDiff()

void SetFallYDiff ( float value)
inlineprotected
359 {
361 }

◆ SetHandheldOpticsInUse()

void SetHandheldOpticsInUse ( bool state)
inlineprotected
3695 {
3697 }

◆ SetIronsights()

void SetIronsights ( bool value)
inlineprotected
374 {
375 Weapon_Base weapon = Weapon_Base.Cast(GetHumanInventory().GetEntityInHands());
376 if (weapon)
377 {
379 }
380
382
383 if (value)
384 {
386 if (hcw)
387 {
388 hcw.SetADS(true);
389 }
390 }
391 }

◆ SetIsInThirdPerson()

void SetIsInThirdPerson ( bool state)
inlineprotected
318 {
320 }

◆ SetOptics()

void SetOptics ( bool value)
inlineprotected
394 {
396
397 if (value)
398 {
400 if (hcw)
401 {
402 hcw.SetADS(!IsHandheldOpticsInUse());
403 }
404 }
405 }

◆ SetReturnToOptics()

void SetReturnToOptics ( bool state)
protected

◆ SetSuicide()

void SetSuicide ( bool state)
inlineprotected
3644 {
3645 m_Suicide = state;
3646 }

Используется в CommitSuicide() и EmoteBase::OnCallbackEnd().

◆ SetVariablesLadderSoundObjectBuilder()

void SetVariablesLadderSoundObjectBuilder ( SoundObjectBuilder soundObjectBuilder)
inlineprotected
3354 {
3355 if (m_ClimbingLadderType == "wood")
3356 {
3357 soundObjectBuilder.AddVariable("laddertype", 1);
3358 }
3359 else
3360 {
3361 soundObjectBuilder.AddVariable("laddertype", 0);
3362 }
3363
3365
3366 if (pBoots == AnimBootsType.None)
3367 {
3368 soundObjectBuilder.AddVariable("bare", 1);
3369 soundObjectBuilder.AddVariable("sneakers", 0);
3370 soundObjectBuilder.AddVariable("boots", 0);
3371 }
3372 else if (pBoots == AnimBootsType.Sneakers)
3373 {
3374 soundObjectBuilder.AddVariable("bare", 0);
3375 soundObjectBuilder.AddVariable("sneakers", 1);
3376 soundObjectBuilder.AddVariable("boots", 0);
3377 }
3378 else if (pBoots == AnimBootsType.Boots)
3379 {
3380 soundObjectBuilder.AddVariable("bare", 0);
3381 soundObjectBuilder.AddVariable("sneakers", 0);
3382 soundObjectBuilder.AddVariable("boots", 1);
3383 }
3384 }

◆ ShowDeadScreen()

void ShowDeadScreen ( bool show,
float duration )
inlineprotected
757 {
758 #ifndef NO_GUI
759 if (show && IsPlayerSelected())
760 {
761 #ifdef PLATFORM_PS4
763 #endif
764
765 string message = "";
766 if (!GetGame().GetMission().IsPlayerRespawning())
767 {
768 message = "#dayz_implement_dead";
769 }
770
771 #ifdef PLATFORM_CONSOLE
772 GetGame().GetUIManager().ScreenFadeIn(duration, message, FadeColors.DARK_RED, FadeColors.WHITE);
773 #else
774 GetGame().GetUIManager().ScreenFadeIn(duration, message, FadeColors.BLACK, FadeColors.WHITE);
775 #endif
776 }
777 else
778 {
779 GetGame().GetUIManager().ScreenFadeOut(duration);
780
781 if (duration > 0)
782 GetGame().GetCallQueue(CALL_CATEGORY_GUI).CallLater(StopDeathDarkeningEffect, duration*1000, false);
783 else
785 }
786 #endif
787 }
bool IsPlayerSelected()
Definition DayZPlayerImplement.c:3633
override void StopDeathDarkeningEffect()
Definition DayZPlayerImplement.c:789
Definition OnlineServices.c:2
static void SetMultiplayState(bool state)
Definition OnlineServices.c:517
const int CALL_CATEGORY_GUI
Definition tools.c:9

Перекрестные ссылки CALL_CATEGORY_GUI, GetGame() и OnlineServices::SetMultiplayState().

◆ ShowWeaponDebug()

void ShowWeaponDebug ( bool show)
inlineprotected
342 {
343 if (show)
344 {
346 }
347 else
348 {
350 }
351 }
Definition WeaponDebug.c:12

◆ SimulateDeath()

void SimulateDeath ( bool state)
inlineprotected
799 {
800 if (g_Game.GetMissionState() != DayZGame.MISSION_STATE_GAME)
801 return;
802
804
805 if (state)
806 {
808 if (m_KilledByHeadshot)
809 {
810 duration = 0;
811 }
812
814 {
817
819 m_DeathEffectTimer.Run(DYING_PROGRESSION_TIME, this, "SetDeathDarknessLevel", par, true);
820 }
821
823
824 GetGame().GetSoundScene().SetSoundVolume(0,0);
825 GetGame().GetSoundScene().SetSpeechExVolume(0,0);
826 GetGame().GetSoundScene().SetMusicVolume(0,0);
827 GetGame().GetSoundScene().SetVOIPVolume(0,0);
828 GetGame().GetSoundScene().SetRadioVolume(0,0);
829 }
830 else
831 {
834 }
835 }
static const float DEFAULT_DYING_TIME
DEPRECATED.
Definition DayZPlayerImplement.c:113
ref DeathEffectTimer m_DeathEffectTimer
Definition DayZPlayerImplement.c:154
static const float DYING_PROGRESSION_TIME
how long does it take to full death screen [s]
Definition DayZPlayerImplement.c:114
void ShowDeadScreen(bool show, float duration)
Definition DayZPlayerImplement.c:756
bool m_IsUnconscious
Definition DayZPlayerImplement.c:148
void LockControls(bool state)
Definition DayZPlayerImplement.c:837

Перекрестные ссылки g_Game и GetGame().

◆ StopADSTimer()

void StopADSTimer ( )
protected

◆ StopDeathDarkeningEffect()

override void StopDeathDarkeningEffect ( )
inlineprotected
790 {
791 if (m_DeathEffectTimer && m_DeathEffectTimer.IsRunning())
792 {
793 m_DeathEffectTimer.Stop();
795 }
796 }

◆ StopHandEvent()

void StopHandEvent ( )
inlineprotected
1727 {
1728 GetDayZPlayerInventory().CancelHandEvent();
1729 }

◆ StopWeaponEvent()

void StopWeaponEvent ( )
inlineprotected
1732 {
1733 GetDayZPlayerInventory().CancelWeaponEvent();
1734 }

◆ SwitchOptics()

void SwitchOptics ( ItemOptics optic,
bool state )
inlineprotected
437 {
438 if (optic)
439 {
440 if (state)
441 {
442 if (optic.HasEnergyManager())
443 optic.GetCompEM().SwitchOn();
444 optic.EnterOptics();
445 optic.OnOpticEnter();
446 }
447 else
448 {
449 optic.ExitOptics();
450 optic.OnOpticExit();
451 if (optic.HasEnergyManager())
452 optic.GetCompEM().SwitchOff();
453 }
454 }
455
456 if (m_CameraOptics != state)
457 {
459 }
460 }

◆ TriggerPullPlayerOutOfVehicle()

void TriggerPullPlayerOutOfVehicle ( )
inlineprotected

we don't want the vehicle to be haunted, re-possess the dead player so other players can use the vehicle

532 {
533 if (!GetGame().IsServer())
534 {
535 return;
536 }
537
540 {
541 return;
542 }
543
544 int crewIdx = -1;
545 for (int i = 0; i < transport.CrewSize(); ++i)
546 {
547 if (transport.CrewMember(i) == this)
548 {
549 crewIdx = i;
550 break;
551 }
552 }
553
554 if (crewIdx == -1)
555 {
556 return;
557 }
558
559 transport.CrewGetOut(crewIdx);
561
562 if (crewIdx == DayZPlayerConstants.VEHICLESEAT_DRIVER)
563 {
565
566#ifdef FEATURE_NETWORK_RECONCILIATION
567 PlayerIdentity identity = GetIdentity();
568
569 if (identity)
570 {
572 identity.Possess(this);
573 }
574#endif
575 }
576
577 SetSynchDirty();
578 }

Перекрестные ссылки Class::CastTo(), GetGame() и GetParent().

◆ TriggerPullPlayerOutOfVehicleImpl()

void TriggerPullPlayerOutOfVehicleImpl ( )
inlineprotected

Reset the cooldown so simulation doesn't automatically get re-disabled

Synced to re-enable simulation on client as the death processing sets disable simulation to local only

Handle own client animation freeze

581 {
584
586 DisableSimulation(false);
587
588 switch (GetInstanceType())
589 {
590 case DayZPlayerInstanceType.INSTANCETYPE_SERVER:
591 case DayZPlayerInstanceType.INSTANCETYPE_CLIENT:
592 case DayZPlayerInstanceType.INSTANCETYPE_AI_SERVER:
593 case DayZPlayerInstanceType.INSTANCETYPE_AI_SINGLEPLAYER:
596 break;
597 }
598 }

Перекрестные ссылки GetInstanceType() и ResetDeathCooldown().

Поля

◆ DEAD_SCREEN_DELAY

const int DEAD_SCREEN_DELAY = 1000
staticprivate

◆ DEFAULT_DYING_TIME

const float DEFAULT_DYING_TIME = 2.5
staticprivate

DEPRECATED.

◆ DYING_PROGRESSION_TIME

const float DYING_PROGRESSION_TIME = 0.05
staticprivate

how long does it take to full death screen [s]

◆ HIT_INTERVAL_MIN

const float HIT_INTERVAL_MIN = 0.3
protected

◆ m_ActionSoundCategoryHash

int m_ActionSoundCategoryHash
protected

◆ m_ADSAutomationTimer

ref Timer m_ADSAutomationTimer
protected

◆ m_ADSTimerLaunched

bool m_ADSTimerLaunched
protected

◆ m_AimingFinisherStarted

bool m_AimingFinisherStarted = false
protected

◆ m_AimingModel

ref DayZPlayerImplementAiming m_AimingModel
protected

◆ m_bADS

bool m_bADS
protected

◆ m_Camera3rdPerson

bool m_Camera3rdPerson
protected

◆ m_CameraEyeZoom

bool m_CameraEyeZoom
protected

◆ m_CameraEyeZoomLevel

ECameraZoomType m_CameraEyeZoomLevel
protected

◆ m_CameraIronsight

bool m_CameraIronsight
protected

◆ m_CameraOptics

bool m_CameraOptics
protected

◆ m_CameraZoomToggle

bool m_CameraZoomToggle
protected

◆ m_ClimbingLadderType

string m_ClimbingLadderType
protected

◆ m_ContinueFirearmMelee

bool m_ContinueFirearmMelee
protected

◆ m_CurrentWaterLevel

float m_CurrentWaterLevel
private

◆ m_DamageHealth

float m_DamageHealth = 0.0
protected

◆ m_DamageHitAnimType

int m_DamageHitAnimType = -1.0
protected

◆ m_DamageHitDir

float m_DamageHitDir = 0.0
protected

◆ m_DamageHitFullbody

bool m_DamageHitFullbody = false
protected

HandleDamageHit

◆ m_DeathAnimType

int m_DeathAnimType = -2
protected

HandleDeath

◆ m_DeathDarkeningCurrentTime

float m_DeathDarkeningCurrentTime
protected

◆ m_DeathEffectTimer

ref DeathEffectTimer m_DeathEffectTimer
protected

◆ m_DeathHitDir

float m_DeathHitDir = 0
protected

◆ m_DeathJuctureSent

bool m_DeathJuctureSent = false
protected

◆ m_DebugDirectionVal

float m_DebugDirectionVal = -180
protected

VKOSTIK - tady dat 0 misto -1.

◆ m_DebugTypeVal

bool m_DebugTypeVal = false
protected

◆ m_DebugWeaponChangeItem

string m_DebugWeaponChangeItem
protected

◆ m_DebugWeaponChangeShowSlot

int m_DebugWeaponChangeShowSlot
protected

◆ m_DebugWeaponChangeStage

int m_DebugWeaponChangeStage = 0
protected

◆ m_dT

float m_dT
protected

◆ m_FallDamage

ref DayZPlayerImplementFallDamage m_FallDamage
protected

◆ m_FallYDiff

float m_FallYDiff
protected

◆ m_FightEndBlendTimer

ref Timer m_FightEndBlendTimer
protected

◆ m_fLastHeadingDiff

float m_fLastHeadingDiff = 0
protected

This HeadingModel

◆ m_HandheldOpticsInUse

bool m_HandheldOpticsInUse
protected

◆ m_HitElapsedTime

float m_HitElapsedTime = HIT_INTERVAL_MIN
protected

◆ m_isFBsymptomPlaying

bool m_isFBsymptomPlaying
protected

◆ m_IsFireWeaponRaised

bool m_IsFireWeaponRaised
protected

◆ m_IsRaised

bool m_IsRaised
protected

◆ m_IsShootingFromCamera

bool m_IsShootingFromCamera
protected

◆ m_IsTryingHoldBreath

bool m_IsTryingHoldBreath
protected

◆ m_IsUnconscious

bool m_IsUnconscious
protected

◆ m_IsUnconsciousFalling

bool m_IsUnconsciousFalling
protected

◆ m_IsWeapon

bool m_IsWeapon
protected

◆ m_JumpClimb

ref DayZPlayerImplementJumpClimb m_JumpClimb
protected

◆ m_LastBackSoundTime

int m_LastBackSoundTime
protected

◆ m_LastBackSoundTime2

int m_LastBackSoundTime2
protected

◆ m_LastCommandBeforeUnconscious

int m_LastCommandBeforeUnconscious
protected

◆ m_LastHeadingAngle

float m_LastHeadingAngle
protected

◆ m_LastHeadingAngleBlock

float m_LastHeadingAngleBlock
protected

◆ m_LastHeadingAngleBlock2

float m_LastHeadingAngleBlock2
protected

◆ m_LastSurfaceUnderHash

int m_LastSurfaceUnderHash
protected

◆ m_LiftWeapon_player

bool m_LiftWeapon_player
protected

◆ m_MeleeCombat

ref DayZPlayerImplementMeleeCombat m_MeleeCombat
protected

◆ m_MeleeFightLogic

ref DayZPlayerMeleeFightLogic_LightHeavy m_MeleeFightLogic
protected

◆ m_MovementState

ref HumanMovementState m_MovementState = new HumanMovementState()
private

time step for gradual update of dead screen visibilibty up to full visbility [s]

cached ptr for movement state

◆ m_MoveSettings

SHumanCommandMoveSettings m_MoveSettings
protected

◆ m_NextVoNNoiseTime

int m_NextVoNNoiseTime
protected

◆ m_PlayerSelected

bool m_PlayerSelected
protected

◆ m_PlayerSoundEventHandler

ref PlayerSoundEventHandler m_PlayerSoundEventHandler
protected

◆ m_ProcessFirearmMeleeHit

bool m_ProcessFirearmMeleeHit
protected

◆ m_ProcessLiftWeapon

bool m_ProcessLiftWeapon
protected

◆ m_ProcessLiftWeaponState

bool m_ProcessLiftWeaponState
protected

◆ m_ProcessWeaponRaiseCompleted

bool m_ProcessWeaponRaiseCompleted
protected

◆ m_PullPlayerOutOfVehicleKeepsInLocalSpace

bool m_PullPlayerOutOfVehicleKeepsInLocalSpace = false
protected

◆ m_PullPlayerOutOfVehicleState

int m_PullPlayerOutOfVehicleState = -1
protected

◆ m_RaiseStarted

bool m_RaiseStarted = false
protected

◆ m_ResetADS

bool m_ResetADS
protected

◆ m_ShouldBeUnconscious

bool m_ShouldBeUnconscious
protected

◆ m_ShouldReload

bool m_ShouldReload
protected

◆ m_SoundOffset

float m_SoundOffset
protected

◆ m_SprintedTime

float m_SprintedTime
protected

◆ m_SprintedTimePerStanceMin

float m_SprintedTimePerStanceMin
protected

◆ m_SprintFull

bool m_SprintFull
protected

◆ m_StepCounter

int m_StepCounter
protected

◆ m_Suicide

bool m_Suicide
protected

◆ m_Swimming

ref DayZPlayerImplementSwimming m_Swimming
protected

◆ m_SyncedHitDataArray

ref array<ref SyncHitInfo> m_SyncedHitDataArray
protected

◆ m_TestDamageCounter

float m_TestDamageCounter = -1
protected

This is Debug functionality

◆ m_Throwing

ref DayZPlayerImplementThrowing m_Throwing
protected

◆ m_TransportCache

Transport m_TransportCache
protected

◆ m_TriggerPullPlayerOutOfVehicleSynch

bool m_TriggerPullPlayerOutOfVehicleSynch
protected

◆ m_UnconsciousDebug

bool m_UnconsciousDebug
protected

◆ m_WasInVehicle

bool m_WasInVehicle
private

◆ m_WasIronsight

bool m_WasIronsight
protected

◆ m_WeaponDebug

ref WeaponDebug m_WeaponDebug
protected

◆ m_WeaponRaiseCompleted

bool m_WeaponRaiseCompleted
protected

measures time from the weapon raise start to complete raise (once per)

◆ m_WeaponRaiseTime

float m_WeaponRaiseTime
private

Объявления и описания членов класса находятся в файле: