Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_PassiveHitZoneRegenDamageEffect.c
Go to the documentation of this file.
2{
3 protected float m_fDelayTimer = 0;
4 protected float m_fLocalRegenDelayTime;
6
7 //ALWAYS OVERRIDE LIKE THIS. ALWAYS OVERRIDE THIS FUNCTION
8 protected override void HandleConsequences(SCR_ExtendedDamageManagerComponent dmgManager, DamageEffectEvaluator evaluator)
9 {
10 super.HandleConsequences(dmgManager, evaluator);
11
12 evaluator.HandleEffectConsequences(this, dmgManager);
13 }
14
15 //------------------------------------------------------------------------------------------------
16 override void OnEffectAdded(SCR_ExtendedDamageManagerComponent dmgManager)
17 {
18 super.OnEffectAdded(dmgManager);
19
20 m_HitZoneToRegen = SCR_RegeneratingHitZone.Cast(GetAffectedHitZone());
22 Terminate();
23
25 if (characterDmgManager && characterDmgManager.s_HealthSettings && !GetSkipRegenDelay(dmgManager))
26 m_fLocalRegenDelayTime = characterDmgManager.s_HealthSettings.GetRegenerationDelay();
27
28 if (GetDPS() == -1)
29 SetDPS(-m_HitZoneToRegen.CalculatePassiveRegenDPS());
30 }
31
32 //------------------------------------------------------------------------------------------------
33 protected override void EOnFrame(float timeSlice, SCR_ExtendedDamageManagerComponent dmgManager)
34 {
35 m_fDelayTimer += timeSlice;
36
38 return;
39
40 DealDot(timeSlice, dmgManager);
41
42 //everything is fully healed
43 if (m_HitZoneToRegen.GetHealthScaled() == 1)
44 dmgManager.TerminateDamageEffect(this);
45 }
46}
bool GetSkipRegenDelay(SCR_ExtendedDamageManagerComponent dmgManager)
override void HandleConsequences(SCR_ExtendedDamageManagerComponent dmgManager, DamageEffectEvaluator evaluator)
override void OnEffectAdded(SCR_ExtendedDamageManagerComponent dmgManager)
override void EOnFrame(float timeSlice, SCR_ExtendedDamageManagerComponent dmgManager)