Arma Reforger Script API
Loading...
Searching...
No Matches
HitZone Interface Reference
Inheritance diagram for HitZone:
SCR_HitZone SCR_ArmorHitZone SCR_CharacterHealthHitZone SCR_DestructibleHitzone SCR_MineHitZone SCR_RegeneratingHitZone SCR_TreeHitZoneV2 SCR_FuelHitZone SCR_VehicleHitZone SCR_CharacterBloodHitZone SCR_CharacterHitZone SCR_CharacterResilienceHitZone SCR_BatteryHitZone SCR_EngineHitZone SCR_FlammableHitZone SCR_GearboxHitZone SCR_LightHitZone SCR_RotorHitZone SCR_WheelHitZone SCR_CharacterHeadHitZone

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()

◆ OnHealthSet()

void HitZone.OnHealthSet ( )
protected

Called when damage changes.

Implemented in SCR_HitZone, and SCR_RegeneratingHitZone.

◆ 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: