Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_CharacterDamageManagerComponent Class Reference
Inheritance diagram for SCR_CharacterDamageManagerComponent:

Protected Member Functions

float GetPoisonBuildupFactor ()
bool IsFallingVehicle (IEntity owner, IEntity other, Contact contact)
bool ShouldBeUnconscious ()
 Check whether character health state meets requirements for consciousness.
void UpdateConsciousness ()
void ForceUnconsciousness (float resilienceHealth=0)
void OnLifeStateChanged (ECharacterLifeState previousLifeState, ECharacterLifeState newLifeState, bool isJIP)
void InsertArmorData (notnull SCR_CharacterHitZone charHitZone, SCR_ArmoredClothItemData attributes)
 Insert armor data from clothing item prefab into map, create map if null.
void RemoveArmorData (notnull SCR_CharacterHitZone charHitZone)
 Remove armor data from clothing item prefab from map, delete map if empty.
void UpdateArmorDataMap (notnull SCR_ArmoredClothItemData armorAttr, bool remove)
 If !remove, take data from prefab and insert to map as class. If remove, remove this hitZone's stored data from map.
override GameMaterial OverrideHitMaterial (HitZone struckHitzone)
SCR_ArmoredClothItemData GetArmorData (notnull SCR_CharacterHitZone charHitZone)
 Get data from m_mClothItemDataMap.
float GetArmorProtection (notnull SCR_CharacterHitZone charHitZone, EDamageType damageType)
 Get protection value of particular hitZone stored on m_mClothItemDataMap.
void ArmorHitEventEffects (float damage)
 Function called from SCR_ArmorDamageManagerComponent in case player is shot in armor. Applies effects.
void ArmorHitEventDamage (EDamageType type, float damage, IEntity instigator)
 Function called from SCR_ArmorDamageManagerComponent in case player is shot in armor. Applies damage.
override void OnDamageEffectAdded (notnull SCR_DamageEffect dmgEffect)
override void OnDamageEffectRemoved (notnull SCR_DamageEffect dmgEffect)
override bool HijackDamageHandling (notnull BaseDamageContext damageContext)
 Hijack collisiondamage in case it's applied to defaultHZ, since that means it's falldamage.
void KnockOffTheHelmet (notnull BaseDamageContext damageContext)
bool SynchronizedSoundEvent (typename effectType)
bool SynchronizedSoundEvent (notnull SCR_PersistentDamageEffect broadcastingEffect, int effectId=-1)
void Do_SynchronizedSoundEvent (int effectId)
void SoundHit (bool critical, EDamageType damageType)
void SoundKnockout ()
 Tell m_CommunicationSound to stop character from screaming, otherwise ignore.
void SoundDeath (int previousLifestate)
 Tell m_CommunicationSound that this character is now dead.
void SoundHeal ()
void RemoveAllBleedingParticlesAfterDeath ()
 Clean up blood particle sources after death.
void AddBloodToClothes (notnull SCR_CharacterHitZone hitZone, float immediateBloodEffect)
override bool CanBeHealed (bool ignoreHealingDOT=true)
override void FullHeal (bool ignoreHealingDOT=true)
void TryClearDamageHistory ()
void SetBloodHitZone (HitZone hitZone)
SCR_CharacterBloodHitZone GetBloodHitZone ()
float GetResilienceRegenScale ()
void SetBleedingScale (float rate, bool changed)
float GetBleedingScale ()
void SetRegenScale (float rate, bool changed)
float GetRegenScale ()
bool GetPermitUnconsciousness ()
 Returns whether unconsciousness is permitted. Character prefab has highest authority, then gamemaster, then gamemode configuration.
bool IsIndefinitelyUnconscious (bool onlyPlayers=true)
 Returns whether this character will remain unconscious with no chance to wake up without intervention.
void SetPermitUnconsciousness (bool permit, bool changed)
void SetOverrideCharacterMedicalGMAttribute (bool permit)
bool GetOverrideCharacterMedicalGMAttribute ()
void SetResilienceHitZone (HitZone hitZone)
SCR_CharacterResilienceHitZone GetResilienceHitZone ()
void SetHeadHitZone (HitZone hitZone)
SCR_CharacterHeadHitZone GetHeadHitZone ()
float GetTourniquetStrengthMultiplier ()
void AddSpecialContactEffect (notnull SCR_SpecialCollisionDamageEffect effect)
void AddBleedingEffectOnHitZone (notnull SCR_CharacterHitZone hitZone, int colliderDescriptorIndex=-1)
void AddBleedingToArray (notnull HitZone hitZone)
 Register hitzone in array as bleeding.
void RemoveBleedingFromArray (notnull HitZone hitZone)
 Unregister hitzone from array.
array< HitZoneGetBleedingHitZones ()
void CreateBleedingParticleEffect (notnull HitZone hitZone, int colliderDescriptorIndex)
 Called to start bleeding effect on a specificied bone.
void RemoveAllBleedingParticles ()
 Remove all bleeding particle effects from all bleeding hitZones.
void RemoveBleedingParticleEffect (HitZone hitZone)
void RemoveAllBleedings ()
 Stop all bleeding.
void RemoveGroupBleeding (ECharacterHitZoneGroup charHZGroup)
 Terminate all bleeding effects on every hitZone of a group.
void AddParticularBleeding (string hitZoneName="Chest", ECharacterDamageState intensityEnum=ECharacterDamageState.WOUNDED, float intensityFloat=-1)
 Add bleeding to a particular physical hitZone.
SCR_CharacterHitZone GetRandomPhysicalHitZone (bool includeBleedingHZs=false)
 Get a random physical hitZone.
void AddRandomBleeding ()
 Add bleeding to a random physical hitZone.
