Dayz Explorer 1.29.162510
Loading...
Searching...
No Matches
StaminaHandler Class Reference

Protected Member Functions

void StaminaHandler (PlayerBase player)
void ~StaminaHandler ()
void Init ()
void ActivateDepletionModifier (EStaminaMultiplierTypes type)
void DeactivateDepletionModifier (EStaminaMultiplierTypes type)
void RecalculateDepletionMultiplier ()
void ActivateRecoveryModifier (EStaminaMultiplierTypes type)
void DeactivateRecoveryModifier (EStaminaMultiplierTypes type)
void RecalculateRecoveryMultiplier ()
bool HasMovementStateChanged ()
void Update (float deltaT, int pCurrentCommandID)
void ProcessMovementState ()
void ProcessStaminaChanges (float deltaT, bool isServerOrSingleplayer)
void RecalculateStaminaCap ()
void OnSyncJuncture (int pJunctureID, ParamsReadContext pCtx)
 called from PlayerBase - syncs stamina values on server with client AND sets the value to match on server and client both (m_StaminaSynced guarantees identical values)
void StaminaProcessor_Move (HumanMovementState pHumanMovementState)
void StaminaProcessor_Ladder (HumanMovementState pHumanMovementState)
void StaminaProcessor_Swimming (HumanMovementState pHumanMovementState)
void SyncStaminaEx ()
 stamina sync - server part
void SyncStamina (float stamina, float stamina_cap, bool cooldown)
 stamina sync - server part
void SyncAdditionalStaminaInfo (Param par)
 Method to sync more info for stamina manager. Template parameter means it is very extendable for further use.
void ReadAdditionalStaminaInfo (ParamsReadContext pCtx)
 Order of read parameters must match the order of writing above.
void RegisterStaminaConsumers ()
void RegisterStaminaModifiers ()
float CalcStaminaGainBonus ()
 Calulates stamina regain bonus coef based on current stamina cap and level and caches it during one Update call.
void ApplyExhaustion ()
void CheckStaminaState ()
 check if the stamina is completely depleted
void SetCooldown (float time, int modifier=-1)
 set cooldown timer between each consume of stamina
void ResetCooldown (int modifier=-1)
bool HasEnoughStaminaFor (EStaminaConsumers consumer)
bool HasEnoughStaminaToStart (EStaminaConsumers consumer)
void SetStamina (float stamina_value)
float GetStamina ()
float GetStaminaNormalized ()
float GetSyncedStamina ()
float GetSyncedStaminaNormalized ()
float GetStaminaCap ()
float GetSyncedStaminaCap ()
float GetStaminaMax ()
void SetDepletionMultiplier (float val)
void SetRecoveryMultiplier (float val)
float GetDepletionMultiplier ()
float GetRecoveryMultiplier ()
void DepleteStaminaEx (EStaminaModifiers modifier, float dT=-1, float coef=1.0)
void ObtainState (PlayerBaseOwnerState state)
void ObtainMove (PlayerBaseMove move)
void RewindState (PlayerBaseOwnerState state, PlayerBaseMove move)
void ReplayMove (PlayerBaseMove move)
void DepleteStamina (EStaminaModifiers modifier, float dT=-1)
void OnRPC (float stamina, float stamina_cap, bool cooldown)

Protected Attributes

