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

Public Member Functions

void EnableContactMaskOnHost (bool enabled)
 Disable contact mask, typically used for when vehicle becomes destroyed.
 
override void OnDamageStateChanged (EDamageState state)
 Update buoyancy loss rate.
 
override void RegisterVehicleHitZone (notnull HitZone hitZone)
 
override void UnregisterVehicleHitZone (HitZone hitZone)
 
override void UpdateVehicleState ()
 Compute current simulation state of vehicle Called when hit zone damage states change.
 
override void SetEngineFunctional (bool functional)
 
override void UpdateMovementDamage ()
 
- Public Member Functions inherited from SCR_VehicleDamageManagerComponent
SCR_VehicleDamageManagerComponentClass GetPrefabData ()
 
float GetTopMultiplier ()
 
float GetRightMultiplier ()
 
float GetLeftMultiplier ()
 
float GetRearMultiplier ()
 
float GetBottomMultiplier ()
 
float GetFrontMultiplier ()
 
float GetMaxSharedDamageDistance ()
 
float GetOccupantsDamageSpeedThreshold ()
 
float GetOccupantsSpeedDeath ()
 
vector GetFrontalImpact ()
 
float GetSideDamageMultiplier (SCR_EBoxSide side)
 
bool IsInContact ()
 
override void OnPostInit (IEntity owner)
 Called after all components are initialized.
 
void RegisterVehicleHitZone (notnull HitZone hitZone)
 
void UnregisterVehicleHitZone (HitZone hitZone)
 
void UpdateVehicleState ()
 Compute current simulation state of vehicle Called when hit zone damage states change.
 
void UpdateMovementDamage ()
 
bool GetEngineFunctional ()
 
float GetEngineMalfunctionThreshold ()
 
float GetEngineEfficiency ()
 
bool GetGearboxFunctional ()
 
float GetGearboxEfficiency ()
 
float DamageSurroundingHitzones (vector position, float damage, EDamageType damageType)
 
SCR_EBoxSide GetHitDirection (vector position)
 
override array< ref WB_UIMenuItem > _WB_GetContextMenuItems (IEntity owner)
 
override void _WB_OnContextMenu (IEntity owner, int id)
 
override bool FilterContact (IEntity owner, IEntity other, Contact contact)
 Filter out any contacts under a reasonable speed for damage.
 
override void OnFilteredContact (IEntity owner, IEntity other, Contact contact)
 Handle damage and collision effects of contact Contact must NEVER be passed as variable to external functions.
 
void CollisionDamage (notnull IEntity other, float impulse, vector velocityBefore1, vector velocityAfter1, vector velocityBefore2, vector velocityAfter2, vector impactPosition, vector impactNormal)
 Collisiondamage is exposed to be used by other scripts as well.
 
override void OnDamageStateChanged (EDamageState state)
 Update buoyancy loss rate.
 
override bool CanBeHealed (bool ignoreHealingDOT=true)
 Return true if there is damage that can be repaired.
 
override void FullHeal (bool ignoreHealingDOT=true)
 Fix all the damage.
 
void TickResponseIndexCheck ()
 
void ToggleResponseIndexTicking (IEntity owner, bool activeState)
 
void EOnPhysicsActive (IEntity owner, bool activeState)
 
void RegisterFlammableHitZone (notnull SCR_FlammableHitZone hitZone)
 
void UnregisterFlammableHitZone (notnull SCR_FlammableHitZone hitZone)
 
override void UpdateFireDamage (float timeSlice)
 
float GetMinImpulse ()
 
void InitStaticMapForIndices ()
 
void SCR_VehicleDamageManagerComponent (IEntityComponentSource src, IEntity ent, IEntity parent)
 
void ~SCR_VehicleDamageManagerComponent ()
 
- Public Member Functions inherited from SCR_DamageManagerComponent
bool IsRplReady ()
 Check if replication loading is completed. Important for join in progress and when streaming entities in.
 