ECharacterHitZoneGroup FindAssociatedHitZoneGroup (EBandagingAnimationBodyParts bodyPartToBandage)
EBandagingAnimationBodyParts FindAssociatedBandagingBodyPart (ECharacterHitZoneGroup hitZoneGroup)
void GetHealingAnimHitzones (EBandagingAnimationBodyParts eBandagingAnimBodyParts, out notnull array< HitZone > GroupHitZones)
float GetGroupHealthScaled (ECharacterHitZoneGroup hitZoneGroup)
override float GetGroupDamageOverTime (ECharacterHitZoneGroup hitZoneGroup, EDamageType damageType)
bool GetGroupTourniquetted (ECharacterHitZoneGroup hitZoneGroup)
void SetTourniquettedGroup (ECharacterHitZoneGroup hitZoneGroup, bool setTourniquetted)
bool GetGroupIsBeingHealed (ECharacterHitZoneGroup hitZoneGroup)
void SetGroupIsBeingHealed (ECharacterHitZoneGroup hitZoneGroup, bool setIsBeingHealed)
bool GetGroupSalineBagged (ECharacterHitZoneGroup hitZoneGroup)
void SetSalineBaggedGroup (ECharacterHitZoneGroup hitZoneGroup, bool setSalineBagged)
bool IsBleeding ()
 the official and globally used way of checking if bleeding tests for any PERSISTENT damage effects of EDamageType.BLEEDING.
HitZone GetMostDOTHitZone (EDamageType damageType, bool includeVirtualHZs=false, array< EHitZoneGroup > allowedGroups=null)
void UpdateCharacterGroupDamage (ECharacterHitZoneGroup hitZoneGroup)
ECharacterHitZoneGroup GetCharMostDOTHitzoneGroup (EDamageType damageType, bool onlyExtremities=false, bool ignoreTQdHitZones=false, bool ignoreIfBeingTreated=false)
string GetBoneName (ECharacterHitZoneGroup hzGroup)
 Get bone name for given hz group.
override void OnPostInit (IEntity owner)
void RegenPhysicalHitZones (bool skipRegenDelay=false)
void RegenVirtualHitZone (SCR_RegeneratingHitZone targetHitZone, float dps=-1, bool skipRegenDelay=false)
void SetExactMinImpulse (IEntity owner)
void OnWaterEnter ()
override bool FilterContact (IEntity owner, IEntity other, Contact contact)
 Filter out any contacts under a reasonable speed for damage.
void ResetContact ()
void OnFilteredContact (IEntity owner, IEntity other, Contact contact)
void CalculateCollisionDamage (IEntity owner, IEntity other, vector collisionPosition, float highestCachedImpulse=0, bool instantUnconsciousness=true)
override void OnHandleFallDamage (EFallDamageType fallDamageType, vector velocityVector)
void HandleAnimatedFallDamage (float damage)
void HandleRagdollFallDamage (notnull HitZone contactingHitZone, float damage)
void ApplyCollisionDamage (IEntity other, vector collisionPosition, float damageValue)
void PlaySoundEvent (string soundEventName)
void GetNearestHitZones (vector worldPosition, notnull inout array< HitZone > nearestHitZones, int hitZonesReturnAmount)
override bool ShouldOverrideInstigator (notnull Instigator currentInstigator, notnull Instigator newInstigator)
 Called whenever an instigator is going to be set.
override void OnDamageStateChanged (EDamageState newState, EDamageState previousDamageState, bool isJIP)
 Invoked when damage state changes.
override void OnDamage (notnull BaseDamageContext damageContext)

Static Protected Member Functions

static void GetAllLimbs (notnull out array< ECharacterHitZoneGroup > limbs)
static void GetAllExtremities (notnull out array< ECharacterHitZoneGroup > limbs)

Protected Attributes

const int MIN_OTHER_MOMENTUM = 3000
const int MINIMUM_IMPULSE_RESET_TIME = 2500
float m_fHighestContact = 0
float m_fMinImpulse
float m_fWaterFallDamageMultiplier = 0.33
int m_fMinWaterFallDamageVelocity = 10
float m_fVehicleFallTriggerVelocity = -2.0
float m_fVehicleFallDamage = 200.0
ref array< ECharacterHitZoneGroupm_aTourniquettedGroups
ref array< ECharacterHitZoneGroupm_aSalineBaggedGroups
ref array< intm_aBeingHealedGroup
ref array< floatm_aGroupBleedingRates
ref map< SCR_CharacterHitZone, ref SCR_ArmoredClothItemDatam_mClothItemDataMap
ref map< HitZone, ParticleEffectEntitym_mBleedingParticles
ref array< HitZonem_aBleedingHitZones
SCR_CharacterBloodHitZone m_pBloodHitZone
SCR_CharacterResilienceHitZone m_pResilienceHitZone
SCR_CharacterHeadHitZone m_pHeadHitZone
SCR_CommunicationSoundComponent m_CommunicationSound
bool m_bDOTScaleChangedByGM
bool m_bRegenScaleChangedByGM
bool m_bUnconsciousnessSettingsChangedByGM
bool m_bOverrideCharacterMedicalGMAttribute
ResourceName m_sBleedingParticle
float m_fBleedingParticleRateScale
float m_fDOTScale
float m_fRegenScale
float m_fUnconsciousRegenerationScale
bool m_bPermitUnconsciousness
float m_fTourniquetStrengthMultiplier
float m_fAimingDamageMultiplier
float m_fMovementDamageMultiplier
float m_fMaxMovementDamage
bool m_bAllowBloodyClothes
float m_fPoisonBuildupFactor

Static Protected Attributes

static ref array< ECharacterHitZoneGroupLIMB_GROUPS
static const ref array< ECharacterHitZoneGroupEXTREMITY_LIMB_GROUPS = {ECharacterHitZoneGroup.LEFTARM, ECharacterHitZoneGroup.RIGHTARM, ECharacterHitZoneGroup.LEFTLEG, ECharacterHitZoneGroup.RIGHTLEG}
static SCR_GameModeHealthSettings s_HealthSettings

Detailed Description

Definition at line 18 of file SCR_CharacterDamageManagerComponent.c.

Member Function Documentation

◆ AddBleedingEffectOnHitZone()

void SCR_CharacterDamageManagerComponent::AddBleedingEffectOnHitZone ( notnull SCR_CharacterHitZone hitZone,
int colliderDescriptorIndex = -1 )
inlineprotected

Add bleeding effect to hitzone

Parameters
hitZoneHitzone to get bleeding rate from and add effect to
colliderDescriptorIndexCollider descriptor index

Definition at line 881 of file SCR_CharacterDamageManagerComponent.c.

◆ AddBleedingToArray()

void SCR_CharacterDamageManagerComponent::AddBleedingToArray ( notnull HitZone hitZone)
inlineprotected

