DayZ Scripts
v1.21.156300 ยท Jun 20, 2023
 
Loading...
Searching...
No Matches
ShockDamage.c
Go to the documentation of this file.
2{
3 const int UNCONSIOUSS_COOLDOWN_TIME = 60;//in s
4 override void Init()
5 {
7 m_ID = eModifiers.MDF_SHOCK_DAMAGE;
10 }
11
12 override void OnActivate(PlayerBase player)
13 {
14
15 }
16
17 override void OnReconnect(PlayerBase player)
18 {
19
20 }
21
22 override bool ActivateCondition(PlayerBase player)
23 {
24 if( !player.IsUnconscious() && player.GetHealth("","Blood") <= PlayerConstants.SHOCK_DAMAGE_BLOOD_THRESHOLD_HIGH && GetGame().GetTime() > (player.m_UnconsciousEndTime + UNCONSIOUSS_COOLDOWN_TIME) )
25 {
26 return true;
27 }
28 else
29 {
30 return false;
31 }
32 }
33
34 override bool DeactivateCondition(PlayerBase player)
35 {
36 return !ActivateCondition(player);
37 }
38 // ------------------------------------------------------------------------------
39
40 override void OnTick(PlayerBase player, float deltaT)
41 {
42 float blood = player.GetHealth("","Blood");
44 value = Math.Clamp(value,0,1);
46 float damage = -dmg * deltaT;
47 player.AddHealth("","Shock", damage);
48 //PrintString(damage.ToString());
49 }
50};
protected int m_ID
ID of effect, given by SEffectManager when registered (automatically done when playing through it)
Definition Effect.c:49
bool m_TrackActivatedTime
float m_TickIntervalActive
float m_TickIntervalInactive
const int DEFAULT_TICK_TIME_INACTIVE
float GetTime()
Definition EnMath.c:7
static const float SHOCK_DAMAGE_LOW
static const float SHOCK_DAMAGE_BLOOD_THRESHOLD_HIGH
static const float SHOCK_DAMAGE_BLOOD_THRESHOLD_LOW
static const float SHOCK_DAMAGE_HIGH
override bool DeactivateCondition(PlayerBase player)
Definition ShockDamage.c:34
override void OnReconnect(PlayerBase player)
Definition ShockDamage.c:17
override void OnActivate(PlayerBase player)
Definition ShockDamage.c:12
const int UNCONSIOUSS_COOLDOWN_TIME
Definition ShockDamage.c:3
override void OnTick(PlayerBase player, float deltaT)
Definition ShockDamage.c:40
override void Init()
Definition ShockDamage.c:4
override bool ActivateCondition(PlayerBase player)
Definition ShockDamage.c:22
eModifiers
Definition eModifiers.c:2
proto native CGame GetGame()
static proto float Clamp(float value, float min, float max)
Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.
static proto float InverseLerp(float a, float b, float value)
Calculates the linear value that produces the interpolant value within the range [a,...
static proto float Lerp(float a, float b, float time)
Linearly interpolates between 'a' and 'b' given 'time'.