Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
brokenlegs.c
Go to the documentation of this file.
1
class
BrokenLegsMdfr
:
ModifierBase
2
{
3
private
const
float
HEALTHY_LEG
= 100;
//Health at which legs are no longer considered broken
4
private
int
currentState
= -1;
//Current broken leg state used upon reconnect
5
private
const
float
TIME_TO_UPDATE
= 0.5;
6
private
float
elapsedTime
=
TIME_TO_UPDATE
+ 1;
7
8
#ifdef DEVELOPER
9
ref
static
Timer
timer;
10
#endif
11
12
override
void
Init
()
13
{
14
m_TrackActivatedTime
=
false
;
15
m_AnalyticsStatsEnabled
=
true
;
16
m_ID
=
eModifiers
.MDF_BROKEN_LEGS;
17
m_TickIntervalInactive
=
DEFAULT_TICK_TIME_INACTIVE
;
18
m_TickIntervalActive
= 0.5;
19
m_ActivationType
= EActivationType.TRIGGER_EVENT_ON_ACTIVATION;
20
m_IsPersistent
=
true
;
21
}
22
23
override
void
OnActivate
(
PlayerBase
player)
24
{
25
//Print("------------> OnActivate - BrokenLegsMdfr");
26
player.SetBrokenLegs(-
eBrokenLegs
.BROKEN_LEGS);
//note the negative sign
27
player.GetNotifiersManager().ActivateByType(
eNotifiers
.NTF_FRACTURE);
28
}
29
30
override
void
OnReconnect
(
PlayerBase
player)
31
{
32
//Print("------------> OnReconnect - BrokenLegsMdfr");
33
player.SetBrokenLegs(player.GetBrokenLegs());
34
player.GetNotifiersManager().ActivateByType(
eNotifiers
.NTF_FRACTURE);
35
}
36
37
38
override
void
OnDeactivate
(
PlayerBase
player)
39
{
40
player.UpdateBrokenLegs(
eBrokenLegs
.NO_BROKEN_LEGS);
41
if
( player.IsWearingSplint() )
42
{
43
MiscGameplayFunctions.RemoveSplint(player);
//Remove splint when leg is healed
44
}
45
46
player.SetBrokenLegs(
eBrokenLegs
.NO_BROKEN_LEGS);
47
player.GetNotifiersManager().DeactivateByType(
eNotifiers
.NTF_FRACTURE);
48
}
49
50
override
bool
DeactivateCondition
(
PlayerBase
player)
51
{
52
if
( player.GetHealth(
"RightLeg"
,
"Health"
) >=
HEALTHY_LEG
&& player.GetHealth(
"LeftLeg"
,
"Health"
) >=
HEALTHY_LEG
)
53
{
54
55
return
true
;
56
}
57
else
58
{
59
return
false
;
60
}
61
}
62
63
override
void
OnTick
(
PlayerBase
player,
float
deltaT)
64
{
65
player.UpdateBrokenLegs(
/*legacy param - value not used*/
0);
66
}
67
68
69
#ifdef DEVELOPER
70
static
void
DelayedRequest(
PlayerBase
player,
bool
state)
71
{
72
timer =
new
Timer
(
CALL_CATEGORY_SYSTEM
);
73
if
(state)
74
timer.Run( 10 , player.GetModifiersManager().GetModifier(
eModifiers
.MDF_BROKEN_LEGS),
"Delayed"
,
new
Param1<bool>(state));
75
else
76
BrokenLegsMdfr
.Cast(player.GetModifiersManager().GetModifier(
eModifiers
.MDF_BROKEN_LEGS)).Delayed(
false
);
77
}
78
79
void
Delayed(
bool
state)
80
{
81
m_Player
.GetModifiersManager().ActivateModifier(
eModifiers
.MDF_BROKEN_LEGS);
82
}
83
#endif
84
};
m_Player
map m_Player
BrokenLegsMdfr
Definition
brokenlegs.c:2
BrokenLegsMdfr::DeactivateCondition
override bool DeactivateCondition(PlayerBase player)
Definition
brokenlegs.c:50
BrokenLegsMdfr::OnReconnect
override void OnReconnect(PlayerBase player)
Definition
brokenlegs.c:30
BrokenLegsMdfr::OnActivate
override void OnActivate(PlayerBase player)
Definition
brokenlegs.c:23
BrokenLegsMdfr::OnTick
override void OnTick(PlayerBase player, float deltaT)
Definition
brokenlegs.c:63
BrokenLegsMdfr::Init
override void Init()
Definition
brokenlegs.c:12
BrokenLegsMdfr::HEALTHY_LEG
const float HEALTHY_LEG
Definition
brokenlegs.c:3
BrokenLegsMdfr::OnDeactivate
override void OnDeactivate(PlayerBase player)
Definition
brokenlegs.c:38
BrokenLegsMdfr::elapsedTime
float elapsedTime
Definition
brokenlegs.c:6
BrokenLegsMdfr::TIME_TO_UPDATE
const float TIME_TO_UPDATE
Definition
brokenlegs.c:5
BrokenLegsMdfr::currentState
int currentState
Definition
brokenlegs.c:4
ModifierBase
Definition
breathvapourmdfr.c:4
PlayerBase
Definition
playerbaseclient.c:2
Timer
Definition
dayzplayerimplement.c:39
eBrokenLegs
eBrokenLegs
Definition
ebrokenlegs.c:2
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_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
m_ActivationType
EActivationType m_ActivationType
Definition
modifierbase.c:27
m_IsPersistent
bool m_IsPersistent
should this modifier track overall time it was active ?
Definition
modifierbase.c:15
DEFAULT_TICK_TIME_INACTIVE
const int DEFAULT_TICK_TIME_INACTIVE
Definition
modifiersmanager.c:29
eNotifiers
eNotifiers
Definition
notifiersmanager.c:3
Games
Dayz
scripts
4_world
classes
playermodifiers
modifiers
conditions
brokenlegs.c
Generated by
1.17.0