const float STAMINA_GAIN_THRESHOLD = 25.0
const float STAMINA_GAIN_MODIFIER = 10.0
bool m_InitUpdate
float m_PlayerLoad
float m_StaminaDelta
float m_Stamina
float m_StaminaSynced
float m_StaminaCap
float m_StaminaCapSynced
float m_StaminaDepletionMultiplierNext
float m_StaminaRecoveryMultiplierNext
float m_StaminaDepletion
float m_StaminaDepletionMultiplier
float m_StaminaRecoveryMultiplier
float m_Time
ref Param3< float, float, boolm_StaminaParams
ref HumanMovementState m_State
SHumanCommandMoveSettings m_HumanMoveSettings
PlayerBase m_Player
bool m_StaminaDepleted
ref map< EStaminaMultiplierTypes, floatm_RegisteredDepletionModifiers
ref set< EStaminaMultiplierTypesm_ActiveDepletionModifiers
ref map< EStaminaMultiplierTypes, floatm_RegisteredRecoveryModifiers
ref set< EStaminaMultiplierTypesm_ActiveRecoveryModifiers
bool m_IsInCooldown
ref StaminaConsumers m_StaminaConsumers
ref StaminaModifiers m_StaminaModifiers
float m_LastPlayerLoad = -1
float m_CachedStaminaGainBonus
bool m_IsStaminaGainBonusCached
ref map< int, ref StaminaCooldownParamsm_CooldownMap
int m_LastCommandTypeId = -1
int m_LastMovementIdx = -1
int m_LastStanceIdx = -1
bool m_MovementStateChanged = true
bool m_Debug

Detailed Description

Definition at line 261 of file staminahandler.c.

Constructor & Destructor Documentation

◆ StaminaHandler()

void StaminaHandler::StaminaHandler ( PlayerBase player)
protected

Definition at line 316 of file staminahandler.c.

◆ ~StaminaHandler()

void StaminaHandler::~StaminaHandler ( )
protected

Definition at line 356 of file staminahandler.c.

Member Function Documentation

◆ ActivateDepletionModifier()

void StaminaHandler::ActivateDepletionModifier ( EStaminaMultiplierTypes type)
protected

Definition at line 381 of file staminahandler.c.

◆ ActivateRecoveryModifier()

void StaminaHandler::ActivateRecoveryModifier ( EStaminaMultiplierTypes type)
protected

Definition at line 417 of file staminahandler.c.

◆ ApplyExhaustion()

void StaminaHandler::ApplyExhaustion ( )
protected

sets exhaustion look of player based on stamina level

Definition at line 954 of file staminahandler.c.

◆ CalcStaminaGainBonus()

float StaminaHandler::CalcStaminaGainBonus ( )
protected

Calulates stamina regain bonus coef based on current stamina cap and level and caches it during one Update call.

Definition at line 932 of file staminahandler.c.

◆ CheckStaminaState()

void StaminaHandler::CheckStaminaState ( )
protected

check if the stamina is completely depleted

in case of complete depletion - start a cooldown timer before the regeneration cycle start

Definition at line 981 of file staminahandler.c.

◆ DeactivateDepletionModifier()

void StaminaHandler::DeactivateDepletionModifier ( EStaminaMultiplierTypes type)
protected

Definition at line 394 of file staminahandler.c.

◆ DeactivateRecoveryModifier()

void StaminaHandler::DeactivateRecoveryModifier ( EStaminaMultiplierTypes type)
protected

Definition at line 430 of file staminahandler.c.

◆ DepleteStamina()

void StaminaHandler::DepleteStamina ( EStaminaModifiers modifier,
float dT = -1 )
protected

Definition at line 1238 of file staminahandler.c.

◆ DepleteStaminaEx()

void StaminaHandler::DepleteStaminaEx ( EStaminaModifiers modifier,
float dT = -1,
float coef = 1.0 )
protected

run cooldown right after depletion

Definition at line 1110 of file staminahandler.c.

◆ GetDepletionMultiplier()

float StaminaHandler::GetDepletionMultiplier ( )
protected

Definition at line 1100 of file staminahandler.c.

◆ GetRecoveryMultiplier()

float StaminaHandler::GetRecoveryMultiplier ( )
protected

Definition at line 1105 of file staminahandler.c.

◆ GetStamina()

float StaminaHandler::GetStamina ( )
protected

Definition at line 1047 of file staminahandler.c.

◆ GetStaminaCap()

float StaminaHandler::GetStaminaCap ( )
protected

Definition at line 1067 of file staminahandler.c.

◆ GetStaminaMax()

float StaminaHandler::GetStaminaMax ( )
protected

Definition at line 1077 of file staminahandler.c.

