Arma Reforger Script API
|
Public Member Functions | |
EHitZoneGroup | GetHitZoneGroup () |
Hit zone group getter to be overridden. | |
ScriptInvokerVoid | GetOnHealthChanged (bool createNew=true) |
Get event called when hitzone damage changes. | |
ScriptInvoker | GetOnDamageStateChanged (bool createNew=true) |
Get event called when hitzone damage state changes. | |
IEntity | GetOwner () |
override float | ComputeEffectiveDamage (notnull BaseDamageContext damageContext, bool isDOT) |
Calculates the amount of damage a hitzone will receive. | |
void | DrawDebug () |
void | ApplyDamagePassRules (notnull BaseDamageContext damageContext) |
void | HandlePassedDamage (notnull BaseDamageContext damageContext) |
Public Member Functions inherited from HitZone | |
proto external float | GetBaseDamageMultiplier () |
proto external bool | HasColliderNodes () |
proto external int | GetColliderDescriptorIndex (int colliderID) |
proto external float | GetDamageMultiplier (EDamageType dmgType) |
proto external float | GetDamageReduction () |
proto external float | GetDamageThreshold () |
proto external int | GetAllColliderNames (out notnull array< string > colliderNames) |
proto external void | SetDamageOverTime (EDamageType dmgType, float dps) |
Sets damage over time for this particular hitzone. | |
proto external float | GetDamageOverTime (EDamageType dmgType) |
proto external int | GetNumColliderDescriptors () |
proto external HitZoneContainerComponent | GetHitZoneContainer () |
proto external void | SetHealth (float health) |
proto external void | SetHealthScaled (float health) |
proto external void | SetMaxHealth (float maxHealth, ESetMaxHealthFlags flag=ESetMaxHealthFlags.NONE) |
proto external float | GetHealth () |
proto external float | GetHealthScaled () |
proto external float | GetDamageStateThreshold (EDamageState damageState) |
proto external float | GetMaxHealth () |
proto external string | GetName () |
proto external EDamageState | GetDamageState () |
proto external float | GetCriticalDamageThreshold () |
proto external EDamageState | GetPreviousDamageState () |
proto external void | HandleDamage (float damage, int damageType, IEntity instigator) |
proto external bool | IsProxy () |
proto external int | GetColliderIDs (out notnull array< int > outIDs) |
Returns all collider IDs attached to this hitzone. | |
proto bool | TryGetColliderDescription (IEntity owner, int descIndex, out vector transformLS[4], out int boneIndex, out int nodeID) |
proto bool | TryGetColliderDescriptionFromName (IEntity owner, string colliderName, out vector transformLS[4], out int boneIndex, out int nodeID) |
void | OnInit (IEntity pOwnerEntity, GenericComponent pManagerComponent) |
Call OnInit method from script. | |
void | OnDamage (notnull BaseDamageContext damageContext) |
Called when the damage has been dealt by the server, doesn't get called for DOT. | |
float | ComputeEffectiveDamage (notnull BaseDamageContext damageContext, bool isDOT) |
Calculates the amount of damage a hitzone will receive. | |
Protected Member Functions | |
override void | OnHealthSet () |
Called when damage changes. | |
override void | OnDamageStateChanged (EDamageState newState, EDamageState previousDamageState, bool isJIP) |
Called when the damage state changes. | |
Protected Member Functions inherited from HitZone | |
void | OnHealthSet () |
Called when damage changes. | |
void | OnMaxHealthChanged () |
Called when max damage changes. | |
void | OnDamageStateChanged (EDamageState newState, EDamageState previousDamageState, bool isJIP) |
Called when damage state changes. | |
Protected Attributes | |
ref array< ref SCR_DamagePassRule > | m_aDamagePassRules |
float | m_fFireMultiplier |
ref ScriptInvokerVoid | m_OnHealthChanged |
ref ScriptInvoker | m_OnDamageStateChanged |
void SCR_HitZone.ApplyDamagePassRules | ( | notnull BaseDamageContext | damageContext | ) |
Pass damage based damage context and rules specified in hitzone configuration Receiving hitzones also have to inherit from SCR_HitZone
! param[in] damageContext - Damage context coming from HijackDamageHandling
override float SCR_HitZone.ComputeEffectiveDamage | ( | notnull BaseDamageContext | damageContext, |
bool | isDOT | ||
) |
Calculates the amount of damage a hitzone will receive.
BaseDamageConext | DamageContext for this computation |
bool | isDOT true if this computation is fot DOT |
Implements HitZone.
Implemented in SCR_CharacterHitZone, and SCR_FlammableHitZone.
void SCR_HitZone.DrawDebug | ( | ) |
Implemented in SCR_RotorHitZone.
EHitZoneGroup SCR_HitZone.GetHitZoneGroup | ( | ) |
Hit zone group getter to be overridden.
Implemented in SCR_CharacterHitZone, SCR_FlammableHitZone, SCR_FuelHitZone, SCR_VehicleHitZone, and SCR_WheelHitZone.
ScriptInvoker SCR_HitZone.GetOnDamageStateChanged | ( | bool | createNew = true | ) |
Get event called when hitzone damage state changes.
ScriptInvokerVoid SCR_HitZone.GetOnHealthChanged | ( | bool | createNew = true | ) |
Get event called when hitzone damage changes.
createNew | only create a script invoker if this is set to true |
IEntity SCR_HitZone.GetOwner | ( | ) |
void SCR_HitZone.HandlePassedDamage | ( | notnull BaseDamageContext | damageContext | ) |
Handle damage in this hit zone. Clones the damage context so that it does not override passed one
!
[in] | damageContext | - damage context to be received in this hit zone |
|
protected |
Called when the damage state changes.
Implements HitZone.
Implemented in SCR_BatteryHitZone, SCR_CharacterHitZone, SCR_CharacterResilienceHitZone, SCR_CharacterBloodHitZone, SCR_CharacterHeadHitZone, SCR_DestructibleHitzone, SCR_EngineHitZone, SCR_FlammableHitZone, SCR_FuelHitZone, SCR_GearboxHitZone, SCR_LightHitZone, SCR_RotorHitZone, and SCR_WheelHitZone.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |