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

Public Member Functions

EHitZoneGroup GetHitZoneGroup ()
 Hit zone group getter to be overridden.
 
ScriptInvokerVoid GetOnHealthChanged (bool createNew=true)
 Get event called when hitzone damage changes.
 
ScriptInvoker GetOnDamageStateChanged (bool createNew=true)
 Get event called when hitzone damage state changes.
 
IEntity GetOwner ()
 
override float ComputeEffectiveDamage (notnull BaseDamageContext damageContext, bool isDOT)
 Calculates the amount of damage a hitzone will receive.
 
void DrawDebug ()
 
void ApplyDamagePassRules (notnull BaseDamageContext damageContext)
 
void HandlePassedDamage (notnull BaseDamageContext damageContext)
 
- Public Member Functions inherited from HitZone
proto external float GetBaseDamageMultiplier ()
 
proto external bool HasColliderNodes ()
 
proto external int GetColliderDescriptorIndex (int colliderID)
 
proto external float GetDamageMultiplier (EDamageType dmgType)
 
proto external float GetDamageReduction ()
 
proto external float GetDamageThreshold ()
 
proto external int GetAllColliderNames (out notnull array< string > colliderNames)
 
proto external void SetDamageOverTime (EDamageType dmgType, float dps)
 Sets damage over time for this particular hitzone.
 
proto external float GetDamageOverTime (EDamageType dmgType)
 
proto external int GetNumColliderDescriptors ()
 
proto external HitZoneContainerComponent GetHitZoneContainer ()
 
proto external void SetHealth (float health)
 
proto external void SetHealthScaled (float health)
 
proto external void SetMaxHealth (float maxHealth, ESetMaxHealthFlags flag=ESetMaxHealthFlags.NONE)
 
proto external float GetHealth ()
 
proto external float GetHealthScaled ()
 
proto external float GetDamageStateThreshold (EDamageState damageState)
 
proto external float GetMaxHealth ()
 
proto external string GetName ()
 
proto external EDamageState GetDamageState ()
 
proto external float GetCriticalDamageThreshold ()
 
proto external EDamageState GetPreviousDamageState ()
 
proto external void HandleDamage (float damage, int damageType, IEntity instigator)
 
proto external bool IsProxy ()
 
proto external int GetColliderIDs (out notnull array< int > outIDs)
 Returns all collider IDs attached to this hitzone.
 
proto bool TryGetColliderDescription (IEntity owner, int descIndex, out vector transformLS[4], out int boneIndex, out int nodeID)
 
proto bool TryGetColliderDescriptionFromName (IEntity owner, string colliderName, out vector transformLS[4], out int boneIndex, out int nodeID)
 
void OnInit (IEntity pOwnerEntity, GenericComponent pManagerComponent)
 Call OnInit method from script.
 
void OnDamage (notnull BaseDamageContext damageContext)
 Called when the damage has been dealt by the server, doesn't get called for DOT.
 
float ComputeEffectiveDamage (notnull BaseDamageContext damageContext, bool isDOT)
 Calculates the amount of damage a hitzone will receive.
 

Protected Member Functions

override void OnHealthSet ()
 Called when damage changes.
 
override void OnDamageStateChanged (EDamageState newState, EDamageState previousDamageState, bool isJIP)
 Called when the damage state changes.
 
- Protected Member Functions inherited from HitZone
void OnHealthSet ()
 Called when damage changes.
 
void OnMaxHealthChanged ()
 Called when max damage changes.
 
void OnDamageStateChanged (EDamageState newState, EDamageState previousDamageState, bool isJIP)
 Called when damage state changes.
 

Protected Attributes

ref array< ref SCR_DamagePassRulem_aDamagePassRules
 
float m_fFireMultiplier
 
ref ScriptInvokerVoid m_OnHealthChanged
 
ref ScriptInvoker m_OnDamageStateChanged
 

Member Function Documentation

◆ ApplyDamagePassRules()

void SCR_HitZone.ApplyDamagePassRules ( notnull BaseDamageContext  damageContext)
Pass damage based damage context and rules specified in hitzone configuration
Receiving hitzones also have to inherit from SCR_HitZone

! param[in] damageContext - Damage context coming from HijackDamageHandling

◆ ComputeEffectiveDamage()

override float SCR_HitZone.ComputeEffectiveDamage ( notnull BaseDamageContext  damageContext,
bool  isDOT 
)

Calculates the amount of damage a hitzone will receive.

Parameters
BaseDamageConextDamageContext for this computation
boolisDOT true if this computation is fot DOT

Implements HitZone.

Implemented in SCR_CharacterHitZone, and SCR_FlammableHitZone.

◆ DrawDebug()

void SCR_HitZone.DrawDebug ( )

Implemented in SCR_RotorHitZone.

◆ GetHitZoneGroup()

EHitZoneGroup SCR_HitZone.GetHitZoneGroup ( )

Hit zone group getter to be overridden.

Returns
Hit zone group

Implemented in SCR_CharacterHitZone, SCR_FlammableHitZone, SCR_FuelHitZone, SCR_VehicleHitZone, and SCR_WheelHitZone.

◆ GetOnDamageStateChanged()

ScriptInvoker SCR_HitZone.GetOnDamageStateChanged ( bool  createNew = true)

Get event called when hitzone damage state changes.

Returns
Script invoker

◆ GetOnHealthChanged()

ScriptInvokerVoid SCR_HitZone.GetOnHealthChanged ( bool  createNew = true)

Get event called when hitzone damage changes.

Parameters
createNewonly create a script invoker if this is set to true
Returns
Script invoker

◆ GetOwner()

IEntity SCR_HitZone.GetOwner ( )
Returns
Owner entity of the HitZone

◆ HandlePassedDamage()

void SCR_HitZone.HandlePassedDamage ( notnull BaseDamageContext  damageContext)
Handle damage in this hit zone. Clones the damage context so that it does not override passed one

!

Parameters
[in]damageContext- damage context to be received in this hit zone

◆ OnDamageStateChanged()

override void SCR_HitZone.OnDamageStateChanged ( EDamageState  newState,
EDamageState  previousDamageState,
bool  isJIP 
)
protected

◆ OnHealthSet()

override void SCR_HitZone.OnHealthSet ( )
protected

Called when damage changes.

Implements HitZone.

Implemented in SCR_RegeneratingHitZone.

Member Data Documentation

◆ m_aDamagePassRules

ref array<ref SCR_DamagePassRule> SCR_HitZone.m_aDamagePassRules
protected

◆ m_fFireMultiplier

float SCR_HitZone.m_fFireMultiplier
protected

◆ m_OnDamageStateChanged

ref ScriptInvoker SCR_HitZone.m_OnDamageStateChanged
protected

◆ m_OnHealthChanged

ref ScriptInvokerVoid SCR_HitZone.m_OnHealthChanged
protected

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