|
Arma Reforger Script API
|
Public Member Functions | |
| float | GetPoisonBuildupFactor () |
| void | UpdateConsciousness () |
| void | ForceUnconsciousness (float resilienceHealth=0) |
| Force unconsciousness regardless of health. | |
| 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) |
| 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. | |
| bool | SynchronizedSoundEvent (TypeName effectType) |
| Method used by the authority to synchronize an execution of the sound playback for a damage effect. | |
| bool | SynchronizedSoundEvent (notnull SCR_PersistentDamageEffect broadcastingEffect, int effectId=-1) |
| Method used by the authority to synchronize an execution of the sound playback for a damage effect. | |
| 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) |
| 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) |
| SCR_CharacterHeadHitZone | GetHeadHitZone () |
| float | GetTourniquetStrengthMultiplier () |
| void | AddSpecialContactEffect (notnull SCR_SpecialCollisionDamageEffect effect) |
| Add Special contact effect to hitZone. | |
| 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. | |
| 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) |
| 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. | |
| override void | OnHandleFallDamage (EFallDamageType fallDamageType, vector velocityVector) |
| Called when fall related damage is relevant. | |
| void | HandleAnimatedFallDamage (float damage) |
| void | HandleRagdollFallDamage (notnull HitZone contactingHitZone, float damage) |
| void | PlaySoundEvent (string soundEventName) |
| Sound event playback. | |
| void | GetNearestHitZones (vector worldPosition, notnull inout array< HitZone > nearestHitZones, int hitZonesReturnAmount) |
| Get nearest hitZones to the point of impact. | |
Public Member Functions inherited from SCR_ExtendedDamageManagerComponent | |
| ScriptInvoker | GetOnDamageEffectAdded () |
| ScriptInvoker | GetOnDamageEffectRemoved () |
| array< ref PersistentDamageEffect > | FilterEffectsByHitZone (array< ref PersistentDamageEffect > damageEffects, notnull HitZone hitZone) |
| array< ref SCR_PersistentDamageEffect > | GetAllPersistentEffectsOfType (TypeName effectTypeName, bool includeInheritedTypes=false) |
| array< ref SCR_PersistentDamageEffect > | FilterEffectsByType (array< ref SCR_PersistentDamageEffect > damageEffects, TypeName effectTypename) |
Public Member Functions inherited from ExtendedDamageManagerComponent | |
| proto external void | AddDamageEffect (notnull 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 Note: Function checks PersistentDamageEffects. | |
| 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 SCR_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 Note: Function checks PersistentDamageEffects. | |
| 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 SCR_PersistentDamageEffect > 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 Note: Function checks PersistentDamageEffects. | |
| 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 Note: Function checks PersistentDamageEffects. | |
| 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. | |
Public Member Functions inherited from SCR_DamageManagerComponent | |
| 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) |
| int | GetSurroundingHitzones (vector origin, Physics physics, float maxDistance, out array< HitZone > outHitzones) |
| float | GetMinDestroyDamage (EDamageType damageType, array< HitZone > hitzones) |
| 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. | |
| 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. | |
| 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, out bool hasData=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 int | _WB_GetAfterWorldUpdateSpecs (IEntity owner, IEntitySource src) |
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 void | EnableDamageSystemOnFrame () |
| Call to enable damage system's on frame. | |
| proto external void | DisableDamageSystemOnFrame () |
| Call to disable damage system's on frame. | |
| proto external void | SetMovementDamage (float damage) |
| Sets the movement damage modifier. | |
| proto external float | GetMovementDamage () |
| Returns the movement damage modifier. | |
| proto external void | SetAimingDamage (float damage) |
| Sets the aiming damage modifier. | |
| proto external float | GetAimingDamage () |
| Returns aiming damage modifier. | |
| 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 void | SetAndReplicateInstigator (notnull Instigator instigator) |
| Sets the instigator and broadcasts the change to clients DO NOT USE THIS METHOD UNLESS YOU KNOW EXACTLY WHEN TO USE IT IF YOU ARE USING THIS YOU PROBABLY SHOULD BE DEALING DAMAGE TO THE PLAYER TO KILL THEM. | |
| 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 | ShouldCountAsHit (notnull BaseDamageContext damageContext) |
| Called after HijackDamageHandling. | |
Public Member Functions inherited from HitZoneContainerComponent | |
| proto external IEntity | GetOwner () |
| proto external HitZone | GetDefaultHitZone () |
| proto external HitZone | GetHitZoneByName (string hitZoneName) |
| Get the HitZone that matches the provided collider name. | |
| proto external HitZone | GetHitZoneByColliderID (int colliderID) |
| Get the HitZone that matches the provided collider ID. | |
| 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 | CountAllHitZones () |
| Counts the number of hitzones in this entity. | |
| proto external int | CountAllHitZonesInHierarchy () |
| Counts the number of hitzones in this entity and its children. | |
| 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 void | GetAllLimbs (notnull out array< ECharacterHitZoneGroup > limbs) |
| static void | GetAllExtremities (notnull out array< ECharacterHitZoneGroup > limbs) |
Static Public Member Functions inherited from SCR_DamageManagerComponent | |
| static SCR_DamageManagerComponent | GetDamageManager (notnull IEntity owner) |
| Get damage manager from given owner. | |
Static Public Attributes | |
| static const int | BLOOD_CLOTHES_UPDATE_PERIOD = 1000 |
| const float | DEATH_BLEEDOUT_SCALE = 4 |
| static ref array< ECharacterHitZoneGroup > | LIMB_GROUPS |
| static const ref array< ECharacterHitZoneGroup > | EXTREMITY_LIMB_GROUPS = {ECharacterHitZoneGroup.LEFTARM, ECharacterHitZoneGroup.RIGHTARM, ECharacterHitZoneGroup.LEFTLEG, ECharacterHitZoneGroup.RIGHTLEG} |
| static SCR_GameModeHealthSettings | s_HealthSettings |
Static Public Attributes inherited from SCR_DamageManagerComponent | |
| static const int | MAX_DESTRUCTION_RESPONSE_INDEX = 10 |
| static const string | MAX_DESTRUCTION_RESPONSE_INDEX_NAME = "HugeDestructible" |
| static const ref array< EDamageType > | HEALING_DAMAGE_TYPES = {EDamageType.HEALING, EDamageType.REGENERATION} |
Protected Member Functions | |
| bool | ShouldBeUnconscious () |
| Check whether character health state meets requirements for consciousness. | |
| void | KnockOffTheHelmet (notnull BaseDamageContext damageContext) |
| Method used to attempt to detach player's helmet when his head is hit. | |
| void | Do_SynchronizedSoundEvent (int effectId) |
| void | TryClearDamageHistory () |
| bool | IsIndefinitelyUnconscious (bool onlyPlayers=true) |
| Returns whether this character will remain unconscious with no chance to wake up without intervention. | |
| void | SetExactMinImpulse (IEntity owner) |
| void | OnWaterEnter () |
| override void | OnFilteredContact (IEntity owner, IEntity other, Contact contact) |
| Calculate damage from collision event based on contact data. | |
| void | CalculateCollisionDamage (IEntity owner, IEntity other, vector collisionPosition, bool instantUnconsciousness=true) |
| void | ApplyCollisionDamage (IEntity other, vector collisionPosition, float damageValue) |
| 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) |
Protected Member Functions inherited from SCR_DamageManagerComponent | |
| void | RpcDo_SetFireState_ (int hitZoneIndex, SCR_EBurningState fireState) |
| Set fire rate of a flammable hitzone. | |
| notnull SCR_DamageManagerData | GetScriptedDamageManagerData () |
| float | HealHitZonesInSequence (float healthToDistribute, float maxHealThresholdScaled, array< HitZone > targetHitZones) |
| float | HealHitZonesInParallel (float healthToDistribute, float maxHealThresholdScaled, array< HitZone > targetHitZones) |
| void | ConnectToFireDamageSystem () |
| void | DisconnectFromFireDamageSystem () |
| override void | _WB_AfterWorldUpdate (IEntity owner, float timeSlice) |
Protected Member Functions inherited from DamageManagerComponent | |
| void | DiagOnlyIfPossessedByPlayerController (notnull IEntity owner) |
| Use this to run diag for the character who is currently possessed by player controller. | |
| void | OnHealthSet () |
| Called when SetHealth() is used on default hitzone. | |
| void | OnMaxHealthChanged () |
| Called when SetMaxHealth() is used on default hitzone. | |
| void | OnDelete (IEntity owner) |
| void | OnFrame (IEntity owner, float timeSlice) |
| Called during EOnFrame. | |
| void | OnDiag (IEntity owner, float timeSlice) |
| Called during EOnDiag. | |
Protected Member Functions inherited from HitZoneContainerComponent | |
| bool | HasDataToReplicate () |
| Use it to save bandwidth in some default conditions. Use it if Save and Load are overriden. | |
| bool | OnRplSave (ScriptBitWriter writer) |
| bool | OnRplLoad (ScriptBitReader reader) |
Static Protected Attributes | |
| const int | MIN_OTHER_MOMENTUM = 3000 |
Static Protected Attributes inherited from SCR_DamageManagerComponent | |
| static const int | MIN_MOMENTUM_RESPONSE_INDEX = 1 |
| static const int | MAX_MOMENTUM_RESPONSE_INDEX = 5 |
| static const int | MIN_DESTRUCTION_RESPONSE_INDEX = 6 |
| const float | SIMULATION_IMPRECISION_MULTIPLIER = 1.1 |
| static ref array< ref SCR_DamageManagerData > | s_aDamageManagerData = {} |
| void SCR_CharacterDamageManagerComponent.AddBleedingEffectOnHitZone | ( | notnull SCR_CharacterHitZone | hitZone, |
| int | colliderDescriptorIndex = -1 ) |
Add bleeding effect to hitzone.
| hitZone | Hitzone to get bleeding rate from and add effect to |
| colliderDescriptorIndex | Collider descriptor index |
| void SCR_CharacterDamageManagerComponent.AddBleedingToArray | ( | notnull HitZone | hitZone | ) |
Register hitzone in array as bleeding.
| void SCR_CharacterDamageManagerComponent.AddBloodToClothes | ( | notnull SCR_CharacterHitZone | hitZone, |
| float | immediateBloodEffect ) |
| [in] | hitZone | Hitzone used to get bleeding areas to visualize |
| [in] | immediateBloodEffect | Intensity of effect. Intensity will be rounded to nearest round number. Must be => 1 |
| void SCR_CharacterDamageManagerComponent.AddParticularBleeding | ( | string | hitZoneName = "Chest", |
| ECharacterDamageState | intensityEnum = ECharacterDamageState::WOUNDED, | ||
| float | intensityFloat = -1 ) |
Add bleeding to a particular physical hitZone.
| void SCR_CharacterDamageManagerComponent.AddRandomBleeding | ( | ) |
Add bleeding to a random physical hitZone.
| void SCR_CharacterDamageManagerComponent.AddSpecialContactEffect | ( | notnull SCR_SpecialCollisionDamageEffect | effect | ) |
Add Special contact effect to hitZone.
| [1] | effect Special contact effect to be added to character |
|
protected |
| void SCR_CharacterDamageManagerComponent.ArmorHitEventDamage | ( | EDamageType | type, |
| float | damage, | ||
| IEntity | instigator ) |
Function called from SCR_ArmorDamageManagerComponent in case player is shot in armor. Applies damage.
| void SCR_CharacterDamageManagerComponent.ArmorHitEventEffects | ( | float | damage | ) |
Function called from SCR_ArmorDamageManagerComponent in case player is shot in armor. Applies effects.
|
protected |
| override bool SCR_CharacterDamageManagerComponent.CanBeHealed | ( | bool | ignoreHealingDOT = true | ) |
Return true if there is damage that can be repaired.
| [in] | ignoreHealingDOT | If this is false the method will return that the entity can be healed also if the damageType is positive, such as HEALING |
Implements SCR_DamageManagerComponent.
| void SCR_CharacterDamageManagerComponent.CreateBleedingParticleEffect | ( | notnull HitZone | hitZone, |
| int | colliderDescriptorIndex ) |
Called to start bleeding effect on a specificied bone.
|
protected |
| [in] | effectId | id of the damage effect that should be used for the sound playback |
| override bool SCR_CharacterDamageManagerComponent.FilterContact | ( | IEntity | owner, |
| IEntity | other, | ||
| Contact | contact ) |
Filter out any contacts under a reasonable speed for damage.
Implements SCR_DamageManagerComponent.
| EBandagingAnimationBodyParts SCR_CharacterDamageManagerComponent.FindAssociatedBandagingBodyPart | ( | ECharacterHitZoneGroup | hitZoneGroup | ) |
| ECharacterHitZoneGroup SCR_CharacterDamageManagerComponent.FindAssociatedHitZoneGroup | ( | EBandagingAnimationBodyParts | bodyPartToBandage | ) |
| void SCR_CharacterDamageManagerComponent.ForceUnconsciousness | ( | float | resilienceHealth = 0 | ) |
Force unconsciousness regardless of health.
| resilienceHealth | Desired healthScaled of resilienceHZ. Must be below unconscious-threshold to work |
| override void SCR_CharacterDamageManagerComponent.FullHeal | ( | bool | ignoreHealingDOT = true | ) |
will fully heal the character
| ignoreHealingDOT | Enabling this bool will remove all persistent damage effects, including the ones spawned by healthItems. Otherwise just bleeding is removed and regeneration effects are retained |
Implements SCR_DamageManagerComponent.
|
static |
|
static |
| SCR_ArmoredClothItemData SCR_CharacterDamageManagerComponent.GetArmorData | ( | notnull SCR_CharacterHitZone | charHitZone | ) |
Get data from m_mClothItemDataMap.
| float SCR_CharacterDamageManagerComponent.GetArmorProtection | ( | notnull SCR_CharacterHitZone | charHitZone, |
| EDamageType | damageType ) |
Get protection value of particular hitZone stored on m_mClothItemDataMap.
| array< HitZone > SCR_CharacterDamageManagerComponent.GetBleedingHitZones | ( | ) |
| float SCR_CharacterDamageManagerComponent.GetBleedingScale | ( | ) |
| SCR_CharacterBloodHitZone SCR_CharacterDamageManagerComponent.GetBloodHitZone | ( | ) |
| string SCR_CharacterDamageManagerComponent.GetBoneName | ( | ECharacterHitZoneGroup | hzGroup | ) |
Get bone name for given hz group.
| ECharacterHitZoneGroup SCR_CharacterDamageManagerComponent.GetCharMostDOTHitzoneGroup | ( | EDamageType | damageType, |
| bool | onlyExtremities = false, | ||
| bool | ignoreTQdHitZones = false, | ||
| bool | ignoreIfBeingTreated = false ) |
Determine which hitZones group is taking highest DOT.
| damageTypes | Which damagetype will be checked on the hitZones for highest damage amount |
| onlyExtremities | Only compare the 4 extremities (both arms, both legs) |
| ignoreTQdHitZones | Ignore tourniquetted limbs when looking for the one most bleeding one |
| override float SCR_CharacterDamageManagerComponent.GetGroupDamageOverTime | ( | ECharacterHitZoneGroup | hitZoneGroup, |
| EDamageType | damageType ) |
Get total damage over time of given hitzone group.
| hitZoneGroup | Hitzone group to get damage over time from |
| damageType | Damage type to get damage over time from |
Implements SCR_DamageManagerComponent.
| float SCR_CharacterDamageManagerComponent.GetGroupHealthScaled | ( | ECharacterHitZoneGroup | hitZoneGroup | ) |
| bool SCR_CharacterDamageManagerComponent.GetGroupIsBeingHealed | ( | ECharacterHitZoneGroup | hitZoneGroup | ) |
| bool SCR_CharacterDamageManagerComponent.GetGroupSalineBagged | ( | ECharacterHitZoneGroup | hitZoneGroup | ) |
| bool SCR_CharacterDamageManagerComponent.GetGroupTourniquetted | ( | ECharacterHitZoneGroup | hitZoneGroup | ) |
| SCR_CharacterHeadHitZone SCR_CharacterDamageManagerComponent.GetHeadHitZone | ( | ) |
| void SCR_CharacterDamageManagerComponent.GetHealingAnimHitzones | ( | EBandagingAnimationBodyParts | eBandagingAnimBodyParts, |
| out notnull array< HitZone > | GroupHitZones ) |
| HitZone SCR_CharacterDamageManagerComponent.GetMostDOTHitZone | ( | EDamageType | damageType, |
| bool | includeVirtualHZs = false, | ||
| array< EHitZoneGroup > | allowedGroups = null ) |
| void SCR_CharacterDamageManagerComponent.GetNearestHitZones | ( | vector | worldPosition, |
| notnull inout array< HitZone > | nearestHitZones, | ||
| int | hitZonesReturnAmount ) |
Get nearest hitZones to the point of impact.
| worldPosition | Position of the point of impact | |
| [in,out] | nearestHitZones | Array of hitZones which colliders' positions will be compared with worldPosition. Returns the nearest hitZones to worldPosition in descending order of distance |
| hitZonesReturnAmount | Amount of hitZones that are returned in nearestHitZones. IF all are wanted, set nearestHitZones.Count(). |
| bool SCR_CharacterDamageManagerComponent.GetOverrideCharacterMedicalGMAttribute | ( | ) |
| bool SCR_CharacterDamageManagerComponent.GetPermitUnconsciousness | ( | ) |
Returns whether unconsciousness is permitted. Character prefab has highest authority, then gamemaster, then gamemode configuration.
| float SCR_CharacterDamageManagerComponent.GetPoisonBuildupFactor | ( | ) |
| SCR_CharacterHitZone SCR_CharacterDamageManagerComponent.GetRandomPhysicalHitZone | ( | bool | includeBleedingHZs = false | ) |
Get a random physical hitZone.
| float SCR_CharacterDamageManagerComponent.GetRegenScale | ( | ) |
| SCR_CharacterResilienceHitZone SCR_CharacterDamageManagerComponent.GetResilienceHitZone | ( | ) |
| float SCR_CharacterDamageManagerComponent.GetResilienceRegenScale | ( | ) |
| float SCR_CharacterDamageManagerComponent.GetTourniquetStrengthMultiplier | ( | ) |
| void SCR_CharacterDamageManagerComponent.HandleAnimatedFallDamage | ( | float | damage | ) |
| void SCR_CharacterDamageManagerComponent.HandleRagdollFallDamage | ( | notnull HitZone | contactingHitZone, |
| float | damage ) |
| override bool SCR_CharacterDamageManagerComponent.HijackDamageHandling | ( | notnull BaseDamageContext | damageContext | ) |
Hijack collisiondamage in case it's applied to defaultHZ, since that means it's falldamage.
Implements SCR_DamageManagerComponent.
| void SCR_CharacterDamageManagerComponent.InsertArmorData | ( | notnull SCR_CharacterHitZone | charHitZone, |
| SCR_ArmoredClothItemData | attributes ) |
Insert armor data from clothing item prefab into map, create map if null.
| bool SCR_CharacterDamageManagerComponent.IsBleeding | ( | ) |
the official and globally used way of checking if bleeding tests for any PERSISTENT damage effects of EDamageType.BLEEDING.
|
protected |
Returns whether this character will remain unconscious with no chance to wake up without intervention.
|
protected |
Method used to attempt to detach player's helmet when his head is hit.
| [in] | damageContext |
|
protected |
Implements SCR_DamageManagerComponent.
| override void SCR_CharacterDamageManagerComponent.OnDamageEffectAdded | ( | notnull SCR_DamageEffect | dmgEffect | ) |
Called when a damage effect has been added.
| BaseDamageEffect | SCR_DamageEffect: The DamageEffect that got added |
Implements SCR_ExtendedDamageManagerComponent.
| override void SCR_CharacterDamageManagerComponent.OnDamageEffectRemoved | ( | notnull SCR_DamageEffect | dmgEffect | ) |
Called when a damage effect has been removed.
| BaseDamageEffect | SCR_DamageEffect: The DamageEffect that got removed |
Implements SCR_ExtendedDamageManagerComponent.
|
protected |
Invoked when damage state changes.
Implements SCR_DamageManagerComponent.
|
protected |
Calculate damage from collision event based on contact data.
| owner | Owner is entity that is parent of this damageManager |
| other | Other is the entity that collided with the owner |
| contact | Contact data class should contain all collisiondata needed to compute damage |
Implements DamageManagerComponent.
| override void SCR_CharacterDamageManagerComponent.OnHandleFallDamage | ( | EFallDamageType | fallDamageType, |
| vector | velocityVector ) |
Called when fall related damage is relevant.
Implements DamageManagerComponent.
| void SCR_CharacterDamageManagerComponent.OnLifeStateChanged | ( | ECharacterLifeState | previousLifeState, |
| ECharacterLifeState | newLifeState, | ||
| bool | isJIP ) |
| override void SCR_CharacterDamageManagerComponent.OnPostInit | ( | IEntity | owner | ) |
Called after all components are initialized.
| owner | Entity this component is attached to. |
Implements DamageManagerComponent.
|
protected |
| override GameMaterial SCR_CharacterDamageManagerComponent.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.
This is a workaround to solve that issue. It gets called every time a projectile strikes a hitzone We can override material of the hit with the corresponding one from the armor (if needed)
Implements DamageManagerComponent.
| void SCR_CharacterDamageManagerComponent.PlaySoundEvent | ( | string | soundEventName | ) |
Sound event playback.
| [in] | soundEventName |
| void SCR_CharacterDamageManagerComponent.RegenPhysicalHitZones | ( | bool | skipRegenDelay = false | ) |
| void SCR_CharacterDamageManagerComponent.RegenVirtualHitZone | ( | SCR_RegeneratingHitZone | targetHitZone, |
| float | dps = -1, | ||
| bool | skipRegenDelay = false ) |
| void SCR_CharacterDamageManagerComponent.RemoveAllBleedingParticles | ( | ) |
Remove all bleeding particle effects from all bleeding hitZones.
| void SCR_CharacterDamageManagerComponent.RemoveAllBleedingParticlesAfterDeath | ( | ) |
Clean up blood particle sources after death.
| void SCR_CharacterDamageManagerComponent.RemoveAllBleedings | ( | ) |
Stop all bleeding.
| void SCR_CharacterDamageManagerComponent.RemoveArmorData | ( | notnull SCR_CharacterHitZone | charHitZone | ) |
Remove armor data from clothing item prefab from map, delete map if empty.
| void SCR_CharacterDamageManagerComponent.RemoveBleedingFromArray | ( | notnull HitZone | hitZone | ) |
Unregister hitzone from array.
| void SCR_CharacterDamageManagerComponent.RemoveBleedingParticleEffect | ( | HitZone | hitZone | ) |
Get particle effect on a specified hitZone.
| hitZone | Bleeding HitZone to get particle effect for |
| void SCR_CharacterDamageManagerComponent.RemoveGroupBleeding | ( | ECharacterHitZoneGroup | charHZGroup | ) |
Terminate all bleeding effects on every hitZone of a group.
| void SCR_CharacterDamageManagerComponent.SetBleedingScale | ( | float | rate, |
| bool | changed ) |
| void SCR_CharacterDamageManagerComponent.SetBloodHitZone | ( | HitZone | hitZone | ) |
|
protected |
| void SCR_CharacterDamageManagerComponent.SetGroupIsBeingHealed | ( | ECharacterHitZoneGroup | hitZoneGroup, |
| bool | setIsBeingHealed ) |
| void SCR_CharacterDamageManagerComponent.SetHeadHitZone | ( | HitZone | hitZone | ) |
| void SCR_CharacterDamageManagerComponent.SetOverrideCharacterMedicalGMAttribute | ( | bool | permit | ) |
| void SCR_CharacterDamageManagerComponent.SetPermitUnconsciousness | ( | bool | permit, |
| bool | changed ) |
| void SCR_CharacterDamageManagerComponent.SetRegenScale | ( | float | rate, |
| bool | changed ) |
| void SCR_CharacterDamageManagerComponent.SetResilienceHitZone | ( | HitZone | hitZone | ) |
| void SCR_CharacterDamageManagerComponent.SetSalineBaggedGroup | ( | ECharacterHitZoneGroup | hitZoneGroup, |
| bool | setSalineBagged ) |
| [in] | hitZoneGroup | |
| [in] | setSalineBagged |
| void SCR_CharacterDamageManagerComponent.SetTourniquettedGroup | ( | ECharacterHitZoneGroup | hitZoneGroup, |
| bool | setTourniquetted ) |
|
protected |
Check whether character health state meets requirements for consciousness.
|
protected |
Called whenever an instigator is going to be set.
Implements SCR_DamageManagerComponent.
| void SCR_CharacterDamageManagerComponent.SoundDeath | ( | int | previousLifestate | ) |
Tell m_CommunicationSound that this character is now dead.
| void SCR_CharacterDamageManagerComponent.SoundHeal | ( | ) |
| void SCR_CharacterDamageManagerComponent.SoundHit | ( | bool | critical, |
| EDamageType | damageType ) |
| void SCR_CharacterDamageManagerComponent.SoundKnockout | ( | ) |
Tell m_CommunicationSound to stop character from screaming, otherwise ignore.
| bool SCR_CharacterDamageManagerComponent.SynchronizedSoundEvent | ( | notnull SCR_PersistentDamageEffect | broadcastingEffect, |
| int | effectId = -1 ) |
Method used by the authority to synchronize an execution of the sound playback for a damage effect.
| [in] | broadcastingEffect | from which sound playback will be triggered locally |
| [in] | effectId | optionally if id is already known |
| bool SCR_CharacterDamageManagerComponent.SynchronizedSoundEvent | ( | TypeName | effectType | ) |
Method used by the authority to synchronize an execution of the sound playback for a damage effect.
| [in] | effectType | for which sound playback should be executed |
|
protected |
| void SCR_CharacterDamageManagerComponent.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.
| void SCR_CharacterDamageManagerComponent.UpdateCharacterGroupDamage | ( | ECharacterHitZoneGroup | hitZoneGroup | ) |
| void SCR_CharacterDamageManagerComponent.UpdateConsciousness | ( | ) |
|
static |
|
static |
|
static |
|
static |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
static |