Arma Reforger Script API
|
Public Member Functions | |
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. | |
proto external void BaseDamageEffect.ApplyEffect | ( | SCR_ExtendedDamageManagerComponent | dmgManager | ) |
Called to apply a DamageEffect.
InstantDamageEffects get applied whenever they are added. PersistentDamageEffects only get applied when ApplyEffect() gets called. This call gets automatically replicated to clients, which means that BaseDamageEffect.Save will be getting called.
SCR_ExtendedDamageManagerComponent | dmgManager: Manager containing this DamageEffect |
proto external HitZone BaseDamageEffect.GetAffectedHitZone | ( | ) |
Gettor for which hitzone this DamageEffect was applied to.
proto external EDamageType BaseDamageEffect.GetDamageType | ( | ) |
Gettor for the DamageType of this DamageEffect.
proto external notnull Instigator BaseDamageEffect.GetInstigator | ( | ) |
Gettor for the Instigator of this DamageEffect.
proto external float BaseDamageEffect.GetTotalDamage | ( | ) |
Get total damage dealt until this point by this damage effect.
void BaseDamageEffect.HandleConsequences | ( | SCR_ExtendedDamageManagerComponent | dmgManager, |
DamageEffectEvaluator | evaluator | ||
) |
Called from ApplyEffect.
Consequences of handling a damage effect should be implemented on the evaluator when possible, as it makes effects more flexible.
SCR_ExtendedDamageManagerComponent | dmgManager: Manager containing this DamageEffect |
DamageEffectEvaluator | evaluator: Evaluator being used by the damage manager. |
Implemented in SCR_DamageEffect, SCR_DotDamageEffect, SCR_InstantDamageEffect, SCR_PersistentDamageEffect, SCR_BandageDamageEffect, SCR_BleedingDamageEffect, SCR_DrowningDamageEffect, SCR_MorphineDamageEffect, SCR_PassiveHitZoneRegenDamageEffect, SCR_PhysicalHitZonesRegenDamageEffect, SCR_SalineDamageEffect, SCR_TourniquetDamageEffect, SCR_BaseBulletDamageEffect, SCR_BlastForceDamageEffect, SCR_CollisionDamageEffect, SCR_ExplosionDamageEffect, SCR_FragmentationDamageEffect, SCR_IncendiaryBulletDamageEffect, SCR_IncendiaryDamageEffect, and SCR_MeleeDamageEffect.
bool BaseDamageEffect.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.
SCR_ExtendedDamageManagerComponent | dmgManager: Manager containing this DamageEffect |
Implemented in SCR_BleedingDamageEffect, SCR_MorphineDamageEffect, SCR_PhysicalHitZonesRegenDamageEffect, and SCR_SalineDamageEffect.
proto external bool BaseDamageEffect.IsProxy | ( | ) |
Used to check if you are a proxy or not.
bool BaseDamageEffect.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
ScriptBitReader | r: Streamed data should be read from here. |
Implemented in SCR_DamageEffect, SCR_DotDamageEffect, and SCR_BleedingDamageEffect.
void BaseDamageEffect.OnDiag | ( | SCR_ExtendedDamageManagerComponent | dmgManager | ) |
When DamageEffect info is enabled on the diag menu, this will be called.
Used to write debug information about this DamageEffect
SCR_ExtendedDamageManagerComponent | dmgManager: Manager containing this DamageEffect |
Implemented in SCR_DamageEffect, SCR_DotDamageEffect, SCR_PersistentDamageEffect, and SCR_BleedingDamageEffect.
void BaseDamageEffect.OnEffectAdded | ( | SCR_ExtendedDamageManagerComponent | dmgManager | ) |
Called when this DamageEffect gets added to a DamageManager.
SCR_ExtendedDamageManagerComponent | dmgManager: Manager containing this DamageEffect |
Implemented in SCR_BandageDamageEffect, SCR_BleedingDamageEffect, SCR_MorphineDamageEffect, SCR_PassiveHitZoneRegenDamageEffect, SCR_PhysicalHitZonesRegenDamageEffect, and SCR_TourniquetDamageEffect.
void BaseDamageEffect.OnEffectApplied | ( | SCR_ExtendedDamageManagerComponent | dmgManager | ) |
Called when this DamageEffect gets applied on a DamageManager.
SCR_ExtendedDamageManagerComponent | dmgManager: Manager containing this DamageEffect |
void BaseDamageEffect.OnEffectRemoved | ( | SCR_ExtendedDamageManagerComponent | dmgManager | ) |
Called when this DamageEffect gets removed from a DamageManager.
SCR_ExtendedDamageManagerComponent | dmgManager: Manager containing this DamageEffect |
Implemented in SCR_BleedingDamageEffect.
bool BaseDamageEffect.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
ScriptBitWriter | w: data to stream should be written here. |
Implemented in SCR_DamageEffect, SCR_DotDamageEffect, and SCR_BleedingDamageEffect.
proto external void BaseDamageEffect.SetAffectedHitZone | ( | HitZone | hitZone | ) |
proto external void BaseDamageEffect.SetDamageType | ( | EDamageType | type | ) |
Settor for the DamageType of this DamageEffect.
EDamageType | type: new damage type |
proto external void BaseDamageEffect.SetInstigator | ( | notnull Instigator | instigator | ) |
Settor for the instigator of the damage effect.
Instigator | instigator: new Instigator of the effect |