Register hitzone in array as bleeding.

Definition at line 912 of file SCR_CharacterDamageManagerComponent.c.

◆ AddBloodToClothes()

void SCR_CharacterDamageManagerComponent::AddBloodToClothes ( notnull SCR_CharacterHitZone hitZone,
float immediateBloodEffect )
inlineprotected
Parameters
[in]hitZoneHitzone used to get bleeding areas to visualize
[in]immediateBloodEffectIntensity of effect. Intensity will be rounded to nearest round number. Must be => 1

Definition at line 604 of file SCR_CharacterDamageManagerComponent.c.

◆ AddParticularBleeding()

void SCR_CharacterDamageManagerComponent::AddParticularBleeding ( string hitZoneName = "Chest",
ECharacterDamageState intensityEnum = ECharacterDamageState.WOUNDED,
float intensityFloat = -1 )
inlineprotected

Add bleeding to a particular physical hitZone.

Definition at line 1084 of file SCR_CharacterDamageManagerComponent.c.

◆ AddRandomBleeding()

void SCR_CharacterDamageManagerComponent::AddRandomBleeding ( )
inlineprotected

Add bleeding to a random physical hitZone.

Definition at line 1139 of file SCR_CharacterDamageManagerComponent.c.

◆ AddSpecialContactEffect()

void SCR_CharacterDamageManagerComponent::AddSpecialContactEffect ( notnull SCR_SpecialCollisionDamageEffect effect)
inlineprotected

Add Special contact effect to hitZone

Parameters
effecteffect Special contact effect to be added to character

Definition at line 871 of file SCR_CharacterDamageManagerComponent.c.

◆ ApplyCollisionDamage()

void SCR_CharacterDamageManagerComponent::ApplyCollisionDamage ( IEntity other,
vector collisionPosition,
float damageValue )
inlineprotected

Definition at line 1910 of file SCR_CharacterDamageManagerComponent.c.

◆ ArmorHitEventDamage()

void SCR_CharacterDamageManagerComponent::ArmorHitEventDamage ( EDamageType type,
float damage,
IEntity instigator )
inlineprotected

Function called from SCR_ArmorDamageManagerComponent in case player is shot in armor. Applies damage.

Definition at line 356 of file SCR_CharacterDamageManagerComponent.c.

◆ ArmorHitEventEffects()

void SCR_CharacterDamageManagerComponent::ArmorHitEventEffects ( float damage)
inlineprotected

Function called from SCR_ArmorDamageManagerComponent in case player is shot in armor. Applies effects.

Definition at line 339 of file SCR_CharacterDamageManagerComponent.c.

◆ CalculateCollisionDamage()

void SCR_CharacterDamageManagerComponent::CalculateCollisionDamage ( IEntity owner,
IEntity other,
vector collisionPosition,
float highestCachedImpulse = 0,
bool instantUnconsciousness = true )
inlineprotected

Definition at line 1786 of file SCR_CharacterDamageManagerComponent.c.

◆ CanBeHealed()

override bool SCR_CharacterDamageManagerComponent::CanBeHealed ( bool ignoreHealingDOT = true)
inlineprotected

Definition at line 633 of file SCR_CharacterDamageManagerComponent.c.

◆ CreateBleedingParticleEffect()

void SCR_CharacterDamageManagerComponent::CreateBleedingParticleEffect ( notnull HitZone hitZone,
int colliderDescriptorIndex )
inlineprotected

Called to start bleeding effect on a specificied bone.

Definition at line 940 of file SCR_CharacterDamageManagerComponent.c.

◆ Do_SynchronizedSoundEvent()

void SCR_CharacterDamageManagerComponent::Do_SynchronizedSoundEvent ( int effectId)
inlineprotected
Parameters
[in]effectIdid of the damage effect that should be used for the sound playback

Definition at line 514 of file SCR_CharacterDamageManagerComponent.c.

◆ FilterContact()

override bool SCR_CharacterDamageManagerComponent::FilterContact ( IEntity owner,
IEntity other,
Contact contact )
inlineprotected

Filter out any contacts under a reasonable speed for damage.

Definition at line 1693 of file SCR_CharacterDamageManagerComponent.c.

◆ FindAssociatedBandagingBodyPart()

EBandagingAnimationBodyParts SCR_CharacterDamageManagerComponent::FindAssociatedBandagingBodyPart ( ECharacterHitZoneGroup hitZoneGroup)
inlineprotected

Definition at line 1163 of file SCR_CharacterDamageManagerComponent.c.

◆ FindAssociatedHitZoneGroup()

ECharacterHitZoneGroup SCR_CharacterDamageManagerComponent::FindAssociatedHitZoneGroup ( EBandagingAnimationBodyParts bodyPartToBandage)
inlineprotected

Definition at line 1145 of file SCR_CharacterDamageManagerComponent.c.

◆ ForceUnconsciousness()

void SCR_CharacterDamageManagerComponent::ForceUnconsciousness ( float resilienceHealth = 0)
inlineprotected

Force unconsciousness regardless of health

Parameters
resilienceHealthDesired healthScaled of resilienceHZ. Must be below unconscious-threshold to work

Definition at line 208 of file SCR_CharacterDamageManagerComponent.c.

◆ FullHeal()

override void SCR_CharacterDamageManagerComponent::FullHeal ( bool ignoreHealingDOT = true)
inlineprotected

will fully heal the character

Parameters
ignoreHealingDOTEnabling this bool will remove all persistent damage effects, including the ones spawned by healthItems. Otherwise just bleeding is removed and regeneration effects are retained

Definition at line 663 of file SCR_CharacterDamageManagerComponent.c.

◆ GetAllExtremities()

void SCR_CharacterDamageManagerComponent::GetAllExtremities ( notnull out array< ECharacterHitZoneGroup > limbs)
inlinestaticprotected

Definition at line 1406 of file SCR_CharacterDamageManagerComponent.c.

◆ GetAllLimbs()

void SCR_CharacterDamageManagerComponent::GetAllLimbs ( notnull out array< ECharacterHitZoneGroup > limbs)
inlinestaticprotected

Definition at line 1400 of file SCR_CharacterDamageManagerComponent.c.

◆ GetArmorData()