HitZone GetHitZoneByName (string hitZoneName, bool caseSensitive=false)
 Get the HitZone that matches the provided name.
 
void GetPhysicalHitZones (out notnull array< HitZone > physicalHitZones)
 Return hit zones with colliders assigned.
 
void GetRegeneratingHitZones (out notnull array< SCR_RegeneratingHitZone > regeneratingHitZones)
 Return hit zones with passive regeneration enabled.
 
void RpcDo_SetFireState (int hitZoneIndex, SCR_EBurningState fireState)
 Set fire rate of a flammable hitzone.
 
override bool FilterContact (IEntity owner, IEntity other, Contact contact)
 No contacts for destroyed entities.
 
float CalculateMomentum (Contact contact, float ownerMass, float otherMass)
 
int GetSurroundingHitzones (vector origin, Physics physics, float maxDistance, out array< HitZone > outHitzones)
 
float GetMinDestroyDamage (EDamageType damageType, array< HitZone > hitzones, int count)
 
ScriptInvoker GetOnDamage ()
 
ScriptInvoker GetOnDamageOverTimeAdded ()
 
ScriptInvoker GetOnDamageOverTimeRemoved ()
 
ScriptInvoker GetOnDamageStateChanged ()
 
void ~SCR_DamageManagerComponent ()
 
int GetHitZonesOfGroup (EHitZoneGroup hitZoneGroup, out notnull array< HitZone > groupHitZones, bool clearArray=true)
 Get a list of all hitzones of specific hitzone group.
 
int GetHitZonesOfGroups (notnull array< EHitZoneGroup > hitZoneGroups, out notnull array< HitZone > groupHitZones)
 Get a list of all hitzones of specific hitzone group.
 
float GetGroupDamageOverTime (ECharacterHitZoneGroup hitZoneGroup, EDamageType damageType)
 Get total damage over time of given hitzone group.
 
void Kill (notnull Instigator instigator)
 Neutralize the entity with a specific damage type, registering the killer entity.
 
void DamageRandomHitZones (float damage, EDamageType type, notnull Instigator instigator, bool onlyPhysical=true, vector outMat[3]={}, bool damageDefault=false)
 Damage random physical hit zones up to damage amount.
 
bool CanBeHealed (bool ignoreHealingDOT=true)
 Return true if there is damage that can be repaired.
 
void FullHeal (bool ignoreHealingDOT=true)
 Fix all the damage.
 
float HealHitZones (float healthToDistribute, bool sequential=false, float maxHealThresholdScaled=1, array< HitZone > alternativeHitZones=null)
 Partially heal the hitZones of an entity.
 
void ReduceSmoke ()
 Reduce smoke output based on the total health of hit zones.
 
float GetHitZonesDamage (float untilThresholdScaled=1, array< HitZone > alternativeHitZones=null)
 Get all damage dealt to hitzones.
 
float GetHitZonesHealthScaled (array< HitZone > alternativeHitZones=null)
 Get Health scaled of all hitzones.
 
float GetSingleHitZonesHealthScaled (array< HitZone > alternativeHitZones=null, bool getLowestHealth=true)
 Get single Health scaled from hitzones.
 
ResourceName GetSecondaryExplosion (float value, SCR_ESecondaryExplosionType explosionType, EResourceType resourceType=EResourceType.SUPPLIES, bool fire=false)
 Determine secondary explosion prefab based on explosion value, type and resource type if defined.
 
SCR_SecondaryExplosion GetSecondaryExplosionForScale (SCR_ESecondaryExplosionScale scale, SCR_ESecondaryExplosionType explosionType, EResourceType resourceType=EResourceType.SUPPLIES)
 Determine secondary explosion prefab based on explosion scale, type and resource type if defined.
 
SCR_ESecondaryExplosionScale GetSecondaryExplosionScale (float value, SCR_ESecondaryExplosionType explosionType, EResourceType resourceType=EResourceType.SUPPLIES)
 Determine secondary explosion prefab based on explosion value, type and resource type if defined.
 
