Arma Reforger Script API
Loading...
Searching...
No Matches
SCR_DestructibleHitzone Interface Reference
Inheritance diagram for SCR_DestructibleHitzone:
SCR_HitZone HitZone SCR_FuelHitZone SCR_VehicleHitZone SCR_BatteryHitZone SCR_EngineHitZone SCR_FlammableHitZone SCR_GearboxHitZone SCR_LightHitZone SCR_RotorHitZone SCR_WheelHitZone

Public Member Functions

ref SCR_DestructionBaseHandler GetDestructionHandler ()
 
override void OnInit (IEntity pOwnerEntity, GenericComponent pManagerComponent)
 Call OnInit method from script.
 
float GetSecondaryExplosionScale ()
 Get secondary explosion desired scale. It will determine the prefab retrieved from secondary explosion config.
 
PointInfo GetSecondaryExplosionPoint ()
 Get secondary explosion desired scale. It will determine the prefab retrieved from secondary explosion config.
 
override void OnDamageStateChanged (EDamageState newState, EDamageState previousDamageState, bool isJIP)
 Kill occupants and start destruction.
 
void StartDestruction (bool immediate=false)
 Start destruction effects.
 
void PlayDestructionParticle (EDamageState state)
 Start destruction particle.
 
- Public Member Functions inherited from SCR_HitZone
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 OnDamage (notnull BaseDamageContext damageContext)
 Called when the damage has been dealt by the server, doesn't get called for DOT.
 

Protected Member Functions

void OnCharacterEjectedFromDestroyedCompartment (ChimeraCharacter playerCharacter, IEntity compartmentEntity)
 Callback that will be triggered when character will be removed from the destroyed vehicle.
 
void ForceStartDestruction ()
 Force begining of the destruction process.
 
void StopDestruction ()
 Stop destruction effects.
 
SCR_VehicleDamageManagerComponent FindParentVehicleDamageManager ()
 
void PlayDestructionSound (EDamageState damageState)
 Start destruction sounds.
 
- Protected Member Functions inherited from SCR_HitZone
override void OnHealthSet ()
 Called when damage changes.
 
- Protected Member Functions inherited from HitZone
void OnMaxHealthChanged ()
 Called when max damage changes.
 

Protected Attributes

ref PointInfo m_SecondaryExplosionPoint
 
ref SCR_DestructionBaseHandler m_pDestructionHandler
 
string m_sDestructionSoundEvent
 
ResourceName m_sDestructionParticle
 
vector m_vParticleOffset
 
ParticleEffectEntity m_DstParticle
 
SCR_DamageManagerComponent m_ParentDamageManager
 
SCR_DamageManagerComponent m_RootDamageManager
 
SCR_BaseCompartmentManagerComponent m_CompartmentManager
 
ref array< ChimeraCharacterm_aEjectedCharacters
 
- 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

const int FORCED_DESTRUCTION_DELAY = 1000
 Time after which we will no longer wait for players to leave destroyed vehicle and force start the destruction.
 

Member Function Documentation

◆ FindParentVehicleDamageManager()

SCR_VehicleDamageManagerComponent SCR_DestructibleHitzone.FindParentVehicleDamageManager ( )
protected

◆ ForceStartDestruction()

void SCR_DestructibleHitzone.ForceStartDestruction ( )
protected

Force begining of the destruction process.

◆ GetDestructionHandler()

ref SCR_DestructionBaseHandler SCR_DestructibleHitzone.GetDestructionHandler ( )

◆ GetSecondaryExplosionPoint()

PointInfo SCR_DestructibleHitzone.GetSecondaryExplosionPoint ( )

Get secondary explosion desired scale. It will determine the prefab retrieved from secondary explosion config.

◆ GetSecondaryExplosionScale()

float SCR_DestructibleHitzone.GetSecondaryExplosionScale ( )

Get secondary explosion desired scale. It will determine the prefab retrieved from secondary explosion config.

Implemented in SCR_FlammableHitZone, and SCR_FuelHitZone.

◆ OnCharacterEjectedFromDestroyedCompartment()

void SCR_DestructibleHitzone.OnCharacterEjectedFromDestroyedCompartment ( ChimeraCharacter playerCharacter,
IEntity compartmentEntity )
protected

Callback that will be triggered when character will be removed from the destroyed vehicle.

Parameters
[in]playerCharactercharacter that left the compartment
[in]compartmentEntity

◆ OnDamageStateChanged()

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

◆ OnInit()

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

◆ PlayDestructionParticle()

void SCR_DestructibleHitzone.PlayDestructionParticle ( EDamageState state)

Start destruction particle.

◆ PlayDestructionSound()

void SCR_DestructibleHitzone.PlayDestructionSound ( EDamageState damageState)
protected

Start destruction sounds.

Implemented in SCR_WheelHitZone.

◆ StartDestruction()

void SCR_DestructibleHitzone.StartDestruction ( bool immediate = false)

Start destruction effects.

◆ StopDestruction()

void SCR_DestructibleHitzone.StopDestruction ( )
protected

Stop destruction effects.

Member Data Documentation

◆ FORCED_DESTRUCTION_DELAY

const int SCR_DestructibleHitzone.FORCED_DESTRUCTION_DELAY = 1000
staticprotected

Time after which we will no longer wait for players to leave destroyed vehicle and force start the destruction.

◆ m_aEjectedCharacters

ref array<ChimeraCharacter> SCR_DestructibleHitzone.m_aEjectedCharacters
protected

◆ m_CompartmentManager

SCR_BaseCompartmentManagerComponent SCR_DestructibleHitzone.m_CompartmentManager
protected

◆ m_DstParticle

ParticleEffectEntity SCR_DestructibleHitzone.m_DstParticle
protected

◆ m_ParentDamageManager

SCR_DamageManagerComponent SCR_DestructibleHitzone.m_ParentDamageManager
protected

◆ m_pDestructionHandler

ref SCR_DestructionBaseHandler SCR_DestructibleHitzone.m_pDestructionHandler
protected

◆ m_RootDamageManager

SCR_DamageManagerComponent SCR_DestructibleHitzone.m_RootDamageManager
protected

◆ m_sDestructionParticle

ResourceName SCR_DestructibleHitzone.m_sDestructionParticle
protected

◆ m_sDestructionSoundEvent

string SCR_DestructibleHitzone.m_sDestructionSoundEvent
protected

◆ m_SecondaryExplosionPoint

ref PointInfo SCR_DestructibleHitzone.m_SecondaryExplosionPoint
protected

◆ m_vParticleOffset

vector SCR_DestructibleHitzone.m_vParticleOffset
protected

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