PC Stable Documentation
 
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Loading...
Searching...
No Matches
Hand_Events.c File Reference

Data Structures

class  HandEventBase
 Abstracted event, not to be used, only inherited. More...
 
class  HandEventRemove
 
class  HandEventSwap
 
class  HandEventReplaceWithNewBase
 
class  HandEventDestroyAndReplaceWithNew
 

Variables

 JUNCTURE_NOT_REQUIRED
 
 JUNCTURE_ACQUIRED
 
 JUNCTURE_DENIED
 
 ERROR
 
enum  HandEventID {
  UNKNOWN , TAKE , MOVETO , DROP ,
  THROW , SWAP , FORCESWAP , DESTROY ,
  CREATED , DESTROYED , REPLACE , REPLACE2 ,
  REPLACE3 , REPLACED , HUMANCOMMAND_ACTION_FINISHED , HUMANCOMMAND_ACTION_ABORTED ,
  ANIMEVENT_CHANGE_HIDE
}
 events More...
 
enum  JunctureRequestResult
 
 m_EventID = 0
 
int m_AnimationID = -1
 
DayZPlayer m_Player
 
ref InventoryLocation m_Src
 
bool m_IsJuncture
 
bool m_IsRemote
 
void HandEventBase (Man p=null, InventoryLocation src=null)
 
HandEventID GetEventID ()
 
bool IsAuthoritative ()
 
bool IsOwner ()
 
bool IsProxy ()
 
void ReadFromContext (ParamsReadContext ctx)
 
void WriteToContext (ParamsWriteContext ctx)
 
InventoryLocation GetSrc ()
 
EntityAI GetSrcEntity ()
 
EntityAI GetSecondSrcEntity ()
 
InventoryLocation GetDst ()
 
int GetAnimationID ()
 
bool AcquireInventoryJunctureFromServer (notnull Man player)
 
bool CheckRequest ()
 
bool CheckRequestEx (InventoryValidation validation)
 
bool CanPerformEvent ()
 
bool CanPerformEventEx (InventoryValidation validation)
 
bool CheckRequestSrc ()
 
bool IsServerSideOnly ()
 
static HandEventBase HandEventFactory (HandEventID id, Man p=null, InventoryLocation src=null)
 
static HandEventBase CreateHandEventFromContext (ParamsReadContext ctx)
 
string DumpToString ()
 
bool ReserveInventory ()
 
void ClearInventoryReservation ()
 
HandEventBase HandAnimEventFactory (WeaponEvents type, Man p=null, InventoryLocation src=null)
 

Enumeration Type Documentation

◆ HandEventID

events

identifier for events mainly for rpc purposes

Enumerator
UNKNOWN 
TAKE 
MOVETO 
DROP 
THROW 
SWAP 

swapping from ground

FORCESWAP 
DESTROY 
CREATED 
DESTROYED 
REPLACE 
REPLACE2 
REPLACE3 
REPLACED 
HUMANCOMMAND_ACTION_FINISHED 
HUMANCOMMAND_ACTION_ABORTED 
ANIMEVENT_CHANGE_HIDE 

◆ JunctureRequestResult

Function Documentation

◆ AcquireInventoryJunctureFromServer()

bool AcquireInventoryJunctureFromServer ( notnull Man  player)

◆ CanPerformEvent()

bool CanPerformEvent ( )

◆ CanPerformEventEx()

bool CanPerformEventEx ( InventoryValidation  validation)

◆ CheckRequest()

bool CheckRequest ( )

◆ CheckRequestEx()

bool CheckRequestEx ( InventoryValidation  validation)

Do not check for action validity on remotes or when performing through juncture. Juncture locks guarentee the item is safe to interact with and the server has validated the command at this point. Checking at this point is both wasteful and can result in a failure which leads to desync

References HandEventBase::CheckRequest(), InventoryValidation::m_IsJuncture, and InventoryValidation::m_IsRemote.

◆ CheckRequestSrc()

bool CheckRequestSrc ( )

Referenced by PlayerCheckRequestSrc().

◆ ClearInventoryReservation()

void ClearInventoryReservation ( )

◆ CreateHandEventFromContext()

◆ DumpToString()

◆ GetAnimationID()

int GetAnimationID ( )

References m_AnimationID.

◆ GetDst()

