|
Arma Reforger Script API
|
Public Member Functions | |
| 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. | |
| bool | GetSkipRegenDelay (SCR_ExtendedDamageManagerComponent dmgManager) |
| Will return true if regen delay was enabled. | |
| override float | GetCustomDamageValue () |
| Method called locally by SCR_DamageSufferingSystem to get relevant damage amount for this specific damage effect. | |
| void | RecalculateDPS (float timeSlice, notnull SCR_ExtendedDamageManagerComponent dmgManager) |
| Method called locally by SCR_DamageSufferingSystem to allow local computation of the DPS. | |
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 SCR_PersistentDamageEffect | |
| bool | ExecuteSynchronizedSoundPlayback (notnull SCR_ExtendedDamageManagerComponent dmgManager) |
| Method meant to be called by replicated events to use local data for sound playback. | |
| void | IndividualProcessing (notnull SCR_ExtendedDamageManagerComponent dmgManager) |
| Method called locally by SCR_DamageSufferingSystem when UseBatchProcessing() returns false. | |
| bool | UseBatchProcessing () |
| Method called locally by SCR_DamageSufferingSystem to determine if it should group all instances of this damage effect type for processing. | |
| void | BatchData (inout SCR_BatchedDamageEffects batchedDataContainer, notnull SCR_PersistentDamageEffect effect) |
| Method called locally by SCR_DamageSufferingSystem to store any neccessary information about effect into a derivative of a SCR_BatchedDamageEffects for further processing. | |
| void | BatchProcessing (notnull SCR_ExtendedDamageManagerComponent dmgManager, notnull SCR_BatchedDamageEffects batchedDataContainer, bool isAuthority) |
| Method called locally by SCR_DamageSufferingSystem to do a singular processing for this damage effect type. | |
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. | |
| 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 | EOnFrame (float timeSlice, SCR_ExtendedDamageManagerComponent dmgManager) |
| override void | OnDiag (SCR_ExtendedDamageManagerComponent dmgManager) |
| When DamageEffect info is enabled on the diag menu, this will be called. | |
|
protected |
| override float SCR_DotDamageEffect.GetCustomDamageValue | ( | ) |
Method called locally by SCR_DamageSufferingSystem to get relevant damage amount for this specific damage effect.
Implements SCR_PersistentDamageEffect.
Implemented in SCR_PoisonDamageEffect.
| bool SCR_DotDamageEffect.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
Implemented in SCR_PhysicalHitZonesRegenDamageEffect.
|
protected |
Called from ApplyEffect.
Implements SCR_PersistentDamageEffect.
Implemented in SCR_BleedingDamageEffect, SCR_MorphineDamageEffect, SCR_PassiveHitZoneRegenDamageEffect, SCR_PhysicalHitZonesRegenDamageEffect, SCR_PoisonDamageEffect, and SCR_SalineDamageEffect.
| override bool SCR_DotDamageEffect.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. |
Implements SCR_DamageEffect.
Implemented in SCR_BleedingDamageEffect.
|
protected |
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 |
Implements SCR_PersistentDamageEffect.
Implemented in SCR_BleedingDamageEffect.
| void SCR_DotDamageEffect.RecalculateDPS | ( | float | timeSlice, |
| notnull SCR_ExtendedDamageManagerComponent | dmgManager ) |
Method called locally by SCR_DamageSufferingSystem to allow local computation of the DPS.
| [in] | timeSlice | |
| [in] | dmgManager |
Implemented in SCR_PoisonDamageEffect.
| override bool SCR_DotDamageEffect.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. |
Implements SCR_DamageEffect.
Implemented in SCR_BleedingDamageEffect.
| void SCR_DotDamageEffect.SkipRegenDelay | ( | bool | skip | ) |
When this is toggled PRIOR to the damage effect being added, the regen will start instantly OnEffectAdded.