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

Public Member Functions

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

Static Public Member Functions

static SCR_DamageManagerComponent GetDamageManager (notnull IEntity owner)
 Get damage manager from given owner.
 

Static Public Attributes

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}
 

Protected Member Functions

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)
 

Protected Attributes

int m_iTimetickInstigator = System.GetTickCount()
 
int m_iTimeThresholdInstigatorReplacement = 180000
 
int m_iPlayerId = 0
 
int m_iDamageManagerDataIndex = -1
 
bool m_bRplReady
 

Static Protected Attributes

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 = {}
 

Constructor & Destructor Documentation

◆ ~SCR_DamageManagerComponent()

void SCR_DamageManagerComponent.~SCR_DamageManagerComponent ( )

Member Function Documentation

◆ _WB_AfterWorldUpdate()

override void SCR_DamageManagerComponent._WB_AfterWorldUpdate ( IEntity  owner,
float  timeSlice 
)
protected

Hitzone DrawDebug

◆ CalculateMomentum()

float SCR_DamageManagerComponent.CalculateMomentum ( Contact  contact,
float  ownerMass,
float  otherMass 
)

◆ CanBeHealed()

bool SCR_DamageManagerComponent.CanBeHealed ( bool  ignoreHealingDOT = true)

Return true if there is damage that can be repaired.

Parameters
[in]ignoreHealingDOTIf this is false the method will return that the entity can be healed also if the damageType is positive, such as HEALING

Implemented in SCR_CharacterDamageManagerComponent, and SCR_VehicleDamageManagerComponent.

◆ ConnectToFireDamageSystem()

void SCR_DamageManagerComponent.ConnectToFireDamageSystem ( )
protected

◆ DamageRandomHitZones()

void SCR_DamageManagerComponent.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.

Parameters
damageTotal damage to be applied
typeType of damage
instigatorEntity that fired the projectile or otherwise caused the damage
onlyPhysicalWhether only physical hit zones should be damaged
outMat[hitPosition, hitDirection, hitNormal]
damageDefaultWhether to damage default hit zone as well

◆ DisconnectFromFireDamageSystem()

void SCR_DamageManagerComponent.DisconnectFromFireDamageSystem ( )
protected

◆ FilterContact()

override bool SCR_DamageManagerComponent.FilterContact ( IEntity  owner,
IEntity  other,
Contact  contact 
)

◆ FuelSecondaryExplosion()

void SCR_DamageManagerComponent.FuelSecondaryExplosion ( notnull Instigator  instigator)

Spawn fuel secondary explosion when vehicle becomes destroyed.

◆ FullHeal()

void SCR_DamageManagerComponent.FullHeal ( bool  ignoreHealingDOT = true)

◆ GetDamageManager()

static SCR_DamageManagerComponent SCR_DamageManagerComponent.GetDamageManager ( notnull IEntity  owner)
static

Get damage manager from given owner.

Parameters
ownerEntity to get damage manager from
Returns
Damage Manager if any is found

◆ GetGroupDamageOverTime()

float SCR_DamageManagerComponent.GetGroupDamageOverTime ( ECharacterHitZoneGroup  hitZoneGroup,
EDamageType  damageType 
)

Get total damage over time of given hitzone group.

Parameters
hitZoneGroupHitzone group to get damage over time from
damageTypeDamage type to get damage over time from
Returns
Damage over time value

Implemented in SCR_CharacterDamageManagerComponent.

◆ GetHitZoneByName()

HitZone SCR_DamageManagerComponent.GetHitZoneByName ( string  hitZoneName,
bool  caseSensitive = false 
)

Get the HitZone that matches the provided name.

Case sensitivity is optional.

Parameters
hitZoneNameString name of hitzone
caseSensitiveCase sensitivity
Returns
hitZone HitZone matching the provided name

◆ GetHitZonesDamage()

float SCR_DamageManagerComponent.GetHitZonesDamage ( float  untilThresholdScaled = 1,
array< HitZone alternativeHitZones = null 
)

Get all damage dealt to hitzones.

Maxhealth minus current health is damage.

Parameters
untilThresholdScaledWhen set damage until this scaled threshold is returned.
alternativeHitZonesWhen filled, function will use these hitzones instead of the default, physicalHitZones
Returns
Returns float of all health missing from checked hitZones

◆ GetHitZonesHealthScaled()

