Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_DotDamageEffect.c
Go to the documentation of this file.
1
5
7{
8 private bool m_bSkipRegenDelay;
9
10 //------------------------------------------------------------------------------------------------
11 //ALWAYS OVERRIDE LIKE THIS. ALWAYS OVERRIDE THIS FUNCTION
12 protected override void HandleConsequences(SCR_ExtendedDamageManagerComponent dmgManager, DamageEffectEvaluator evaluator)
13 {
14 super.HandleConsequences(dmgManager, evaluator);
15
16 evaluator.HandleEffectConsequences(this, dmgManager);
17 }
18
19 //------------------------------------------------------------------------------------------------
20 protected override void EOnFrame(float timeSlice, SCR_ExtendedDamageManagerComponent dmgManager)
21 {
22 DealDot(timeSlice, dmgManager);
23 }
24
25 //------------------------------------------------------------------------------------------------
26 protected event override void OnDiag(SCR_ExtendedDamageManagerComponent dmgManager)
27 {
28 super.OnDiag(dmgManager);
29
30 string text = text.Format(" DOT: %1 \n", this.GetDPS());
31 if (!IsProxy())
32 text += text.Format(" Duration: %1s/%2s \n", this.GetCurrentDuration(), this.GetMaxDuration());
33
34 DbgUI.Text(text);
35 }
36
37 //------------------------------------------------------------------------------------------------
38 event override bool Save(ScriptBitWriter w)
39 {
40 super.Save(w);
41
42 w.WriteFloat(GetDPS());
43 return true;
44 }
45
46 //------------------------------------------------------------------------------------------------
47 event override bool Load(ScriptBitReader r)
48 {
49 super.Load(r);
50
51 float dps = 0;
52 r.ReadFloat(dps);
53
54 SetDPS(dps);
55 return true;
56 }
57
58 //------------------------------------------------------------------------------------------------
60 void SkipRegenDelay(bool skip)
61 {
62 m_bSkipRegenDelay = skip;
63 }
64
65 //------------------------------------------------------------------------------------------------
68 bool GetSkipRegenDelay(SCR_ExtendedDamageManagerComponent dmgManager)
69 {
70 bool skip = m_bSkipRegenDelay;
71 SkipRegenDelay(false);
72 return skip;
73 }
74
75 //------------------------------------------------------------------------------------------------
76 override float GetCustomDamageValue()
77 {
78 return GetDPS();
79 }
80
81 //------------------------------------------------------------------------------------------------
85 void RecalculateDPS(float timeSlice, notnull SCR_ExtendedDamageManagerComponent dmgManager);
86}
87
Definition DbgUI.c:66
override void EOnFrame(float timeSlice, SCR_ExtendedDamageManagerComponent dmgManager)
bool GetSkipRegenDelay(SCR_ExtendedDamageManagerComponent dmgManager)
override float GetCustomDamageValue()
void SkipRegenDelay(bool skip)
When this is toggled PRIOR to the damage effect being added, the regen will start instantly OnEffectA...
event override bool Load(ScriptBitReader r)
event override void OnDiag(SCR_ExtendedDamageManagerComponent dmgManager)
void RecalculateDPS(float timeSlice, notnull SCR_ExtendedDamageManagerComponent dmgManager)
override void HandleConsequences(SCR_ExtendedDamageManagerComponent dmgManager, DamageEffectEvaluator evaluator)
event override bool Save(ScriptBitWriter w)