SCR_ArmoredClothItemData SCR_CharacterDamageManagerComponent::GetArmorData ( notnull SCR_CharacterHitZone charHitZone)
inlineprotected

Get data from m_mClothItemDataMap.

Definition at line 309 of file SCR_CharacterDamageManagerComponent.c.

◆ GetArmorProtection()

float SCR_CharacterDamageManagerComponent::GetArmorProtection ( notnull SCR_CharacterHitZone charHitZone,
EDamageType damageType )
inlineprotected

Get protection value of particular hitZone stored on m_mClothItemDataMap.

Definition at line 322 of file SCR_CharacterDamageManagerComponent.c.

◆ GetBleedingHitZones()

array< HitZone > SCR_CharacterDamageManagerComponent::GetBleedingHitZones ( )
inlineprotected

Definition at line 933 of file SCR_CharacterDamageManagerComponent.c.

◆ GetBleedingScale()

float SCR_CharacterDamageManagerComponent::GetBleedingScale ( )
inlineprotected

Definition at line 750 of file SCR_CharacterDamageManagerComponent.c.

◆ GetBloodHitZone()

SCR_CharacterBloodHitZone SCR_CharacterDamageManagerComponent::GetBloodHitZone ( )
inlineprotected

Definition at line 709 of file SCR_CharacterDamageManagerComponent.c.

◆ GetBoneName()

string SCR_CharacterDamageManagerComponent::GetBoneName ( ECharacterHitZoneGroup hzGroup)
inlineprotected

Get bone name for given hz group.

Definition at line 1539 of file SCR_CharacterDamageManagerComponent.c.

◆ GetCharMostDOTHitzoneGroup()

ECharacterHitZoneGroup SCR_CharacterDamageManagerComponent::GetCharMostDOTHitzoneGroup ( EDamageType damageType,
bool onlyExtremities = false,
bool ignoreTQdHitZones = false,
bool ignoreIfBeingTreated = false )
inlineprotected

Determine which hitZones group is taking highest DOT

Parameters
damageTypesWhich damagetype will be checked on the hitZones for highest damage amount
onlyExtremitiesOnly compare the 4 extremities (both arms, both legs)
ignoreTQdHitZonesIgnore tourniquetted limbs when looking for the one most bleeding one

Definition at line 1461 of file SCR_CharacterDamageManagerComponent.c.

◆ GetGroupDamageOverTime()

override float SCR_CharacterDamageManagerComponent::GetGroupDamageOverTime ( ECharacterHitZoneGroup hitZoneGroup,
EDamageType damageType )
inlineprotected

Definition at line 1222 of file SCR_CharacterDamageManagerComponent.c.

◆ GetGroupHealthScaled()

float SCR_CharacterDamageManagerComponent::GetGroupHealthScaled ( ECharacterHitZoneGroup hitZoneGroup)
inlineprotected

Definition at line 1196 of file SCR_CharacterDamageManagerComponent.c.

◆ GetGroupIsBeingHealed()

bool SCR_CharacterDamageManagerComponent::GetGroupIsBeingHealed ( ECharacterHitZoneGroup hitZoneGroup)
inlineprotected

Definition at line 1273 of file SCR_CharacterDamageManagerComponent.c.

◆ GetGroupSalineBagged()

bool SCR_CharacterDamageManagerComponent::GetGroupSalineBagged ( ECharacterHitZoneGroup hitZoneGroup)
inlineprotected

Definition at line 1303 of file SCR_CharacterDamageManagerComponent.c.

◆ GetGroupTourniquetted()

bool SCR_CharacterDamageManagerComponent::GetGroupTourniquetted ( ECharacterHitZoneGroup hitZoneGroup)
inlineprotected

Definition at line 1241 of file SCR_CharacterDamageManagerComponent.c.

◆ GetHeadHitZone()

SCR_CharacterHeadHitZone SCR_CharacterDamageManagerComponent::GetHeadHitZone ( )
inlineprotected

Definition at line 857 of file SCR_CharacterDamageManagerComponent.c.

◆ GetHealingAnimHitzones()

void SCR_CharacterDamageManagerComponent::GetHealingAnimHitzones ( EBandagingAnimationBodyParts eBandagingAnimBodyParts,
out notnull array< HitZone > GroupHitZones )
inlineprotected

Definition at line 1181 of file SCR_CharacterDamageManagerComponent.c.

◆ GetMostDOTHitZone()

HitZone SCR_CharacterDamageManagerComponent::GetMostDOTHitZone ( EDamageType damageType,
bool includeVirtualHZs = false,
array< EHitZoneGroup > allowedGroups = null )
inlineprotected

Definition at line 1350 of file SCR_CharacterDamageManagerComponent.c.

◆ GetNearestHitZones()

void SCR_CharacterDamageManagerComponent::GetNearestHitZones ( vector worldPosition,
notnull inout array< HitZone > nearestHitZones,
int hitZonesReturnAmount )
inlineprotected

Get nearest hitZones to the point of impact

Parameters
worldPositionPosition of the point of impact
[in,out]nearestHitZonesArray of hitZones which colliders' positions will be compared with worldPosition. Returns the nearest hitZones to worldPosition in descending order of distance
hitZonesReturnAmountAmount of hitZones that are returned in nearestHitZones. IF all are wanted, set nearestHitZones.Count().

Definition at line 1965 of file SCR_CharacterDamageManagerComponent.c.

◆ GetOverrideCharacterMedicalGMAttribute()

bool SCR_CharacterDamageManagerComponent::GetOverrideCharacterMedicalGMAttribute ( )
inlineprotected

Definition at line 833 of file SCR_CharacterDamageManagerComponent.c.

◆ GetPermitUnconsciousness()

bool SCR_CharacterDamageManagerComponent::GetPermitUnconsciousness ( )
inlineprotected

Returns whether unconsciousness is permitted. Character prefab has highest authority, then gamemaster, then gamemode configuration.

Definition at line 777 of file SCR_CharacterDamageManagerComponent.c.

◆ GetPoisonBuildupFactor()

float SCR_CharacterDamageManagerComponent::GetPoisonBuildupFactor ( )
inlineprotected

Definition at line 107 of file SCR_CharacterDamageManagerComponent.c.

◆ GetRandomPhysicalHitZone()

SCR_CharacterHitZone SCR_CharacterDamageManagerComponent::GetRandomPhysicalHitZone ( bool includeBleedingHZs = false)
inlineprotected

Get a random physical hitZone.

Definition at line 1106 of file SCR_CharacterDamageManagerComponent.c.

◆ GetRegenScale()

float SCR_CharacterDamageManagerComponent::GetRegenScale ( )
inlineprotected

Definition at line 767 of file SCR_CharacterDamageManagerComponent.c.

◆ GetResilienceHitZone()

SCR_CharacterResilienceHitZone SCR_CharacterDamageManagerComponent::GetResilienceHitZone ( )
inlineprotected

Definition at line 845 of file SCR_CharacterDamageManagerComponent.c.

◆ GetResilienceRegenScale()

float SCR_CharacterDamageManagerComponent::GetResilienceRegenScale ( )
inlineprotected

Definition at line 716 of file SCR_CharacterDamageManagerComponent.c.

◆ GetTourniquetStrengthMultiplier()

float SCR_CharacterDamageManagerComponent::GetTourniquetStrengthMultiplier ( )
inlineprotected

Definition at line 863 of file SCR_CharacterDamageManagerComponent.c.

◆ HandleAnimatedFallDamage()

void SCR_CharacterDamageManagerComponent::HandleAnimatedFallDamage ( float damage)
inlineprotected

Definition at line 1844 of file SCR_CharacterDamageManagerComponent.c.

◆ HandleRagdollFallDamage()

void SCR_CharacterDamageManagerComponent::HandleRagdollFallDamage ( notnull HitZone contactingHitZone,
float damage )
inlineprotected

Definition at line 1877 of file SCR_CharacterDamageManagerComponent.c.

◆ HijackDamageHandling()

override bool SCR_CharacterDamageManagerComponent::HijackDamageHandling ( notnull BaseDamageContext damageContext)
inlineprotected

Hijack collisiondamage in case it's applied to defaultHZ, since that means it's falldamage.

Definition at line 413 of file SCR_CharacterDamageManagerComponent.c.

◆ InsertArmorData()

void SCR_CharacterDamageManagerComponent::InsertArmorData ( notnull SCR_CharacterHitZone charHitZone,
SCR_ArmoredClothItemData attributes )
inlineprotected

Insert armor data from clothing item prefab into map, create map if null.

Definition at line 240 of file SCR_CharacterDamageManagerComponent.c.

◆ IsBleeding()

bool SCR_CharacterDamageManagerComponent::IsBleeding ( )
inlineprotected

the official and globally used way of checking if bleeding tests for any PERSISTENT damage effects of EDamageType.BLEEDING.

Definition at line 1336 of file SCR_CharacterDamageManagerComponent.c.

◆ IsFallingVehicle()

bool SCR_CharacterDamageManagerComponent::IsFallingVehicle ( IEntity owner,
IEntity other,
Contact contact )
inlineprotected

Definition at line 113 of file SCR_CharacterDamageManagerComponent.c.

◆ IsIndefinitelyUnconscious()

bool SCR_CharacterDamageManagerComponent::IsIndefinitelyUnconscious ( bool onlyPlayers = true)
inlineprotected

Returns whether this character will remain unconscious with no chance to wake up without intervention.

Definition at line 790 of file SCR_CharacterDamageManagerComponent.c.

◆ KnockOffTheHelmet()

void SCR_CharacterDamageManagerComponent::KnockOffTheHelmet ( notnull BaseDamageContext damageContext)
inlineprotected

Method used to attempt to detach player's helmet when his head is hit

Parameters
[in]damageContext

Definition at line 434 of file SCR_CharacterDamageManagerComponent.c.

◆ OnDamage()

override void SCR_CharacterDamageManagerComponent::OnDamage ( notnull BaseDamageContext damageContext)
inlineprotected

Definition at line 2033 of file SCR_CharacterDamageManagerComponent.c.

◆ OnDamageEffectAdded()

override void SCR_CharacterDamageManagerComponent::OnDamageEffectAdded ( notnull SCR_DamageEffect dmgEffect)
inlineprotected

Definition at line 363 of file SCR_CharacterDamageManagerComponent.c.

◆ OnDamageEffectRemoved()

override void SCR_CharacterDamageManagerComponent::OnDamageEffectRemoved ( notnull SCR_DamageEffect dmgEffect)
inlineprotected

Definition at line 390 of file SCR_CharacterDamageManagerComponent.c.

◆ OnDamageStateChanged()

override void SCR_CharacterDamageManagerComponent::OnDamageStateChanged ( EDamageState newState,
EDamageState previousDamageState,
bool isJIP )
inlineprotected

Invoked when damage state changes.

Definition at line 2024 of file SCR_CharacterDamageManagerComponent.c.

◆ OnFilteredContact()

void SCR_CharacterDamageManagerComponent::OnFilteredContact ( IEntity owner,
IEntity other,
Contact contact )
inlineprotected

Calculate damage from collision event based on contact data

Parameters
ownerOwner is entity that is parent of this damageManager
otherOther is the entity that collided with the owner
contactContact data class should contain all collisiondata needed to compute damage

Definition at line 1771 of file SCR_CharacterDamageManagerComponent.c.

◆ OnHandleFallDamage()

override void SCR_CharacterDamageManagerComponent::OnHandleFallDamage ( EFallDamageType fallDamageType,
vector velocityVector )
inlineprotected

Definition at line 1821 of file SCR_CharacterDamageManagerComponent.c.

◆ OnLifeStateChanged()

void SCR_CharacterDamageManagerComponent::OnLifeStateChanged ( ECharacterLifeState previousLifeState,
ECharacterLifeState newLifeState,
bool isJIP )
inlineprotected

Definition at line 222 of file SCR_CharacterDamageManagerComponent.c.

◆ OnPostInit()

override void SCR_CharacterDamageManagerComponent::OnPostInit ( IEntity owner)
inlineprotected

Definition at line 1583 of file SCR_CharacterDamageManagerComponent.c.

◆ OnWaterEnter()

void SCR_CharacterDamageManagerComponent::OnWaterEnter ( )
inlineprotected

Definition at line 1673 of file SCR_CharacterDamageManagerComponent.c.

◆ OverrideHitMaterial()

override GameMaterial SCR_CharacterDamageManagerComponent::OverrideHitMaterial ( HitZone struckHitzone)
inlineprotected

Definition at line 291 of file SCR_CharacterDamageManagerComponent.c.

◆ PlaySoundEvent()

void SCR_CharacterDamageManagerComponent::PlaySoundEvent ( string soundEventName)
inlineprotected

Sound event playback

Parameters
[in]soundEventName

Definition at line 1948 of file SCR_CharacterDamageManagerComponent.c.

◆ RegenPhysicalHitZones()

void SCR_CharacterDamageManagerComponent::RegenPhysicalHitZones ( bool skipRegenDelay = false)
inlineprotected

Definition at line 1629 of file SCR_CharacterDamageManagerComponent.c.

◆ RegenVirtualHitZone()

void SCR_CharacterDamageManagerComponent::RegenVirtualHitZone ( SCR_RegeneratingHitZone targetHitZone,
float dps = -1,
bool skipRegenDelay = false )
inlineprotected

Definition at line 1642 of file SCR_CharacterDamageManagerComponent.c.

◆ RemoveAllBleedingParticles()

void SCR_CharacterDamageManagerComponent::RemoveAllBleedingParticles ( )
inlineprotected

Remove all bleeding particle effects from all bleeding hitZones.

Definition at line 1007 of file SCR_CharacterDamageManagerComponent.c.

◆ RemoveAllBleedingParticlesAfterDeath()

void SCR_CharacterDamageManagerComponent::RemoveAllBleedingParticlesAfterDeath ( )
inlineprotected

Clean up blood particle sources after death.

Definition at line 586 of file SCR_CharacterDamageManagerComponent.c.

◆ RemoveAllBleedings()

void SCR_CharacterDamageManagerComponent::RemoveAllBleedings ( )
inlineprotected

Stop all bleeding.

Definition at line 1050 of file SCR_CharacterDamageManagerComponent.c.

◆ RemoveArmorData()

void SCR_CharacterDamageManagerComponent::RemoveArmorData ( notnull SCR_CharacterHitZone charHitZone)
inlineprotected

Remove armor data from clothing item prefab from map, delete map if empty.

Definition at line 250 of file SCR_CharacterDamageManagerComponent.c.

◆ RemoveBleedingFromArray()

void SCR_CharacterDamageManagerComponent::RemoveBleedingFromArray ( notnull HitZone hitZone)
inlineprotected

Unregister hitzone from array.

Definition at line 923 of file SCR_CharacterDamageManagerComponent.c.

◆ RemoveBleedingParticleEffect()

void SCR_CharacterDamageManagerComponent::RemoveBleedingParticleEffect ( HitZone hitZone)
inlineprotected

Get particle effect on a specified hitZone

Parameters
hitZoneBleeding HitZone to get particle effect for

Definition at line 1032 of file SCR_CharacterDamageManagerComponent.c.

◆ RemoveGroupBleeding()

void SCR_CharacterDamageManagerComponent::RemoveGroupBleeding ( ECharacterHitZoneGroup charHZGroup)
inlineprotected

Terminate all bleeding effects on every hitZone of a group.

Definition at line 1057 of file SCR_CharacterDamageManagerComponent.c.

◆ ResetContact()

void SCR_CharacterDamageManagerComponent::ResetContact ( )
inlineprotected

Definition at line 1760 of file SCR_CharacterDamageManagerComponent.c.

◆ SetBleedingScale()

void SCR_CharacterDamageManagerComponent::SetBleedingScale ( float rate,
bool changed )
inlineprotected

Definition at line 743 of file SCR_CharacterDamageManagerComponent.c.

◆ SetBloodHitZone()

void SCR_CharacterDamageManagerComponent::SetBloodHitZone ( HitZone hitZone)
inlineprotected

Definition at line 703 of file SCR_CharacterDamageManagerComponent.c.

◆ SetExactMinImpulse()

void SCR_CharacterDamageManagerComponent::SetExactMinImpulse ( IEntity owner)
inlineprotected

Definition at line 1661 of file SCR_CharacterDamageManagerComponent.c.

◆ SetGroupIsBeingHealed()

void SCR_CharacterDamageManagerComponent::SetGroupIsBeingHealed ( ECharacterHitZoneGroup hitZoneGroup,
bool setIsBeingHealed )
inlineprotected

Definition at line 1279 of file SCR_CharacterDamageManagerComponent.c.

◆ SetHeadHitZone()

void SCR_CharacterDamageManagerComponent::SetHeadHitZone ( HitZone hitZone)
inlineprotected

Definition at line 851 of file SCR_CharacterDamageManagerComponent.c.

◆ SetOverrideCharacterMedicalGMAttribute()

void SCR_CharacterDamageManagerComponent::SetOverrideCharacterMedicalGMAttribute ( bool permit)
inlineprotected

Definition at line 827 of file SCR_CharacterDamageManagerComponent.c.

◆ SetPermitUnconsciousness()

void SCR_CharacterDamageManagerComponent::SetPermitUnconsciousness ( bool permit,
bool changed )
inlineprotected

Definition at line 820 of file SCR_CharacterDamageManagerComponent.c.

◆ SetRegenScale()

void SCR_CharacterDamageManagerComponent::SetRegenScale ( float rate,
bool changed )
inlineprotected

Definition at line 759 of file SCR_CharacterDamageManagerComponent.c.

◆ SetResilienceHitZone()

void SCR_CharacterDamageManagerComponent::SetResilienceHitZone ( HitZone hitZone)
inlineprotected

Definition at line 839 of file SCR_CharacterDamageManagerComponent.c.

◆ SetSalineBaggedGroup()

void SCR_CharacterDamageManagerComponent::SetSalineBaggedGroup ( ECharacterHitZoneGroup hitZoneGroup,
bool setSalineBagged )
inlineprotected
Parameters
[in]hitZoneGroup
[in]setSalineBagged

Definition at line 1311 of file SCR_CharacterDamageManagerComponent.c.

◆ SetTourniquettedGroup()

void SCR_CharacterDamageManagerComponent::SetTourniquettedGroup ( ECharacterHitZoneGroup hitZoneGroup,
bool setTourniquetted )
inlineprotected

Definition at line 1247 of file SCR_CharacterDamageManagerComponent.c.

◆ ShouldBeUnconscious()