float SCR_DamageManagerComponent.GetHitZonesHealthScaled ( array< HitZone alternativeHitZones = null)

Get Health scaled of all hitzones.

Parameters
alternativeHitZonesWhen filled, function will use these hitzones instead of the default, physicalHitZones
Returns
Returns float of all hitzones scaled devided by the amount of hitzones

◆ GetHitZonesOfGroup()

int SCR_DamageManagerComponent.GetHitZonesOfGroup ( EHitZoneGroup  hitZoneGroup,
out notnull array< HitZone groupHitZones,
bool  clearArray = true 
)

Get a list of all hitzones of specific hitzone group.

Parameters
hitZoneGroupHitzone group to get hitzones of
[out]groupHitZonesList of group hitzones found
Returns
Count of found group hitzones

◆ GetHitZonesOfGroups()

int SCR_DamageManagerComponent.GetHitZonesOfGroups ( notnull array< EHitZoneGroup >  hitZoneGroups,
out notnull array< HitZone groupHitZones 
)

Get a list of all hitzones of specific hitzone group.

Parameters
hitZoneGroupsList of Hitzone groups to get hitzones of
[out]groupHitZonesList of group hitzones found
Returns
Count of found group hitzones

◆ GetMinDestroyDamage()

float SCR_DamageManagerComponent.GetMinDestroyDamage ( EDamageType  damageType,
array< HitZone hitzones,
int  count 
)
\ param damageType determinese which damage multipliers are taken into account

! Made specifically for cases where hitzones are not parented

◆ GetOnDamage()

ScriptInvoker SCR_DamageManagerComponent.GetOnDamage ( )

◆ GetOnDamageOverTimeAdded()

ScriptInvoker SCR_DamageManagerComponent.GetOnDamageOverTimeAdded ( )

◆ GetOnDamageOverTimeRemoved()

ScriptInvoker SCR_DamageManagerComponent.GetOnDamageOverTimeRemoved ( )

◆ GetOnDamageStateChanged()

ScriptInvoker SCR_DamageManagerComponent.GetOnDamageStateChanged ( )

◆ GetPhysicalHitZones()

void SCR_DamageManagerComponent.GetPhysicalHitZones ( out notnull array< HitZone physicalHitZones)

Return hit zones with colliders assigned.

◆ GetRegeneratingHitZones()

void SCR_DamageManagerComponent.GetRegeneratingHitZones ( out notnull array< SCR_RegeneratingHitZone regeneratingHitZones)

Return hit zones with passive regeneration enabled.

◆ GetResourceEncapsulator()

SCR_ResourceEncapsulator SCR_DamageManagerComponent.GetResourceEncapsulator ( EResourceType  suppliesType = EResourceType::SUPPLIES)

◆ GetScriptedDamageManagerData()

notnull SCR_DamageManagerData SCR_DamageManagerComponent.GetScriptedDamageManagerData ( )
protected

◆ GetSecondaryExplosion()

ResourceName SCR_DamageManagerComponent.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.

◆ GetSecondaryExplosionForScale()

SCR_SecondaryExplosion SCR_DamageManagerComponent.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.

◆ GetSecondaryExplosionPosition()

vector SCR_DamageManagerComponent.GetSecondaryExplosionPosition ( TypeName  hitZoneType,
out float  totalWeight = 0 
)

Get weighed average position of explosion for hitzones of specified type.

◆ GetSecondaryExplosionScale()

SCR_ESecondaryExplosionScale SCR_DamageManagerComponent.GetSecondaryExplosionScale ( float  value,
SCR_ESecondaryExplosionType  explosionType,
EResourceType  resourceType = EResourceType::SUPPLIES 
)

Determine secondary explosion prefab based on explosion value, type and resource type if defined.

◆ GetSecondaryFireParticle()

ResourceName SCR_DamageManagerComponent.GetSecondaryFireParticle ( float  value,
SCR_ESecondaryExplosionType  explosionType,
EResourceType  resourceType = EResourceType::SUPPLIES 
)

Determine secondary explosion prefab based on explosion value, type and resource type if defined.

◆ GetSingleHitZonesHealthScaled()

float SCR_DamageManagerComponent.GetSingleHitZonesHealthScaled ( array< HitZone alternativeHitZones = null,
bool  getLowestHealth = true 
)

