DayZ 1.24
Loading...
Searching...
No Matches
PPERDrowningEffect.c
Go to the documentation of this file.
2{
3 private float m_EffectPhase = 0;
4 private float m_Magnitude = 0;
5 private float m_MinMagnitude = 0.3;
6 private float m_MaxMagnitude = 0.3; // Actual Maximum is Min+Max
7 private float m_Frequency = 5;
8 private float m_Stamina01;
9
10 override protected void OnStart(Param par = null)
11 {
12 super.OnStart(par);
13
14 m_EffectPhase = 0;
15 m_Magnitude = 0;
16 }
17
18 override protected void OnUpdate(float delta)
19 {
20 super.OnUpdate(delta);
21
22 if (!m_IsRunning)
23 return;
24
25 m_EffectPhase += delta * m_Frequency / (m_Stamina01 + 1); // Start with lower frequency and increase it as it gets closer to danger
26
27 float currentVal = (Math.Sin(m_EffectPhase) + 1) / 2; // Makes current val oscillate between 0 and 1 (normlization)
28 currentVal = Easing.EaseInExpo(currentVal); // Ease it to tweak the effect
29 currentVal *= currentVal * m_MaxMagnitude; // Scale the normalized value to make it proportional to the Max Magnitude
30 currentVal += m_MinMagnitude;
31 m_Magnitude = Math.Lerp(m_Magnitude, currentVal, delta * m_Frequency); // Learp to smooth the changes
32
35 }
36
38 {
39 m_Stamina01 = stamina01;
40 }
41}
PPOperators
PP operators, specify operation between subsequent layers.
bool m_IsRunning
void SetTargetValueFloat(int mat_id, int param_idx, bool relative, float val, int priority_layer, int operator=PPOperators.ADD_RELATIVE)
void SetTargetValueColor(int mat_id, int param_idx, ref array< float > val, int priority_layer, int operator=PPOperators.ADD_RELATIVE)
Input value between 0 and 1, returns value adjusted by easing, no automatic clamping of input(do your...
Definition Easing.c:3
static float EaseInExpo(float t)
Definition Easing.c:99
Definition EnMath.c:7
Glow - PostProcessEffectType.Glow.
Definition PPEGlow.c:8
static const int PARAM_VIGNETTECOLOR
Definition PPEGlow.c:35
static const int L_23_GLASSES
Definition PPEGlow.c:52
static const int PARAM_VIGNETTE
Definition PPEGlow.c:34
GodRays - PostProcessEffectType.GodRays.
Definition PPEGodRays.c:3
static const int L_0_GLASSES
Definition PPEGodRays.c:11
base, not to be used directly, would lead to layering collisions!
void OnStart(Param par=null)
void SetStamina01(float stamina01)
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
Definition param.c:12
PostProcessEffectType
Post-process effect type.
Definition EnWorld.c:72
static proto float Lerp(float a, float b, float time)
Linearly interpolates between 'a' and 'b' given 'time'.
static proto float Sin(float angle)
Returns sinus of angle in radians.