◆ GetStaminaNormalized()

float StaminaHandler::GetStaminaNormalized ( )
protected

Definition at line 1052 of file staminahandler.c.

◆ GetSyncedStamina()

float StaminaHandler::GetSyncedStamina ( )
protected

Definition at line 1057 of file staminahandler.c.

◆ GetSyncedStaminaCap()

float StaminaHandler::GetSyncedStaminaCap ( )
protected

Definition at line 1072 of file staminahandler.c.

◆ GetSyncedStaminaNormalized()

float StaminaHandler::GetSyncedStaminaNormalized ( )
protected

Definition at line 1062 of file staminahandler.c.

◆ HasEnoughStaminaFor()

bool StaminaHandler::HasEnoughStaminaFor ( EStaminaConsumers consumer)
protected

Definition at line 1031 of file staminahandler.c.

◆ HasEnoughStaminaToStart()

bool StaminaHandler::HasEnoughStaminaToStart ( EStaminaConsumers consumer)
protected

Definition at line 1036 of file staminahandler.c.

◆ HasMovementStateChanged()

bool StaminaHandler::HasMovementStateChanged ( )
protected

Definition at line 456 of file staminahandler.c.

◆ Init()

void StaminaHandler::Init ( )
protected

Definition at line 364 of file staminahandler.c.

◆ ObtainMove()

void StaminaHandler::ObtainMove ( PlayerBaseMove move)
protected

Definition at line 1197 of file staminahandler.c.

◆ ObtainState()

void StaminaHandler::ObtainState ( PlayerBaseOwnerState state)
protected

Definition at line 1192 of file staminahandler.c.

◆ OnRPC()

void StaminaHandler::OnRPC ( float stamina,
float stamina_cap,
bool cooldown )
protected

◆ OnSyncJuncture()

void StaminaHandler::OnSyncJuncture ( int pJunctureID,
ParamsReadContext pCtx )
protected

called from PlayerBase - syncs stamina values on server with client AND sets the value to match on server and client both (m_StaminaSynced guarantees identical values)

Definition at line 638 of file staminahandler.c.

◆ ProcessMovementState()

void StaminaHandler::ProcessMovementState ( )
protected

Definition at line 554 of file staminahandler.c.

◆ ProcessStaminaChanges()

void StaminaHandler::ProcessStaminaChanges ( float deltaT,
bool isServerOrSingleplayer )
protected

Definition at line 580 of file staminahandler.c.

◆ ReadAdditionalStaminaInfo()

void StaminaHandler::ReadAdditionalStaminaInfo ( ParamsReadContext pCtx)
protected

Order of read parameters must match the order of writing above.

Definition at line 819 of file staminahandler.c.

◆ RecalculateDepletionMultiplier()

void StaminaHandler::RecalculateDepletionMultiplier ( )
protected

Definition at line 404 of file staminahandler.c.

◆ RecalculateRecoveryMultiplier()

void StaminaHandler::RecalculateRecoveryMultiplier ( )
protected

Definition at line 440 of file staminahandler.c.

◆ RecalculateStaminaCap()

void StaminaHandler::RecalculateStaminaCap ( )
protected

StaminaCap calculation starts when PlayerLoad exceeds STAMINA_WEIGHT_LIMIT_THRESHOLD

Definition at line 622 of file staminahandler.c.

◆ RegisterStaminaConsumers()

void StaminaHandler::RegisterStaminaConsumers ( )
protected

Definition at line 832 of file staminahandler.c.

◆ RegisterStaminaModifiers()

void StaminaHandler::RegisterStaminaModifiers ( )
protected

Definition at line 879 of file staminahandler.c.

◆ ReplayMove()

void StaminaHandler::ReplayMove ( PlayerBaseMove move)
protected

Definition at line 1208 of file staminahandler.c.

◆ ResetCooldown()

void StaminaHandler::ResetCooldown ( int modifier = -1)
protected

Definition at line 1013 of file staminahandler.c.

◆ RewindState()