Get single Health scaled from hitzones.

Will return lowest or highest value

Parameters
alternativeHitZonesWhen filled, function will use these hitzones instead of the default, physicalHitZones
getLowestHealthIf true it will return the hitzone health that is lowest, else it will return the hitzone health that is highest
Returns
Returns float of all hitzones scaled devided by the amount of hitzones

◆ GetSurroundingHitzones()

int SCR_DamageManagerComponent.GetSurroundingHitzones ( vector  origin,
Physics  physics,
float  maxDistance,
out array< HitZone outHitzones 
)

◆ HealHitZones()

float SCR_DamageManagerComponent.HealHitZones ( float  healthToDistribute,
bool  sequential = false,
float  maxHealThresholdScaled = 1,
array< HitZone alternativeHitZones = null 
)

Partially heal the hitZones of an entity.

Parameters
healthToDistributeThe total value to be distributed among the hitzones
sequentialIf true, apply health sequentially, if false apply health in parallel
maxHealThresholdScaledWhen set, hitzone is healed only up to this threshold. Must be between 0 and 1.
alternativeHitZonesWhen filled, function will use these hitzones instead of the default, physicalHitZones
Returns
Returns float of health that was not distributed. Value above 0 means not all health was distributed

◆ HealHitZonesInParallel()

float SCR_DamageManagerComponent.HealHitZonesInParallel ( float  healthToDistribute,
float  maxHealThresholdScaled,
array< HitZone targetHitZones 
)
protected

◆ HealHitZonesInSequence()

float SCR_DamageManagerComponent.HealHitZonesInSequence ( float  healthToDistribute,
float  maxHealThresholdScaled,
array< HitZone targetHitZones 
)
protected

◆ HijackDamageHandling()

override bool SCR_DamageManagerComponent.HijackDamageHandling ( notnull BaseDamageContext  damageContext)
Called when this DamageManager is about to handle damage.
Any modifications done to the damageContext will persist for the rest of the damage handling process
return false if damage handling should proceed with the changes done to the DamageContext.
return true if damage should be discarded / was fully hijacked and should no longer be applied on this damage manager
(e.g.: damage was passed to another dmg manager, so we dont handle damage on this manager).

! param[in] damageContext

Implements DamageManagerComponent.

Implemented in SCR_ArmorDamageManagerComponent, SCR_CharacterDamageManagerComponent, and SCR_MineDamageManager.

◆ IsOnFire() [1/2]

bool SCR_DamageManagerComponent.IsOnFire ( HitZone  hitZone = null)

Determine if provided or any hit zone from this damage manager is on fire.

Parameters
[in]hitZonezone that will be checked if it is burning and if null then will check all hit zones

◆ IsOnFire() [2/2]

bool SCR_DamageManagerComponent.IsOnFire ( notnull array< HitZone hitZones)

Determine if any hit zone from this damage manager is on fire.

Parameters
[in]hitZoneslist of hit zones that should be checked and if empty then all hit zones are going to be checked

◆ IsRplReady()

bool SCR_DamageManagerComponent.IsRplReady ( )

Check if replication loading is completed. Important for join in progress and when streaming entities in.

◆ Kill()

void SCR_DamageManagerComponent.Kill ( notnull Instigator  instigator)

Neutralize the entity with a specific damage type, registering the killer entity.

Parameters
instigatorSource of the damage

◆ OnDamage()

override void SCR_DamageManagerComponent.OnDamage ( notnull BaseDamageContext  damageContext)
protected

◆ OnDamageOverTimeAdded()

override void SCR_DamageManagerComponent.OnDamageOverTimeAdded ( EDamageType  dType,
float  dps,
HitZone  hz 
)

Invoked every time the DoT is added to certain hitzone.

Implements DamageManagerComponent.

◆ OnDamageOverTimeRemoved()

override void SCR_DamageManagerComponent.OnDamageOverTimeRemoved ( EDamageType  dType,
HitZone  hz 
)

Invoked when provided damage type is removed from certain hitzone.

Implements DamageManagerComponent.

◆ OnDamageStateChanged()

override void SCR_DamageManagerComponent.OnDamageStateChanged ( EDamageState  state)
protected

◆ OnRplLoad()

override bool SCR_DamageManagerComponent.OnRplLoad ( ScriptBitReader  reader)
protected

◆ OnRplSave()

