5 private const int INTENSITY_FACTOR = 1;
6 private const int VIGNETTE_INTENSITY_MAX = 1;
7 private const int VIGNETTE_INTENSITY_MAX_TOTAL = 2;
8 private const float SMOOTHING_MAX_INCR = 0.05;
9 private const float SMOOTHING_MAX_DECR = 0.01;
11 private const float PULSE_PERIOD = 0.5;
12 private const float PULSE_AMPLITUDE = 0.05;
19 private float m_ShockMultiplier = 1;
20 private float m_PrevVignette;
23 private float m_PulseTimer;
26 PPERequester_TunnelVisionEffects m_Requester;
37 m_Requester = PPERequester_TunnelVisionEffects.Cast(PPERequesterBank.GetRequester(PPERequester_TunnelVisionEffects));
47 m_PulseTimer += deltaT;
101 private void DealShock()
108 void CheckValue(
bool forceUpdate)
113 m_PrevVignette = NormalizeShockVal(
m_Player.m_CurrentShock);
138 float effectIntensity = 1 -
Easing.EaseInQuart(NormalizeShockVal(
m_Player.m_CurrentShock));
146 return effectIntensity;
153 float bobbingVal = 0.0;
156 bobbingVal = MiscGameplayFunctions.Bobbing(PULSE_PERIOD, PULSE_AMPLITUDE, m_PulseTimer);
158 ret =
Math.Clamp(ret,0,VIGNETTE_INTENSITY_MAX_TOTAL);
165 m_ShockMultiplier = mult;
166 return m_ShockMultiplier;
169 private float NormalizeShockVal(
float shock)
172 float normShock = shock / base;
176 private float LerpVignette(
float x,
float y,
float deltaT)
179 output =
Math.Lerp(
x,
y, deltaT);
186 private const int LIGHT_SHOCK_HIT = 33;
187 private const int MID_SHOCK_HIT = 67;
188 private const int HEAVY_SHOCK_HIT = 100;
190 private float m_LerpRes;
193 private void ShockHitEffect(
float compareBase)
195 float shockDifference = compareBase -
m_Player.m_CurrentShock;
199 m_Player.SpawnShockEffect(MiscGameplayFunctions.Normalize(LIGHT_SHOCK_HIT, 100));
201 m_Player.SpawnShockEffect(MiscGameplayFunctions.Normalize(MID_SHOCK_HIT, 100));
203 m_Player.SpawnShockEffect(MiscGameplayFunctions.Normalize(HEAVY_SHOCK_HIT, 100));
Input value between 0 and 1, returns value adjusted by easing, no automatic clamping of input(do your...
void ShockHandler(PlayerBase player)
float SetMultiplier(float mult)
void Update(float deltaT)
ref Param1< float > m_Param
void SetShock(float dealtShock)
float m_LastEffectIntensityValue
float BaseEffectIntensityCalc()
float AddEffectBobbing(float baseVal)
adds bobbing, also clamps to valid range
const float UPDATE_THRESHOLD
float m_ShockValueThreshold
Deprecated.
const float VALUE_CHECK_INTERVAL
proto native CGame GetGame()
float m_TimeSinceLastTick
PPERUndergroundAcco m_Requester