ResourceName GetSecondaryFireParticle (float value, SCR_ESecondaryExplosionType explosionType, EResourceType resourceType=EResourceType.SUPPLIES)
 Determine secondary explosion prefab based on explosion value, type and resource type if defined.
 
bool IsOnFire (HitZone hitZone=null)
 Determine if provided or any hit zone from this damage manager is on fire.
 
bool IsOnFire (notnull array< HitZone > hitZones)
 Determine if any hit zone from this damage manager is on fire.
 
void SecondaryExplosion (ResourceName prefabName, notnull Instigator instigator, notnull EntitySpawnParams spawnParams)
 Spawn secondary explosion.
 
SCR_ResourceEncapsulator GetResourceEncapsulator (EResourceType suppliesType=EResourceType.SUPPLIES)
 
void SupplySecondaryExplosion (notnull Instigator instigator)
 Spawn supply secondary explosion when vehicle becomes destroyed.
 
vector GetSecondaryExplosionPosition (TypeName hitZoneType, out float totalWeight=0)
 Get weighed average position of explosion for hitzones of specified type.
 
void FuelSecondaryExplosion (notnull Instigator instigator)
 Spawn fuel secondary explosion when vehicle becomes destroyed.
 
void UpdateFireDamage (float timeSlice)
 
void UpdateFireParticles (vector position, out ParticleEffectEntity particles, SCR_ESecondaryExplosionScale state, SCR_ESecondaryExplosionType fireType, EResourceType resourceType=EResourceType.SUPPLIES)
 Update visual effects and store result in particles variable.
 
override void OnDamageOverTimeAdded (EDamageType dType, float dps, HitZone hz)
 Invoked every time the DoT is added to certain hitzone.
 
override void OnDamageOverTimeRemoved (EDamageType dType, HitZone hz)
 Invoked when provided damage type is removed from certain hitzone.
 
override bool HijackDamageHandling (notnull BaseDamageContext damageContext)
 
- Public Member Functions inherited from DamageManagerComponent
proto external int ComputeStruckHitZones (out notnull array< HitZone > struckHitZones, notnull BaseDamageContext damageContext)
 Clears and fills struckHitZones array with all HZs that should get damaged by this BaseDamageContext.
 
proto external void EnableDamageHandling (bool enable)
 
proto external bool IsDamageHandlingEnabled ()
 
proto external float GetMovementDamage ()
 
proto external float GetAimingDamage ()
 
proto external void SetMovementDamage (float damage)
 
proto external void SetAimingDamage (float damage)
 
proto external float GetHealthScaled ()
 
proto external bool SetHealthScaled (float health)
 
proto external float GetHealth ()
 
proto external float GetMaxHealth ()
 
proto external EDamageState GetState ()
 
proto external bool IsDestroyed ()
 
proto external void SetInstigatorEntity (IEntity instigator)
 
proto external void SetInstigator (notnull Instigator instigator)
 
proto external notnull Instigator GetInstigator ()
 
proto external int GetAttachedColliderIDs (out notnull array< int > outAttachedColliderIDs)
 Fills colliderIDs with all the colliders attached to hitzones this dmg manager owns.
 
proto external void HandleDamage (notnull BaseDamageContext damageContext)
 
proto external bool IsDamagedOverTime (EDamageType dType)
 
proto external float GetDamageOverTime (EDamageType dType)
 
proto external void RemoveDamageOverTime (EDamageType dType)
 Removes DOT of provided damageType from all currently affected HitZones.
 
bool ShouldOverrideInstigator (notnull Instigator currentInstigator, notnull Instigator newInstigator)
 Called whenever an instigator is going to be set.
 
GameMaterial OverrideHitMaterial (HitZone struckHitzone)
 Not all armors are physical so the surface that gets struck by projectiles will not be the one the armor, but the hitzone.
 
bool FilterContact (IEntity owner, IEntity other, Contact contact)
 Event when physics engine registered contact with other RigidBody.
 
bool HijackDamageHandling (notnull BaseDamageContext damageContext)
 Called when this DamageManager is about to handle damage.
 
bool ShouldCountAsHit (notnull BaseDamageContext damageContext)
 Called after HijackDamageHandling.
 
- Public Member Functions inherited from HitZoneContainerComponent
proto external IEntity GetOwner ()
 
proto external HitZone GetDefaultHitZone ()
 
proto external HitZone GetHitZoneByColliderID (int colliderID)
 
proto external int GetHitZonesByColliderIDs (out notnull array< HitZone > outHitZones, notnull array< int > colliderIDs)
 Clears and fills the specified outHitZones array with all HZs that are attached to colliderIDs.
 
proto external HitZone GetHitZone (string colliderName)
 
proto external int GetAllHitZones (out notnull array< HitZone > outHitZones)
 Clears and fills the specified outHitZones array with all HZs in this entity Returns the count of elements that were filled into the array.
 
proto external int GetAllHitZonesInHierarchy (out notnull array< HitZone > outHitZones)
 Clears and fills the specified outHitZones array with all HZs in this entity and its children.
 
proto external HitZoneContainerComponent GetParentHitZoneContainer ()
 
- Public Member Functions inherited from GameComponent
bool OnTicksOnRemoteProxy ()
 

Protected Attributes

ref array< SCR_RotorHitZonem_aRotorHitZones = {}
 
float m_fRotorsEfficiency = 1
 
- Protected Attributes inherited from SCR_VehicleDamageManagerComponent
float m_fVelocityMultiplierOnWaterEnter = 0.5
 
int m_fMinWaterFallDamageVelocity = 5
 
bool m_bPrintRelativeForce
 
float m_fVehicleDestroyDamage
 
float m_fVehicleDamageSpeedThreshold
 
float m_fVehicleSpeedDestroy
 
float m_fEngineMalfunctioningThreshold
 
string m_sVehicleFireStateSignal
 
string m_sFuelTankFireStateSignal
 
string m_sSuppliesFireStateSignal
 
float m_fFuelTankFireDamageRate
 
float m_fSuppliesFireDamageRate
 
float m_fSecondaryFireDamageDelay
 
bool m_bIsInContact
 
float m_fMaxRelativeForce
 
float m_fMinImpulse
 
SCR_BaseCompartmentManagerComponent m_CompartmentManager
 
ref array< HitZonem_aVehicleHitZones = {}
 Common vehicle features that will influence its simulation.
 
CompartmentControllerComponent m_Controller
 
VehicleBaseSimulation m_Simulation
 
float m_fEngineEfficiency = 1
 
bool m_bEngineFunctional = true
 
float m_fGearboxEfficiency = 1
 
bool m_bGearboxFunctional = true
 
ref array< SCR_FlammableHitZonem_aFlammableHitZones
 
SignalsManagerComponent m_SignalsManager
 
float m_fVehicleFireDamageTimeout
 
ParticleEffectEntity m_FuelTankFireParticle
 
FuelManagerComponent m_FuelManager
 
float m_fFuelTankFireDamageTimeout
 
ParticleEffectEntity m_SuppliesFireParticle
 
float m_fSuppliesFireDamageTimeout
 
int m_iVehicleFireStateSignalIdx
 
int m_iFuelTankFireStateSignalIdx
 
int m_iSuppliesFireStateSignalIdx
 
SCR_ImpactEffectComponent m_ImpactEffectComponent
 
vector m_vVehicleFireOrigin
 
vector m_vFuelTankFireOrigin
 
vector m_vSuppliesFireOrigin
 
- Protected Attributes inherited from SCR_DamageManagerComponent
int m_iTimetickInstigator = System.GetTickCount()
 
int m_iTimeThresholdInstigatorReplacement = 180000
 
int m_iPlayerId = 0
 
int m_iDamageManagerDataIndex = -1
 
bool m_bRplReady
 

Additional Inherited Members

- Static Public Member Functions inherited from SCR_VehicleDamageManagerComponent
static ScriptInvokerInt GetOnVehicleDestroyed ()
 
- Static Public Member Functions inherited from SCR_DamageManagerComponent
static SCR_DamageManagerComponent GetDamageManager (notnull IEntity owner)
 Get damage manager from given owner.
 
- Public Attributes inherited from SCR_VehicleDamageManagerComponent
SCR_ESecondaryExplosionScale m_eVehicleFireState
 
SCR_ESecondaryExplosionScale m_eFuelTankFireState
 
SCR_ESecondaryExplosionScale m_eSuppliesFireState
 
- Static Public Attributes inherited from SCR_VehicleDamageManagerComponent
static ref map< SCR_EPhysicsResponseIndex, float > s_mResponseIndexMomentumMap = new map<SCR_EPhysicsResponseIndex, float>()
 
- Static Public Attributes inherited from SCR_DamageManagerComponent
static const int MAX_DESTRUCTION_RESPONSE_INDEX = 10
 
static const string MAX_DESTRUCTION_RESPONSE_INDEX_NAME = "HugeDestructible"
 
static const ref array< EDamageTypeHEALING_DAMAGE_TYPES = {EDamageType.HEALING, EDamageType.REGENERATION}
 
static const float KM_PER_H_TO_M_PER_S = 0.277777
 
- Protected Member Functions inherited from SCR_VehicleDamageManagerComponent
void SetEngineFunctional (bool functional)
 
void SetEngineEfficiency (float efficiency)
 
void SetGearboxFunctional (bool functional)
 
void SetGearboxEfficiency (float efficiency)
 
void OnWaterEnter ()
 Determine whether collision into water is severe enough to apply damage, then get velocities an manually call CollisionDamage.
 
void RPC_OnPhysicsActive (bool activeState)
 
void OnVehicleFireStateChanged ()
 
void SetVehicleFireState (SCR_ESecondaryExplosionScale state, vector origin=vector.Zero)
 
void OnFuelTankFireStateChanged ()
 
void SetFuelTankFireState (SCR_ESecondaryExplosionScale state, vector origin=vector.Zero)
 
void OnSuppliesFireStateChanged ()
 
void SetSuppliesFireState (SCR_ESecondaryExplosionScale state, vector origin=vector.Zero)
 
void UpdateVehicleFireState (out float fireRate, float timeSlice)
 
void UpdateFuelTankFireState (float fireRate, float timeSlice)
 
void UpdateSuppliesFireState (float fireRate, float timeSlice)
 
override bool ShouldOverrideInstigator (notnull Instigator currentInstigator, notnull Instigator newInstigator)
 
- Protected Member Functions inherited from SCR_DamageManagerComponent
override bool OnRplSave (ScriptBitWriter writer)
 
override bool OnRplLoad (ScriptBitReader reader)
 
notnull SCR_DamageManagerData GetScriptedDamageManagerData ()
 
override void OnDamage (notnull BaseDamageContext damageContext)
 
override bool ShouldOverrideInstigator (notnull Instigator currentInstigator, notnull Instigator newInstigator)
 Called whenever an instigator is going to be set.
 
float HealHitZonesInSequence (float healthToDistribute, float maxHealThresholdScaled, array< HitZone > targetHitZones)
 
float HealHitZonesInParallel (float healthToDistribute, float maxHealThresholdScaled, array< HitZone > targetHitZones)
 
void ConnectToFireDamageSystem ()
 
void DisconnectFromFireDamageSystem ()
 
override void OnDamageStateChanged (EDamageState state)
 Invoked when damage state changes.
 
override void _WB_AfterWorldUpdate (IEntity owner, float timeSlice)
 
- Protected Member Functions inherited from DamageManagerComponent
void OnDamageOverTimeAdded (EDamageType dType, float dps, HitZone hz)
 Invoked every time the DoT is added to certain hitzone.
 
void OnDamageOverTimeRemoved (EDamageType dType, HitZone hz)
 Invoked when provided damage type is removed from certain hitzone.
 
void OnDamageStateChanged (EDamageState state)
 Called when the damagestate changes.
 
void OnPostInit (IEntity owner)
 Called after all components are initialized.
 
void OnInit (IEntity owner)
 Called during EOnInit.
 
void OnDelete (IEntity owner)
 
void OnFrame (IEntity owner, float timeSlice)
 Called during EOnFrame.
 
void OnFilteredContact (IEntity owner, IEntity other, Contact contact)
 Only called if FilterContact returned true.
 
void OnDiag (IEntity owner, float timeSlice)
 Called during EOnDiag.
 
void OnDamage (notnull BaseDamageContext damageContext)
 
bool OnRplSave (ScriptBitWriter writer)
 
bool OnRplLoad (ScriptBitReader reader)
 
- Static Protected Attributes inherited from SCR_VehicleDamageManagerComponent
const float MIN_IMPULSE_THRESHOLD = 5
 
const int MIN_RESPONSE_INDEX = SCR_EPhysicsResponseIndex.TINY_MOMENTUM
 
const int MAX_RESPONSE_INDEX = SCR_EPhysicsResponseIndex.HUGE_MOMENTUM
 
static ref ScriptInvokerInt s_OnVehicleDestroyed
 
static const float APPROXIMATE_CHARACTER_LETHAL_DAMAGE = 150
 
- Static Protected Attributes inherited from SCR_DamageManagerComponent
static const int MIN_MOMENTUM_RESPONSE_INDEX = 1
 
static const int MAX_MOMENTUM_RESPONSE_INDEX = 5
 
static const int MIN_DESTRUCTION_RESPONSE_INDEX = 6
 
const float SIMULATION_IMPRECISION_MULTIPLIER = 1.1
 
static ref array< ref SCR_DamageManagerDatas_aDamageManagerData = {}
 

Member Function Documentation

◆ EnableContactMaskOnHost()

void SCR_HelicopterDamageManagerComponent.EnableContactMaskOnHost ( bool  enabled)

Disable contact mask, typically used for when vehicle becomes destroyed.

Parameters
[in]enabled

◆ OnDamageStateChanged()

override void SCR_HelicopterDamageManagerComponent.OnDamageStateChanged ( EDamageState  state)

Update buoyancy loss rate.

Disable collision damage calculations for wrecks

Implements SCR_VehicleDamageManagerComponent.

◆ RegisterVehicleHitZone()

override void SCR_HelicopterDamageManagerComponent.RegisterVehicleHitZone ( notnull HitZone  hitZone)
Parameters
[in]hitZone

Implements SCR_VehicleDamageManagerComponent.

◆ SetEngineFunctional()

override void SCR_HelicopterDamageManagerComponent.SetEngineFunctional ( bool  functional)

◆ UnregisterVehicleHitZone()

override void SCR_HelicopterDamageManagerComponent.UnregisterVehicleHitZone ( HitZone  hitZone)
Parameters
[in]hitZone

Implements SCR_VehicleDamageManagerComponent.

◆ UpdateMovementDamage()

override void SCR_HelicopterDamageManagerComponent.UpdateMovementDamage ( )

◆ UpdateVehicleState()

override void SCR_HelicopterDamageManagerComponent.UpdateVehicleState ( )

Compute current simulation state of vehicle Called when hit zone damage states change.

Implements SCR_VehicleDamageManagerComponent.

Member Data Documentation

◆ m_aRotorHitZones

ref array<SCR_RotorHitZone> SCR_HelicopterDamageManagerComponent.m_aRotorHitZones = {}
protected

◆ m_fRotorsEfficiency

float SCR_HelicopterDamageManagerComponent.m_fRotorsEfficiency = 1
protected

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