Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_FlammableHitZone.c File Reference

Go to the source code of this file.

Enumerations

enum  SCR_EBurningState {
  NONE = 0 , SMOKING_LIGHT = 10 , SMOKING_HEAVY = 20 , SMOKING_IGNITING = 30 ,
  BURNING = 40
}

Functions

override bool HasDataToReplicate ()
override bool Save (notnull ScriptBitWriter writer)
override bool Load (notnull ScriptBitReader reader)
override void OnInit (IEntity pOwnerEntity, GenericComponent pManagerComponent)
override EHitZoneGroup GetHitZoneGroup ()
override void OnMaxHealthChanged ()
void InitFireRates ()
 Compute smoke and fire damage thresholds and rates.
override float ComputeEffectiveDamage (notnull BaseDamageContext damageContext, bool isDOT)
void HandleIncendiaryDamage (notnull BaseDamageContext damageContext)
void SetFireInstigator (Instigator instigator)
 Inform damage manager about fire instigator.
Instigator GetFireInstigator ()
 Inform damage manager about fire instigator.
override void OnDamageStateChanged (EDamageState newState, EDamageState previousDamageState, bool isJIP)
 Destruction logic.
float GetFireRate ()
 Get rate of fire (dps). If it is below fire damage threshold, no damage will be dealt.
void SetFireRate (float fireRate)
 Set rate of fire (dps). If it is below fire damage threshold, no damage will be dealt.
float GetFireRateForState (SCR_EBurningState fireState, float weight=-1)
SCR_EBurningState GetFireState ()
 Returns current fire state.
void SetFireState (SCR_EBurningState fireState, float weight=-1, bool changeRate=true)
SCR_EBurningState GetFireStateForRate (float fireRate)
float CalculateNewFireRate (float fireRate, float deltaTime)
void ApplyFireDamage (float fireRate, float deltaTime)
void UpdateFireRate (bool forceUpdate=false)
void StopFireRateUpdate ()
 Stop fire rate updates until requested again.
void LockFireRate (bool locked=true)
 Temporarily stop fire rate changes until incendiary damage is received again.
void StartDestructionFire ()
void StartDestructionGroundFire ()
 Attempts to spawn fire effect on the ground under the burning wreck.
void StopDestructionFire ()
void UpdateFireEffects (SCR_EBurningState fireState)
 Logic when vehicle is damaged.
void FireLightOn ()
void FireLightOff ()
override float GetSecondaryExplosionScale ()
void ~SCR_FlammableHitZone ()

Variables

enum SCR_EBurningState FIRE_TERRAIN_HEIGHT_TOLERANCE = 2.2
Instigator m_FireInstigator
SCR_EBurningState m_eFireState
float m_fFireRate
float m_fLightSmokeReductionRate
float m_fHeavySmokeReductionRate
float m_fIgnitingSmokeStokeRate
float m_fFireDamageRateMin
float m_fFireDamageRateMax
float m_fUpdateFireTime
bool m_bIsUpdatingFire
bool m_bIsFireRateLocked
ref array< LightEntity > m_aLightEntities
ref array< ref SCR_BaseLightDatam_aLightData
float m_fIncendiaryReduction
params __pad0__
params category
params __pad1__
params __pad2__
params __pad3__
params __pad4__
params __pad5__
params __pad6__
params __pad7__
params __pad8__
params __pad9__
params __pad10__
ResourceName m_sDamagedParticle
ResourceName m_sDamagedParticleHeavy
ResourceName m_sBurningParticle
ResourceName m_sBurningGroundParticle
params __pad11__
string m_sFireStateSignal
SignalsManagerComponent m_SignalsManager
int m_iFireStateSignalIdx = -1
ParticleEffectEntity m_DamagedParticleLight
ParticleEffectEntity m_DamagedParticleHeavy
ParticleEffectEntity m_BurningParticle
ParticleEffectEntity m_BurningGroundParticle

Enumeration Type Documentation

◆ SCR_EBurningState

Enumerator
NONE 
SMOKING_LIGHT 
SMOKING_HEAVY 
SMOKING_IGNITING 
BURNING 

Definition at line 3 of file SCR_FlammableHitZone.c.

Function Documentation

◆ ApplyFireDamage()

