Arma Reforger Script API
Loading...
Searching...
No Matches
SCR_CharacterHitZone Interface Reference
Inheritance diagram for SCR_CharacterHitZone:
SCR_RegeneratingHitZone SCR_HitZone HitZone SCR_CharacterHeadHitZone

Public Member Functions

override void OnInit (IEntity pOwnerEntity, GenericComponent pManagerComponent)
 Call OnInit method from script.
 
override void OnDamage (notnull BaseDamageContext damageContext)
 Called when the damage has been dealt by the server, doesn't get called for DOT.
 
override float ComputeEffectiveDamage (notnull BaseDamageContext damageContext, bool isDOT)
 Calculates the amount of damage a hitzone will receive.
 
float GetArmorProtectionValue (EDamageType damageType)
 Get strength of protection from armor attribute on prefab of clothing item.
 
bool IsCovered ()
 Whether hitzone submeshes are hidden with clothing.
 
override void OnDamageStateChanged (EDamageState newState, EDamageState previousDamageState, bool isJIP)
 Called when the damage state changes.
 
void SetWoundedSubmesh (bool wounded)
 
void UpdateSubmeshes ()
 Manage wounds submeshes.
 
float GetMaxBleedingRate ()
 
float GetCriticalHealthThreshold ()
 
override EHitZoneGroup GetHitZoneGroup ()
 Hit zone group getter to be overridden.
 
array< ref LoadoutAreaTypeGetBleedingAreas ()
 
EBandagingAnimationBodyParts GetBodyPartToHeal ()
 
- Public Member Functions inherited from SCR_RegeneratingHitZone
float CalculatePassiveRegenDPS (bool considerRegenScale=true)
 Returns the desired regeneration speed in damage per second for this hitzone.
 
float GetHitZoneDamageOverTime (EDamageType targetDamageType)
 Get current total damage per second of this hitZone.
 
override void OnHealthSet ()
 HealthSet could have decreased health, so passive regeneration is planned.
 
void ToggleHitZoneAutoRegenOnHealthSet (bool doRegen)
 Permanently disable/enable the automatic start of regeneration on this hitzone when manually setting it's health Use this when setting health on characters that should not heal, such as scripted gameplay events.
 
- Public Member Functions inherited from SCR_HitZone
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 ()
 
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)
 

Protected Attributes

float m_fBleedingRateScale
 
ref array< string > m_aDamageSubmeshes
 
ref array< ref LoadoutAreaTypem_aBleedingAreas
 
ECharacterHitZoneGroup m_eHitZoneGroup
 
EBandagingAnimationBodyParts m_eBandageAnimationBodyPart
 
SCR_EForcedWoundedSubmesh m_eForcedWoundedSubmesh
 
bool m_bIsWounded
 
- Protected Attributes inherited from SCR_RegeneratingHitZone
float m_fFullRegenerationTime
 
bool m_bAutoRegenOnHealthSet = true
 
- Protected Attributes inherited from SCR_HitZone
ref array< ref SCR_DamagePassRulem_aDamagePassRules
 
float m_fFireMultiplier
 
ref ScriptInvokerVoid m_OnHealthChanged
 
ref ScriptInvoker m_OnDamageStateChanged
 

Static Protected Attributes

static const float DAMAGE_TO_BLOOD_MULTIPLIER = 15
 

Additional Inherited Members

- Protected Member Functions inherited from HitZone
bool Save (notnull ScriptBitWriter writer)
 Called to save information related to the hitzone EnableScriptDataStreaming has to return true for this method to be called.
 
bool Load (notnull ScriptBitReader reader)
 Load the buffer written on Save EnableScriptDataStreaming has to return true for this method to be called.
 
bool HasDataToReplicate ()
 Use it to save bandwidth in some default conditions. Use it if Save and Load are overriden.
 
void OnMaxHealthChanged ()
 Called when max damage changes.
 

Member Function Documentation

◆ ComputeEffectiveDamage()

override float SCR_CharacterHitZone.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 SCR_HitZone.

◆ GetArmorProtectionValue()

float SCR_CharacterHitZone.GetArmorProtectionValue ( EDamageType damageType)

Get strength of protection from armor attribute on prefab of clothing item.

◆ GetBleedingAreas()

array< ref LoadoutAreaType > SCR_CharacterHitZone.GetBleedingAreas ( )

◆ GetBodyPartToHeal()

EBandagingAnimationBodyParts SCR_CharacterHitZone.GetBodyPartToHeal ( )

◆ GetCriticalHealthThreshold()

float SCR_CharacterHitZone.GetCriticalHealthThreshold ( )
Returns
the absolute amount of health at which the health will be considered critical

◆ GetHitZoneGroup()

override EHitZoneGroup SCR_CharacterHitZone.GetHitZoneGroup ( )

Hit zone group getter to be overridden.

Returns
Hit zone group

Implements SCR_HitZone.

◆ GetMaxBleedingRate()

float SCR_CharacterHitZone.GetMaxBleedingRate ( )
Parameters
[in]considerRegenScaleconsider the Gamemaster's tweaked modifier for the regenerationDPS
Returns
the desired regeneration speed in damage per second for this hit zone

◆ IsCovered()

bool SCR_CharacterHitZone.IsCovered ( )

Whether hitzone submeshes are hidden with clothing.

◆ OnDamage()

override void SCR_CharacterHitZone.OnDamage ( notnull BaseDamageContext damageContext)

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

Implements HitZone.

◆ OnDamageStateChanged()

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

Called when the damage state changes.

Implements SCR_HitZone.

Implemented in SCR_CharacterHeadHitZone.

◆ OnInit()

override void SCR_CharacterHitZone.OnInit ( IEntity pOwnerEntity,
GenericComponent pManagerComponent )

Call OnInit method from script.

Implements HitZone.

Implemented in SCR_CharacterHeadHitZone.

◆ SetWoundedSubmesh()

void SCR_CharacterHitZone.SetWoundedSubmesh ( bool wounded)

◆ UpdateSubmeshes()

void SCR_CharacterHitZone.UpdateSubmeshes ( )

Manage wounds submeshes.

Member Data Documentation

◆ DAMAGE_TO_BLOOD_MULTIPLIER

const float SCR_CharacterHitZone.DAMAGE_TO_BLOOD_MULTIPLIER = 15
staticprotected

◆ m_aBleedingAreas

ref array<ref LoadoutAreaType> SCR_CharacterHitZone.m_aBleedingAreas
protected

◆ m_aDamageSubmeshes

ref array<string> SCR_CharacterHitZone.m_aDamageSubmeshes
protected

◆ m_bIsWounded

bool SCR_CharacterHitZone.m_bIsWounded
protected

◆ m_eBandageAnimationBodyPart

EBandagingAnimationBodyParts SCR_CharacterHitZone.m_eBandageAnimationBodyPart
protected

◆ m_eForcedWoundedSubmesh

SCR_EForcedWoundedSubmesh SCR_CharacterHitZone.m_eForcedWoundedSubmesh
protected

◆ m_eHitZoneGroup

ECharacterHitZoneGroup SCR_CharacterHitZone.m_eHitZoneGroup
protected

◆ m_fBleedingRateScale

float SCR_CharacterHitZone.m_fBleedingRateScale
protected

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