DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
HeatComfortMdfr.c
См. документацию.
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
int m_ID
ID of effect, given by SEffectManager when registered (automatically done when playing through it)
Определения Effect.c:49
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
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:32
override void OnTick(PlayerBase player, float deltaT)
Определения HeatComfortMdfr.c:38
override bool ActivateCondition(PlayerBase player)
Определения HeatComfortMdfr.c:12
override bool DeactivateCondition(PlayerBase player)
Определения HeatComfortMdfr.c:17
override string GetDebugText()
Определения HeatComfortMdfr.c:27
override void OnReconnect(PlayerBase player)
Определения HeatComfortMdfr.c:22
override void Init()
Определения HeatComfortMdfr.c:3
Определения HeatComfortMdfr.c:2
Определения EnMath.c:7
Определения BreathVapourMdfr.c:4
Определения PlayerBaseClient.c:2
static const float ENERGY_LOSS_HC_MINUS_HIGH
Определения PlayerConstants.c:131
static const float WATER_LOSS_HC_PLUS_HIGH
Определения PlayerConstants.c:128
static const float ENERGY_LOSS_THRESHOLD_HC_MINUS_HIGH
Определения PlayerConstants.c:125
static const float ENERGY_LOSS_THRESHOLD_HC_MINUS_LOW
Определения PlayerConstants.c:124
static const float HEALTH_LOSS_HC_MINUS_HIGH
Определения PlayerConstants.c:137
static const float WATER_LOSS_THRESHOLD_HC_PLUS_HIGH
Определения PlayerConstants.c:122
static const float HEALTH_LOSS_HC_MINUS_LOW
Определения PlayerConstants.c:136
static const float HEALTH_LOSS_HC_PLUS_LOW
Определения PlayerConstants.c:133
static const float ENERGY_LOSS_HC_MINUS_LOW
Определения PlayerConstants.c:130
static const float WATER_LOSS_HC_PLUS_LOW
Определения PlayerConstants.c:127
static const float WATER_LOSS_THRESHOLD_HC_PLUS_LOW
Определения PlayerConstants.c:121
static const float HEALTH_LOSS_HC_PLUS_HIGH
Определения PlayerConstants.c:134
Определения PlayerConstants.c:2
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,...