Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
bloodregen.c
Go to the documentation of this file.
1
class
BloodRegenMdfr
:
ModifierBase
2
{
3
override
void
Init
()
4
{
5
m_TrackActivatedTime
=
false
;
6
m_ID
=
eModifiers
.MDF_BLOOD_REGEN;
7
m_TickIntervalInactive
=
DEFAULT_TICK_TIME_INACTIVE
;
8
m_TickIntervalActive
=
DEFAULT_TICK_TIME_ACTIVE
;
9
}
10
11
override
bool
ActivateCondition
(
PlayerBase
player)
12
{
13
float
m_MaxBlood = player.GetMaxHealth(
"GlobalHealth"
,
"Blood"
);
14
if
( player.GetHealth(
"GlobalHealth"
,
"Blood"
) <= m_MaxBlood )
15
{
16
return
true
;
17
}
18
else
19
{
20
return
false
;
21
}
22
}
23
24
override
void
OnActivate
(
PlayerBase
player)
25
{
26
}
27
28
29
override
bool
DeactivateCondition
(
PlayerBase
player)
30
{
31
float
m_MaxBlood = player.GetMaxHealth(
"GlobalHealth"
,
"Blood"
);
32
if
( player.GetHealth(
"GlobalHealth"
,
"Blood"
) >= m_MaxBlood )
33
{
34
return
true
;
35
}
36
else
37
{
38
return
false
;
39
}
40
}
41
42
override
void
OnTick
(
PlayerBase
player,
float
deltaT)
43
{
44
float
regen_modifier_water =
GetRegenModifierWater
( player.GetStatWater().Get() );
45
float
regen_modifier_energy =
GetRegenModifierEnergy
( player.GetStatEnergy().Get() );
46
float
blood_regen_speed =
PlayerConstants
.
BLOOD_REGEN_RATE_PER_SEC
* regen_modifier_water * regen_modifier_energy;
47
/*
48
PrintString("regen_modifier_water" + regen_modifier_water);
49
PrintString("regen_modifier_energy" + regen_modifier_energy);
50
PrintString("blood_regen_speed" + blood_regen_speed);
51
*/
52
53
if
( player.IsUnconscious() && player.GetHealth(
"GlobalHealth"
,
"Blood"
) <=
PlayerConstants
.
SL_BLOOD_CRITICAL
)
54
{
55
blood_regen_speed *=
PlayerConstants
.
UNCONSCIOUS_BLOOD_REGEN_MLTP
;
56
}
57
58
player.AddHealth(
""
,
"Blood"
, blood_regen_speed * deltaT );
59
}
60
61
float
GetRegenModifierWater
(
float
water)
62
{
63
float
modifier =
PlayerConstants
.
BLOOD_REGEN_MODIFIER_WATER_HIGH
;
64
int
water_level =
m_Player
.GetStatLevelWater();
65
66
/*
67
if( water < PlayerConstants.BLOOD_REGEN_THRESHOLD_WATER_MID ) {modifier = PlayerConstants.BLOOD_REGEN_MODIFIER_WATER_MID}
68
if( water < PlayerConstants.BLOOD_REGEN_THRESHOLD_WATER_LOW ) {modifier = PlayerConstants.BLOOD_REGEN_MODIFIER_WATER_LOW}
69
*/
70
71
if
( water_level ==
EStatLevels
.MEDIUM ) {modifier =
PlayerConstants
.
BLOOD_REGEN_MODIFIER_WATER_MID
}
72
if
( water_level >=
EStatLevels
.LOW ) {modifier =
PlayerConstants
.
BLOOD_REGEN_MODIFIER_WATER_LOW
}
73
74
return
modifier;
75
}
76
77
float
GetRegenModifierEnergy
(
float
energy)
78
{
79
float
modifier =
PlayerConstants
.
BLOOD_REGEN_MODIFIER_ENERGY_HIGH
;
80
int
energy_level =
m_Player
.GetStatLevelEnergy();
81
82
//if( energy < PlayerConstants.BLOOD_REGEN_THRESHOLD_ENERGY_MID ) {modifier = PlayerConstants.BLOOD_REGEN_MODIFIER_ENERGY_MID}
83
//if( energy < PlayerConstants.BLOOD_REGEN_THRESHOLD_ENERGY_LOW ) {modifier = PlayerConstants.BLOOD_REGEN_MODIFIER_ENERGY_LOW}
84
85
if
( energy_level ==
EStatLevels
.MEDIUM ) {modifier =
PlayerConstants
.
BLOOD_REGEN_MODIFIER_ENERGY_MID
}
86
if
( energy_level >=
EStatLevels
.LOW ) {modifier =
PlayerConstants
.
BLOOD_REGEN_MODIFIER_ENERGY_LOW
}
87
88
return
modifier;
89
}
90
91
92
};
m_Player
map m_Player
BloodRegenMdfr
Definition
bloodregen.c:2
BloodRegenMdfr::DeactivateCondition
override bool DeactivateCondition(PlayerBase player)
Definition
bloodregen.c:29
BloodRegenMdfr::OnActivate
override void OnActivate(PlayerBase player)
Definition
bloodregen.c:24
BloodRegenMdfr::GetRegenModifierEnergy
float GetRegenModifierEnergy(float energy)
Definition
bloodregen.c:77
BloodRegenMdfr::GetRegenModifierWater
float GetRegenModifierWater(float water)
Definition
bloodregen.c:61
BloodRegenMdfr::OnTick
override void OnTick(PlayerBase player, float deltaT)
Definition
bloodregen.c:42
BloodRegenMdfr::Init
override void Init()
Definition
bloodregen.c:3
BloodRegenMdfr::ActivateCondition
override bool ActivateCondition(PlayerBase player)
Definition
bloodregen.c:11
ModifierBase
Definition
breathvapourmdfr.c:4
PlayerBase
Definition
playerbaseclient.c:2
PlayerConstants
Definition
playerconstants.c:2
PlayerConstants::BLOOD_REGEN_MODIFIER_WATER_MID
static const float BLOOD_REGEN_MODIFIER_WATER_MID
Definition
playerconstants.c:109
PlayerConstants::BLOOD_REGEN_MODIFIER_ENERGY_HIGH
static const float BLOOD_REGEN_MODIFIER_ENERGY_HIGH
Definition
playerconstants.c:106
PlayerConstants::BLOOD_REGEN_MODIFIER_ENERGY_MID
static const float BLOOD_REGEN_MODIFIER_ENERGY_MID
Definition
playerconstants.c:105
PlayerConstants::SL_BLOOD_CRITICAL
static const float SL_BLOOD_CRITICAL
Definition
playerconstants.c:35
PlayerConstants::BLOOD_REGEN_MODIFIER_WATER_LOW
static const float BLOOD_REGEN_MODIFIER_WATER_LOW
Definition
playerconstants.c:108
PlayerConstants::BLOOD_REGEN_RATE_PER_SEC
static const float BLOOD_REGEN_RATE_PER_SEC
Definition
playerconstants.c:99
PlayerConstants::BLOOD_REGEN_MODIFIER_ENERGY_LOW
static const float BLOOD_REGEN_MODIFIER_ENERGY_LOW
Definition
playerconstants.c:104
PlayerConstants::UNCONSCIOUS_BLOOD_REGEN_MLTP
static const float UNCONSCIOUS_BLOOD_REGEN_MLTP
Definition
playerconstants.c:102
PlayerConstants::BLOOD_REGEN_MODIFIER_WATER_HIGH
static const float BLOOD_REGEN_MODIFIER_WATER_HIGH
Definition
playerconstants.c:110
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
EStatLevels
EStatLevels
Definition
estatlevels.c:2
m_TrackActivatedTime
bool m_TrackActivatedTime
overall time this modifier was active
Definition
modifierbase.c:14
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
bloodregen.c
Generated by
1.17.0