bool SCR_CharacterDamageManagerComponent::ShouldBeUnconscious ( )
inlineprotected

Check whether character health state meets requirements for consciousness.

Definition at line 135 of file SCR_CharacterDamageManagerComponent.c.

◆ ShouldOverrideInstigator()

override bool SCR_CharacterDamageManagerComponent::ShouldOverrideInstigator ( notnull Instigator currentInstigator,
notnull Instigator newInstigator )
inlineprotected

Called whenever an instigator is going to be set.

Definition at line 2009 of file SCR_CharacterDamageManagerComponent.c.

◆ SoundDeath()

void SCR_CharacterDamageManagerComponent::SoundDeath ( int previousLifestate)
inlineprotected

Tell m_CommunicationSound that this character is now dead.

Definition at line 553 of file SCR_CharacterDamageManagerComponent.c.

◆ SoundHeal()

void SCR_CharacterDamageManagerComponent::SoundHeal ( )
inlineprotected

Definition at line 570 of file SCR_CharacterDamageManagerComponent.c.

◆ SoundHit()

void SCR_CharacterDamageManagerComponent::SoundHit ( bool critical,
EDamageType damageType )
inlineprotected

Definition at line 529 of file SCR_CharacterDamageManagerComponent.c.

◆ SoundKnockout()

void SCR_CharacterDamageManagerComponent::SoundKnockout ( )
inlineprotected

Tell m_CommunicationSound to stop character from screaming, otherwise ignore.

Definition at line 545 of file SCR_CharacterDamageManagerComponent.c.

◆ SynchronizedSoundEvent() [1/2]

bool SCR_CharacterDamageManagerComponent::SynchronizedSoundEvent ( notnull SCR_PersistentDamageEffect broadcastingEffect,
int effectId = -1 )
inlineprotected

Method used by the authority to synchronize an execution of the sound playback for a damage effect

Parameters
[in]broadcastingEffectfrom which sound playback will be triggered locally
[in]effectIdoptionally if id is already known
Returns
true if playback was successful, otherwise false

Definition at line 485 of file SCR_CharacterDamageManagerComponent.c.

◆ SynchronizedSoundEvent() [2/2]

bool SCR_CharacterDamageManagerComponent::SynchronizedSoundEvent ( typename effectType )
inlineprotected

Method used by the authority to synchronize an execution of the sound playback for a damage effect

Parameters
[in]effectTypefor which sound playback should be executed
Returns
true if playback was successful, otherwise false

Definition at line 465 of file SCR_CharacterDamageManagerComponent.c.

◆ TryClearDamageHistory()

void SCR_CharacterDamageManagerComponent::TryClearDamageHistory ( )
inlineprotected

Definition at line 684 of file SCR_CharacterDamageManagerComponent.c.

◆ UpdateArmorDataMap()

void SCR_CharacterDamageManagerComponent::UpdateArmorDataMap ( notnull SCR_ArmoredClothItemData armorAttr,
bool remove )
inlineprotected

If !remove, take data from prefab and insert to map as class. If remove, remove this hitZone's stored data from map.

Definition at line 264 of file SCR_CharacterDamageManagerComponent.c.

◆ UpdateCharacterGroupDamage()

void SCR_CharacterDamageManagerComponent::UpdateCharacterGroupDamage ( ECharacterHitZoneGroup hitZoneGroup)
inlineprotected

Definition at line 1412 of file SCR_CharacterDamageManagerComponent.c.

◆ UpdateConsciousness()

void SCR_CharacterDamageManagerComponent::UpdateConsciousness ( )
inlineprotected

Definition at line 174 of file SCR_CharacterDamageManagerComponent.c.

Member Data Documentation

◆ EXTREMITY_LIMB_GROUPS

const ref array<ECharacterHitZoneGroup> SCR_CharacterDamageManagerComponent::EXTREMITY_LIMB_GROUPS = {ECharacterHitZoneGroup.LEFTARM, ECharacterHitZoneGroup.RIGHTARM, ECharacterHitZoneGroup.LEFTLEG, ECharacterHitZoneGroup.RIGHTLEG}
staticprotected

Definition at line 44 of file SCR_CharacterDamageManagerComponent.c.

◆ LIMB_GROUPS

ref array<ECharacterHitZoneGroup> SCR_CharacterDamageManagerComponent::LIMB_GROUPS
staticprotected

Definition at line 43 of file SCR_CharacterDamageManagerComponent.c.

◆ m_aBeingHealedGroup

ref array<int> SCR_CharacterDamageManagerComponent::m_aBeingHealedGroup
protected

Definition at line 49 of file SCR_CharacterDamageManagerComponent.c.

◆ m_aBleedingHitZones

ref array<HitZone> SCR_CharacterDamageManagerComponent::m_aBleedingHitZones
protected

Definition at line 54 of file SCR_CharacterDamageManagerComponent.c.

◆ m_aGroupBleedingRates

ref array<float> SCR_CharacterDamageManagerComponent::m_aGroupBleedingRates
protected

Definition at line 50 of file SCR_CharacterDamageManagerComponent.c.

◆ m_aSalineBaggedGroups

ref array<ECharacterHitZoneGroup> SCR_CharacterDamageManagerComponent::m_aSalineBaggedGroups
protected

Definition at line 48 of file SCR_CharacterDamageManagerComponent.c.

◆ m_aTourniquettedGroups

ref array<ECharacterHitZoneGroup> SCR_CharacterDamageManagerComponent::m_aTourniquettedGroups
protected

Definition at line 47 of file SCR_CharacterDamageManagerComponent.c.

◆ m_bAllowBloodyClothes

bool SCR_CharacterDamageManagerComponent::m_bAllowBloodyClothes
protected

Definition at line 101 of file SCR_CharacterDamageManagerComponent.c.

◆ m_bDOTScaleChangedByGM

bool SCR_CharacterDamageManagerComponent::m_bDOTScaleChangedByGM
protected

Definition at line 64 of file SCR_CharacterDamageManagerComponent.c.

◆ m_bOverrideCharacterMedicalGMAttribute

bool SCR_CharacterDamageManagerComponent::m_bOverrideCharacterMedicalGMAttribute
protected

Definition at line 67 of file SCR_CharacterDamageManagerComponent.c.

