Dayz Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Loading...
Searching...
No Matches
heatcomfortmdfr.c
Go to the documentation of this file.
2{
11
12 override bool ActivateCondition(PlayerBase player)
13 {
14 return true;
15 }
16
17 override bool DeactivateCondition(PlayerBase player)
18 {
19 return false;
20 }
21
22 override void OnReconnect(PlayerBase player)
23 {
24
25 }
26
27 override string GetDebugText()
28 {
29 return m_Player.GetStatHeatComfort().Get().ToString();
30 }
31
32 override string GetDebugTextSimple()
33 {
34 return m_Player.GetStatHeatComfort().Get().ToString();
35 }
36
37
38 override void OnTick(PlayerBase player, float deltaT)
39 {
40 float heat_comfort = player.GetStatHeatComfort().Get();
41 float health_loss;
42 float value_normalized;
43
45 {
47 value_normalized = Math.Clamp(value_normalized, 0, 1);
48 float water_loss = deltaT * Math.Lerp(PlayerConstants.WATER_LOSS_HC_PLUS_LOW, PlayerConstants.WATER_LOSS_HC_PLUS_HIGH, value_normalized);
49 player.GetStatWater().Add(-water_loss);
50
52 {
53 value_normalized = Math.Lerp(PlayerConstants.WATER_LOSS_THRESHOLD_HC_PLUS_HIGH, 1.0, heat_comfort);
54 value_normalized = Math.Clamp(value_normalized, 0, 1);
56 }
57 }
59 {
61 value_normalized = Math.Clamp(value_normalized, 0, 1);
62 float energy_loss = deltaT * Math.Lerp(PlayerConstants.ENERGY_LOSS_HC_MINUS_LOW, PlayerConstants.ENERGY_LOSS_HC_MINUS_HIGH, value_normalized);
63 player.GetStatEnergy().Add(-energy_loss);
64
66 {
67 value_normalized = Math.InverseLerp(PlayerConstants.ENERGY_LOSS_THRESHOLD_HC_MINUS_HIGH, -1.0, heat_comfort);
68 value_normalized = Math.Clamp(value_normalized, 0, 1);
70 }
71 }
72
73 if( health_loss != 0 )
74 {
75 player.AddHealth("","",-health_loss);
76 }
77 }
78};
79
map m_Player
Input value between 0 and 1, returns value adjusted by easing, no automatic clamping of input(do your...
Definition easing.c:3
static float EaseInQuad(float t)
Definition easing.c:19
override bool DeactivateCondition(PlayerBase player)
override void OnReconnect(PlayerBase player)
override string GetDebugText()
override string GetDebugTextSimple()
override void OnTick(PlayerBase player, float deltaT)
override void Init()
override bool ActivateCondition(PlayerBase player)
Definition enmath.c:7
static const float WATER_LOSS_THRESHOLD_HC_PLUS_LOW
static const float HEALTH_LOSS_HC_MINUS_LOW
static const float ENERGY_LOSS_THRESHOLD_HC_MINUS_HIGH
static const float ENERGY_LOSS_THRESHOLD_HC_MINUS_LOW
static const float HEALTH_LOSS_HC_MINUS_HIGH
static const float WATER_LOSS_THRESHOLD_HC_PLUS_HIGH
static const float WATER_LOSS_HC_PLUS_HIGH
static const float WATER_LOSS_HC_PLUS_LOW
static const float ENERGY_LOSS_HC_MINUS_HIGH
static const float ENERGY_LOSS_HC_MINUS_LOW
static const float HEALTH_LOSS_HC_PLUS_LOW
static const float HEALTH_LOSS_HC_PLUS_HIGH
int m_ID
ID of effect, given by SEffectManager when registered (automatically done when playing through it).
Definition effect.c:51
eModifiers
Definition emodifiers.c:2
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,...
static proto float Lerp(float a, float b, float time)
Linearly interpolates between 'a' and 'b' given 'time'.
bool m_TrackActivatedTime
overall time this modifier was active
void DisableDeactivateCheck()
float m_TickIntervalActive
float m_TickIntervalInactive
const int DEFAULT_TICK_TIME_INACTIVE
enum eModifierSyncIDs DEFAULT_TICK_TIME_ACTIVE