Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
braindisease.c
Go to the documentation of this file.
1
class
BrainDiseaseMdfr
:
ModifierBase
2
{
3
static
const
int
AGENT_THRESHOLD_ACTIVATE
= 2000;
4
static
const
int
AGENT_THRESHOLD_DEACTIVATE
= 0;
5
const
int
SHAKE_INTERVAL_MIN
= 1;
6
const
int
SHAKE_INTERVAL_MAX
= 4;
7
8
float
m_Time
;
9
float
m_ShakeTime
;
10
11
override
void
Init
()
12
{
13
m_TrackActivatedTime
=
false
;
14
m_AnalyticsStatsEnabled
=
true
;
15
m_ID
=
eModifiers
.MDF_BRAIN;
16
m_TickIntervalInactive
=
DEFAULT_TICK_TIME_INACTIVE
;
17
m_TickIntervalActive
=
DEFAULT_TICK_TIME_ACTIVE
;
18
}
19
20
override
string
GetDebugText
()
21
{
22
return
(
"Activate threshold: "
+
AGENT_THRESHOLD_ACTIVATE
+
"| "
+
"Deativate threshold: "
+
AGENT_THRESHOLD_DEACTIVATE
);
23
}
24
25
override
protected
bool
ActivateCondition
(
PlayerBase
player)
26
{
27
return
(player.GetSingleAgentCount(
eAgents
.BRAIN) >=
AGENT_THRESHOLD_ACTIVATE
);
28
}
29
30
override
protected
void
OnActivate
(
PlayerBase
player)
31
{
32
player.IncreaseDiseaseCount();
33
player.GetSymptomManager().QueueUpPrimarySymptom(SymptomIDs.SYMPTOM_LAUGHTER);
34
}
35
36
override
protected
void
OnDeactivate
(
PlayerBase
player)
37
{
38
player.DecreaseDiseaseCount();
39
}
40
41
override
protected
bool
DeactivateCondition
(
PlayerBase
player)
42
{
43
return
(player.GetSingleAgentCount(
eAgents
.BRAIN) <=
AGENT_THRESHOLD_DEACTIVATE
);
44
}
45
46
override
protected
void
OnTick
(
PlayerBase
player,
float
deltaT)
47
{
48
m_Time
+= deltaT;
49
float
brainAgents = player.GetSingleAgentCountNormalized(
eAgents
.BRAIN) / 8.0;
50
float
chanceOfLaughter =
Math
.
RandomFloat01
();
51
52
if
(chanceOfLaughter < brainAgents)
53
player.GetSymptomManager().QueueUpPrimarySymptom(SymptomIDs.SYMPTOM_LAUGHTER);
54
55
if
(
m_Time
>=
m_ShakeTime
)
56
{
57
DayZPlayerSyncJunctures
.
SendKuruRequest
(player, brainAgents);
58
m_ShakeTime
=
m_Time
+
Math
.
RandomFloat
(
SHAKE_INTERVAL_MIN
,
SHAKE_INTERVAL_MAX
);
59
}
60
61
}
62
}
BrainDiseaseMdfr
Definition
braindisease.c:2
BrainDiseaseMdfr::m_ShakeTime
float m_ShakeTime
Definition
braindisease.c:9
BrainDiseaseMdfr::m_Time
float m_Time
Definition
braindisease.c:8
BrainDiseaseMdfr::AGENT_THRESHOLD_ACTIVATE
static const int AGENT_THRESHOLD_ACTIVATE
Definition
braindisease.c:3
BrainDiseaseMdfr::SHAKE_INTERVAL_MIN
const int SHAKE_INTERVAL_MIN
Definition
braindisease.c:5
BrainDiseaseMdfr::ActivateCondition
bool ActivateCondition(PlayerBase player)
Definition
braindisease.c:25
BrainDiseaseMdfr::GetDebugText
override string GetDebugText()
Definition
braindisease.c:20
BrainDiseaseMdfr::SHAKE_INTERVAL_MAX
const int SHAKE_INTERVAL_MAX
Definition
braindisease.c:6
BrainDiseaseMdfr::Init
override void Init()
Definition
braindisease.c:11
BrainDiseaseMdfr::DeactivateCondition
bool DeactivateCondition(PlayerBase player)
Definition
braindisease.c:41
BrainDiseaseMdfr::AGENT_THRESHOLD_DEACTIVATE
static const int AGENT_THRESHOLD_DEACTIVATE
Definition
braindisease.c:4
BrainDiseaseMdfr::OnTick
void OnTick(PlayerBase player, float deltaT)
Definition
braindisease.c:46
BrainDiseaseMdfr::OnActivate
void OnActivate(PlayerBase player)
Definition
braindisease.c:30
BrainDiseaseMdfr::OnDeactivate
void OnDeactivate(PlayerBase player)
Definition
braindisease.c:36
DayZPlayerSyncJunctures
Definition
dayzplayersyncjunctures.c:5
DayZPlayerSyncJunctures::SendKuruRequest
static void SendKuruRequest(DayZPlayer pPlayer, float amount)
Definition
dayzplayersyncjunctures.c:313
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::RandomFloat
static proto float RandomFloat(float min, float max)
Returns a random float number between and min[inclusive] and max[exclusive].
Math::RandomFloat01
static float RandomFloat01()
Returns a random float number between and min [inclusive] and max [inclusive].
Definition
enmath.c:126
m_TrackActivatedTime
bool m_TrackActivatedTime
overall time this modifier was active
Definition
modifierbase.c:14
m_AnalyticsStatsEnabled
bool m_AnalyticsStatsEnabled
Definition
modifierbase.c:31
m_TickIntervalActive
float m_TickIntervalActive
Definition
modifierbase.c:18
m_TickIntervalInactive
float m_TickIntervalInactive
Definition
modifierbase.c:17
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
braindisease.c
Generated by
1.17.0