490 {
491 #ifdef DIAG_DEVELOPER
492 if (m_StaminaDisabled)
493 return;
494 #endif
495
497 return;
498
499
500 array<int> expiredCooldowns = new array<int>();
502 {
503 cooldownParams.param1 -= deltaT;
504 if (cooldownParams.param1 <= 0)
505 {
506 expiredCooldowns.Insert(modifier);
507 }
508 }
509
510
511 foreach (int expiredModifier : expiredCooldowns)
512 {
514 }
515
516
518
519
521
522 bool isAiOrSingleplayer =
m_Player.IsAuthorityOwner();
523 bool isServerOrSingleplayer =
m_Player.IsAuthority();
524
525
526 if (isServerOrSingleplayer)
527 {
532
535 {
538
541 {
543 {
545 }
546
549
552 }
553 }
554 }
555 else
556 {
557 PlayerBaseMove move = PlayerBaseMove.Cast(
m_Player.GetNextMove());
558 if (move)
559 {
562 }
563 }
564
565 if (isAiOrSingleplayer)
566 {
569 }
570
571
574
575
577
580
586 }
Param1< float > StaminaCooldownParams
const float LOAD_DIFF_CAP_UPDATE_THRESHOLD
void RecalculateStaminaCap()
void CheckStaminaState()
check if the stamina is completely depleted
ref map< int, ref StaminaCooldownParams > m_CooldownMap
bool m_IsStaminaGainBonusCached
bool m_MovementStateChanged
bool HasMovementStateChanged()
void SyncStaminaEx()
stamina sync - server part
void ProcessStaminaChanges(float deltaT, bool isServerOrSingleplayer)
const float LOAD_DIFF_UPDATE_THRESHOLD
void ProcessMovementState()
void ResetCooldown(int modifier=-1)