Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
fatigue.c
Go to the documentation of this file.
2{
3 private float m_Time;
4 private float m_NextEvent;
5
6 static const float FATIGUE_EVENT_INTERVAL_MIN = 5;
7 static const float FATIGUE_EVENT_INTERVAL_MAX = 12;
8 static const float STAMINA_RECOVERY_MULTIPLIER = 0.33;
9 static const float STAMINA_DEPLETION_MULTIPLIER = 1.33;
10
11 override void Init()
12 {
15 m_ID = eModifiers.MDF_FATIGUE;
18 }
19
20 override bool ActivateCondition(PlayerBase player)
21 {
22 return (player.GetModifiersManager().IsModifierActive(eModifiers.MDF_WOUND_INFECTION1) || player.GetModifiersManager().IsModifierActive(eModifiers.MDF_WOUND_INFECTION2));
23 }
24
25 override void OnActivate(PlayerBase player)
26 {
27 if (player.m_NotifiersManager)
28 player.m_NotifiersManager.ActivateByType(eNotifiers.NTF_FEVERISH);
29
30 player.GetStaminaHandler().ActivateRecoveryModifier(EStaminaMultiplierTypes.FATIGUE);
31 player.GetStaminaHandler().ActivateDepletionModifier(EStaminaMultiplierTypes.FATIGUE);
32 }
33
34 override void OnReconnect(PlayerBase player)
35 {
36 OnActivate(player);
37 }
38
39 override void OnDeactivate(PlayerBase player)
40 {
41 player.GetStaminaHandler().DeactivateRecoveryModifier(EStaminaMultiplierTypes.FATIGUE);
42 player.GetStaminaHandler().DeactivateDepletionModifier(EStaminaMultiplierTypes.FATIGUE);
43 }
44
45 override bool DeactivateCondition(PlayerBase player)
46 {
47 return !ActivateCondition(player);
48 }
49}
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
bool m_TrackActivatedTime
overall time this modifier was active
bool m_AnalyticsStatsEnabled
float m_TickIntervalActive
float m_TickIntervalInactive
enum eModifierSyncIDs DEFAULT_TICK_TIME_ACTIVE
const int DEFAULT_TICK_TIME_INACTIVE_LONG
eNotifiers
EStaminaMultiplierTypes
void OnActivate()