void StaminaHandler::RewindState ( PlayerBaseOwnerState state,
PlayerBaseMove move )
protected

Definition at line 1202 of file staminahandler.c.

◆ SetCooldown()

void StaminaHandler::SetCooldown ( float time,
int modifier = -1 )
protected

set cooldown timer between each consume of stamina

Definition at line 1000 of file staminahandler.c.

◆ SetDepletionMultiplier()

void StaminaHandler::SetDepletionMultiplier ( float val)
protected

Definition at line 1083 of file staminahandler.c.

◆ SetRecoveryMultiplier()

void StaminaHandler::SetRecoveryMultiplier ( float val)
protected

Definition at line 1092 of file staminahandler.c.

◆ SetStamina()

void StaminaHandler::SetStamina ( float stamina_value)
protected

Definition at line 1041 of file staminahandler.c.

◆ StaminaProcessor_Ladder()

void StaminaHandler::StaminaProcessor_Ladder ( HumanMovementState pHumanMovementState)
protected

Definition at line 740 of file staminahandler.c.

◆ StaminaProcessor_Move()

void StaminaHandler::StaminaProcessor_Move ( HumanMovementState pHumanMovementState)
protected

Definition at line 677 of file staminahandler.c.

◆ StaminaProcessor_Swimming()

void StaminaHandler::StaminaProcessor_Swimming ( HumanMovementState pHumanMovementState)
protected

Definition at line 765 of file staminahandler.c.

◆ SyncAdditionalStaminaInfo()

void StaminaHandler::SyncAdditionalStaminaInfo ( Param par)
protected

Method to sync more info for stamina manager. Template parameter means it is very extendable for further use.

Definition at line 808 of file staminahandler.c.

◆ SyncStamina()

void StaminaHandler::SyncStamina ( float stamina,
float stamina_cap,
bool cooldown )
protected

stamina sync - server part

Definition at line 797 of file staminahandler.c.

◆ SyncStaminaEx()

void StaminaHandler::SyncStaminaEx ( )
protected

stamina sync - server part

Definition at line 791 of file staminahandler.c.

◆ Update()

void StaminaHandler::Update ( float deltaT,
int pCurrentCommandID )
protected

gets the actual players load

Definition at line 474 of file staminahandler.c.

Member Data Documentation

◆ m_ActiveDepletionModifiers

ref set<EStaminaMultiplierTypes> StaminaHandler::m_ActiveDepletionModifiers
protected

Definition at line 287 of file staminahandler.c.

◆ m_ActiveRecoveryModifiers

ref set<EStaminaMultiplierTypes> StaminaHandler::m_ActiveRecoveryModifiers
protected

Definition at line 290 of file staminahandler.c.

◆ m_CachedStaminaGainBonus

float StaminaHandler::m_CachedStaminaGainBonus
protected

Definition at line 299 of file staminahandler.c.

◆ m_CooldownMap

ref map<int, ref StaminaCooldownParams> StaminaHandler::m_CooldownMap
protected

Definition at line 302 of file staminahandler.c.

◆ m_Debug

bool StaminaHandler::m_Debug
protected

Definition at line 1235 of file staminahandler.c.

◆ m_HumanMoveSettings

SHumanCommandMoveSettings StaminaHandler::m_HumanMoveSettings
protected

Definition at line 281 of file staminahandler.c.

◆ m_InitUpdate

bool StaminaHandler::m_InitUpdate
protected

Definition at line 266 of file staminahandler.c.

◆ m_IsInCooldown

bool StaminaHandler::m_IsInCooldown
protected

Definition at line 292 of file staminahandler.c.

◆ m_IsStaminaGainBonusCached

bool StaminaHandler::m_IsStaminaGainBonusCached
protected

Definition at line 300 of file staminahandler.c.

◆ m_LastCommandTypeId

int StaminaHandler::m_LastCommandTypeId = -1
protected

Definition at line 305 of file staminahandler.c.

◆ m_LastMovementIdx

int StaminaHandler::m_LastMovementIdx = -1
protected