void ApplyFireDamage ( float fireRate,
float deltaTime )
protected

Apply fire damage to hitzone and to compartment occupants

Parameters
fireRateCurrent rate of fire
deltaTimeTime passed in seconds since last update

Definition at line 465 of file SCR_FlammableHitZone.c.

◆ CalculateNewFireRate()

float CalculateNewFireRate ( float fireRate,
float deltaTime )
protected

Determine new fire rate

Parameters
fireRateCurrent rate of fire
deltaTimeTime passed in seconds since last update
Returns
fireRate

Definition at line 432 of file SCR_FlammableHitZone.c.

◆ ComputeEffectiveDamage()

override float ComputeEffectiveDamage ( notnull BaseDamageContext damageContext,
bool isDOT )
protected

Calculates the amount of damage a hitzone will receive.

Parameters
damageTypeDamage type
rawDamageIncoming damage, without any modifiers taken into account
hitEntityDamaged entity
struckHitZoneHitzone to be damaged
damageSourceProjectile
instigatorInstigator
hitMaterialSurface physics material
colliderIDCollider ID if provided
hitTransformPosition, direction and normal
impactVelocityProjectile velocity at impact
nodeIDBone index in mesh object
isDOTTrue if this is a calculation for DamageOverTime

Definition at line 200 of file SCR_FlammableHitZone.c.

◆ FireLightOff()

void FireLightOff ( )
protected

Definition at line 770 of file SCR_FlammableHitZone.c.

◆ FireLightOn()

void FireLightOn ( )
protected

Definition at line 742 of file SCR_FlammableHitZone.c.

◆ GetFireInstigator()

Instigator GetFireInstigator ( )
protected

Inform damage manager about fire instigator.

Definition at line 257 of file SCR_FlammableHitZone.c.

◆ GetFireRate()

float GetFireRate ( )
protected

Get rate of fire (dps). If it is below fire damage threshold, no damage will be dealt.

Definition at line 287 of file SCR_FlammableHitZone.c.

◆ GetFireRateForState()

float GetFireRateForState ( SCR_EBurningState fireState,
float weight = -1 )
protected

Get fire rate that will achieve specified fire state

Parameters
fireStateNew fire state to be set
weightPart of fire state zone to aim for. Default: -1 (becomes 0.5)

Definition at line 307 of file SCR_FlammableHitZone.c.

◆ GetFireState()

SCR_EBurningState GetFireState ( )
protected

Returns current fire state.

Definition at line 353 of file SCR_FlammableHitZone.c.

◆ GetFireStateForRate()

SCR_EBurningState GetFireStateForRate ( float fireRate)
protected

Get fire state that will be achieved for specified fire rate

Parameters
fireRateFire rate to test for
Returns
fireState New fire state

Definition at line 409 of file SCR_FlammableHitZone.c.

◆ GetHitZoneGroup()

override EHitZoneGroup GetHitZoneGroup ( )
protected

Definition at line 143 of file SCR_FlammableHitZone.c.

◆ GetSecondaryExplosionScale()

override float GetSecondaryExplosionScale ( )
protected

Definition at line 785 of file SCR_FlammableHitZone.c.

◆ HandleIncendiaryDamage()

void HandleIncendiaryDamage ( notnull BaseDamageContext damageContext)
protected

Modify fire rate based on received incendiary impacts

Parameters
damageIncendiary damage to be handled
instigatorInstigator of the incendiary damage

Definition at line 215 of file SCR_FlammableHitZone.c.

◆ HasDataToReplicate()

override bool HasDataToReplicate ( )
protected

Definition at line 103 of file SCR_FlammableHitZone.c.

◆ InitFireRates()

void InitFireRates ( )
protected

Compute smoke and fire damage thresholds and rates.

Definition at line 161 of file SCR_FlammableHitZone.c.

◆ Load()

override bool Load ( notnull ScriptBitReader reader)
protected

Definition at line 117 of file SCR_FlammableHitZone.c.

◆ LockFireRate()

void LockFireRate ( bool locked = true)
protected

Temporarily stop fire rate changes until incendiary damage is received again.

Definition at line 575 of file SCR_FlammableHitZone.c.

◆ OnDamageStateChanged()

