DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
PlayerModifiers/Modifiers/diseases/IrritatedEyes.c
См. документацию.
2{
5
7
8 override void Init()
9 {
11 m_ID = eModifiers.MDF_PARTICLES_EYES;
14 m_SyncID = eModifierSyncIDs.MODIFIER_SYNC_PARTICLE_EYES;
15
16 m_EyesIrritationAgentsMax = PluginTransmissionAgents.GetAgentMaxCount(eAgents.EYES_IRRITATION);
17 }
18
19 override protected bool ActivateCondition(PlayerBase player)
20 {
21 return (player.GetSingleAgentCount(eAgents.EYES_IRRITATION) > 0);
22 }
23
24 override bool DeactivateCondition(PlayerBase player)
25 {
26 return (player.GetSingleAgentCount(eAgents.EYES_IRRITATION) == 0);
27 }
28
29 override void OnActivate(PlayerBase player)
30 {
32
33 m_IrritatedEyesSymptom = player.GetSymptomManager().QueueUpSecondarySymptomEx(SymptomIDs.SYMPTOM_IRRITATED_EYES);
35 {
36 SymptomSyncData irritatedEyesData = new SymptomSyncData();
37 params.param1 = SymptomIDs.SYMPTOM_IRRITATED_EYES;
38 irritatedEyesData.m_FloatArray.Insert(0.0);
39
40 params.param2 = irritatedEyesData;
41
42 m_IrritatedEyesSymptom.SetParam(params);
43 }
44 }
45
46 override void OnDeactivate(PlayerBase player)
47 {
49 {
51 SymptomSyncData irritatedEyesData = new SymptomSyncData();
52 params.param1 = SymptomIDs.SYMPTOM_IRRITATED_EYES;
53 irritatedEyesData.m_FloatArray.Insert(0.0);
54
55 params.param2 = irritatedEyesData;
56
57 m_IrritatedEyesSymptom.SetParam(params);
58 }
59
60 player.GetSymptomManager().RemoveSecondarySymptom(SymptomIDs.SYMPTOM_IRRITATED_EYES);
61 }
62
63 override void OnTick(PlayerBase player, float deltaT)
64 {
65 #ifdef DEVELOPER
66 if(!player.GetCanBeDestroyed())
67 return;
68 #endif
69
70 float agentsCount = player.GetSingleAgentCount(eAgents.EYES_IRRITATION);
71
74 {
75 SymptomSyncData irritatedEyesData = new SymptomSyncData();
76 params.param1 = SymptomIDs.SYMPTOM_IRRITATED_EYES;
77
78 // TODO@RR move count limit to class wide const
79 float AGENTS_LIMIT = 15.0;
80 if (agentsCount >= AGENTS_LIMIT && agentsCount != m_AgentsCountPrevious)
81 {
82 float threshold = Math.Remap(AGENTS_LIMIT, m_EyesIrritationAgentsMax, 0.0, 1.0, m_AgentsCountPrevious);
83
84 m_AgentsCountPrevious = agentsCount;
85 irritatedEyesData.m_FloatArray.Insert(threshold);
86 params.param2 = irritatedEyesData;
87 m_IrritatedEyesSymptom.SetParam(params);
88 }
89 else if (agentsCount < AGENTS_LIMIT)
90 {
91 irritatedEyesData.m_FloatArray.Insert(0.0);
92 params.param2 = irritatedEyesData;
93 m_IrritatedEyesSymptom.SetParam(params);
94 }
95 }
96 }
97}
int m_ID
Определения DustKickupEffects.c:26
eAgents
Определения EAgents.c:3
bool m_TrackActivatedTime
overall time this modifier was active
Определения ModifierBase.c:14
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_LONG
Определения ModifiersManager.c:30
override void OnTick(PlayerBase player, float deltaT)
bool ActivateCondition(PlayerBase player)
override void OnActivate(PlayerBase player)
override bool DeactivateCondition(PlayerBase player)
override void OnDeactivate(PlayerBase player)
Определения EnMath.c:7
Определения BreathVapourMdfr.c:4
Определения PPEConstants.c:68
Определения PlayerBaseClient.c:2
Определения StateBase.c:2
ref TFloatArray m_FloatArray
Определения StateManager.c:53
Определения StateManager.c:51
eModifiers
Определения eModifiers.c:2
static float Remap(float inputMin, float inputMax, float outputMin, float outputMax, float inputValue, bool clampedOutput=true)
Returns given value remaped from input range into output range.
Определения EnMath.c:740