Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
contamination2.c
Go to the documentation of this file.
1
class
ContaminationStage2Mdfr
:
ModifierBase
2
{
3
static
const
int
AGENT_THRESHOLD_ACTIVATE
= 100;
4
static
const
int
AGENT_THRESHOLD_DEACTIVATE
= 400;
5
6
static
const
int
EVENT_1_INTERVAL_MIN
= 20;
7
static
const
int
EVENT_1_INTERVAL_MAX
= 40;
8
9
protected
float
m_NextEvent1
;
10
protected
float
m_Time1
;
11
12
13
static
const
int
EVENT_2_INTERVAL_MIN
= 200;
14
static
const
int
EVENT_2_INTERVAL_MAX
= 400;
15
16
protected
float
m_NextEvent2
;
17
protected
float
m_Time2
;
18
19
override
void
Init
()
20
{
21
m_AnalyticsStatsEnabled
=
true
;
22
m_ID
=
eModifiers
.MDF_CONTAMINATION2;
23
m_TickIntervalInactive
=
DEFAULT_TICK_TIME_INACTIVE
;
24
m_TickIntervalActive
=
DEFAULT_TICK_TIME_ACTIVE
;
25
m_SyncID
=
eModifierSyncIDs
.MODIFIER_SYNC_CONTAMINATION2;
26
}
27
28
override
string
GetDebugText
()
29
{
30
return
(
"Activate threshold: "
+
AGENT_THRESHOLD_ACTIVATE
+
"| "
+
"Deativate threshold: "
+
AGENT_THRESHOLD_DEACTIVATE
);
31
}
32
33
override
protected
bool
ActivateCondition
(
PlayerBase
player)
34
{
35
return
( player.GetSingleAgentCount(
eAgents
.CHEMICAL_POISON) >=
AGENT_THRESHOLD_ACTIVATE
&& player.GetSingleAgentCount(
eAgents
.CHEMICAL_POISON) <
AGENT_THRESHOLD_DEACTIVATE
);
36
}
37
38
override
protected
void
OnActivate
(
PlayerBase
player)
39
{
40
player.IncreaseDiseaseCount();
41
m_NextEvent1
=
Math
.
RandomFloatInclusive
(
EVENT_1_INTERVAL_MIN
,
EVENT_1_INTERVAL_MAX
);
42
m_NextEvent2
=
Math
.
RandomFloatInclusive
(
EVENT_2_INTERVAL_MIN
,
EVENT_2_INTERVAL_MAX
);
43
}
44
45
override
protected
void
OnDeactivate
(
PlayerBase
player)
46
{
47
player.DecreaseDiseaseCount();
48
}
49
50
override
protected
bool
DeactivateCondition
(
PlayerBase
player)
51
{
52
return
!
ActivateCondition
(player);
53
}
54
55
override
protected
void
OnTick
(
PlayerBase
player,
float
deltaT)
56
{
57
58
m_Time1
+= deltaT;
59
m_Time2
+= deltaT;
60
61
62
if
(
m_Time1
>=
m_NextEvent1
)
63
{
64
player.GetSymptomManager().QueueUpPrimarySymptom(SymptomIDs.SYMPTOM_COUGH);
65
m_Time1
= 0;
66
m_NextEvent1
=
Math
.
RandomFloatInclusive
(
EVENT_1_INTERVAL_MIN
,
EVENT_1_INTERVAL_MAX
);
67
}
68
if
(
m_Time2
>=
m_NextEvent2
)
69
{
70
player.GetSymptomManager().QueueUpPrimarySymptom(SymptomIDs.SYMPTOM_VOMIT);
71
m_Time2
= 0;
72
m_NextEvent2
=
Math
.
RandomFloatInclusive
(
EVENT_2_INTERVAL_MIN
,
EVENT_2_INTERVAL_MAX
);
73
}
74
75
}
76
};
ContaminationStage2Mdfr
Definition
contamination2.c:2
ContaminationStage2Mdfr::AGENT_THRESHOLD_ACTIVATE
static const int AGENT_THRESHOLD_ACTIVATE
Definition
contamination2.c:3
ContaminationStage2Mdfr::ActivateCondition
bool ActivateCondition(PlayerBase player)
Definition
contamination2.c:33
ContaminationStage2Mdfr::GetDebugText
override string GetDebugText()
Definition
contamination2.c:28
ContaminationStage2Mdfr::m_Time2
float m_Time2
Definition
contamination2.c:17
ContaminationStage2Mdfr::EVENT_2_INTERVAL_MIN
static const int EVENT_2_INTERVAL_MIN
Definition
contamination2.c:13
ContaminationStage2Mdfr::EVENT_1_INTERVAL_MAX
static const int EVENT_1_INTERVAL_MAX
Definition
contamination2.c:7
ContaminationStage2Mdfr::m_Time1
float m_Time1
Definition
contamination2.c:10
ContaminationStage2Mdfr::Init
override void Init()
Definition
contamination2.c:19
ContaminationStage2Mdfr::m_NextEvent1
float m_NextEvent1
Definition
contamination2.c:9
ContaminationStage2Mdfr::DeactivateCondition
bool DeactivateCondition(PlayerBase player)
Definition
contamination2.c:50
ContaminationStage2Mdfr::AGENT_THRESHOLD_DEACTIVATE
static const int AGENT_THRESHOLD_DEACTIVATE
Definition
contamination2.c:4
ContaminationStage2Mdfr::OnTick
void OnTick(PlayerBase player, float deltaT)
Definition
contamination2.c:55
ContaminationStage2Mdfr::EVENT_2_INTERVAL_MAX
static const int EVENT_2_INTERVAL_MAX
Definition
contamination2.c:14
ContaminationStage2Mdfr::OnActivate
void OnActivate(PlayerBase player)
Definition
contamination2.c:38
ContaminationStage2Mdfr::EVENT_1_INTERVAL_MIN
static const int EVENT_1_INTERVAL_MIN
Definition
contamination2.c:6
ContaminationStage2Mdfr::OnDeactivate
void OnDeactivate(PlayerBase player)
Definition
contamination2.c:45
ContaminationStage2Mdfr::m_NextEvent2
float m_NextEvent2
Definition
contamination2.c:16
Math
Definition
enmath.c:7
ModifierBase
Definition
breathvapourmdfr.c:4
PlayerBase
Definition
playerbaseclient.c:2
eAgents
eAgents
Definition
eagents.c:3
m_ID
int m_ID
ID of effect, given by SEffectManager when registered (automatically done when playing through it).
Definition
effect.c:51
eModifiers
eModifiers
Definition
emodifiers.c:2
Math::RandomFloatInclusive
static float RandomFloatInclusive(float min, float max)
Returns a random float number between and min [inclusive] and max [inclusive].
Definition
enmath.c:106
m_AnalyticsStatsEnabled
bool m_AnalyticsStatsEnabled
Definition
modifierbase.c:31
m_SyncID
eModifierSyncIDs m_SyncID
Definition
modifierbase.c:28
m_TickIntervalActive
float m_TickIntervalActive
Definition
modifierbase.c:18
m_TickIntervalInactive
float m_TickIntervalInactive
Definition
modifierbase.c:17
eModifierSyncIDs
eModifierSyncIDs
Definition
modifiersmanager.c:3
DEFAULT_TICK_TIME_INACTIVE
const int DEFAULT_TICK_TIME_INACTIVE
Definition
modifiersmanager.c:29
DEFAULT_TICK_TIME_ACTIVE
enum eModifierSyncIDs DEFAULT_TICK_TIME_ACTIVE
Games
Dayz
scripts
4_world
classes
playermodifiers
modifiers
diseases
contamination2.c
Generated by
1.17.0