Arma Reforger Script API
Loading...
Searching...
No Matches
SCR_PhysicalHitZonesRegenDamageEffect Interface Reference
Inheritance diagram for SCR_PhysicalHitZonesRegenDamageEffect:
SCR_DotDamageEffect DotDamageEffect SCR_PersistentDamageEffect PersistentDamageEffect SCR_DamageEffect BaseDamageEffect

Public Member Functions

override void OnEffectAdded (SCR_ExtendedDamageManagerComponent dmgManager)
 Called when this DamageEffect gets added to a DamageManager.
 
override bool HijackDamageEffect (SCR_ExtendedDamageManagerComponent dmgManager)
 Called before the damage effect is added to the damage manager If it returns true, damage effect is hijacked/intercepted and therefore not added/applied to the damage manager Any modifications done to the damage effect will persist.
 
bool DelayTimerRanOut ()
 
override bool GetSkipRegenDelay (SCR_ExtendedDamageManagerComponent dmgManager)
 Will return true if regen delay was enabled.
 
- Public Member Functions inherited from SCR_DotDamageEffect
override bool Save (ScriptBitWriter w)
 Since DamageEffects can't have rpl methods, streaming has to be done through this method.
 
override bool Load (ScriptBitReader r)
 Since DamageEffects can't have rpl methods, streaming has to be done through this method.
 
void SkipRegenDelay (bool skip)
 When this is toggled PRIOR to the damage effect being added, the regen will start instantly OnEffectAdded.
 
- Public Member Functions inherited from DotDamageEffect
proto external void DealDot (float timeSlice, SCR_ExtendedDamageManagerComponent dmgManager)
 Applies DOT equivalent to timeSlice seconds.
 
proto external void DealCustomDot (notnull HitZone hitzone, float dotAmount, notnull DotDamageEffectTimerToken token, SCR_ExtendedDamageManagerComponent dmgManager)
 
proto external void SetDPS (float dps)
 set amount of damage per second.
 
proto external void SetMaxDuration (float newMaxduration)
 Set max duration for this DOT effect.
 
proto external void ExtendMaxDuration (float amount)
 Increases the max duration of this damage effect.
 
proto external DotDamageEffectTimerToken UpdateTimer (float timeSlice, SCR_ExtendedDamageManagerComponent dmgManager)
 Updates current duration of this damage effect by timeSlice and returns a token to be used for DealCustomDot.
 
proto external float GetAccurateTimeSlice (float timeSlice)
 timeSlice can exceed the remaining time for DOT, this will return the accurate amount of DOT time left that can be applied.
 
proto external float GetDPS ()
 Returns amount of Damage Per Second applied by this DamageEffect.
 
proto external float GetCurrentDuration ()
 Returns amount of time this effect has been running.
 
proto external float GetMaxDuration ()
 
- Public Member Functions inherited from PersistentDamageEffect
proto external void Terminate ()
 Terminates this DamageEffect.
 
proto external void SetActive (bool value)
 When active, the damage effect will be updated on frame.
 
proto external bool IsActive ()
 Checks if this effect is active or not.
 
bool SaveApplyEffect (ScriptBitWriter w)
 It is indented to work togeter with SCR_OnEffectApplied to send replicated data to clients.
 
bool LoadApplyEffect (ScriptBitReader r)
 It is indented to work togeter with SCR_OnEffectApplied to load replicated data to clients.
 
- Public Member Functions inherited from SCR_DamageEffect
bool IsProxy (SCR_ExtendedDamageManagerComponent dmgManager)
 
EDamageType GetDefaultDamageType ()
 
- Public Member Functions inherited from BaseDamageEffect
proto external void ApplyEffect (SCR_ExtendedDamageManagerComponent dmgManager)
 Called to apply a DamageEffect.
 
proto external float GetTotalDamage ()
 Get total damage dealt until this point by this damage effect.
 
proto external EDamageType GetDamageType ()
 Gettor for the DamageType of this DamageEffect.
 
proto external notnull Instigator GetInstigator ()
 Gettor for the Instigator of this DamageEffect.
 
proto external HitZone GetAffectedHitZone ()
 Gettor for which hitzone this DamageEffect was applied to.
 
proto external void SetDamageType (EDamageType type)
 Settor for the DamageType of this DamageEffect.
 
proto external void SetInstigator (notnull Instigator instigator)
 Settor for the instigator of the damage effect.
 
proto external void SetAffectedHitZone (notnull HitZone hitZone)
 Settor for the affected HitZone of the damage effect.
 
