Private Member Functions | |
void | StaminaHandler (PlayerBase player) |
void | Init () |
void | ActivateDepletionModifier (EStaminaMultiplierTypes type) |
void | DeactivateDepletionModifier (EStaminaMultiplierTypes type) |
void | RecalculateDepletionMultiplier () |
void | ActivateRecoveryModifier (EStaminaMultiplierTypes type) |
void | DeactivateRecoveryModifier (EStaminaMultiplierTypes type) |
void | RecalculateRecoveryMultiplier () |
void | Update (float deltaT, int pCurrentCommandID) |
void | OnRPC (float stamina, float stamina_cap, bool cooldown) |
deprecated use, StaminaHandler uses SyncJunctures now | |
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) | |
protected void | StaminaProcessor_Move (HumanMovementState pHumanMovementState) |
protected void | StaminaProcessor_Ladder (HumanMovementState pHumanMovementState) |
protected void | StaminaProcessor_Swimming (HumanMovementState pHumanMovementState) |
protected void | SyncStamina (float stamina, float stamina_cap, bool cooldown) |
stamina sync - server part | |
protected void | SyncAdditionalStaminaInfo (Param par) |
Method to sync more info for stamina manager. Template parameter means it is very extendable for further use. | |
protected void | ReadAdditionalStaminaInfo (ParamsReadContext pCtx) |
Order of read parameters must match the order of writing above. | |
protected void | RegisterStaminaConsumers () |
protected void | RegisterStaminaModifiers () |
protected float | CalcStaminaGainBonus () |
Calulates stamina regain bonus coef based on current stamina cap and level. | |
protected void | ApplyExhaustion () |
protected void | CheckStaminaState () |
check if the stamina is completely depleted | |
protected void | SetCooldown (float time, int modifier=-1) |
set cooldown timer between each consume of stamina | |
protected void | ResetCooldown (int modifier=-1) |
Timer | GetCooldownTimer (int modifier) |
bool | HasEnoughStaminaFor (EStaminaConsumers consumer) |
bool | HasEnoughStaminaToStart (EStaminaConsumers consumer) |
void | SetStamina (float stamina_value) |
float | GetStamina () |
float | GetStaminaNormalized () |
float | GetSyncedStamina () |
float | GetSyncedStaminaNormalized () |
float | GetStaminaCap () |
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 | DepleteStamina (EStaminaModifiers modifier, float dT=-1) |
Deprecated. | |
|
inlineprivate |
References GetGame(), CfgGameplayHandler::GetStaminaMax(), Init(), m_ActiveDepletionModifiers, m_ActiveRecoveryModifiers, m_HumanMoveSettings, m_IsInCooldown, m_Player, m_RegisteredDepletionModifiers, m_RegisteredRecoveryModifiers, m_Stamina, m_StaminaCap, m_StaminaDepleted, m_StaminaDepletion, m_StaminaDepletionMultiplier, m_StaminaParams, m_StaminaRecoveryMultiplier, m_State, m_Time, m_TimerMap, RegisterStaminaConsumers(), and RegisterStaminaModifiers().
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
sets exhaustion look of player based on stamina level
References HumanCommandAdditives(), m_Player, m_Stamina, m_StaminaCap, and Math::Min().
Referenced by Update().
|
inlineprivate |
Calulates stamina regain bonus coef based on current stamina cap and level.
References m_Stamina, m_StaminaDepletion, Math::Min(), and GameConstants::STAMINA_GAIN_BONUS_CAP.
Referenced by StaminaProcessor_Ladder(), StaminaProcessor_Move(), and StaminaProcessor_Swimming().
|
inlineprivate |
check if the stamina is completely depleted
in case of complete depletion - start a cooldown timer before the regeneration cycle start
References m_IsInCooldown, m_Stamina, m_StaminaDepleted, SetCooldown(), and GameConstants::STAMINA_REGEN_COOLDOWN_EXHAUSTION.
Referenced by Update().
|
inlineprivate |
References m_ActiveDepletionModifiers, and RecalculateDepletionMultiplier().
|
inlineprivate |
References m_ActiveRecoveryModifiers, and RecalculateRecoveryMultiplier().
|
inlineprivate |
Deprecated.
References DepleteStaminaEx().
|
inlineprivate |
run cooldown right after depletion
References Math::AbsFloat(), Class::CastTo(), Math::Clamp(), ErrorEx, StaminaModifierExponential::GetBaseValue(), StaminaModifierExponential::GetDurationAdjusted(), StaminaModifierExponential::GetExponent(), StaminaModifierExponential::GetMultiplier(), CfgGameplayHandler::GetStaminaMax(), StaminaModifierExponential::GetStartTimeAdjustment(), Math::Lerp(), m_Player, m_StaminaDepletion, m_StaminaDepletionMultiplier, m_StaminaModifiers, Math::Max(), Math::Min(), Math::Pow(), Math::RandomFloat(), SetCooldown(), and StaminaModifier().
Referenced by DepleteStamina().
|
inlineprivate |
References m_StaminaDepletionMultiplier.
|
inlineprivate |
References m_StaminaRecoveryMultiplier.
|
inlineprivate |
References m_StaminaCap.
|
inlineprivate |
References CfgGameplayHandler::GetStaminaMax().
Referenced by GetStaminaNormalized(), and GetSyncedStaminaNormalized().
|
inlineprivate |
References GetStaminaMax(), and m_Stamina.
|
inlineprivate |
References m_StaminaSynced.
Referenced by GetSyncedStaminaNormalized().
|
inlineprivate |
References GetStaminaMax(), and GetSyncedStamina().
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
References m_RegisteredDepletionModifiers, m_RegisteredRecoveryModifiers, MaskMdfr::STAMINA_DEPLETION_MODIFIER, FatigueMdfr::STAMINA_DEPLETION_MULTIPLIER, PneumoniaMdfr::STAMINA_DEPLETION_MULTIPLIER, EpinephrineMdfr::STAMINA_DEPLETION_MULTIPLIER, VomitSymptom::STAMINA_DEPLETION_MULTIPLIER, MaskMdfr::STAMINA_RECOVERY_MODIFIER, FatigueMdfr::STAMINA_RECOVERY_MULTIPLIER, PneumoniaMdfr::STAMINA_RECOVERY_MULTIPLIER, DrowningMdfr::STAMINA_RECOVERY_MULTIPLIER, and VomitSymptom::STAMINA_RECOVERY_MULTIPLIER.
Referenced by StaminaHandler().
deprecated use, StaminaHandler uses SyncJunctures now
|
inlineprivate |
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)
References m_IsInCooldown, m_Player, m_Stamina, m_StaminaCap, m_StaminaSynced, Serializer::Read(), ReadAdditionalStaminaInfo(), DayZPlayerSyncJunctures::SJ_STAMINA, and DayZPlayerSyncJunctures::SJ_STAMINA_MISC.
Referenced by ManBase::OnSyncJuncture().
|
inlineprivate |
Order of read parameters must match the order of writing above.
References m_StaminaDepletionMultiplier, m_StaminaRecoveryMultiplier, and Serializer::Read().
Referenced by OnSyncJuncture().
|
inlineprivate |
References m_ActiveDepletionModifiers, m_RegisteredDepletionModifiers, m_StaminaDepletionMultiplier, and SetDepletionMultiplier().
Referenced by ActivateDepletionModifier(), and DeactivateDepletionModifier().
|
inlineprivate |
References m_ActiveRecoveryModifiers, m_RegisteredRecoveryModifiers, m_StaminaRecoveryMultiplier, and SetRecoveryMultiplier().
Referenced by ActivateRecoveryModifier(), and DeactivateRecoveryModifier().
|
inlineprivate |
References CfgGameplayHandler::GetStaminaMinCap(), m_StaminaConsumers, StaminaConsumers::RegisterConsumer(), GameConstants::STAMINA_CLIMB_THRESHOLD, GameConstants::STAMINA_HOLD_BREATH_THRESHOLD_ACTIVATE, GameConstants::STAMINA_HOLD_BREATH_THRESHOLD_DRAIN, GameConstants::STAMINA_JUMP_THRESHOLD, GameConstants::STAMINA_MELEE_EVADE_THRESHOLD, GameConstants::STAMINA_MELEE_HEAVY_THRESHOLD, GameConstants::STAMINA_ROLL_THRESHOLD, and GameConstants::STAMINA_VAULT_THRESHOLD.
Referenced by StaminaHandler().
|
inlineprivate |
References CfgGameplayHandler::GetMeleeStaminaModifier(), CfgGameplayHandler::GetObstacleTraversalStaminaModifier(), CfgGameplayHandler::GetStaminaMax(), m_StaminaModifiers, GameConstants::STAMINA_DRAIN_CLIMB, GameConstants::STAMINA_DRAIN_JUMP, GameConstants::STAMINA_DRAIN_MELEE_EVADE, GameConstants::STAMINA_DRAIN_MELEE_HEAVY, GameConstants::STAMINA_DRAIN_MELEE_LIGHT, GameConstants::STAMINA_DRAIN_ROLL, GameConstants::STAMINA_DRAIN_VAULT, and StaminaModifiers().
Referenced by StaminaHandler().
|
inlineprivate |
References m_IsInCooldown, m_StaminaModifiers, and StaminaModifier().
Referenced by SetCooldown().
set cooldown timer between each consume of stamina
References m_IsInCooldown, m_Stamina, m_StaminaDepleted, m_TimerMap, ResetCooldown(), and Timer::Stop().
Referenced by CheckStaminaState(), DepleteStaminaEx(), StaminaProcessor_Ladder(), StaminaProcessor_Move(), and StaminaProcessor_Swimming().
|
inlineprivate |
References m_StaminaDepletionMultiplier, m_StaminaRecoveryMultiplier, and SyncAdditionalStaminaInfo().
Referenced by RecalculateDepletionMultiplier().
|
inlineprivate |
References m_StaminaDepletionMultiplier, m_StaminaRecoveryMultiplier, and SyncAdditionalStaminaInfo().
Referenced by RecalculateRecoveryMultiplier().
|
inlineprivate |
References Math::Clamp(), CfgGameplayHandler::GetStaminaMax(), m_IsInCooldown, m_Stamina, m_StaminaCap, and SyncStamina().
Referenced by ManBase::EEHitBy(), ManBase::ResetPlayer(), and Update().
|
inlineprivate |
References CalcStaminaGainBonus(), CfgGameplayHandler::GetSprintLadderStaminaModifier(), HumanMovementState::m_iMovement, m_IsInCooldown, m_StaminaDelta, SetCooldown(), GameConstants::STAMINA_DRAIN_LADDER_FAST_PER_SEC, GameConstants::STAMINA_GAIN_IDLE_PER_SEC, GameConstants::STAMINA_GAIN_LADDER_PER_SEC, and GameConstants::STAMINA_REGEN_COOLDOWN_DEPLETION.
Referenced by Update().
|
inlineprivate |
References CalcStaminaGainBonus(), CfgGameplayHandler::GetSprintStaminaModifierCro(), CfgGameplayHandler::GetSprintStaminaModifierErc(), m_HumanMoveSettings, HumanMovementState::m_iMovement, m_IsInCooldown, HumanMovementState::m_iStanceIdx, m_Player, m_StaminaDelta, SetCooldown(), GameConstants::STAMINA_DRAIN_CROUCHED_SPRINT_PER_SEC, GameConstants::STAMINA_DRAIN_STANDING_SPRINT_PER_SEC, GameConstants::STAMINA_GAIN_IDLE_PER_SEC, GameConstants::STAMINA_GAIN_JOG_PER_SEC, GameConstants::STAMINA_GAIN_ROLL_PER_SEC, GameConstants::STAMINA_GAIN_WALK_PER_SEC, and GameConstants::STAMINA_REGEN_COOLDOWN_DEPLETION.
Referenced by Update().
|
inlineprivate |
References CalcStaminaGainBonus(), CfgGameplayHandler::GetSprintSwimmingStaminaModifier(), HumanMovementState::m_iMovement, m_IsInCooldown, m_StaminaDelta, SetCooldown(), GameConstants::STAMINA_DRAIN_SWIM_FAST_PER_SEC, GameConstants::STAMINA_GAIN_IDLE_PER_SEC, GameConstants::STAMINA_GAIN_SWIM_PER_SEC, and GameConstants::STAMINA_REGEN_COOLDOWN_DEPLETION.
Referenced by Update().
|
inlineprivate |
Method to sync more info for stamina manager. Template parameter means it is very extendable for further use.
References m_Player, DayZPlayerSyncJunctures::SJ_STAMINA_MISC, and Serializer::Write().
Referenced by SetDepletionMultiplier(), and SetRecoveryMultiplier().
stamina sync - server part
References m_IsInCooldown, m_Player, m_Stamina, m_StaminaCap, DayZPlayerSyncJunctures::SJ_STAMINA, and Serializer::Write().
Referenced by SetStamina().
gets the actual players load
StaminaCap calculation starts when PlayerLoad exceeds STAMINA_WEIGHT_LIMIT_THRESHOLD
processed on event
processed on event
processed on event
References ApplyExhaustion(), CheckStaminaState(), GetGame(), CfgGameplayHandler::GetStaminaKgToStaminaPercentPenalty(), CfgGameplayHandler::GetStaminaMax(), CfgGameplayHandler::GetStaminaMinCap(), CfgGameplayHandler::GetStaminaWeightLimitThreshold(), CGame::IsMultiplayer(), CGame::IsServer(), HumanMovementState::m_CommandTypeId, m_IsInCooldown, m_Player, m_PlayerLoad, m_Stamina, m_StaminaCap, m_StaminaDelta, m_StaminaDepletion, m_StaminaDepletionMultiplier, m_StaminaRecoveryMultiplier, m_StaminaSynced, m_State, m_Time, Math::Max(), Math::Min(), SetStamina(), GameConstants::STAMINA_GAIN_IDLE_PER_SEC, GameConstants::STAMINA_KG_TO_GRAMS, GameConstants::STAMINA_SYNC_RATE, StaminaProcessor_Ladder(), StaminaProcessor_Move(), and StaminaProcessor_Swimming().
Referenced by ManBase::CommandHandler().
|
private |
|
private |
|
private |
|
private |
Referenced by StaminaHandler(), and StaminaProcessor_Move().
|
private |
|
private |
|
private |
Referenced by ActivateDepletionModifier(), Init(), RecalculateDepletionMultiplier(), and StaminaHandler().
|
private |
Referenced by ActivateRecoveryModifier(), Init(), RecalculateRecoveryMultiplier(), and StaminaHandler().
|
private |
|
private |
|
private |
Referenced by HasEnoughStaminaFor(), HasEnoughStaminaToStart(), and RegisterStaminaConsumers().
|
private |
Referenced by StaminaProcessor_Ladder(), StaminaProcessor_Move(), StaminaProcessor_Swimming(), and Update().
|
private |
DEPRECATED.
Referenced by CheckStaminaState(), HasEnoughStaminaFor(), HasEnoughStaminaToStart(), SetCooldown(), and StaminaHandler().
|
private |
Referenced by CalcStaminaGainBonus(), DepleteStaminaEx(), StaminaHandler(), and Update().
|
private |
|
private |
Referenced by DepleteStaminaEx(), RegisterStaminaModifiers(), and ResetCooldown().
Referenced by StaminaHandler().
|
private |
|
private |
Referenced by GetSyncedStamina(), HasEnoughStaminaFor(), HasEnoughStaminaToStart(), OnSyncJuncture(), and Update().
|
private |
Referenced by StaminaHandler(), and Update().
|
private |
Referenced by StaminaHandler(), and Update().
Referenced by SetCooldown(), and StaminaHandler().