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

Public Member Functions

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

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.
 

Member Function Documentation

◆ ComputeEffectiveDamage()

float 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

Implemented in SCR_CharacterHitZone, SCR_FlammableHitZone, and SCR_HitZone.

◆ GetAllColliderNames()

proto external int HitZone.GetAllColliderNames ( out notnull array< string >  colliderNames)
Parameters
colliderNamesarray which is filled with collider names of this hitzone

◆ GetBaseDamageMultiplier()

proto external float HitZone.GetBaseDamageMultiplier ( )

◆ GetColliderDescriptorIndex()

proto external int HitZone.GetColliderDescriptorIndex ( int  colliderID)

◆ GetColliderIDs()

proto external int HitZone.GetColliderIDs ( out notnull array< int >  outIDs)

Returns all collider IDs attached to this hitzone.

◆ GetCriticalDamageThreshold()

proto external float HitZone.GetCriticalDamageThreshold ( )

◆ GetDamageMultiplier()

proto external float HitZone.GetDamageMultiplier ( EDamageType  dmgType)

◆ GetDamageOverTime()

proto external float HitZone.GetDamageOverTime ( EDamageType  dmgType)

◆ GetDamageReduction()

proto external float HitZone.GetDamageReduction ( )

◆ GetDamageState()

proto external EDamageState HitZone.GetDamageState ( )

◆ GetDamageStateThreshold()

proto external float HitZone.GetDamageStateThreshold ( EDamageState  damageState)

◆ GetDamageThreshold()

proto external float HitZone.GetDamageThreshold ( )

◆ GetHealth()

proto external float HitZone.GetHealth ( )

◆ GetHealthScaled()

proto external float HitZone.GetHealthScaled ( )

◆ GetHitZoneContainer()

proto external HitZoneContainerComponent HitZone.GetHitZoneContainer ( )

◆ GetMaxHealth()

proto external float HitZone.GetMaxHealth ( )

◆ GetName()

proto external string HitZone.GetName ( )

◆ GetNumColliderDescriptors()

proto external int HitZone.GetNumColliderDescriptors ( )

◆ GetPreviousDamageState()

proto external EDamageState HitZone.GetPreviousDamageState ( )

◆ HandleDamage()

proto external void HitZone.HandleDamage ( float  damage,
int  damageType,
IEntity  instigator 
)

◆ HasColliderNodes()

proto external bool HitZone.HasColliderNodes ( )

◆ IsProxy()

proto external bool HitZone.IsProxy ( )

◆ OnDamage()

void HitZone.OnDamage ( notnull BaseDamageContext  damageContext)

Called when the damage has been dealt by the server, doesn't get called for DOT.

Implemented in SCR_CharacterHitZone, SCR_CharacterResilienceHitZone, and SCR_EngineHitZone.

◆ OnDamageStateChanged()

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

◆ OnHealthSet()

void HitZone.OnHealthSet ( )
protected

Called when damage changes.

Implemented in SCR_RegeneratingHitZone, and SCR_HitZone.

◆ OnInit()

void HitZone.OnInit ( IEntity  pOwnerEntity,
GenericComponent  pManagerComponent 
)

◆ OnMaxHealthChanged()

void HitZone.OnMaxHealthChanged ( )
protected

Called when max damage changes.

Implemented in SCR_FlammableHitZone.

◆ SetDamageOverTime()

proto external void HitZone.SetDamageOverTime ( EDamageType  dmgType,
float  dps 
)

Sets damage over time for this particular hitzone.

And invoke particular event on DamageManagerComponent. It has no effect if there is already a DOT of same type and DPS. Cannot be called on proxy.

Parameters
dmgTypeType of damage
dpsDamage per second applied to this HitZone

◆ SetHealth()

proto external void HitZone.SetHealth ( float  health)

◆ SetHealthScaled()

proto external void HitZone.SetHealthScaled ( float  health)

◆ SetMaxHealth()

proto external void HitZone.SetMaxHealth ( float  maxHealth,
ESetMaxHealthFlags  flag = ESetMaxHealthFlags.NONE 
)

◆ TryGetColliderDescription()

proto bool HitZone.TryGetColliderDescription ( IEntity  owner,
int  descIndex,
out vector  transformLS[4],
out int  boneIndex,
out int  nodeID 
)

◆ TryGetColliderDescriptionFromName()

proto bool HitZone.TryGetColliderDescriptionFromName ( IEntity  owner,
string  colliderName,
out vector  transformLS[4],
out int  boneIndex,
out int  nodeID 
)

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