override void OnDamageStateChanged ( EDamageState newState,
EDamageState previousDamageState,
bool isJIP )
protected

Destruction logic.

Definition at line 269 of file SCR_FlammableHitZone.c.

◆ OnInit()

override void OnInit ( IEntity pOwnerEntity,
GenericComponent pManagerComponent )
protected

Definition at line 127 of file SCR_FlammableHitZone.c.

◆ OnMaxHealthChanged()

override void OnMaxHealthChanged ( )
protected

Definition at line 149 of file SCR_FlammableHitZone.c.

◆ Save()

override bool Save ( notnull ScriptBitWriter writer)
protected

Definition at line 111 of file SCR_FlammableHitZone.c.

◆ SetFireInstigator()

void SetFireInstigator ( Instigator instigator)
protected

Inform damage manager about fire instigator.

Definition at line 250 of file SCR_FlammableHitZone.c.

◆ SetFireRate()

void SetFireRate ( float fireRate)
protected

Set rate of fire (dps). If it is below fire damage threshold, no damage will be dealt.

Definition at line 294 of file SCR_FlammableHitZone.c.

◆ SetFireState()

void SetFireState ( SCR_EBurningState fireState,
float weight = -1,
bool changeRate = true )
protected

Set fire rate that will achieve specified fire state

Parameters
fireStateNew fire state to be set
weightPart of fire state zone to aim for. Default: -1 (if state is different, becomes 0.5, otherwise no change)
rateAllow changing fire rate. Default: true

Definition at line 365 of file SCR_FlammableHitZone.c.

◆ StartDestructionFire()

void StartDestructionFire ( )
protected

Definition at line 581 of file SCR_FlammableHitZone.c.

◆ StartDestructionGroundFire()

void StartDestructionGroundFire ( )
protected

Attempts to spawn fire effect on the ground under the burning wreck.

Definition at line 603 of file SCR_FlammableHitZone.c.

◆ StopDestructionFire()

void StopDestructionFire ( )
protected

Definition at line 661 of file SCR_FlammableHitZone.c.

◆ StopFireRateUpdate()

void StopFireRateUpdate ( )
protected

Stop fire rate updates until requested again.

Definition at line 567 of file SCR_FlammableHitZone.c.

◆ UpdateFireEffects()

void UpdateFireEffects ( SCR_EBurningState fireState)
protected

Logic when vehicle is damaged.

Definition at line 678 of file SCR_FlammableHitZone.c.

◆ UpdateFireRate()

void UpdateFireRate ( bool forceUpdate = false)
protected

Flammable hitzone is not immediately set on fire. At first it generates smoke which can spontaneously extinguish or ignite itself. Damage is applied once fire rate exceeds damage threshold.

Definition at line 500 of file SCR_FlammableHitZone.c.

◆ ~SCR_FlammableHitZone()

void ~SCR_FlammableHitZone ( )
protected

Definition at line 790 of file SCR_FlammableHitZone.c.

Variable Documentation

◆ __pad0__

params __pad0__
protected

Definition at line 41 of file SCR_FlammableHitZone.c.

◆ __pad10__

params __pad10__
protected

Definition at line 71 of file SCR_FlammableHitZone.c.

◆ __pad11__

params __pad11__
protected

Definition at line 87 of file SCR_FlammableHitZone.c.

◆ __pad1__

params __pad1__
protected

Definition at line 44 of file SCR_FlammableHitZone.c.

◆ __pad2__

params __pad2__
protected

Definition at line 47 of file SCR_FlammableHitZone.c.

◆ __pad3__

params __pad3__
protected

Definition at line 50 of file SCR_FlammableHitZone.c.

◆ __pad4__

params __pad4__
protected

Definition at line 53 of file SCR_FlammableHitZone.c.

◆ __pad5__

params __pad5__
protected

Definition at line 56 of file SCR_FlammableHitZone.c.

◆ __pad6__

params __pad6__
protected

Definition at line 59 of file SCR_FlammableHitZone.c.

◆ __pad7__

params __pad7__
protected

Definition at line 62 of file SCR_FlammableHitZone.c.

◆ __pad8__

params __pad8__
protected

Definition at line 65 of file SCR_FlammableHitZone.c.

