Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
heatbuffer.c
Go to the documentation of this file.
2{
3 const int NUMBER_OF_STAGES = 4;
4 const float STAGE_THRESHOLDS[NUMBER_OF_STAGES] = {0.0, 0.60, 0.85, 1.0};
5
6 protected int m_Stage;
7 protected int m_StageLast;
8
9 protected float m_Value;
10
11 override void Init()
12 {
15 m_ID = eModifiers.MDF_HEATBUFFER;
18 }
19
20 override bool ActivateCondition(PlayerBase player)
21 {
22 m_Value = player.GetStatHeatBuffer().Get() / player.GetStatHeatBuffer().GetMax();
23 if (m_Value > STAGE_THRESHOLDS[0])
24 return true;
25
26 return false;
27 }
28
29 override bool DeactivateCondition(PlayerBase player)
30 {
31 m_Value = player.GetStatHeatBuffer().Get() / player.GetStatHeatBuffer().GetMax();;
32 if (m_Value <= STAGE_THRESHOLDS[0])
33 return true;
34
35 return false;
36 }
37
38 override void OnActivate(PlayerBase player)
39 {
40 player.ToggleHeatBufferVisibility(GetHeatBufferStage());
41 }
42
43 override void OnDeactivate(PlayerBase player)
44 {
45 player.ToggleHeatBufferVisibility(GetHeatBufferStage());
46 //Protection against influenza with duration
47 if (player.GetTemporaryResistanceToAgent(eAgents.INFLUENZA) < 300)
48 player.SetTemporaryResistanceToAgent(eAgents.INFLUENZA, 300);
49 }
50
51 override void Tick(float delta_time)
52 {
53 super.Tick(delta_time);
54
55 m_Value = m_Player.GetStatHeatBuffer().Get() / m_Player.GetStatHeatBuffer().GetMax();
57
58 if (m_Stage != m_StageLast)
59 {
60 m_Player.ToggleHeatBufferVisibility(m_Stage);
62 }
63 }
64
65 protected int GetHeatBufferStage()
66 {
67 if (m_Value > STAGE_THRESHOLDS[0] && m_Value < STAGE_THRESHOLDS[1])
68 return 1;
69 else if (m_Value >= STAGE_THRESHOLDS[1] && m_Value < STAGE_THRESHOLDS[2])
70 return 2;
71 else if (m_Value >= STAGE_THRESHOLDS[2])
72 return 3;
73
74 return 0;
75 }
76
78 protected const float HEATBUFFER_SHOW = 25.0;
79 protected const float HEATBUFFER_HIDE = 20.0;
80}
const float HEATBUFFER_SHOW
DEPRECATED.
Definition heatbuffer.c:78
override bool DeactivateCondition(PlayerBase player)
Definition heatbuffer.c:29
override void Tick(float delta_time)
Definition heatbuffer.c:51
const float HEATBUFFER_HIDE
Definition heatbuffer.c:79
int GetHeatBufferStage()
Definition heatbuffer.c:65
override void Init()
Definition heatbuffer.c:11
override bool ActivateCondition(PlayerBase player)
Definition heatbuffer.c:20
override void OnActivate(PlayerBase player)
Definition heatbuffer.c:38
override void OnDeactivate(PlayerBase player)
Definition heatbuffer.c:43
eAgents
Definition eagents.c:3
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
DayZPlayer m_Player
Definition hand_events.c:42
bool m_TrackActivatedTime
overall time this modifier was active
bool m_AnalyticsStatsEnabled
float m_TickIntervalActive
float m_TickIntervalInactive
enum eModifierSyncIDs DEFAULT_TICK_TIME_ACTIVE