◆ GetEventID()

◆ GetSecondSrcEntity()

EntityAI GetSecondSrcEntity ( )

◆ GetSrc()

◆ GetSrcEntity()

◆ HandAnimEventFactory()

HandEventBase HandAnimEventFactory ( WeaponEvents  type,
Man  p = null,
InventoryLocation  src = null 
)

Referenced by HandleInventory().

◆ HandEventBase()

void HandEventBase ( Man  p = null,
InventoryLocation  src = null 
)

References Class::CastTo(), m_Player, and m_Src.

◆ HandEventFactory()

◆ IsAuthoritative()

bool IsAuthoritative ( )

References m_Player.

Referenced by HandEventRemove::CheckRequestEx().

◆ IsOwner()

bool IsOwner ( )

◆ IsProxy()

◆ IsServerSideOnly()

bool IsServerSideOnly ( )

◆ ReadFromContext()

void ReadFromContext ( ParamsReadContext  ctx)

◆ ReserveInventory()

◆ WriteToContext()

Variable Documentation

◆ ERROR

@ ERROR

◆ JUNCTURE_ACQUIRED

JUNCTURE_ACQUIRED

◆ JUNCTURE_DENIED

JUNCTURE_DENIED

◆ JUNCTURE_NOT_REQUIRED

JUNCTURE_NOT_REQUIRED

◆ m_AnimationID

int m_AnimationID = -1

Referenced by GetAnimationID(), and WriteToContext().

◆ m_EventID

◆ m_IsJuncture

bool m_IsJuncture

For action guards. Although we can guarantee the item will exist for remotes and juncture, we can't guarantee the conditions will be the same as when the action was first performed. So therefore we only perform maximal checks on the Client and then Server but then do minimal checks on Juncture-Client and Juncture-Server and no checks on Remote-Client.

◆ m_IsRemote

bool m_IsRemote

◆ m_Player

m_Player

