|
void | EnableContactMaskOnHost (bool enabled) |
| Disable contact mask, typically used for when vehicle becomes destroyed.
|
|
override void | OnDamageStateChanged (EDamageState state) |
| 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 () |
|
vector | GetFrontalImpact () |
|
float | GetSideDamageMultiplier (SCR_EBoxSide side) |
|
bool | IsInContact () |
|
override void | OnPostInit (IEntity owner) |
| Called after all components are initialized.
|
|
void | RegisterVehicleHitZone (notnull HitZone hitZone) |
|
void | UnregisterVehicleHitZone (HitZone hitZone) |
|
void | UpdateVehicleState () |
| Compute current simulation state of vehicle Called when hit zone damage states change.
|
|
void | UpdateMovementDamage () |
|
bool | GetEngineFunctional () |
|
float | GetEngineMalfunctionThreshold () |
|
float | GetEngineEfficiency () |
|
bool | GetGearboxFunctional () |
|
float | GetGearboxEfficiency () |
|
float | DamageSurroundingHitzones (vector position, float damage, EDamageType damageType) |
|
SCR_EBoxSide | GetHitDirection (vector position) |
|
override array< ref WB_UIMenuItem > | _WB_GetContextMenuItems (IEntity owner) |
|
override void | _WB_OnContextMenu (IEntity owner, int id) |
|
override bool | FilterContact (IEntity owner, IEntity other, Contact contact) |
| Filter out any contacts under a reasonable speed for damage.
|
|
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.
|
|
void | CollisionDamage (notnull IEntity other, float impulse, vector velocityBefore1, vector velocityAfter1, vector velocityBefore2, vector velocityAfter2, vector impactPosition, vector impactNormal) |
| Collisiondamage is exposed to be used by other scripts as well.
|
|
override void | OnDamageStateChanged (EDamageState state) |
| Update buoyancy loss rate.
|
|
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 () |
|
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 () |
|
|
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 | SetEngineFunctional (bool functional) |
|
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 | 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) |
|
override bool | OnRplSave (ScriptBitWriter writer) |
|
override bool | OnRplLoad (ScriptBitReader reader) |
|
notnull SCR_DamageManagerData | GetScriptedDamageManagerData () |
|
override void | OnDamage (notnull BaseDamageContext damageContext) |
|
override bool | ShouldOverrideInstigator (notnull Instigator currentInstigator, notnull Instigator newInstigator) |
| Called whenever an instigator is going to be set.
|
|
float | HealHitZonesInSequence (float healthToDistribute, float maxHealThresholdScaled, array< HitZone > targetHitZones) |
|
float | HealHitZonesInParallel (float healthToDistribute, float maxHealThresholdScaled, array< HitZone > targetHitZones) |
|
void | ConnectToFireDamageSystem () |
|
void | DisconnectFromFireDamageSystem () |
|
override void | OnDamageStateChanged (EDamageState state) |
| Invoked when damage state changes.
|
|
override void | _WB_AfterWorldUpdate (IEntity owner, float timeSlice) |
|
void | OnDamageOverTimeAdded (EDamageType dType, float dps, HitZone hz) |
| Invoked every time the DoT is added to certain hitzone.
|
|
void | OnDamageOverTimeRemoved (EDamageType dType, HitZone hz) |
| Invoked when provided damage type is removed from certain hitzone.
|
|
void | OnDamageStateChanged (EDamageState state) |
| Called when the damagestate changes.
|
|
void | OnPostInit (IEntity owner) |
| Called after all components are initialized.
|
|
void | OnInit (IEntity owner) |
| Called during EOnInit.
|
|
void | OnDelete (IEntity owner) |
|
void | OnFrame (IEntity owner, float timeSlice) |
| Called during EOnFrame.
|
|
void | OnFilteredContact (IEntity owner, IEntity other, Contact contact) |
| Only called if FilterContact returned true.
|
|
void | OnDiag (IEntity owner, float timeSlice) |
| Called during EOnDiag.
|
|
void | OnDamage (notnull BaseDamageContext damageContext) |
|
bool | OnRplSave (ScriptBitWriter writer) |
|
bool | OnRplLoad (ScriptBitReader reader) |
|
const float | MIN_IMPULSE_THRESHOLD = 5 |
|
const int | MIN_RESPONSE_INDEX = SCR_EPhysicsResponseIndex.TINY_MOMENTUM |
|
const int | MAX_RESPONSE_INDEX = SCR_EPhysicsResponseIndex.HUGE_MOMENTUM |
|
static ref ScriptInvokerInt | s_OnVehicleDestroyed |
|
static ref ScriptInvoker | s_OnVehicleDamageStateChanged |
|
static const float | APPROXIMATE_CHARACTER_LETHAL_DAMAGE = 150 |
|
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 = {} |
|