Arma Reforger Script API
Loading...
Searching...
No Matches
Public Member Functions | List of all members
DotDamageEffect Interface Reference
Inheritance diagram for DotDamageEffect:
[legend]

Public Member Functions

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.
 
void EOnFrame (float timeSlice, SCR_ExtendedDamageManagerComponent dmgManager)
 
- Public Member Functions inherited from SCR_DamageEffect
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.
 
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 (HitZone hitZone)
 Settor for the affected HitZone of the damage effect.
 
proto external bool IsProxy ()
 Used to check if you are a proxy or not.
 
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.
 
void OnEffectAdded (SCR_ExtendedDamageManagerComponent dmgManager)
 Called when this DamageEffect gets added to a DamageManager.
 
void OnEffectApplied (SCR_ExtendedDamageManagerComponent dmgManager)
 Called when this DamageEffect gets applied on a DamageManager.
 
void HandleConsequences (SCR_ExtendedDamageManagerComponent dmgManager, DamageEffectEvaluator evaluator)
 Called from ApplyEffect.
 
void OnEffectRemoved (SCR_ExtendedDamageManagerComponent dmgManager)
 Called when this DamageEffect gets removed from a DamageManager.
 
void OnDiag (SCR_ExtendedDamageManagerComponent dmgManager)
 When DamageEffect info is enabled on the diag menu, this will be called.
 
bool Save (ScriptBitWriter w)
 Since DamageEffects can't have rpl methods, streaming has to be done through this method.
 
bool Load (ScriptBitReader r)
 Since DamageEffects can't have rpl methods, streaming has to be done through this method.
 

Additional Inherited Members

- Protected Member Functions inherited from SCR_PersistentDamageEffect
override void HandleConsequences (SCR_ExtendedDamageManagerComponent dmgManager, DamageEffectEvaluator evaluator)
 Called from ApplyEffect.
 
override void OnDiag (SCR_ExtendedDamageManagerComponent dmgManager)
 When DamageEffect info is enabled on the diag menu, this will be called.
 
override void HandleConsequences (SCR_ExtendedDamageManagerComponent dmgManager, DamageEffectEvaluator evaluator)
 Called from ApplyEffect.
 
override void OnDiag (SCR_ExtendedDamageManagerComponent dmgManager)
 When DamageEffect info is enabled on the diag menu, this will be called.
 

Member Function Documentation

◆ DealCustomDot()

proto external void DotDamageEffect.DealCustomDot ( notnull HitZone  hitzone,
float  dotAmount,
notnull DotDamageEffectTimerToken  token,
SCR_ExtendedDamageManagerComponent  dmgManager 
)

◆ DealDot()

proto external void DotDamageEffect.DealDot ( float  timeSlice,
SCR_ExtendedDamageManagerComponent  dmgManager 
)

Applies DOT equivalent to timeSlice seconds.

Automatically increases the current duration and total damage of this damage effect That duration uses the accurate time slice (check GetAccurateTimeSlice for more info) Calling this will also terminate the damage effect if the maximum duration is reached

Parameters
floattimeSlice: amount of time that has passed.
SCR_ExtendedDamageManagerComponentdmgManager: damage manager containing this DamageEffect

◆ ExtendMaxDuration()

proto external void DotDamageEffect.ExtendMaxDuration ( float  amount)

Increases the max duration of this damage effect.

Only works on server.

Parameters
floatamount: how much the max duration should be increased by

◆ GetAccurateTimeSlice()

proto external float DotDamageEffect.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.

E.g.: Remaining time: 5s, timeSlice: 7s, this would return 5s

Parameters
floattimeSlice: current timeSlice
Returns
actual amount of time this DamageEffect will actually be applied for

◆ GetCurrentDuration()

proto external float DotDamageEffect.GetCurrentDuration ( )

Returns amount of time this effect has been running.

Current duration can only be increased through DealDot or UpdateTimer

◆ GetDPS()

proto external float DotDamageEffect.GetDPS ( )

Returns amount of Damage Per Second applied by this DamageEffect.

◆ GetMaxDuration()

proto external float DotDamageEffect.GetMaxDuration ( )

◆ SetDPS()

proto external void DotDamageEffect.SetDPS ( float  dps)

set amount of damage per second.

Only works on server.

Parameters
floatdps: damage per second dealt by this DamageEffect.

◆ SetMaxDuration()

proto external void DotDamageEffect.SetMaxDuration ( float  newMaxduration)

Set max duration for this DOT effect.

Value of 0 will make it infinite. Only works on server.

Parameters
floatnewMaxduration: New max duration for this DamageEffect

◆ UpdateTimer()

proto external DotDamageEffectTimerToken DotDamageEffect.UpdateTimer ( float  timeSlice,
SCR_ExtendedDamageManagerComponent  dmgManager 
)

Updates current duration of this damage effect by timeSlice and returns a token to be used for DealCustomDot.

It will also mark the effect for termination if the current duration > max duration.

Parameters
floattimeSlice: current duration will be increased by this amount of time.
SCR_ExtendedDamageManagerComponentdmgManager: Damage manager containing this damage effect
Returns
DotDamageEffectTimerToken: Empty class that can be used as an input for DealCustomDot

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