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

◆ ProcessStaminaChanges()

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

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

581 {
582 // Calculate stamina changes
583 float temp = m_StaminaDelta * deltaT;
584 if (temp < 0)
585 {
587 }
588 else
589 {
591 }
592
593 // Apply stamina depletion first, then add/subtract the delta
594 float newStamina = m_Stamina - m_StaminaDepletion + temp;
595
596 // Clamp to valid range
597 m_Stamina = Math.Max(0, Math.Min(newStamina, m_StaminaCap));
598
599 // Handle floating-point precision issues - snap to cap if very close
600 if (m_Stamina > (m_StaminaCap - 0.01) && temp > 0)
601 {
603 }
604
605 if (isServerOrSingleplayer)
606 {
607 m_Player.GetStatStamina().Set(m_Stamina);
608 m_Time += deltaT;
609
610 if (m_Time >= GameConstants.STAMINA_SYNC_RATE)
611 {
612 m_Time = 0;
614 }
615 }
616
617 #ifndef SERVER
619 #endif
620 }
float m_StaminaDepletionMultiplier
Определения StaminaHandler.c:276
float m_StaminaCapSynced
Определения StaminaHandler.c:272
float m_StaminaRecoveryMultiplier
Определения StaminaHandler.c:277
PlayerBase m_Player
Определения StaminaHandler.c:282
float m_StaminaSynced
Определения StaminaHandler.c:270
float m_StaminaDepletion
Определения StaminaHandler.c:275
float m_StaminaCap
Определения StaminaHandler.c:271
void SyncStaminaEx()
stamina sync - server part
Определения StaminaHandler.c:791
float m_StaminaDelta
Определения StaminaHandler.c:268
float m_Time
Определения StaminaHandler.c:278
float m_Stamina
Определения StaminaHandler.c:269

Перекрестные ссылки 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().