Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
painkillersmdfr.c
Go to the documentation of this file.
2{
3 const int LIFETIME = 240;
4 const int ACTIVATION_DELAY = 15;
5
6 override void Init()
7 {
10 m_IsPersistent = true;
11 m_ID = eModifiers.MDF_PAINKILLERS;
14
16 }
17
18 override bool ActivateCondition(PlayerBase player)
19 {
20 return false;
21 }
22
23 override void OnReconnect(PlayerBase player)
24 {
25 OnActivate(player);
26 }
27
28 override string GetDebugText()
29 {
30 return (LIFETIME - GetAttachedTime()).ToString();
31 }
32
33 override void OnActivate(PlayerBase player)
34 {
35 if (player.GetBrokenLegs() != eBrokenLegs.NO_BROKEN_LEGS)
36 player.m_ShockHandler.SetMultiplier(0.5);//was 0.75 //Switch the shock multiplier NEED A CONST
37
38 player.IncreaseHealingsCount();
39
40 m_Player.m_InjuryHandler.m_ForceInjuryAnimMask = m_Player.m_InjuryHandler.m_ForceInjuryAnimMask | eInjuryOverrides.PAIN_KILLERS_LVL0;
41 }
42
43 override void OnDeactivate(PlayerBase player)
44 {
45 if (player.GetBrokenLegs() != eBrokenLegs.NO_BROKEN_LEGS)
46 player.m_ShockHandler.SetMultiplier(1); //Reset the shock multiplier when modifier stops
47
48 player.DecreaseHealingsCount();
49
50 m_Player.m_InjuryHandler.m_ForceInjuryAnimMask = m_Player.m_InjuryHandler.m_ForceInjuryAnimMask & ~eInjuryOverrides.PAIN_KILLERS_LVL0;
51 m_Player.m_InjuryHandler.m_ForceInjuryAnimMask = m_Player.m_InjuryHandler.m_ForceInjuryAnimMask & ~eInjuryOverrides.PAIN_KILLERS_LVL1;
52 }
53
54 override bool DeactivateCondition(PlayerBase player)
55 {
56 float attached_time = GetAttachedTime();
57
58 if (attached_time >= LIFETIME)
59 return true;
60
61 return false;
62 }
63
64 override void OnTick(PlayerBase player, float deltaT)
65 {
66 if (GetAttachedTime() > ACTIVATION_DELAY)
67 {
68 m_Player.m_InjuryHandler.m_ForceInjuryAnimMask = m_Player.m_InjuryHandler.m_ForceInjuryAnimMask | eInjuryOverrides.PAIN_KILLERS_LVL1;
69 }
70 }
71}
eBrokenLegs
Definition ebrokenlegs.c:2
int m_ID
ID of effect, given by SEffectManager when registered (automatically done when playing through it)
Definition effect.c:51
eModifiers
Definition emodifiers.c:2
@ LIFETIME
Float R/W.
Definition envisual.c:161
DayZPlayer m_Player
Definition hand_events.c:42
bool m_TrackActivatedTime
overall time this modifier was active
float GetAttachedTime()
void DisableActivateCheck()
bool m_AnalyticsStatsEnabled
float m_TickIntervalActive
float m_TickIntervalInactive
bool m_IsPersistent
should this modifier track overall time it was active ?
const int DEFAULT_TICK_TIME_INACTIVE
void OnActivate()