DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
Contamination3.c
См. документацию.
2{
3 static const int AGENT_THRESHOLD_ACTIVATE = 400;
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};
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
float GetAttachedTime()
Определения ModifierBase.c:150
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
const int DEFAULT_TICK_TIME_ACTIVE_SHORT
Определения ModifiersManager.c:28
void OnActivate(PlayerBase player)
Определения Contamination3.c:29
static const int AGENT_THRESHOLD_ACTIVATE
Определения Contamination3.c:3
bool ActivateCondition(PlayerBase player)
Определения Contamination3.c:23
void OnDeactivate(PlayerBase player)
Определения Contamination3.c:35
override void Init()
Определения Contamination3.c:8
static const float DAMAGE_PER_SEC
Определения Contamination3.c:6
static const int AGENT_THRESHOLD_DEACTIVATE
Определения Contamination3.c:4
override string GetDebugText()
Определения Contamination3.c:18
void OnTick(PlayerBase player, float deltaT)
Определения Contamination3.c:45
static const int AGENT_THRESHOLD_FEVER
Определения Contamination3.c:5
bool DeactivateCondition(PlayerBase player)
Определения Contamination3.c:40
Определения BreathVapourMdfr.c:4
Определения PlayerBaseClient.c:2
eModifiers
Определения eModifiers.c:2