Referenced by _GetSelectedActions(), ActionManagerBase(), ActionPossibilityCheck(), ActionManagerClient::ActionStart(), Activate(), VomitStuffedMdfr::ActivateCondition(), BleedingSourcesManagerBase::AddBleedingSource(), AddModifier(), AfterStoreLoad(), AnalyticsRegisterStat(), AnalyticsSetState(), ApplyDrynessToItemEx(), ApplyWetnessToItem(), BleedingSource(), BodyPartHeatProperties(), BodyPartHeatProperties(), HandGuardBase::BotGuardHasItemInHands(), CalcTemperatureFromTemperatureSource(), PluginBase::CalcTemperatureFromTemperatureSource(), CalculateBreadCrumbs(), CalculateEyeAcco(), CalculateLinePointFade(), CanFight(), ActionManagerClient::CanPerformActionFromInventory(), ActionManagerClient::CanPerformActionFromQuickbar(), HandEventBase::CanPerformEvent(), HandEventSwap::CanPerformEvent(), HandEventBase::CanPerformEventEx(), HandEventRemove::CanPerformEventEx(), CanPlayEmote(), ActionManagerClient::CanSetActionFromInventory(), Catching(), ChainedDropAndKillPlayerLambda(), CheckAllowUpdate(), HandEventBase::CheckAndExecuteForceStandUp(), Managed::CheckBlood(), CheckEmoteLockedState(), Managed::CheckHealth(), ScriptedWidgetEventHandler::CheckRefresherFlagVisibility(), HandEventBase::CheckRequest(), HandEventSwap::CheckRequest(), HandEventRemove::CheckRequestEx(), HandEventBase::CheckRequestSrc(), CheckUnderRoof(), CheckValue(), CheckWaterContact(), ClearInventoryReservation(), HandEventBase::ClearInventoryReservation(), ClearSurrenderState(), CollectAndSetPlayerData(), CommitSuicide(), ConstructData(), CopyOldPropertiesToNew(), CreateBleedingEffect(), CreateEmoteCallback(), CreateParticle(), CrossHairSelector(), DamageHands(), DayZPlayerImplementFallDamage(), Deactivate(), DetermineEmoteData(), DetermineHeatcomfortBehavior(), InjurySoundHandlerBase::DetermineInjuryZone(), EmoteBase::DetermineOverride(), DigestAgents(), MessageReceiverBase::DisplayElementBase(), DisplayState(), PluginBase::DrawDebugs(), DumpToString(), HandEventBase::DumpToString(), EmoteCondition(), EmoteBase::EmoteCondition(), EmoteManager(), EmoteStartOverride(), EmptySeedsPackLambda(), End(), Environment(), EvaluateFinisherAttack(), EvaluateHit_Common(), EvaluateHit_NonAlignableObjects(), EvaluateHit_Player(), Execute(), ActionManagerClient::FindActionItem(), ActionManagerClient::FindContextualUserActions(), FloatingCrossHair(), GatherSurfaces(), GatherTemperatureSources(), ScriptedWidgetEventHandler::GetActionManager(), GetActionManager(), ScriptedWidgetEventHandler::GetActions(), GetApplicableHeatbuffer(), GetAttackTypeByWeaponAttachments(), GetAttackTypeFromInputs(), ScriptedWidgetEventHandler::GetCrosshairPosition(), GetDebugMessage(), WetMdfr::GetDebugText(), HeatComfortMdfr::GetDebugText(), UnconsciousnessMdfr::GetDebugText(), HeatComfortMdfr::GetDebugTextSimple(), HandEventBase::GetDst(), ScriptedWidgetEventHandler::GetEntityInHands(), GetEnvironmentTemperature(), BleedingSourcesManagerBase::GetMostSignificantBleedingSource(), GetOverrideLevel(), GetPlayer(), ItemOptics::GetPlayer(), ScriptedWidgetEventHandler::GetPlayer(), GetPositionRandomized(), GetPositionReal(), BloodRegenMdfr::GetRegenModifierEnergy(), BloodRegenMdfr::GetRegenModifierWater(), GetZone(), HandGuardBase::GuardCondition(), HandEventBase(), HandGuardBase::HandGuardCanForceSwap(), HandGuardBase::HandGuardCanMove(), HandGuardBase::HandGuardCanSwap(), HandGuardBase::HandGuardHasDestroyedItemInHands(), HandGuardBase::HandGuardHasItemInEvent(), HandGuardBase::HandGuardHasItemInHands(), HandGuardBase::HandGuardHasRoomForItem(), HandGuardBase::HandGuardInstantForceSwap(), HandGuardBase::HandGuardIsSameItemInHands(), HandleComboHit(), HandleFallDamage(), HandleFightLogic(), HandleHitEvent(), HandleInitialFirearmMelee(), HandleInitialMeleeErc(), HandleProneKick(), HandleSprintAttack(), HandGuardBase::HandSelectAnimationOfForceSwapInHandsEvent(), HandGuardBase::HandSelectAnimationOfMoveFromHandsEvent(), ActionManagerClient::HasHandInventoryReservation(), HideItemInHands(), Init(), PlayerSoundManagerBase::Init(), Managed::Init(), Init(), HumanCommandActionCallback::Init(), Init(), InitBase(), InitEx(), InjectDamageSystemValues(), InjuryAnimationHandler(), ActionManagerClient::InputsUpdate(), InterruptWaterCheck(), IsAuthoritative(), IsChildOfType(), SymptomBase::IsContaminationActive(), IsInsideBuilding(), IsOwner(), IsProxy(), IsShortDistance(), KillPlayer(), LogSuicide(), MapNavigationBehaviour(), ModifiersManager(), MoveEquipToExistingItemAndDestroyOldRootLambda(), NotifiersManager(), HandStateBase::OnAbort(), OnActionEnd(), MorphineMdfr::OnActivate(), PainKillersMdfr::OnActivate(), SymptomBase::OnAnimationStart(), EmoteBase::OnBeforeStandardCallbackCreated(), EmoteBase::OnCallbackEnd(), MorphineMdfr::OnDeactivate(), PainKillersMdfr::OnDeactivate(), OnEmoteEnd(), PlayerSoundEventBase::OnEnd(), HandStartAction::OnEntry(), HandStateBase::OnEntry(), HandStateBase::OnExit(), HumanCommandActionCallback::OnFinish(), SymptomBase::OnGetActivatedClient(), SymptomBase::OnGetActivatedServer(), SymptomBase::OnGetDeactivatedClient(), SymptomBase::OnGetDeactivatedServer(), OnInputUserDataProcess(), ActionManagerServer::OnInputUserDataProcess(), BleedingSourcesManagerBase::OnStoreSave(), ReplaceWithNewReciveCargoLambda::OnSuccess(), ChainedDropAndRestrainLambda::OnSuccess(), OnSuccess(), TurnItemIntoItemLambda::OnSuccess(), BleedingSourcesManagerBase::OnTick(), OnTick(), PoisoningMdfr::OnTick(), CholeraMdfr::OnTick(), SalmonellaMdfr::OnTick(), PainKillersMdfr::OnTick(), PluginBase::OnUpdate(), OnUpdateClient(), OnUpdateServer(), BleedingSourcesManagerBase::OnVariablesSynchronized(), HeadGear_Base::OnWasAttached(), ActionManagerClient::PerformActionFromInventory(), ActionManagerClient::PerformActionFromQuickbar(), ActionManagerClient::PerformActionStart(), SmptAnimMetaBase::Play(), Play(), UndergroundBunkerHandlerClient::PlayAmbientSound(), PlayAmbientSound(), DrowningMdfr::PlayDrowningSound(), PlayEmote(), PlayerLightManager(), PluginBase::PlayerList(), PlayerSoundEventHandler(), PlayerStomach(), PlayReplaceSound(), PlayRequestEx(), PlaySound(), InjurySoundHandlerBase::PlaySound(), PlaySurrenderInOut(), PostSurrenderRequestServer(), ActionManagerClient::ProcessActionInputEnd(), ActionManagerClient::ProcessActionRequestEnd(), ProcessEyeAcco(), ProcessHeatBuffer(), ProcessHeatComfort(), BleedingSourcesManagerBase::ProcessHit(), ProcessItemsDryness(), ProcessItemsInHandsTemperature(), ProcessItemsTemperature(), ProcessItemsWetness(), ProcessNutrients(), PluginBase::ProcessUniversalTemperatureSources(), ScriptedWidgetEventHandler::ProjectedCrosshair(), Pulling(), RemotePlayerStatDebug(), BleedingSourcesManagerBase::RemoveAnyBleedingSource(), BleedingSourcesManagerBase::RemoveBleedingSource(), ReplaceSoundEventHandler(), ActionManagerServer::RequestInterruptAction(), PluginBase::RequestUniversalTemperatureSources(), ReserveInventory(), HandEventBase::ReserveInventory(), SelectCrossHair(), SelectEvent(), ReplaceSoundEventBase::SelectSoundID(), SendEvent(), Managed::SendInitValues(), SendRPC(), SendValue(), Managed::SendValue(), ServerRequestEmoteCancel(), Set(), ActionManagerClient::SetActionFromInventory(), ScriptedWidgetEventHandler::SetActionWidget(), SetAreaGenericColdness(), SetEmoteLockState(), SetHeatcomfortDirectly(), ScriptedWidgetEventHandler::SetItemDesc(), Trigger::SetParentOwner(), ItemOptics::SetPlayer(), SetProcessedItemTemperature(), SetUndergroundPresence(), ScriptedWidgetEventHandler::SetWeaponModeAndZeroing(), ShowItemInHands(), SpookyTriggerEventsHandler(), ActionManagerServer::StartDeliveredAction(), StartSourceBleedingIndication(), StopAmbientSound(), StopSourceBleedingIndication(), Synchronize(), TakeFireplaceFromBarrelLambda(), TakeFireplaceFromIndoorLambda(), TakeOvenFromIndoorLambda(), Tick(), HeatBufferMdfr::Tick(), Tick(), Managed::TransferValues(), UndergroundHandlerClient(), Update(), InjurySoundHandlerBase::Update(), PlayerSoundManagerBase::Update(), StaminaSoundHandlerBase::Update(), ScriptedWidgetEventHandler::Update(), Update(), Update(), SmptAnimMetaADD::Update(), Update(), ActionManagerClient::Update(), ActionManagerServer::Update(), UpdatePlayerStatsValues(), UpdatePossibleActions(), PluginBase::UpdateStatWidget(), VirtualHud(), WriteToContext(), ~BleedingSource(), BleedingSourcesManagerBase::~BleedingSourcesManagerServer(), HeadGear_Base::~BurlapSackCover(), and SmptAnimMetaBase::~SmptAnimMetaFB().

◆ m_Src