◆ m_bPermitUnconsciousness

bool SCR_CharacterDamageManagerComponent::m_bPermitUnconsciousness
protected

Definition at line 86 of file SCR_CharacterDamageManagerComponent.c.

◆ m_bRegenScaleChangedByGM

bool SCR_CharacterDamageManagerComponent::m_bRegenScaleChangedByGM
protected

Definition at line 65 of file SCR_CharacterDamageManagerComponent.c.

◆ m_bUnconsciousnessSettingsChangedByGM

bool SCR_CharacterDamageManagerComponent::m_bUnconsciousnessSettingsChangedByGM
protected

Definition at line 66 of file SCR_CharacterDamageManagerComponent.c.

◆ m_CommunicationSound

SCR_CommunicationSoundComponent SCR_CharacterDamageManagerComponent::m_CommunicationSound
protected

Definition at line 60 of file SCR_CharacterDamageManagerComponent.c.

◆ m_fAimingDamageMultiplier

float SCR_CharacterDamageManagerComponent::m_fAimingDamageMultiplier
protected

Definition at line 92 of file SCR_CharacterDamageManagerComponent.c.

◆ m_fBleedingParticleRateScale

float SCR_CharacterDamageManagerComponent::m_fBleedingParticleRateScale
protected

Definition at line 74 of file SCR_CharacterDamageManagerComponent.c.

◆ m_fDOTScale

float SCR_CharacterDamageManagerComponent::m_fDOTScale
protected

Definition at line 77 of file SCR_CharacterDamageManagerComponent.c.

◆ m_fHighestContact

float SCR_CharacterDamageManagerComponent::m_fHighestContact = 0
protected

Definition at line 33 of file SCR_CharacterDamageManagerComponent.c.

◆ m_fMaxMovementDamage

float SCR_CharacterDamageManagerComponent::m_fMaxMovementDamage
protected

Definition at line 98 of file SCR_CharacterDamageManagerComponent.c.

◆ m_fMinImpulse

float SCR_CharacterDamageManagerComponent::m_fMinImpulse
protected

Definition at line 34 of file SCR_CharacterDamageManagerComponent.c.

◆ m_fMinWaterFallDamageVelocity

int SCR_CharacterDamageManagerComponent::m_fMinWaterFallDamageVelocity = 10
protected

Definition at line 36 of file SCR_CharacterDamageManagerComponent.c.

◆ m_fMovementDamageMultiplier

float SCR_CharacterDamageManagerComponent::m_fMovementDamageMultiplier
protected

Definition at line 95 of file SCR_CharacterDamageManagerComponent.c.

◆ m_fPoisonBuildupFactor

float SCR_CharacterDamageManagerComponent::m_fPoisonBuildupFactor
protected

Definition at line 104 of file SCR_CharacterDamageManagerComponent.c.

◆ m_fRegenScale

float SCR_CharacterDamageManagerComponent::m_fRegenScale
protected

Definition at line 80 of file SCR_CharacterDamageManagerComponent.c.

◆ m_fTourniquetStrengthMultiplier

float SCR_CharacterDamageManagerComponent::m_fTourniquetStrengthMultiplier
protected

Definition at line 89 of file SCR_CharacterDamageManagerComponent.c.

◆ m_fUnconsciousRegenerationScale

float SCR_CharacterDamageManagerComponent::m_fUnconsciousRegenerationScale
protected

Definition at line 83 of file SCR_CharacterDamageManagerComponent.c.

◆ m_fVehicleFallDamage

float SCR_CharacterDamageManagerComponent::m_fVehicleFallDamage = 200.0
protected

Definition at line 40 of file SCR_CharacterDamageManagerComponent.c.

◆ m_fVehicleFallTriggerVelocity

float SCR_CharacterDamageManagerComponent::m_fVehicleFallTriggerVelocity = -2.0
protected

Definition at line 39 of file SCR_CharacterDamageManagerComponent.c.

◆ m_fWaterFallDamageMultiplier

float SCR_CharacterDamageManagerComponent::m_fWaterFallDamageMultiplier = 0.33
protected

Definition at line 35 of file SCR_CharacterDamageManagerComponent.c.

◆ m_mBleedingParticles

ref map<HitZone, ParticleEffectEntity> SCR_CharacterDamageManagerComponent::m_mBleedingParticles
protected

Definition at line 53 of file SCR_CharacterDamageManagerComponent.c.

◆ m_mClothItemDataMap

ref map<SCR_CharacterHitZone, ref SCR_ArmoredClothItemData> SCR_CharacterDamageManagerComponent::m_mClothItemDataMap
protected

Definition at line 52 of file SCR_CharacterDamageManagerComponent.c.

◆ m_pBloodHitZone

SCR_CharacterBloodHitZone SCR_CharacterDamageManagerComponent::m_pBloodHitZone
protected

Definition at line 55 of file SCR_CharacterDamageManagerComponent.c.

◆ m_pHeadHitZone

SCR_CharacterHeadHitZone SCR_CharacterDamageManagerComponent::m_pHeadHitZone
protected

Definition at line 57 of file SCR_CharacterDamageManagerComponent.c.

◆ m_pResilienceHitZone

SCR_CharacterResilienceHitZone SCR_CharacterDamageManagerComponent::m_pResilienceHitZone
protected

Definition at line 56 of file SCR_CharacterDamageManagerComponent.c.

◆ m_sBleedingParticle

ResourceName SCR_CharacterDamageManagerComponent::m_sBleedingParticle
protected

Definition at line 71 of file SCR_CharacterDamageManagerComponent.c.

◆ MIN_OTHER_MOMENTUM

const int SCR_CharacterDamageManagerComponent::MIN_OTHER_MOMENTUM = 3000
protected

Definition at line 27 of file SCR_CharacterDamageManagerComponent.c.

◆ MINIMUM_IMPULSE_RESET_TIME

const int SCR_CharacterDamageManagerComponent::MINIMUM_IMPULSE_RESET_TIME = 2500
protected

Definition at line 30 of file SCR_CharacterDamageManagerComponent.c.

◆ s_HealthSettings

SCR_GameModeHealthSettings SCR_CharacterDamageManagerComponent::s_HealthSettings
staticprotected

Definition at line 62 of file SCR_CharacterDamageManagerComponent.c.


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