DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ShockHitReaction.c
См. документацию.
2{
3 const float INTENSITY_COEF_OVERALL = 0.8; //intensity percentage multiplier
4 const float INTENSITY_COEF_BLUR = 1;
5 const float INTENSITY_COEF_COLOR = 0.2;
6 const float INTENSITY_COEF_VIGNETTE = 0.7;
7 const float DURATION_MIN = 0.6;
8
10
15
16 void ShockDealtEffect(float intensity_max)
17 {
18 float duration_coef = Math.Clamp(intensity_max,DURATION_MIN,1);
19 m_HitDuration = 1 * duration_coef;
20 m_BreakPoint = 0.2 * duration_coef;
21 m_ShockIntensityMax = Math.Clamp(intensity_max,0,1);
22
24 //Print(intensity_max);
25 //Print("HitSyncDebug | ShockDealtEffect: " + GetGame().GetPlayer().GetSimulationTimeStamp());
26 }
27
29 {
30 if (GetGame())
31 PPERequesterBank.GetRequester(PPERequester_ShockHitReaction).Stop();
32 }
33
34 void Update(float deltatime)
35 {
36 float value;
37
39 {
41 }
42 else
43 {
45 value = 1 - tmp_value;
46 }
47
48 m_TimeActive += deltatime;
49 value = Math.Clamp(value,0,1);
50
51 //value calculations
53 float val_color = Math.Clamp(val * INTENSITY_COEF_COLOR,0,m_ShockIntensityMax);
54
55 //Postprocess application
57 float factor = val_color * INTENSITY_COEF_OVERALL;
58 float vignette = val * INTENSITY_COEF_OVERALL * INTENSITY_COEF_VIGNETTE;
59
60 m_EffectParam.param1 = blur;
61 m_EffectParam.param2 = vignette;
62 m_EffectParam.param3 = factor;
63 PPERequesterBank.GetRequester(PPERequester_ShockHitReaction).Start(m_EffectParam);
64
66 {
67 delete this;
68 }
69 }
70}
Определения EnMath.c:7
Определения EntityAI.c:95
void Update(float deltatime)
Определения ShockHitReaction.c:34
ref Param3< float, float, float > m_EffectParam
Определения ShockHitReaction.c:9
const float INTENSITY_COEF_VIGNETTE
Определения ShockHitReaction.c:6
const float INTENSITY_COEF_COLOR
Определения ShockHitReaction.c:5
const float DURATION_MIN
Определения ShockHitReaction.c:7
float m_TimeActive
Определения ShockHitReaction.c:13
const float INTENSITY_COEF_BLUR
Определения ShockHitReaction.c:4
void ShockDealtEffect(float intensity_max)
Определения ShockHitReaction.c:16
float m_ShockIntensityMax
Определения ShockHitReaction.c:14
void ~ShockDealtEffect()
Определения ShockHitReaction.c:28
float m_BreakPoint
Определения ShockHitReaction.c:12
const float INTENSITY_COEF_OVERALL
Определения ShockHitReaction.c:3
float m_HitDuration
Определения ShockHitReaction.c:11
proto native CGame GetGame()
static proto float Lerp(float a, float b, float time)
Linearly interpolates between 'a' and 'b' given 'time'.
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,...