DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
HeatComfortMdfr.c
См. документацию.
2{
12
13 override bool ActivateCondition(PlayerBase player)
14 {
15 return true;
16 }
17
18 override bool DeactivateCondition(PlayerBase player)
19 {
20 return false;
21 }
22
23 override void OnReconnect(PlayerBase player)
24 {
25
26 }
27
28 override string GetDebugText()
29 {
30 return m_Player.GetStatHeatComfort().Get().ToString();
31 }
32
33 override string GetDebugTextSimple()
34 {
35 return m_Player.GetStatHeatComfort().Get().ToString();
36 }
37
38
39 override void OnTick(PlayerBase player, float deltaT)
40 {
41 float heatComfortValue = player.GetStatHeatComfort().Get();
42 ThermalBiasHandler thermalBiasHandler = player.GetThermalBiasHandler();
43 float thermalBiasValue = thermalBiasHandler.Get();
44 PlayerStat<float> waterStat = player.GetStatWater();
45 float waterValue = waterStat.Get();
46 float valueNormalized;
47
49 {
51 valueNormalized = Math.Clamp(valueNormalized, 0, 1);
52 float waterLoss = deltaT * Math.Lerp(PlayerConstants.WATER_LOSS_HC_PLUS_LOW, PlayerConstants.WATER_LOSS_HC_PLUS_HIGH, valueNormalized);
53 waterStat.Add(-waterLoss);
54 }
56 {
58 valueNormalized = Math.Clamp(valueNormalized, 0, 1);
60 player.GetStatEnergy().Add(-energyLoss);
61
63 {
64 valueNormalized = Math.InverseLerp(PlayerConstants.ENERGY_LOSS_THRESHOLD_HC_MINUS_HIGH, -1.0, heatComfortValue);
65 valueNormalized = Math.Clamp(valueNormalized, 0, 1);
66
69 if (healthLoss != 0.0)
70 player.AddHealth("", "", -healthLoss);
71 }
72 }
73
76 {
78 }
79 else if (heatComfortValue > PlayerConstants.THRESHOLD_HEAT_COMFORT_PLUS_CRITICAL)
80 {
82 }
83
85 {
86 if (waterValue < PlayerConstants.SL_WATER_NORMAL && !player.IsUnconscious())
87 {
88 if (thermalBiasValue > HeatStrokeMdfr.STAGE_THRESHOLDS[3])
90 else if (thermalBiasValue >= HeatStrokeMdfr.STAGE_THRESHOLDS[2])
92 else
94 }
95 else if (waterValue < PlayerConstants.SL_WATER_HIGH && !player.IsUnconscious())
96 {
97 if (thermalBiasValue < HeatStrokeMdfr.STAGE_THRESHOLDS[1])
98 {
100 }
101 else
102 thermalBiasHandler.Add(-PlayerConstants.THERMAL_BIAS_POSITIVE_HC_DECREMENT * deltaT);
103 }
104 }
105 else
106 {
108 thermalBiasHandler.Add(-PlayerConstants.THERMAL_BIAS_POSITIVE_HC_DECREMENT * deltaT);
109 if (thermalBiasValue <= 0.0)
110 thermalBiasHandler.Set(0.0);
111 }
112 }
113}
int m_ID
Определения DustKickupEffects.c:26
DayZPlayer m_Player
Определения Hand_Events.c:42
bool m_TrackActivatedTime
overall time this modifier was active
Определения ModifierBase.c:14
void DisableDeactivateCheck()
Определения ModifierBase.c:86
float m_TickIntervalActive
Определения ModifierBase.c:18
float m_TickIntervalInactive
Определения ModifierBase.c:17
const int DEFAULT_TICK_TIME_INACTIVE
Определения ModifiersManager.c:29
enum eModifierSyncIDs DEFAULT_TICK_TIME_ACTIVE
void PlayerStat(T min, T max, T init, string label, int flags)
Определения PlayerStatBase.c:43
static float EaseInQuad(float t)
Определения Easing.c:19
Input value between 0 and 1, returns value adjusted by easing, no automatic clamping of input(do your...
Определения Easing.c:3
override string GetDebugTextSimple()
Определения HeatComfortMdfr.c:33
override void OnTick(PlayerBase player, float deltaT)
Определения HeatComfortMdfr.c:39
override bool ActivateCondition(PlayerBase player)
Определения HeatComfortMdfr.c:13
override bool DeactivateCondition(PlayerBase player)
Определения HeatComfortMdfr.c:18
override string GetDebugText()
Определения HeatComfortMdfr.c:28
override void OnReconnect(PlayerBase player)
Определения HeatComfortMdfr.c:23
override void Init()
Определения HeatComfortMdfr.c:3
Определения HeatComfortMdfr.c:2
const float STAGE_THRESHOLDS[NUMBER_OF_STAGES]
Определения HeatStroke.c:4
Определения HeatStroke.c:2
Определения EnMath.c:7
Определения BreathVapourMdfr.c:4
Определения PlayerBaseClient.c:2
static const float ENERGY_LOSS_HC_MINUS_HIGH
Определения PlayerConstants.c:132
static const float WATER_LOSS_HC_PLUS_HIGH
Определения PlayerConstants.c:129
static const float SL_WATER_HIGH
Определения PlayerConstants.c:50
static const float THRESHOLD_HEAT_COMFORT_PLUS_WARNING
Определения PlayerConstants.c:89
static const float ENERGY_LOSS_THRESHOLD_HC_MINUS_HIGH
Определения PlayerConstants.c:126
static const float SL_WATER_NORMAL
Определения PlayerConstants.c:49
static const float THRESHOLD_HEAT_COMFORT_PLUS_EMPTY
Определения PlayerConstants.c:91
static const float ENERGY_LOSS_THRESHOLD_HC_MINUS_LOW
Определения PlayerConstants.c:125
static const float THERMAL_BIAS_POSITIVE_HC_MEDIUM_INCREMENT
Определения PlayerConstants.c:209
static const float THRESHOLD_HEAT_COMFORT_PLUS_CRITICAL
Определения PlayerConstants.c:90
static const float HEALTH_LOSS_HC_MINUS_HIGH
Определения PlayerConstants.c:138
static const float WATER_LOSS_THRESHOLD_HC_PLUS_HIGH
Определения PlayerConstants.c:123
static const float THERMAL_BIAS_POSITIVE_HC_LOW_INCREMENT
Определения PlayerConstants.c:208
static const float HEALTH_LOSS_HC_MINUS_LOW
Определения PlayerConstants.c:137
static const float THERMAL_BIAS_POSITIVE_HC_HIGH_INCREMENT
Определения PlayerConstants.c:210
static const float ENERGY_LOSS_HC_MINUS_LOW
Определения PlayerConstants.c:131
static const float WATER_LOSS_HC_PLUS_LOW
Определения PlayerConstants.c:128
static const float THERMAL_BIAS_POSITIVE_HC_DECREMENT
Определения PlayerConstants.c:206
static const float WATER_LOSS_THRESHOLD_HC_PLUS_LOW
Определения PlayerConstants.c:122
Определения PlayerConstants.c:2
void Set(float value)
Определения ThermalBiasHandler.c:50
float Get()
Определения ThermalBiasHandler.c:31
void Add(float value)
Определения ThermalBiasHandler.c:40
eModifiers
Определения eModifiers.c:2
static proto float Lerp(float a, float b, float time)
Linearly interpolates between 'a' and 'b' given 'time'.
static proto float Clamp(float value, float min, float max)
Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.
static proto float InverseLerp(float a, float b, float value)
Calculates the linear value that produces the interpolant value within the range [a,...