|
| void | EnableContactMaskOnHost (bool enabled) |
| | Disable contact mask, typically used for when vehicle becomes destroyed.
|
| |
| override void | OnDamageStateChanged (EDamageState newState, EDamageState previousDamageState, bool isJIP) |
| | Update buoyancy loss rate.
|
| |
| override void | RegisterVehicleHitZone (notnull HitZone hitZone) |
| |
| override void | UnregisterVehicleHitZone (HitZone hitZone) |
| |
| override void | UpdateVehicleState () |
| | Compute current simulation state of vehicle Called when hit zone damage states change.
|
| |
| override void | SetEngineFunctional (bool functional) |
| |
| override void | UpdateMovementDamage () |
| |
| SCR_VehicleDamageManagerComponentClass | GetPrefabData () |
| |
| float | GetTopMultiplier () |
| |
| float | GetRightMultiplier () |
| |
| float | GetLeftMultiplier () |
| |
| float | GetRearMultiplier () |
| |
| float | GetBottomMultiplier () |
| |
| float | GetFrontMultiplier () |
| |
| float | GetMaxSharedDamageDistance () |
| |
| float | GetOccupantsDamageSpeedThreshold () |
| |
| float | GetOccupantsSpeedDeath () |
| |
| int | GetMinCollisionDamageEjectionThreshold () |
| |
| int | GetMinExplosionDamageEjectionThreshold () |
| |
| float | GetCollisionDamageEjectionChance () |
| |
| float | GetExplosionDamageEjectionChance () |
| |
| vector | GetFrontalImpact () |
| |
| float | GetSideDamageMultiplier (SCR_EBoxSide side) |
| |
| override void | OnPostInit (IEntity owner) |
| | Called after all components are initialized.
|
| |
| bool | GetEngineFunctional () |
| |
| float | GetEngineMalfunctionThreshold () |
| |
| float | GetEngineEfficiency () |
| |
| bool | GetGearboxFunctional () |
| |
| float | GetGearboxEfficiency () |
| |
| int | GetSurroundingHitzones (vector position, notnull Physics physics, float maxDistance, EDamageType damageType, out notnull array< HitZone > outHitZones, out float hitZonesDistancePercentSum=0, out map< HitZone, float > outHitZoneDistanceProcentageMap=null) |
| | Finds compatible hit zones.
|
| |
| float | DamageSurroundingHitzones (vector position, float damage, EDamageType damageType, bool dontApply=false) |
| | Distributes provided damage amongst compatible hit zones.
|
| |
| SCR_EBoxSide | GetHitDirection (vector position) |
| |
| float | CalculateCriticalCollisionDamage () |
| | Determines the amount of damage required to destroy the vehicle in case of a frontal collision.
|
| |
| override bool | FilterContact (IEntity owner, IEntity other, Contact contact) |
| | Filter out any contacts under a reasonable speed for damage.
|
| |
| override void | OnFrame (IEntity owner, float timeSlice) |
| | Called during EOnFrame.
|
| |
| void | ProcessCollision (notnull SCR_CollisionDamageContainer collision) |
| | Processing of cached collision data in order to deal damage to the vhehicle and its passengers.
|
| |
| override bool | CanBeHealed (bool ignoreHealingDOT=true) |
| | Return true if there is damage that can be repaired.
|
| |
| override void | FullHeal (bool ignoreHealingDOT=true) |
| | Fix all the damage.
|
| |
| void | HandlePassengerDamage (EDamageType damageType, float damage, notnull Instigator instigator) |
| | Damage and eject passengers based on vehicle taking damage.
|
| |
| void | TickResponseIndexCheck () |
| |
| void | ToggleResponseIndexTicking (IEntity owner, bool activeState) |
| |
| void | EOnPhysicsActive (IEntity owner, bool activeState) |
| |
| void | RegisterFlammableHitZone (notnull SCR_FlammableHitZone hitZone) |
| |
| void | UnregisterFlammableHitZone (notnull SCR_FlammableHitZone hitZone) |
| |
| override void | UpdateFireDamage (float timeSlice) |
| |
| float | GetMinImpulse () |
| |
| void | InitStaticMapForIndices () |
| |
| void | SCR_VehicleDamageManagerComponent (IEntityComponentSource src, IEntity ent, IEntity parent) |
| |
| void | ~SCR_VehicleDamageManagerComponent () |
| |
| 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.
|
| |
| 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.
|
| |
| 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 | 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) |
| |
| override int | _WB_GetAfterWorldUpdateSpecs (IEntity owner, IEntitySource src) |
| |
| 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.
|
| |
| 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 | ShouldCountAsHit (notnull BaseDamageContext damageContext) |
| | Called after HijackDamageHandling.
|
| |
| 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 () |
| |
| bool | OnTicksOnRemoteProxy () |
| |
|
| static ScriptInvokerInt | GetOnVehicleDestroyed () |
| |
| static ScriptInvoker | GetOnVehicleDamageStateChanged () |
| |
| static SCR_DamageManagerComponent | GetDamageManager (notnull IEntity owner) |
| | Get damage manager from given owner.
|
| |
| SCR_ESecondaryExplosionScale | m_eVehicleFireState |
| |
| SCR_ESecondaryExplosionScale | m_eFuelTankFireState |
| |
| SCR_ESecondaryExplosionScale | m_eSuppliesFireState |
| |
| static ref map< SCR_EPhysicsResponseIndex, float > | s_mResponseIndexMomentumMap = new map<SCR_EPhysicsResponseIndex, float>() |
| |
| 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} |
| |
| void | SetEngineEfficiency (float efficiency) |
| |
| void | SetGearboxFunctional (bool functional) |
| |
| void | SetGearboxEfficiency (float efficiency) |
| |
| void | OnWaterEnter () |
| | Determine whether collision into water is severe enough to apply damage, then get velocities an manually call CollisionDamage.
|
| |
| override void | OnFilteredContact (IEntity owner, IEntity other, Contact contact) |
| | Handle damage and collision effects of contact Contact must NEVER be passed as variable to external functions.
|
| |
| override void | OnDamage (notnull BaseDamageContext damageContext) |
| | On Vehicle being blown up, there is a chance the passengers are ejected.
|
| |
| void | RPC_OnPhysicsActive (bool activeState) |
| |
| void | OnVehicleFireStateChanged () |
| |
| void | SetVehicleFireState (SCR_ESecondaryExplosionScale state, vector origin=vector.Zero) |
| |
| void | OnFuelTankFireStateChanged () |
| |
| void | SetFuelTankFireState (SCR_ESecondaryExplosionScale state, vector origin=vector.Zero) |
| |
| void | OnSuppliesFireStateChanged () |
| |
| void | SetSuppliesFireState (SCR_ESecondaryExplosionScale state, vector origin=vector.Zero) |
| |
| void | UpdateVehicleFireState (out float fireRate, float timeSlice) |
| |
| void | UpdateFuelTankFireState (float fireRate, float timeSlice) |
| |
| void | UpdateSuppliesFireState (float fireRate, float timeSlice) |
| |
| override bool | ShouldOverrideInstigator (notnull Instigator currentInstigator, notnull Instigator newInstigator) |
| |
| 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) |
| |
| void | DiagOnlyIfPossessedByPlayerController (notnull IEntity owner) |
| | Use this to run diag for the character who is currently possessed by player controller.
|
| |
| void | OnHandleFallDamage (EFallDamageType fallDamageType, vector velocityVector) |
| | Called when fall related damage is relevant.
|
| |
| 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 | OnDiag (IEntity owner, float timeSlice) |
| | Called during EOnDiag.
|
| |
| 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) |
| |
| const float | MIN_IMPULSE_THRESHOLD = 5 |
| |
| const float | HITZONE_DAMAGE_VALUE_THRESHOLD = 0.01 |
| |
| const int | MIN_RESPONSE_INDEX = SCR_EPhysicsResponseIndex.TINY_MOMENTUM |
| |
| const int | MAX_RESPONSE_INDEX = SCR_EPhysicsResponseIndex.HUGE_MOMENTUM |
| |
| const int | CACHED_COLLISION_PROCESSING_DELAY = 50 |
| |
| static ref ScriptInvokerInt | s_OnVehicleDestroyed |
| |
| static ref ScriptInvoker | s_OnVehicleDamageStateChanged |
| |
| const float | HACK_DAMAGE_CALCULATION_REDUCTION = 0.9 |
| | The reason for this magic number is that the collision position can be slightly unpredictable.
|
| |
| 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 = {} |
| |