DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
WoundInfection2.c
См. документацию.
2{
3 static const int AGENT_THRESHOLD_ACTIVATE = 250;
4 static const int AGENT_THRESHOLD_DEACTIVATE = 0;
5
6 static const int PAIN_EVENT_INTERVAL_MIN = 6;
7 static const int PAIN_EVENT_INTERVAL_MAX = 12;
8
9
10 static const float DAMAGE_PER_SEC = 0.04;
11
12 protected float m_NextEvent;
13 protected float m_Time;
14
15 override void Init()
16 {
19 m_ID = eModifiers.MDF_WOUND_INFECTION2;
22 m_SyncID = eModifierSyncIDs.MODIFIER_SYNC_WOUND_INFECT_2;
23 }
24
25 override string GetDebugText()
26 {
27 return ("Activate threshold: "+AGENT_THRESHOLD_ACTIVATE + "| " +"Deativate threshold: "+AGENT_THRESHOLD_DEACTIVATE);
28 }
29
30 override protected bool ActivateCondition(PlayerBase player)
31 {
32 if(player.GetSingleAgentCount(eAgents.WOUND_AGENT) >= AGENT_THRESHOLD_ACTIVATE)
33 {
34 return true;
35 }
36 else
37 {
38 return false;
39 }
40 }
41
42 override protected void OnActivate(PlayerBase player)
43 {
44 player.IncreaseDiseaseCount();
46
47 SymptomBase shivers = player.GetSymptomManager().QueueUpSecondarySymptomEx(SymptomIDs.SYMPTOM_HAND_SHIVER);
48 if ( shivers )
49 {
52 }
53
54 }
55
56 override protected void OnDeactivate(PlayerBase player)
57 {
58 player.DecreaseDiseaseCount();
59 player.GetSymptomManager().RemoveSecondarySymptom(SymptomIDs.SYMPTOM_HAND_SHIVER);
60 }
61
62 override protected bool DeactivateCondition(PlayerBase player)
63 {
64 if(player.GetSingleAgentCount(eAgents.WOUND_AGENT) <= AGENT_THRESHOLD_DEACTIVATE)
65 {
66 return true;
67 }
68 else
69 {
70 return false;
71 }
72 }
73
74 override protected void OnTick(PlayerBase player, float deltaT)
75 {
76 m_Time += deltaT;
77
78 if ( m_Time >= m_NextEvent )
79 {
80 if( player.IsAntibioticsActive() )
81 {
82 player.GetSymptomManager().QueueUpPrimarySymptom(SymptomIDs.SYMPTOM_PAIN_LIGHT);
83 }
84 else
85 {
86 player.GetSymptomManager().QueueUpPrimarySymptom(SymptomIDs.SYMPTOM_PAIN_HEAVY);
87 float damage = m_Time * (DAMAGE_PER_SEC + player.GetHealthRegenSpeed());
88 player.AddHealth("","", -damage);
89 }
90
91 m_Time = 0;
93 }
94
95
96 }
97};
eAgents
Определения EAgents.c:3
int m_ID
ID of effect, given by SEffectManager when registered (automatically done when playing through it)
Определения Effect.c:49
bool m_TrackActivatedTime
overall time this modifier was active
Определения ModifierBase.c:14
bool m_AnalyticsStatsEnabled
Определения ModifierBase.c:31
eModifierSyncIDs m_SyncID
Определения ModifierBase.c:28
float m_TickIntervalActive
Определения ModifierBase.c:18
float m_TickIntervalInactive
Определения ModifierBase.c:17
eModifierSyncIDs
Определения ModifiersManager.c:3
const int DEFAULT_TICK_TIME_INACTIVE
Определения ModifiersManager.c:29
enum eModifierSyncIDs DEFAULT_TICK_TIME_ACTIVE
static ref Param1< int > PARAM1_INT
Определения UtilityClasses.c:11
Определения EnMath.c:7
Определения BreathVapourMdfr.c:4
Определения PlayerBaseClient.c:2
void SetParam(Param p)
Определения StateBase.c:105
Определения StateBase.c:2
void OnDeactivate(PlayerBase player)
Определения WoundInfection2.c:56
override void Init()
Определения WoundInfection2.c:15
static const float DAMAGE_PER_SEC
Определения WoundInfection2.c:10
float m_Time
Определения WoundInfection2.c:13
void OnTick(PlayerBase player, float deltaT)
Определения WoundInfection2.c:74
static const int PAIN_EVENT_INTERVAL_MAX
Определения WoundInfection2.c:7
void OnActivate(PlayerBase player)
Определения WoundInfection2.c:42
static const int AGENT_THRESHOLD_DEACTIVATE
Определения WoundInfection2.c:4
static const int AGENT_THRESHOLD_ACTIVATE
Определения WoundInfection2.c:3
float m_NextEvent
Определения WoundInfection2.c:12
static const int PAIN_EVENT_INTERVAL_MIN
Определения WoundInfection2.c:6
bool DeactivateCondition(PlayerBase player)
Определения WoundInfection2.c:62
bool ActivateCondition(PlayerBase player)
Определения WoundInfection2.c:30
override string GetDebugText()
Определения WoundInfection2.c:25
eModifiers
Определения eModifiers.c:2
static float RandomFloatInclusive(float min, float max)
Returns a random float number between and min [inclusive] and max [inclusive].
Определения EnMath.c:106