override bool SCR_DamageManagerComponent.OnRplSave ( ScriptBitWriter  writer)
protected

◆ ReduceSmoke()

void SCR_DamageManagerComponent.ReduceSmoke ( )

Reduce smoke output based on the total health of hit zones.

◆ RpcDo_SetFireState()

void SCR_DamageManagerComponent.RpcDo_SetFireState ( int  hitZoneIndex,
SCR_EBurningState  fireState 
)

Set fire rate of a flammable hitzone.

Parameters
hitZoneIndexIndex of the hitzone to set fire rate for
fireRateRate of fire to be applied

◆ SecondaryExplosion()

void SCR_DamageManagerComponent.SecondaryExplosion ( ResourceName  prefabName,
notnull Instigator  instigator,
notnull EntitySpawnParams  spawnParams 
)

Spawn secondary explosion.

◆ ShouldOverrideInstigator()

override bool SCR_DamageManagerComponent.ShouldOverrideInstigator ( notnull Instigator  currentInstigator,
notnull Instigator  newInstigator 
)
protected

Called whenever an instigator is going to be set.

Parameters
currentInstigatorThis damage manager's last instigator
newInstigatorThe new instigator for this damage manager
Returns
If it returns true, newInstigator will become the new current instigator for the damage manager and it will receive kill credit.

Implements DamageManagerComponent.

Implemented in SCR_CharacterDamageManagerComponent, and SCR_VehicleDamageManagerComponent.

◆ SupplySecondaryExplosion()

void SCR_DamageManagerComponent.SupplySecondaryExplosion ( notnull Instigator  instigator)

Spawn supply secondary explosion when vehicle becomes destroyed.

◆ UpdateFireDamage()

void SCR_DamageManagerComponent.UpdateFireDamage ( float  timeSlice)

◆ UpdateFireParticles()

void SCR_DamageManagerComponent.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.

Parameters
positionorigin of particle effect entity in owner local space
particlesvariable to store ParticleEffectEntity
fireTypetype of fire particles to be created
resourceTypetype of resource if fireType is RESOURCE, by default SUPPLIES

Member Data Documentation

◆ HEALING_DAMAGE_TYPES

const ref array<EDamageType> SCR_DamageManagerComponent.HEALING_DAMAGE_TYPES = {EDamageType.HEALING, EDamageType.REGENERATION}
static

◆ m_bRplReady

bool SCR_DamageManagerComponent.m_bRplReady
protected

◆ m_iDamageManagerDataIndex

int SCR_DamageManagerComponent.m_iDamageManagerDataIndex = -1
protected

◆ m_iPlayerId

int SCR_DamageManagerComponent.m_iPlayerId = 0
protected

◆ m_iTimeThresholdInstigatorReplacement

int SCR_DamageManagerComponent.m_iTimeThresholdInstigatorReplacement = 180000
protected

◆ m_iTimetickInstigator

int SCR_DamageManagerComponent.m_iTimetickInstigator = System.GetTickCount()
protected

◆ MAX_DESTRUCTION_RESPONSE_INDEX

const int SCR_DamageManagerComponent.MAX_DESTRUCTION_RESPONSE_INDEX = 10
static

◆ MAX_DESTRUCTION_RESPONSE_INDEX_NAME

const string SCR_DamageManagerComponent.MAX_DESTRUCTION_RESPONSE_INDEX_NAME = "HugeDestructible"
static

◆ MAX_MOMENTUM_RESPONSE_INDEX

const int SCR_DamageManagerComponent.MAX_MOMENTUM_RESPONSE_INDEX = 5
staticprotected

◆ MIN_DESTRUCTION_RESPONSE_INDEX

const int SCR_DamageManagerComponent.MIN_DESTRUCTION_RESPONSE_INDEX = 6
staticprotected

◆ MIN_MOMENTUM_RESPONSE_INDEX

const int SCR_DamageManagerComponent.MIN_MOMENTUM_RESPONSE_INDEX = 1
staticprotected

◆ s_aDamageManagerData

ref array<ref SCR_DamageManagerData> SCR_DamageManagerComponent.s_aDamageManagerData = {}
staticprotected

◆ SIMULATION_IMPRECISION_MULTIPLIER

const float SCR_DamageManagerComponent.SIMULATION_IMPRECISION_MULTIPLIER = 1.1
staticprotected

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