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

◆ AutoinfectCheck()

override bool InfluenzaAgent::AutoinfectCheck ( float deltaT,
PlayerBase player )
inlineprotected

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

45 {
46 if (!player.m_AgentPool.GetTemporaryResistance(eAgents.INFLUENZA))
47 {
48 float heatcomfort = player.GetStatHeatComfort().Get();
49 if (heatcomfort < PlayerConstants.THRESHOLD_HEAT_COMFORT_MINUS_WARNING)
50 {
51 float subtractTimeModifier;
52 float subtractTimeRandomized = Math.RandomFloatInclusive(CONTRACT_TIME_THRESHOLD_MIN, CONTRACT_TIME_THRESHOLD_MAX);
53
54 if (heatcomfort <= PlayerConstants.THRESHOLD_HEAT_COMFORT_MINUS_WARNING && heatcomfort > PlayerConstants.THRESHOLD_HEAT_COMFORT_MINUS_CRITICAL)
55 subtractTimeModifier = CONTRACT_HEATCOMFORT_MODIFIER[0];
56 else if (heatcomfort <= PlayerConstants.THRESHOLD_HEAT_COMFORT_MINUS_CRITICAL && heatcomfort > PlayerConstants.THRESHOLD_HEAT_COMFORT_MINUS_EMPTY)
57 subtractTimeModifier = CONTRACT_HEATCOMFORT_MODIFIER[1];
58 else if (heatcomfort <= PlayerConstants.THRESHOLD_HEAT_COMFORT_MINUS_EMPTY)
59 subtractTimeModifier = CONTRACT_HEATCOMFORT_MODIFIER[2];
60
61 float subtractTimeModified = subtractTimeRandomized * subtractTimeModifier;
62
63 m_TimeToContract -= subtractTimeModified;
65 {
66 m_ElapsedTime = 0;
68
69 return true;
70 }
71
72 m_ElapsedTime += deltaT;
73 }
74 else
75 {
76 m_ElapsedTime = Math.Clamp(m_ElapsedTime - deltaT, 0.0, float.MAX);
77 m_TimeToContract = Math.Clamp(m_TimeToContract + deltaT*15, 0.0, MAX_TIME_TO_CONTRACT);
78 }
79 }
80
81 return false;
82 }
eAgents
Определения EAgents.c:3
const int MAX
Определения EnConvert.c:27
int m_ElapsedTime
Определения InfluenzaAgent.c:25
const int CONTRACT_TIME_THRESHOLD_MAX
min value of time [s] for subtraction from MAX_TIME_TO_CONTRACT (used for randomization)
Определения InfluenzaAgent.c:15
const int MAX_TIME_TO_CONTRACT
Определения InfluenzaAgent.c:13
const float CONTRACT_HEATCOMFORT_MODIFIER[3]
Определения InfluenzaAgent.c:19
const int CONTRACT_TIME_THRESHOLD_MIN
at this time [s], character will contract the disease
Определения InfluenzaAgent.c:14
int m_TimeToContract
max value of time [s] for subtraction from MAX_TIME_TO_CONTRACT (used for randomization)
Определения InfluenzaAgent.c:17

Перекрестные ссылки Math::Clamp(), CONTRACT_HEATCOMFORT_MODIFIER, CONTRACT_TIME_THRESHOLD_MAX, CONTRACT_TIME_THRESHOLD_MIN, m_ElapsedTime, m_TimeToContract, MAX, MAX_TIME_TO_CONTRACT, Math::RandomFloatInclusive(), PlayerConstants::THRESHOLD_HEAT_COMFORT_MINUS_CRITICAL, PlayerConstants::THRESHOLD_HEAT_COMFORT_MINUS_EMPTY и PlayerConstants::THRESHOLD_HEAT_COMFORT_MINUS_WARNING.