DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
HeatBuffer.c
См. документацию.
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();
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 {
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}
eAgents
Определения EAgents.c:3
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
bool m_AnalyticsStatsEnabled
Определения ModifierBase.c:31
float m_TickIntervalActive
Определения ModifierBase.c:18
float m_TickIntervalInactive
Определения ModifierBase.c:17
enum eModifierSyncIDs DEFAULT_TICK_TIME_ACTIVE
const float HEATBUFFER_SHOW
DEPRECATED.
Определения HeatBuffer.c:78
int m_Stage
Определения HeatBuffer.c:6
override bool DeactivateCondition(PlayerBase player)
Определения HeatBuffer.c:29
const int NUMBER_OF_STAGES
Определения HeatBuffer.c:3
override void Tick(float delta_time)
Определения HeatBuffer.c:51
const float HEATBUFFER_HIDE
Определения HeatBuffer.c:79
int GetHeatBufferStage()
Определения HeatBuffer.c:65
override void Init()
Определения HeatBuffer.c:11
const float STAGE_THRESHOLDS[NUMBER_OF_STAGES]
Определения HeatBuffer.c:4
override bool ActivateCondition(PlayerBase player)
Определения HeatBuffer.c:20
override void OnActivate(PlayerBase player)
Определения HeatBuffer.c:38
int m_StageLast
Определения HeatBuffer.c:7
override void OnDeactivate(PlayerBase player)
Определения HeatBuffer.c:43
float m_Value
Определения HeatBuffer.c:9
Определения HeatBuffer.c:2
Определения BreathVapourMdfr.c:4
Определения PlayerBaseClient.c:2
eModifiers
Определения eModifiers.c:2