proto external bool IsValueChangeAllowed ()
 Once this effect gets added to a manager, some of its values shouldn't change, as their change doesn't get replicated (instigator, damage type, affected hitzone) and it can lead to desync.
 
proto external bool IsProxy ()
 Used to check if you are a proxy or not.
 
void OnEffectApplied (SCR_ExtendedDamageManagerComponent dmgManager)
 Called when this DamageEffect gets applied on a DamageManager.
 
void OnEffectRemoved (SCR_ExtendedDamageManagerComponent dmgManager)
 Called when this DamageEffect gets removed from a DamageManager.
 

Protected Member Functions

override void HandleConsequences (SCR_ExtendedDamageManagerComponent dmgManager, DamageEffectEvaluator evaluator)
 Called from ApplyEffect.
 
override void EOnFrame (float timeSlice, SCR_ExtendedDamageManagerComponent dmgManager)
 
void SetHitZonesToHeal (SCR_CharacterDamageManagerComponent characterDmgManager, bool clearHealedHZs=true)
 
- Protected Member Functions inherited from SCR_DotDamageEffect
override void OnDiag (SCR_ExtendedDamageManagerComponent dmgManager)
 When DamageEffect info is enabled on the diag menu, this will be called.
 

Protected Attributes

float m_fDelayTimer = 0
 
float m_fLocalRegenDelayTime
 
float m_fDurationPerHitZone
 
float m_fAccurateTimeSlice
 
ref array< SCR_RegeneratingHitZonem_aHitZonesToRegen = {}
 

Member Function Documentation

◆ DelayTimerRanOut()

bool SCR_PhysicalHitZonesRegenDamageEffect.DelayTimerRanOut ( )

◆ EOnFrame()

override void SCR_PhysicalHitZonesRegenDamageEffect.EOnFrame ( float timeSlice,
SCR_ExtendedDamageManagerComponent dmgManager )
protected

Implements SCR_DotDamageEffect.

◆ GetSkipRegenDelay()

override bool SCR_PhysicalHitZonesRegenDamageEffect.GetSkipRegenDelay ( SCR_ExtendedDamageManagerComponent dmgManager)

Will return true if regen delay was enabled.

Getting this will reset the value so damage effect behaves normally after the regen delay was skipped

Implements SCR_DotDamageEffect.

◆ HandleConsequences()

override void SCR_PhysicalHitZonesRegenDamageEffect.HandleConsequences ( SCR_ExtendedDamageManagerComponent dmgManager,
DamageEffectEvaluator evaluator )
protected

Called from ApplyEffect.

Implements SCR_DotDamageEffect.

◆ HijackDamageEffect()

override bool SCR_PhysicalHitZonesRegenDamageEffect.HijackDamageEffect ( SCR_ExtendedDamageManagerComponent dmgManager)

Called before the damage effect is added to the damage manager If it returns true, damage effect is hijacked/intercepted and therefore not added/applied to the damage manager Any modifications done to the damage effect will persist.

Parameters
SCR_ExtendedDamageManagerComponentdmgManager: Manager containing this DamageEffect

Implements BaseDamageEffect.

◆ OnEffectAdded()

override void SCR_PhysicalHitZonesRegenDamageEffect.OnEffectAdded ( SCR_ExtendedDamageManagerComponent dmgManager)

Called when this DamageEffect gets added to a DamageManager.

Parameters
SCR_ExtendedDamageManagerComponentdmgManager: Manager containing this DamageEffect

Implements BaseDamageEffect.

◆ SetHitZonesToHeal()

void SCR_PhysicalHitZonesRegenDamageEffect.SetHitZonesToHeal ( SCR_CharacterDamageManagerComponent characterDmgManager,
bool clearHealedHZs = true )
protected

Member Data Documentation

◆ m_aHitZonesToRegen

ref array<SCR_RegeneratingHitZone> SCR_PhysicalHitZonesRegenDamageEffect.m_aHitZonesToRegen = {}
protected

◆ m_fAccurateTimeSlice

float SCR_PhysicalHitZonesRegenDamageEffect.m_fAccurateTimeSlice
protected

◆ m_fDelayTimer

float SCR_PhysicalHitZonesRegenDamageEffect.m_fDelayTimer = 0
protected

◆ m_fDurationPerHitZone

float SCR_PhysicalHitZonesRegenDamageEffect.m_fDurationPerHitZone
protected

◆ m_fLocalRegenDelayTime

float SCR_PhysicalHitZonesRegenDamageEffect.m_fLocalRegenDelayTime
protected

The documentation for this interface was generated from the following file: