|
override void | OnInit (IEntity owner) |
| Called during EOnInit.
|
|
void | UpdateConsciousness () |
|
void | ForceUnconsciousness (float resilienceHealth=0) |
| Force unconsciousness regardless of health.
|
|
void | OnLifeStateChanged (ECharacterLifeState previousLifeState, ECharacterLifeState newLifeState) |
|
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) |
| Not all armors are physical so the surface that gets struck by projectiles will not be the one the armor, but the hitzone.
|
|
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) |
| Called when a damage effect has been added.
|
|
override void | OnDamageEffectRemoved (notnull SCR_DamageEffect dmgEffect) |
| Called when a damage effect has been removed.
|
|
override bool | HijackDamageHandling (notnull BaseDamageContext damageContext) |
| Hijack collisiondamage in case it's applied to defaultHZ, since that means it's falldamage.
|
|
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.
|
|
override bool | CanBeHealed (bool ignoreHealingDOT=true) |
| Return true if there is damage that can be repaired.
|
|
override void | FullHeal (bool ignoreHealingDOT=true) |
| will fully heal the character
|
|
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.
|
|
void | SetPermitUnconsciousness (bool permit, bool changed) |
|
void | SetOverrideCharacterMedicalGMAttribute (bool permit) |
|
bool | GetOverrideCharacterMedicalGMAttribute () |
|
void | SetResilienceHitZone (HitZone hitZone) |
|
SCR_CharacterResilienceHitZone | GetResilienceHitZone () |
|
void | SetHeadHitZone (HitZone hitZone) |
|
HitZone | GetHeadHitZone () |
|
float | GetTourniquetStrengthMultiplier () |
|
void | AddBleedingEffectOnHitZone (notnull SCR_CharacterHitZone hitZone, int colliderDescriptorIndex=-1) |
| Add bleeding effect to hitzone.
|
|
void | AddBleedingToArray (notnull HitZone hitZone) |
| Register hitzone in array as bleeding.
|
|
void | RemoveBleedingFromArray (notnull HitZone hitZone) |
| Unregister hitzone from array.
|
|
array< HitZone > | GetBleedingHitZones () |
|
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) |
| Get particle effect on a specified 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.
|
|
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) |
| Get total damage over time of given hitzone group.
|
|
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) |
| Determine which hitZones group is taking highest DOT.
|
|
string | GetBoneName (ECharacterHitZoneGroup hzGroup) |
| Get bone name for given hz group.
|
|
override void | OnPostInit (IEntity owner) |
| Called after all components are initialized.
|
|
void | RegenPhysicalHitZones (bool skipRegenDelay=false) |
|
void | RegenVirtualHitZone (SCR_RegeneratingHitZone targetHitZone, float dps=-1, bool skipRegenDelay=false) |
|
override bool | FilterContact (IEntity owner, IEntity other, Contact contact) |
| Filter out any contacts under a reasonable speed for damage.
|
|
void | HandleFallDamage (float damage) |
|
void | GetNearestHitZones (vector worldPosition, notnull inout array< HitZone > nearestHitZones, int hitZonesReturnAmount) |
| Get nearest hitZones to the point of impact.
|
|
ScriptInvoker | GetOnDamageEffectAdded () |
|
ScriptInvoker | GetOnDamageEffectRemoved () |
|
override void | OnDamageEffectAdded (notnull SCR_DamageEffect dmgEffect) |
| Called when a damage effect has been added.
|
|
override void | OnDamageEffectRemoved (notnull SCR_DamageEffect dmgEffect) |
| Called when a damage effect has been removed.
|
|
array< ref PersistentDamageEffect > | GetAllPersistentEffectsOnHitZone (HitZone hitzone) |
|
array< ref PersistentDamageEffect > | FilterEffectsByHitZone (array< ref PersistentDamageEffect > damageEffects, HitZone hitzone) |
|
array< ref PersistentDamageEffect > | GetAllPersistentEffectsOfType (TypeName effectTypename) |
|
array< ref PersistentDamageEffect > | FilterEffectsByType (array< ref PersistentDamageEffect > damageEffects, TypeName effectTypename) |
|
proto external void | AddDamageEffect (BaseDamageEffect damageEffect) |
| Adds A CLONE of a DamageEffect to this DamageManager.
|
|
proto external bool | TerminateDamageEffect (notnull PersistentDamageEffect dmgEffect) |
| If this persistent effect is contained on the damage manger, it will be removed.
|
|
proto external void | TerminateDamageEffectsOfType (TypeName typeName) |
| Terminates all damage effects of the given type.
|
|
proto external DamageEffectEvaluator | GetEvaluator () |
| Returns the DamageEffectEvaluator this ExtendedDamageManager is using.
|
|
proto external void | SetEvaluator (notnull DamageEffectEvaluator evaluator) |
| Switches the DamageEffectEvaluator this ExtendedDamageManager is using.
|
|
proto external void | GetPersistentEffects (out notnull array< ref PersistentDamageEffect > persistentEffects) |
| Clears passed array (persistentEffects) and fills it with all current PersistentEffects contained in the damage manager.
|
|
proto external bool | IsDamageEffectPresent (TypeName typeName) |
| Returns true if a persistent effect of the type is currently present.
|
|
proto external SCR_PersistentDamageEffect | FindDamageEffectOfType (TypeName typeName) |
| Finds a DamageEffect of the requested type contained on this ExtendedDamageManager.
|
|
proto external int | FindAllDamageEffectsOfType (TypeName typeName, out notnull array< ref SCR_PersistentDamageEffect > damageEffects) |
| Fills damageEffects array with all the DamageEffects of the given type present on this manager.
|
|
proto external void | FindDamageEffectsOnHitZone (HitZone hitzone, out notnull array< ref BaseDamageEffect > damageEffects) |
| Fills passed array with all current persistent DamageEffects affecting the chosen hitzone.
|
|
proto external SCR_PersistentDamageEffect | FindDamageEffectOnHitZone (TypeName typeName, HitZone hitzone) |
| Finds a DamageEffect of the requested type contained on this ExtendedDamageManager, that is being applied to the HitZone.
|
|
proto external int | FindAllDamageEffectsOfTypeOnHitZone (TypeName typeName, HitZone hitzone, out notnull array< ref SCR_PersistentDamageEffect > damageEffects) |
| Finds all the DamageEffects of the requested type contained on this ExtendedDamageManager, that is being applied to the requested HitZone.
|
|
proto external bool | IsDamageEffectPresentOnHitZones (TypeName typeName, notnull array< HitZone > hitZones) |
| Returns true if a persistent effect of the type is currently present in any of the hitzones passed.
|
|
proto external void | GetDamageHistory (out notnull array< ref BaseDamageEffect > damageHistory) |
| Clears passed array (damageHistory) and fills it with all DamageEffects stored in this damage managers damage history.
|
|
proto external void | ClearDamageHistory () |
| Clears the DamageHistory, containing all the DamageEffects applied to this DamageManager.
|
|
void | OnDamageEffectAdded (notnull SCR_DamageEffect dmgEffect) |
| Called when a damage effect has been added.
|
|
void | OnDamageEffectRemoved (notnull SCR_DamageEffect dmgEffect) |
| Called when a damage effect has been removed.
|
|
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) |
|
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.
|
|
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 () |
|
bool | OnTicksOnRemoteProxy () |
|