Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
pperdrowningeffect.c
Go to the documentation of this file.
1class PPERequester_Drowning extends PPERequester_GameplayBase
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
33 SetTargetValueFloat(PostProcessEffectType.Glow,PPEGlow.PARAM_VIGNETTE,true, m_Magnitude,PPEGodRays.L_0_GLASSES,PPOperators.ADD);
34 SetTargetValueColor(PostProcessEffectType.Glow,PPEGlow.PARAM_VIGNETTECOLOR,{0.0,0.025,0.04, 0.0},PPEGlow.L_23_GLASSES,PPOperators.ADD);
35 }
36
37 void SetStamina01(float stamina01)
38 {
39 m_Stamina01 = stamina01;
40 }
41}
Input value between 0 and 1, returns value adjusted by easing, no automatic clamping of input(do your...
Definition easing.c:3
Definition enmath.c:7
Glow - PostProcessEffectType.Glow.
Definition ppeglow.c:8
GodRays - PostProcessEffectType.GodRays.
Definition ppegodrays.c:3
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
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, array< float > val, int priority_layer, int operator=PPOperators.ADD_RELATIVE)