Dayz Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Loading...
Searching...
No Matches
areadamageonce.c
Go to the documentation of this file.
2{
3 override void OnEnterServerEvent(TriggerInsider insider)
4 {
5 super.OnEnterServerEvent(insider);
6
7 OnEvaluateDamageEx(insider, 1);
8 }
9}
10
11class AreaDamageOnceDeferred : AreaDamageOnce
12{
14 protected float m_DeferDuration = 1.0;
15
16 override void SetDeferDuration(float time)
17 {
18 m_DeferDuration = time;
19 }
20
21 override void OnStayServerEvent(TriggerInsider insider, float deltaTime)
22 {
23 super.OnStayServerEvent(insider, deltaTime);
24
26 if ( CastTo( dInsider, insider ) && dInsider.lastDamaged == 0 )
27 OnEvaluateDamageEx(insider, 1);
28 }
29
30 override protected float CalculateDamageScale(TriggerInsider insider, float deltaTime)
31 {
32 if ( m_DeferDuration > 0 && (insider.lastUpdated - insider.timeEntered) >= m_DeferDuration )
33 return super.CalculateDamageScale(insider, deltaTime);
34
35 return 0;
36 }
37}
bool OnEvaluateDamageEx(TriggerInsider insider, float deltaTime)
Some event extensionsAlternative OnEvaluateDamage, using CalculateDamageScale.
void AreaDamageManager(EntityAI parent)
AreaDamageOnce m_DeferDuration
Time the damage should be deferred in seconds.
override void SetDeferDuration(float time)
override void OnStayServerEvent(TriggerInsider insider, float deltaTime)
float CalculateDamageScale(TriggerInsider insider, float deltaTime)
override void OnEnterServerEvent(TriggerInsider insider)
Extended TriggerInsider for AreaDamageTriggerBase.
float lastDamaged
Last time the object was damaged in seconds.
The object which is in a trigger and its metadata.
Definition trigger.c:3
float lastUpdated
Last time the object was updated in seconds, is used for calculating deltaTime.
Definition trigger.c:16
float timeEntered
Time the object was first seen in seconds.
Definition trigger.c:13