DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ ProcessStaminaChanges()

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

См. определение в файле StaminaHandler.c строка 614

615 {
616 // Calculate stamina changes
617 float temp = m_StaminaDelta * deltaT;
618 if (temp < 0)
619 {
621 }
622 else
623 {
625 }
626
627 // Apply stamina depletion first, then add/subtract the delta
628 float newStamina = m_Stamina - m_StaminaDepletion + temp;
629
630 // Clamp to valid range
631 m_Stamina = Math.Max(0, Math.Min(newStamina, m_StaminaCap));
632
633 // Handle floating-point precision issues - snap to cap if very close
634 if (m_Stamina > (m_StaminaCap - 0.01) && temp > 0)
635 {
637 }
638
639 if (isServerOrSingleplayer)
640 {
641 m_Player.GetStatStamina().Set(m_Stamina);
642 m_Time += deltaT;
643
644 if (m_Time >= GameConstants.STAMINA_SYNC_RATE)
645 {
646 m_Time = 0;
648 }
649 }
650
651 #ifndef SERVER
653 #endif
654 }
float m_StaminaDepletionMultiplier
Определения StaminaHandler.c:279
float m_StaminaCapSynced
Определения StaminaHandler.c:275
float m_StaminaRecoveryMultiplier
Определения StaminaHandler.c:280
PlayerBase m_Player
Определения StaminaHandler.c:285
float m_StaminaSynced
Определения StaminaHandler.c:273
float m_StaminaDepletion
Определения StaminaHandler.c:278
float m_StaminaCap
Определения StaminaHandler.c:274
void SyncStaminaEx()
stamina sync - server part
Определения StaminaHandler.c:825
float m_StaminaDelta
Определения StaminaHandler.c:271
float m_Time
Определения StaminaHandler.c:281
float m_Stamina
Определения StaminaHandler.c:272

Перекрестные ссылки m_Player, m_Stamina, m_StaminaCap, m_StaminaCapSynced, m_StaminaDelta, m_StaminaDepletion, m_StaminaDepletionMultiplier, m_StaminaRecoveryMultiplier, m_StaminaSynced, m_Time, Math::Max(), Math::Min(), GameConstants::STAMINA_SYNC_RATE и SyncStaminaEx().

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