Definition at line 306 of file staminahandler.c.

◆ m_LastPlayerLoad

float StaminaHandler::m_LastPlayerLoad = -1
protected

Definition at line 297 of file staminahandler.c.

◆ m_LastStanceIdx

int StaminaHandler::m_LastStanceIdx = -1
protected

Definition at line 307 of file staminahandler.c.

◆ m_MovementStateChanged

bool StaminaHandler::m_MovementStateChanged = true
protected

Definition at line 308 of file staminahandler.c.

◆ m_Player

PlayerBase StaminaHandler::m_Player
protected

Definition at line 282 of file staminahandler.c.

◆ m_PlayerLoad

float StaminaHandler::m_PlayerLoad
protected

Definition at line 267 of file staminahandler.c.

◆ m_RegisteredDepletionModifiers

ref map<EStaminaMultiplierTypes, float> StaminaHandler::m_RegisteredDepletionModifiers
protected

Definition at line 286 of file staminahandler.c.

◆ m_RegisteredRecoveryModifiers

ref map<EStaminaMultiplierTypes, float> StaminaHandler::m_RegisteredRecoveryModifiers
protected

Definition at line 289 of file staminahandler.c.

◆ m_Stamina

float StaminaHandler::m_Stamina
protected

Definition at line 269 of file staminahandler.c.

◆ m_StaminaCap

float StaminaHandler::m_StaminaCap
protected

Definition at line 271 of file staminahandler.c.

◆ m_StaminaCapSynced

float StaminaHandler::m_StaminaCapSynced
protected

Definition at line 272 of file staminahandler.c.

◆ m_StaminaConsumers

ref StaminaConsumers StaminaHandler::m_StaminaConsumers
protected

Definition at line 294 of file staminahandler.c.

◆ m_StaminaDelta

float StaminaHandler::m_StaminaDelta
protected

Definition at line 268 of file staminahandler.c.

◆ m_StaminaDepleted

bool StaminaHandler::m_StaminaDepleted
protected

Definition at line 284 of file staminahandler.c.

◆ m_StaminaDepletion

float StaminaHandler::m_StaminaDepletion
protected

Definition at line 275 of file staminahandler.c.

◆ m_StaminaDepletionMultiplier

float StaminaHandler::m_StaminaDepletionMultiplier
protected

Definition at line 276 of file staminahandler.c.

◆ m_StaminaDepletionMultiplierNext

float StaminaHandler::m_StaminaDepletionMultiplierNext
protected

Definition at line 273 of file staminahandler.c.

◆ m_StaminaModifiers

ref StaminaModifiers StaminaHandler::m_StaminaModifiers
protected

Definition at line 295 of file staminahandler.c.

◆ m_StaminaParams

ref Param3<float,float,bool> StaminaHandler::m_StaminaParams
protected

Definition at line 279 of file staminahandler.c.

◆ m_StaminaRecoveryMultiplier

float StaminaHandler::m_StaminaRecoveryMultiplier
protected

Definition at line 277 of file staminahandler.c.

◆ m_StaminaRecoveryMultiplierNext

float StaminaHandler::m_StaminaRecoveryMultiplierNext
protected

Definition at line 274 of file staminahandler.c.

◆ m_StaminaSynced

float StaminaHandler::m_StaminaSynced
protected

Definition at line 270 of file staminahandler.c.

◆ m_State

ref HumanMovementState StaminaHandler::m_State
protected

Definition at line 280 of file staminahandler.c.

◆ m_Time

float StaminaHandler::m_Time
protected

Definition at line 278 of file staminahandler.c.

◆ STAMINA_GAIN_MODIFIER

const float StaminaHandler::STAMINA_GAIN_MODIFIER = 10.0
protected

Definition at line 264 of file staminahandler.c.

◆ STAMINA_GAIN_THRESHOLD

const float StaminaHandler::STAMINA_GAIN_THRESHOLD = 25.0
protected

Definition at line 263 of file staminahandler.c.


The documentation for this class was generated from the following file: