Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
warmthnotfr.c
Go to the documentation of this file.
1
class
WarmthNotfr
:
NotifierBase
2
{
3
private
const
float
DEC_TRESHOLD_LOW
= -0.01;
4
private
const
float
DEC_TRESHOLD_MED
= -0.12;
5
private
const
float
DEC_TRESHOLD_HIGH
= -0.25;
6
private
const
float
INC_TRESHOLD_LOW
= 0.01;
7
private
const
float
INC_TRESHOLD_MED
= 0.12;
8
private
const
float
INC_TRESHOLD_HIGH
= 0.25;
9
10
protected
ref SimpleMovingAverage<float>
m_AverageHeatComfortDeltaBuffer
;
11
12
void
WarmthNotfr
(
NotifiersManager
manager)
13
{
14
m_AverageHeatComfortDeltaBuffer
=
new
SimpleMovingAverage<float>(6, 0.0);
15
}
16
17
override
int
GetNotifierType
()
18
{
19
return
eNotifiers
.NTF_WARMTH;
20
}
21
22
protected
DSLevelsTemp
DetermineLevelEx
()
23
{
24
float
value =
m_Player
.GetStatHeatComfort().Get();
25
DSLevelsTemp level = DSLevelsTemp.NORMAL;
26
27
if
(value < 0)
28
{
29
if
(value <
PlayerConstants
.
THRESHOLD_HEAT_COMFORT_MINUS_WARNING
)
30
level = DSLevelsTemp.WARNING_MINUS;
31
if
(value <
PlayerConstants
.
THRESHOLD_HEAT_COMFORT_MINUS_CRITICAL
)
32
level = DSLevelsTemp.CRITICAL_MINUS;
33
if
(value <=
PlayerConstants
.
THRESHOLD_HEAT_COMFORT_MINUS_EMPTY
)
34
level = DSLevelsTemp.BLINKING_MINUS;
35
}
36
else
37
{
38
if
(value >
PlayerConstants
.
THRESHOLD_HEAT_COMFORT_PLUS_WARNING
)
39
level = DSLevelsTemp.WARNING_PLUS;
40
if
(value >
PlayerConstants
.
THRESHOLD_HEAT_COMFORT_PLUS_CRITICAL
)
41
level = DSLevelsTemp.CRITICAL_PLUS;
42
if
(value >=
PlayerConstants
.
THRESHOLD_HEAT_COMFORT_PLUS_EMPTY
)
43
level = DSLevelsTemp.BLINKING_PLUS;
44
}
45
46
return
level;
47
}
48
49
override
void
DisplayTendency
(
float
delta)
50
{
51
int
tendency =
CalculateTendency
(
52
GetObservedValue
(),
53
INC_TRESHOLD_LOW
,
54
INC_TRESHOLD_MED
,
55
INC_TRESHOLD_HIGH
,
56
DEC_TRESHOLD_LOW
,
57
DEC_TRESHOLD_MED
,
58
DEC_TRESHOLD_HIGH
,
59
);
60
61
DSLevelsTemp level =
DetermineLevelEx
();
62
63
DisplayElementTendency
displayElement =
DisplayElementTendency
.Cast(
GetVirtualHud
().
GetElement
(eDisplayElements.DELM_TDCY_TEMPERATURE));
64
65
if
(displayElement)
66
{
67
displayElement.SetTendency(tendency);
68
displayElement.SetSeriousnessLevel(level);
69
}
70
}
71
72
override
protected
float
GetObservedValue
()
73
{
74
return
m_AverageHeatComfortDeltaBuffer
.Add(
m_Player
.m_Environment.GetTargetHeatComfort() -
m_Player
.GetStatHeatComfort().Get());
75
}
76
77
[
Obsolete
(
"replaced by DetermineLevelEx"
)]
78
protected
DSLevelsTemp
DetermineLevel
(
float
value,
float
m_warning_treshold,
float
m_critical_treshold,
float
m_empty_treshold,
float
p_warning_treshold,
float
p_critical_treshold,
float
p_empty_treshold )
79
{
80
DSLevelsTemp level = DSLevelsTemp.NORMAL;
81
82
if
(value < 0)
83
{
84
if
(value < m_warning_treshold)
85
level = DSLevelsTemp.WARNING_MINUS;
86
if
(value < m_critical_treshold)
87
level = DSLevelsTemp.CRITICAL_MINUS;
88
if
(value <= m_empty_treshold)
89
level = DSLevelsTemp.BLINKING_MINUS;
90
}
91
else
92
{
93
if
(value > p_warning_treshold)
94
level = DSLevelsTemp.WARNING_PLUS;
95
if
(value > p_critical_treshold)
96
level = DSLevelsTemp.CRITICAL_PLUS;
97
if
(value >= p_empty_treshold)
98
level = DSLevelsTemp.BLINKING_PLUS;
99
}
100
101
return
level;
102
}
103
}
DisplayElementTendency
Definition
tendencybacteria.c:2
NotifierBase::CalculateTendency
int CalculateTendency(float delta, float inctresholdlow, float inctresholdmed, float inctresholdhigh, float dectresholdlow, float dectresholdmed, float dectresholdhigh)
Definition
notifierbase.c:166
NotifierBase::m_Player
PlayerBase m_Player
Definition
notifierbase.c:5
NotifierBase::GetVirtualHud
VirtualHud GetVirtualHud()
Definition
notifierbase.c:49
NotifierBase::NotifierBase
void NotifierBase(NotifiersManager manager)
Definition
notifierbase.c:22
PlayerConstants
Definition
playerconstants.c:2
PlayerConstants::THRESHOLD_HEAT_COMFORT_MINUS_WARNING
static const float THRESHOLD_HEAT_COMFORT_MINUS_WARNING
Definition
playerconstants.c:92
PlayerConstants::THRESHOLD_HEAT_COMFORT_PLUS_WARNING
static const float THRESHOLD_HEAT_COMFORT_PLUS_WARNING
Definition
playerconstants.c:88
PlayerConstants::THRESHOLD_HEAT_COMFORT_PLUS_EMPTY
static const float THRESHOLD_HEAT_COMFORT_PLUS_EMPTY
Definition
playerconstants.c:90
PlayerConstants::THRESHOLD_HEAT_COMFORT_MINUS_CRITICAL
static const float THRESHOLD_HEAT_COMFORT_MINUS_CRITICAL
Definition
playerconstants.c:93
PlayerConstants::THRESHOLD_HEAT_COMFORT_MINUS_EMPTY
static const float THRESHOLD_HEAT_COMFORT_MINUS_EMPTY
Definition
playerconstants.c:94
PlayerConstants::THRESHOLD_HEAT_COMFORT_PLUS_CRITICAL
static const float THRESHOLD_HEAT_COMFORT_PLUS_CRITICAL
Definition
playerconstants.c:89
WarmthNotfr::DEC_TRESHOLD_MED
const float DEC_TRESHOLD_MED
Definition
warmthnotfr.c:4
WarmthNotfr::WarmthNotfr
void WarmthNotfr(NotifiersManager manager)
replaces the original delta of values from NotifierBase
Definition
warmthnotfr.c:12
WarmthNotfr::GetObservedValue
float GetObservedValue()
Definition
warmthnotfr.c:72
WarmthNotfr::DisplayTendency
override void DisplayTendency(float delta)
Definition
warmthnotfr.c:49
WarmthNotfr::INC_TRESHOLD_LOW
const float INC_TRESHOLD_LOW
Definition
warmthnotfr.c:6
WarmthNotfr::DEC_TRESHOLD_HIGH
const float DEC_TRESHOLD_HIGH
Definition
warmthnotfr.c:5
WarmthNotfr::INC_TRESHOLD_MED
const float INC_TRESHOLD_MED
Definition
warmthnotfr.c:7
WarmthNotfr::DEC_TRESHOLD_LOW
const float DEC_TRESHOLD_LOW
Definition
warmthnotfr.c:3
WarmthNotfr::m_AverageHeatComfortDeltaBuffer
ref SimpleMovingAverage< float > m_AverageHeatComfortDeltaBuffer
Definition
warmthnotfr.c:10
WarmthNotfr::GetNotifierType
override int GetNotifierType()
Definition
warmthnotfr.c:17
WarmthNotfr::INC_TRESHOLD_HIGH
const float INC_TRESHOLD_HIGH
Definition
warmthnotfr.c:8
WarmthNotfr::DetermineLevelEx
DSLevelsTemp DetermineLevelEx()
Definition
warmthnotfr.c:22
WarmthNotfr::DetermineLevel
DSLevelsTemp DetermineLevel(float value, float m_warning_treshold, float m_critical_treshold, float m_empty_treshold, float p_warning_treshold, float p_critical_treshold, float p_empty_treshold)
Definition
warmthnotfr.c:78
GetElement
DisplayElementBase GetElement(eDisplayElements element_id)
Definition
displaystatus.c:96
Obsolete
void Obsolete(string msg="")
Definition
enscript.c:371
NotifiersManager
void NotifiersManager(PlayerBase player)
Definition
notifiersmanager.c:37
eNotifiers
eNotifiers
Definition
notifiersmanager.c:3
Games
Dayz
scripts
4_world
classes
playernotifiers
notifiers
warmthnotfr.c
Generated by
1.17.0