◆ __pad9__

params __pad9__
protected

Definition at line 68 of file SCR_FlammableHitZone.c.

◆ category

params category
protected

Definition at line 41 of file SCR_FlammableHitZone.c.

◆ FIRE_TERRAIN_HEIGHT_TOLERANCE

enum SCR_EBurningState FIRE_TERRAIN_HEIGHT_TOLERANCE = 2.2

◆ m_aLightData

ref array<ref SCR_BaseLightData> m_aLightData
protected

Definition at line 35 of file SCR_FlammableHitZone.c.

◆ m_aLightEntities

ref array<LightEntity> m_aLightEntities
protected

Definition at line 32 of file SCR_FlammableHitZone.c.

◆ m_bIsFireRateLocked

bool m_bIsFireRateLocked
protected

Definition at line 30 of file SCR_FlammableHitZone.c.

◆ m_bIsUpdatingFire

bool m_bIsUpdatingFire
protected

Definition at line 29 of file SCR_FlammableHitZone.c.

◆ m_BurningGroundParticle

ParticleEffectEntity m_BurningGroundParticle
protected

Definition at line 101 of file SCR_FlammableHitZone.c.

◆ m_BurningParticle

ParticleEffectEntity m_BurningParticle
protected

Definition at line 100 of file SCR_FlammableHitZone.c.

◆ m_DamagedParticleHeavy

ParticleEffectEntity m_DamagedParticleHeavy
protected

Definition at line 99 of file SCR_FlammableHitZone.c.

◆ m_DamagedParticleLight

ParticleEffectEntity m_DamagedParticleLight
protected

Definition at line 98 of file SCR_FlammableHitZone.c.

◆ m_eFireState

SCR_EBurningState m_eFireState
protected

Definition at line 21 of file SCR_FlammableHitZone.c.

◆ m_fFireDamageRateMax

float m_fFireDamageRateMax
protected

Definition at line 27 of file SCR_FlammableHitZone.c.

◆ m_fFireDamageRateMin

float m_fFireDamageRateMin
protected

Definition at line 26 of file SCR_FlammableHitZone.c.

◆ m_fFireRate

float m_fFireRate
protected

Definition at line 22 of file SCR_FlammableHitZone.c.

◆ m_fHeavySmokeReductionRate

float m_fHeavySmokeReductionRate
protected

Definition at line 24 of file SCR_FlammableHitZone.c.

◆ m_fIgnitingSmokeStokeRate

float m_fIgnitingSmokeStokeRate
protected

Definition at line 25 of file SCR_FlammableHitZone.c.

◆ m_fIncendiaryReduction

float m_fIncendiaryReduction
protected

Definition at line 39 of file SCR_FlammableHitZone.c.

◆ m_FireInstigator

Instigator m_FireInstigator
protected

Definition at line 20 of file SCR_FlammableHitZone.c.

◆ m_fLightSmokeReductionRate

float m_fLightSmokeReductionRate
protected

Definition at line 23 of file SCR_FlammableHitZone.c.

◆ m_fUpdateFireTime

float m_fUpdateFireTime
protected

Definition at line 28 of file SCR_FlammableHitZone.c.

◆ m_iFireStateSignalIdx

int m_iFireStateSignalIdx = -1
protected

Definition at line 95 of file SCR_FlammableHitZone.c.

◆ m_sBurningGroundParticle

ResourceName m_sBurningGroundParticle
protected

Definition at line 85 of file SCR_FlammableHitZone.c.

◆ m_sBurningParticle

ResourceName m_sBurningParticle
protected

Definition at line 82 of file SCR_FlammableHitZone.c.

◆ m_sDamagedParticle

ResourceName m_sDamagedParticle
protected

Definition at line 76 of file SCR_FlammableHitZone.c.

◆ m_sDamagedParticleHeavy

ResourceName m_sDamagedParticleHeavy
protected

Definition at line 79 of file SCR_FlammableHitZone.c.

◆ m_sFireStateSignal

string m_sFireStateSignal
protected

Definition at line 91 of file SCR_FlammableHitZone.c.

◆ m_SignalsManager

SignalsManagerComponent m_SignalsManager
protected

Definition at line 94 of file SCR_FlammableHitZone.c.