Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
contamination3.c
Go to the documentation of this file.
2{
3 static const int AGENT_THRESHOLD_ACTIVATE = 400;
4 static const int AGENT_THRESHOLD_DEACTIVATE = AGENT_THRESHOLD_ACTIVATE - 1;
5 static const int AGENT_THRESHOLD_FEVER = 250;
6 static const float DAMAGE_PER_SEC = -3;
7
8 override void Init()
9 {
11 m_ID = eModifiers.MDF_CONTAMINATION3;
14 m_SyncID = eModifierSyncIDs.MODIFIER_SYNC_CONTAMINATION2;//using the same sync as stage 2 for now
16 }
17
18 override string GetDebugText()
19 {
20 return ("Activate threshold: "+AGENT_THRESHOLD_ACTIVATE + "| " +"Deativate threshold: "+AGENT_THRESHOLD_DEACTIVATE);
21 }
22
23 override protected bool ActivateCondition(PlayerBase player)
24 {
25 return ( player.GetSingleAgentCount(eAgents.CHEMICAL_POISON) >= AGENT_THRESHOLD_ACTIVATE );
26
27 }
28
29 override protected void OnActivate(PlayerBase player)
30 {
31 player.IncreaseDiseaseCount();
32 player.GetSymptomManager().QueueUpPrimarySymptom(SymptomIDs.SYMPTOM_VOMIT);
33 }
34
35 override protected void OnDeactivate(PlayerBase player)
36 {
37 player.DecreaseDiseaseCount();
38 }
39
40 override protected bool DeactivateCondition(PlayerBase player)
41 {
42 return !ActivateCondition(player);
43 }
44
45 override protected void OnTick(PlayerBase player, float deltaT)
46 {
47 if(GetAttachedTime() > 4 && (!player.GetSymptomManager().GetCurrentPrimaryActiveSymptom() || (player.GetSymptomManager().GetCurrentPrimaryActiveSymptom() && player.GetSymptomManager().GetCurrentPrimaryActiveSymptom().GetType() != SymptomIDs.SYMPTOM_VOMIT)) )
48 {
49 player.AddHealth("","Shock", -100);
50 }
51
52 if (player.IsUnconscious())
53 {
54 player.AddHealth("","",DAMAGE_PER_SEC * deltaT);
55 }
56
57 }
58};
void OnActivate(PlayerBase player)
bool ActivateCondition(PlayerBase player)
void OnDeactivate(PlayerBase player)
void OnTick(PlayerBase player, float deltaT)
bool DeactivateCondition(PlayerBase player)
eAgents
Definition eagents.c:3
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
HeavyMetalMdfr AGENT_THRESHOLD_ACTIVATE
bool m_TrackActivatedTime
overall time this modifier was active
float GetAttachedTime()
bool m_AnalyticsStatsEnabled
eModifierSyncIDs m_SyncID
float m_TickIntervalActive
float m_TickIntervalInactive
eModifierSyncIDs
const int DEFAULT_TICK_TIME_INACTIVE
const int DEFAULT_TICK_TIME_ACTIVE_SHORT