Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
drowning.c
Go to the documentation of this file.
1
class
DrowningMdfr
:
ModifierBase
2
{
3
static
const
float
STAMINA_RECOVERY_MULTIPLIER
= 0;
4
5
const
int
TICK_FREQUENCY
= 1;
6
7
override
void
Init
()
8
{
9
m_TrackActivatedTime
=
false
;
10
m_ID
=
eModifiers
.MDF_DROWNING;
11
m_TickIntervalInactive
=
DEFAULT_TICK_TIME_INACTIVE
;
12
m_TickIntervalActive
=
TICK_FREQUENCY
;
13
m_SyncID
=
eModifierSyncIDs
.MODIFIER_SYNC_DROWNING;
14
}
15
16
bool
CheckIsDrowning
(
PlayerBase
player)
17
{
18
return
player.GetDrowningWaterLevelCheck();
19
}
20
21
override
bool
ActivateCondition
(
PlayerBase
player)
22
{
23
return
CheckIsDrowning
(player);
24
}
25
26
override
bool
DeactivateCondition
(
PlayerBase
player)
27
{
28
return
!
CheckIsDrowning
(player);
29
}
30
31
override
void
OnTick
(
PlayerBase
player,
float
deltaT)
32
{
33
if
(player.GetStaminaHandler().GetStamina() <= 0)
34
{
35
player.AddHealth(
""
,
""
,deltaT * -
CfgGameplayHandler
.
GetHealthDepletionSpeed
());
36
player.AddHealth(
""
,
"Shock"
,deltaT * -
CfgGameplayHandler
.
GetShockDepletionSpeed
());
37
player.RequestSoundEventEx(
EPlayerSoundEventID
.DROWNING_PAIN,
false
, EPlayerSoundEventParam.HIGHEST_PRIORITY);
38
}
39
}
40
41
override
void
OnReconnect
(
PlayerBase
player)
42
{
43
OnActivate
(player);
44
}
45
46
override
void
OnActivate
(
PlayerBase
player)
47
{
48
player.SetDrowning(
true
);
49
player.GetStaminaHandler().ActivateRecoveryModifier(
EStaminaMultiplierTypes
.DROWNING);
50
player.RequestSoundEventEx(
EPlayerSoundEventID
.DROWNING_BREATH,
false
, EPlayerSoundEventParam.HIGHEST_PRIORITY);
51
g_Game
.GetCallQueue(
CALL_CATEGORY_SYSTEM
).CallLater(
PlayDrowningSound
, 3000 ,
false
, 1);
52
}
53
54
55
void
PlayDrowningSound
(
int
index)
56
{
57
if
(
m_Player
.m_IsDrowning)
//check if we are still drowning after the delay
58
{
59
if
(index == 0)
60
{
61
m_Player
.RequestSoundEventEx(
EPlayerSoundEventID
.EXHAUSTED_BREATH,
false
, EPlayerSoundEventParam.HIGHEST_PRIORITY);
62
}
63
else
if
(index == 1)
64
{
65
m_Player
.RequestSoundEventEx(
EPlayerSoundEventID
.DROWNING_BREATH,
false
, EPlayerSoundEventParam.HIGHEST_PRIORITY);
66
}
67
}
68
}
69
70
override
void
OnDeactivate
(
PlayerBase
player)
71
{
72
player.SetDrowning(
false
);
73
player.GetStaminaHandler().DeactivateRecoveryModifier(
EStaminaMultiplierTypes
.DROWNING);
74
}
75
};
m_Player
map m_Player
CfgGameplayHandler
Definition
cfggameplayhandler.c:2
CfgGameplayHandler::GetShockDepletionSpeed
static float GetShockDepletionSpeed()
Definition
cfggameplayhandler.c:443
CfgGameplayHandler::GetHealthDepletionSpeed
static float GetHealthDepletionSpeed()
Definition
cfggameplayhandler.c:438
DrowningMdfr
Definition
drowning.c:2
DrowningMdfr::DeactivateCondition
override bool DeactivateCondition(PlayerBase player)
Definition
drowning.c:26
DrowningMdfr::OnReconnect
override void OnReconnect(PlayerBase player)
Definition
drowning.c:41
DrowningMdfr::OnActivate
override void OnActivate(PlayerBase player)
Definition
drowning.c:46
DrowningMdfr::CheckIsDrowning
bool CheckIsDrowning(PlayerBase player)
Definition
drowning.c:16
DrowningMdfr::OnTick
override void OnTick(PlayerBase player, float deltaT)
Definition
drowning.c:31
DrowningMdfr::Init
override void Init()
Definition
drowning.c:7
DrowningMdfr::ActivateCondition
override bool ActivateCondition(PlayerBase player)
Definition
drowning.c:21
DrowningMdfr::OnDeactivate
override void OnDeactivate(PlayerBase player)
Definition
drowning.c:70
DrowningMdfr::PlayDrowningSound
void PlayDrowningSound(int index)
Definition
drowning.c:55
DrowningMdfr::TICK_FREQUENCY
const int TICK_FREQUENCY
Definition
drowning.c:5
DrowningMdfr::STAMINA_RECOVERY_MULTIPLIER
static const float STAMINA_RECOVERY_MULTIPLIER
Definition
drowning.c:3
ModifierBase
Definition
breathvapourmdfr.c:4
PlayerBase
Definition
playerbaseclient.c:2
g_Game
DayZGame g_Game
Definition
dayzgame.c:3942
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
CALL_CATEGORY_SYSTEM
const int CALL_CATEGORY_SYSTEM
Definition
tools.c:8
m_TrackActivatedTime
bool m_TrackActivatedTime
overall time this modifier was active
Definition
modifierbase.c:14
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
EPlayerSoundEventID
EPlayerSoundEventID
Definition
playersoundeventhandler.c:3
EStaminaMultiplierTypes
EStaminaMultiplierTypes
Definition
staminahandler.c:2
OnActivate
void OnActivate()
Definition
trap_landmine.c:67
Games
Dayz
scripts
4_world
classes
playermodifiers
modifiers
drowning.c
Generated by
1.17.0