Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
pneumonia.c
Go to the documentation of this file.
1
class
PneumoniaMdfr
:
ModifierBase
2
{
3
const
int
AGENT_THRESHOLD_ACTIVATE
= 1150;
4
const
int
AGENT_THRESHOLD_DEACTIVATE
= 1100;
5
6
const
float
STAMINA_DEPLETION_MULTIPLIER
= 1.3;
7
const
float
STAMINA_RECOVERY_MULTIPLIER
= 0.5;
8
9
const
float
HEALTH_LOSS_PNEUMONIA
= 0.1;
10
11
private
const
int
TEMPORARY_RESISTANCE_TIME
= 600;
12
13
override
void
Init
()
14
{
15
m_TrackActivatedTime
=
false
;
16
m_AnalyticsStatsEnabled
=
true
;
17
m_ID
=
eModifiers
.MDF_PNEUMONIA;
18
m_TickIntervalInactive
=
DEFAULT_TICK_TIME_INACTIVE
;
19
m_TickIntervalActive
=
DEFAULT_TICK_TIME_ACTIVE
;
20
}
21
22
override
string
GetDebugText
()
23
{
24
return
(
"Activate threshold: "
+
AGENT_THRESHOLD_ACTIVATE
+
"| "
+
"Deativate threshold: "
+
AGENT_THRESHOLD_DEACTIVATE
);
25
}
26
27
override
protected
bool
ActivateCondition
(
PlayerBase
player)
28
{
29
if
(player.GetSingleAgentCount(
eAgents
.INFLUENZA) >=
AGENT_THRESHOLD_ACTIVATE
)
30
return
true
;
31
32
return
false
;
33
}
34
35
override
protected
void
OnActivate
(
PlayerBase
player)
36
{
37
player.IncreaseDiseaseCount();
38
39
player.GetStaminaHandler().ActivateRecoveryModifier(
EStaminaMultiplierTypes
.DISEASE_PNEUMONIA);
40
player.GetStaminaHandler().ActivateDepletionModifier(
EStaminaMultiplierTypes
.DISEASE_PNEUMONIA);
41
}
42
43
override
protected
void
OnDeactivate
(
PlayerBase
player)
44
{
45
player.DecreaseDiseaseCount();
46
47
player.GetStaminaHandler().DeactivateRecoveryModifier(
EStaminaMultiplierTypes
.DISEASE_PNEUMONIA);
48
player.GetStaminaHandler().DeactivateDepletionModifier(
EStaminaMultiplierTypes
.DISEASE_PNEUMONIA);
49
50
player.SetTemporaryResistanceToAgent(
eAgents
.INFLUENZA,
TEMPORARY_RESISTANCE_TIME
);
51
}
52
53
override
protected
bool
DeactivateCondition
(
PlayerBase
player)
54
{
55
return
(player.GetSingleAgentCount(
eAgents
.INFLUENZA) <=
AGENT_THRESHOLD_DEACTIVATE
);
56
}
57
58
override
protected
void
OnTick
(
PlayerBase
player,
float
deltaT)
59
{
60
float
healthLoss =
HEALTH_LOSS_PNEUMONIA
* deltaT;
61
62
player.AddHealth(-healthLoss);
63
64
float
heavyBreathChance = player.GetSingleAgentCountNormalized(
eAgents
.INFLUENZA);
65
66
if
(
Math
.
RandomFloat01
() < heavyBreathChance /
Math
.
RandomInt
(1,15) )
67
{
68
player.GetSymptomManager().QueueUpPrimarySymptom(SymptomIDs.SYMPTOM_GASP);
69
}
70
}
71
};
Math
Definition
enmath.c:7
ModifierBase
Definition
breathvapourmdfr.c:4
PlayerBase
Definition
playerbaseclient.c:2
PneumoniaMdfr
Definition
pneumonia.c:2
PneumoniaMdfr::AGENT_THRESHOLD_ACTIVATE
const int AGENT_THRESHOLD_ACTIVATE
Definition
pneumonia.c:3
PneumoniaMdfr::ActivateCondition
bool ActivateCondition(PlayerBase player)
Definition
pneumonia.c:27
PneumoniaMdfr::GetDebugText
override string GetDebugText()
Definition
pneumonia.c:22
PneumoniaMdfr::Init
override void Init()
Definition
pneumonia.c:13
PneumoniaMdfr::DeactivateCondition
bool DeactivateCondition(PlayerBase player)
Definition
pneumonia.c:53
PneumoniaMdfr::AGENT_THRESHOLD_DEACTIVATE
const int AGENT_THRESHOLD_DEACTIVATE
Definition
pneumonia.c:4
PneumoniaMdfr::OnTick
void OnTick(PlayerBase player, float deltaT)
Definition
pneumonia.c:58
PneumoniaMdfr::STAMINA_DEPLETION_MULTIPLIER
const float STAMINA_DEPLETION_MULTIPLIER
Definition
pneumonia.c:6
PneumoniaMdfr::TEMPORARY_RESISTANCE_TIME
const int TEMPORARY_RESISTANCE_TIME
Definition
pneumonia.c:11
PneumoniaMdfr::HEALTH_LOSS_PNEUMONIA
const float HEALTH_LOSS_PNEUMONIA
Definition
pneumonia.c:9
PneumoniaMdfr::OnActivate
void OnActivate(PlayerBase player)
Definition
pneumonia.c:35
PneumoniaMdfr::OnDeactivate
void OnDeactivate(PlayerBase player)
Definition
pneumonia.c:43
PneumoniaMdfr::STAMINA_RECOVERY_MULTIPLIER
const float STAMINA_RECOVERY_MULTIPLIER
Definition
pneumonia.c:7
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::RandomInt
static proto int RandomInt(int min, int max)
Returns a random int 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
EStaminaMultiplierTypes
EStaminaMultiplierTypes
Definition
staminahandler.c:2
Games
Dayz
scripts
4_world
classes
playermodifiers
modifiers
diseases
pneumonia.c
Generated by
1.17.0