Arma Reforger Script API
Loading...
Searching...
No Matches
SCR_DamageEffect Interface Reference
Inheritance diagram for SCR_DamageEffect:
BaseDamageEffect InstantDamageEffect PersistentDamageEffect SCR_InstantDamageEffect SCR_PersistentDamageEffect SCR_BandageDamageEffect SCR_BarbedWireCuttingDamageEffect SCR_BaseBlastDamageEffect SCR_BaseBulletDamageEffect SCR_CollisionDamageEffect SCR_ConcussionDamageEffect SCR_DrowningDamageEffect SCR_ExplosionDamageEffect SCR_FallDamageEffect SCR_FragmentationDamageEffect SCR_IncendiaryDamageEffect SCR_MeleeDamageEffect SCR_VehicleFireDamageEffect UnknownDamageEffect DotDamageEffect SCR_SpecialCollisionDamageEffect SCR_TourniquetDamageEffect

Public Member Functions

bool IsProxy (SCR_ExtendedDamageManagerComponent dmgManager)
 
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 (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.
 
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 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 OnDiag (SCR_ExtendedDamageManagerComponent dmgManager)
 When DamageEffect info is enabled on the diag menu, this will be called.
 

Member Function Documentation

◆ GetDefaultDamageType()

◆ HandleConsequences()

◆ IsProxy()

bool SCR_DamageEffect.IsProxy ( SCR_ExtendedDamageManagerComponent dmgManager)
Deprecated
Used to check if you are a proxy or not
Parameters
SCR_ExtendedDamageManagerComponentdmgManager: manager containing this DamageEffect
Returns
true if this DamageEffect is a proxy

◆ Load()

override bool SCR_DamageEffect.Load ( ScriptBitReader r)

Since DamageEffects can't have rpl methods, streaming has to be done through this method.

This method writes the necessary info for the replication of this DamageEffect and sends it through the network

Parameters
ScriptBitReaderr: Streamed data should be read from here.
Returns
true if there were no issues on replication

Implements BaseDamageEffect.

Implemented in SCR_BleedingDamageEffect, SCR_DotDamageEffect, and SCR_SpecialCollisionDamageEffect.

◆ OnDiag()

override void SCR_DamageEffect.OnDiag ( SCR_ExtendedDamageManagerComponent dmgManager)
protected

When DamageEffect info is enabled on the diag menu, this will be called.

Used to write debug information about this DamageEffect

Parameters
SCR_ExtendedDamageManagerComponentdmgManager: Manager containing this DamageEffect

Implements BaseDamageEffect.

Implemented in SCR_BleedingDamageEffect, SCR_DotDamageEffect, and SCR_PersistentDamageEffect.

◆ Save()

override bool SCR_DamageEffect.Save ( ScriptBitWriter w)

Since DamageEffects can't have rpl methods, streaming has to be done through this method.

This method writes the necessary info for the replication of this DamageEffect and sends it through the network

Parameters
ScriptBitWriterw: data to stream should be written here.
Returns
true if there were no issues on replication

Implements BaseDamageEffect.

Implemented in SCR_BleedingDamageEffect, SCR_DotDamageEffect, and SCR_SpecialCollisionDamageEffect.


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