DayZ 1.26
DayZ Explorer by KGB
Загрузка...
Поиск...
Не найдено
Класс DayZPlayerImplementAiming

Защищенные члены

void DayZPlayerImplementAiming (DayZPlayerImplement player)
 
void SetRecoil (Weapon_Base weapon)
 
void RequestKuruShake (float amount)
 
void OnRaiseBegin (DayZPlayerImplement player)
 
void OnFinisherBegin (float currentAimY)
 
void OnSwayStateChange (int state)
 
float GetSwayWeight ()
 
void SetAimNoiseAllowed (bool state)
 
bool IsAimNoiseAllowed ()
 
void SetProceduralRecoilEnabled (bool state)
 
bool IsProceduralRecoilEnabled ()
 
void SetCamShakeValues (float x_axis, float y_axis)
 
bool ProcessStealthFilters (float pDt, SDayZPlayerAimingModel pModel)
 
bool ProcessAimFilters (float pDt, SDayZPlayerAimingModel pModel, int stance_index)
 
float CalculateSwayMultiplier ()
 
float CalculateSpeedMultiplier (float stamina)
 
bool UpdateSwayState (int state)
 
int GetCurrentSwayState ()
 
void ApplyBreathingPattern (out float x_axis, out float y_axis, float pAmplitude, float pTotalTime, float weight)
 
void ApplyHorizontalNoise (out float x_axis, out float y_axis, float smooth_time, float max_velocity_low, float max_velocity_high, float velocity_modifier, float max_distance, float weight, float pDt)
 
void ApplyShakes (out float x_axis, out float y_axis, int level)
 
float CalculateWeight (int stance_index, float current_stamina, float camera_sway_modifier, bool holding_breath)
 
void DbgPrintAimingImplement (string val)
 

Защищенные данные

const float SWAY_WEIGHT_SCALER = 1
 
float m_HorizontalNoise
 
float m_HorizontalTargetValue
 
float m_HorizontalNoiseVelocity [1] = {0}
 
DayZPlayerImplement m_PlayerDpi
 
PlayerBase m_PlayerPb
 
float m_TotalTime
 
float m_ReferenceTime = 0
 
float m_SwayStateStartTime
 
float m_LastSwayMultiplier = PlayerSwayConstants.SWAY_MULTIPLIER_DEFAULT
 
float m_StateStartSwayMultiplier
 
float m_HorizontalNoiseXAxisOffset
 
float m_BreathingXAxisOffset
 
float m_BreathingYAxisOffset
 
bool m_HoldingBreathSet
 
bool m_AimNoiseAllowed = true
 
bool m_ProceduralRecoilEnabled = true
 
ref RecoilBase m_CurrentRecoil
 
int m_ShakeCount
 
float m_SwayWeight
 
float m_MaxVelocity
 
ref KuruShake m_KuruShake
 
float m_CamShakeX
 
float m_CamShakeY
 
vector m_SwayModifier = "1 1 1"
 
int m_SwayState = -1
 
float m_StealthAimY_Last
 
float m_FilterVelocityStealthAimY [1] = {0}
 

Статические защищенные данные

static float m_AimXClampRanges [] = { -180, -20, 90, 0, -50, 90, 180, -20, 90 }
 

Подробное описание

Конструктор(ы)

◆ DayZPlayerImplementAiming()

73 {
77 }
eSwayStates
Definition DayZPlayerImplementAiming.c:11
Super root of all classes in Enforce script.
Definition EnScript.c:11
DayZPlayerImplement m_PlayerDpi
Definition DayZPlayerImplementAiming.c:43
bool UpdateSwayState(int state)
Definition DayZPlayerImplementAiming.c:347
PlayerBase m_PlayerPb
Definition DayZPlayerImplementAiming.c:44
Definition EntityAI.c:95
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.

Перекрестные ссылки Class::CastTo(), m_PlayerDpi, m_PlayerPb и UpdateSwayState().

Методы

◆ ApplyBreathingPattern()

void ApplyBreathingPattern ( out float x_axis,
out float y_axis,
float pAmplitude,
float pTotalTime,
float weight )
inlineprotected
367 {
368
369 float multiplier = Math.Lerp(PlayerSwayConstants.SWAY_MULTIPLIER_DEFAULT,0,m_LastSwayMultiplier); //TODO revise
370 #ifdef DEVELOPER
371 DbgPrintAimingImplement("m_LastSwayMultiplier: " + m_LastSwayMultiplier);
372 DbgPrintAimingImplement("pAmplitude: " + pAmplitude);
373 DbgPrintAimingImplement("pTotalTime: " + pTotalTime);
374 DbgPrintAimingImplement("weight: " + weight);
375 DbgPrintAimingImplement("multiplier: " + multiplier);
376 #endif
377
379 y_axis = (Math.Sin((pTotalTime) * 0.8 + 0.6) * pAmplitude) * weight;
380 #ifdef DEVELOPER
381 DbgPrintAimingImplement("y_axis_midproduct: " + y_axis);
382 #endif
385 }
float m_BreathingYAxisOffset
Definition DayZPlayerImplementAiming.c:53
void DbgPrintAimingImplement(string val)
Definition DayZPlayerImplementAiming.c:453
float m_BreathingXAxisOffset
Definition DayZPlayerImplementAiming.c:52
float m_LastSwayMultiplier
Definition DayZPlayerImplementAiming.c:49
Definition EnMath.c:7
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.

Перекрестные ссылки DbgPrintAimingImplement(), Math::Lerp(), m_BreathingXAxisOffset, m_BreathingYAxisOffset, m_LastSwayMultiplier и Math::Sin().

Используется в ProcessAimFilters().

◆ ApplyHorizontalNoise()

void ApplyHorizontalNoise ( out float x_axis,
out float y_axis,
float smooth_time,
float max_velocity_low,
float max_velocity_high,
float velocity_modifier,
float max_distance,
float weight,
float pDt )
inlineprotected
388 {
390 {
391 //acquire new target
392 m_MaxVelocity = m_PlayerPb.GetRandomGeneratorSyncManager().GetRandomInRange(RandomGeneratorSyncUsage.RGSAimingModel, max_velocity_low, max_velocity_high);
393
394 float r = m_PlayerPb.GetRandomGeneratorSyncManager().GetRandomInRange(RandomGeneratorSyncUsage.RGSAimingModel, 0, 1);
395 m_HorizontalTargetValue = (r - 0.5) * 2 * max_distance;
397 }
398
401 float multiplier = Math.Lerp(PlayerSwayConstants.SWAY_MULTIPLIER_DEFAULT,0,m_LastSwayMultiplier); //TODO revise
403 }
RandomGeneratorSyncUsage
Definition RandomGeneratorSyncManager.c:2
float m_MaxVelocity
Definition DayZPlayerImplementAiming.c:60
float m_HorizontalTargetValue
Definition DayZPlayerImplementAiming.c:41
float m_HorizontalNoiseVelocity[1]
Definition DayZPlayerImplementAiming.c:42
float m_HorizontalNoiseXAxisOffset
Definition DayZPlayerImplementAiming.c:51
float m_HorizontalNoise
Definition DayZPlayerImplementAiming.c:40
static proto float SmoothCD(float val, float target, inout float velocity[], float smoothTime, float maxVelocity, float dt)
Does the CD smoothing function - easy in | easy out / S shaped smoothing.
static proto float AbsFloat(float f)
Returns absolute value.

Перекрестные ссылки Math::AbsFloat(), Math::Lerp(), m_HorizontalNoise, m_HorizontalNoiseVelocity, m_HorizontalNoiseXAxisOffset, m_HorizontalTargetValue, m_LastSwayMultiplier, m_MaxVelocity, m_PlayerPb и Math::SmoothCD().

Используется в ProcessAimFilters().

◆ ApplyShakes()

void ApplyShakes ( out float x_axis,
out float y_axis,
int level )
inlineprotected
406 {
407 float weight = level / PlayerBase.SHAKE_LEVEL_MAX;
408 m_ShakeCount++;
409 int shakes_threshold = Math.Round(m_PlayerPb.GetRandomGeneratorSyncManager().GetRandomInRange(RandomGeneratorSyncUsage.RGSAimingModel, 2, 4));
411 {
412 m_ShakeCount = 0;
413
414 float modifier = m_PlayerPb.GetRandomGeneratorSyncManager().GetRandomInRange(RandomGeneratorSyncUsage.RGSAimingModel, 0.45, 0.9);
415 x_axis = modifier * weight * m_PlayerPb.GetRandomGeneratorSyncManager().GetRandomInRange(RandomGeneratorSyncUsage.RGSAimingModel, 0, 1);
416 y_axis = modifier * weight * m_PlayerPb.GetRandomGeneratorSyncManager().GetRandomInRange(RandomGeneratorSyncUsage.RGSAimingModel, 0, 1);
417 }
418 }
int m_ShakeCount
Definition DayZPlayerImplementAiming.c:58
Definition PlayerBaseClient.c:2
static proto float Round(float f)
Returns mathematical round of value.

Перекрестные ссылки m_PlayerPb, m_ShakeCount и Math::Round().

Используется в ProcessAimFilters().

◆ CalculateSpeedMultiplier()

float CalculateSpeedMultiplier ( float stamina)
inlineprotected
343 {
344 return (((1.0 - stamina) * 3.0) + 1.0) * m_SwayModifier[2]; // just 'm_SwayModifier[2]' for HoldBreath
345 }
vector m_SwayModifier
Definition DayZPlayerImplementAiming.c:64

Перекрестные ссылки m_SwayModifier.

Используется в ProcessAimFilters().

◆ CalculateSwayMultiplier()

float CalculateSwayMultiplier ( )
inlineprotected
302 {
303 float max;
304 float time;
305 float time_clamped;
306 float ret;
307
308 if (m_PlayerPb.IsHoldingBreath())
309 {
311
312 if (time < PlayerSwayConstants.SWAY_TIME_IN)
313 {
314 UpdateSwayState(eSwayStates.HOLDBREATH_IN);
315 max = PlayerSwayConstants.SWAY_TIME_IN;
318 }
319 else if (time >= PlayerSwayConstants.SWAY_TIME_IN && time < (PlayerSwayConstants.SWAY_TIME_IN + PlayerSwayConstants.SWAY_TIME_STABLE))
320 {
321 UpdateSwayState(eSwayStates.HOLDBREATH_STABLE);
322 ret = PlayerSwayConstants.SWAY_MULTIPLIER_STABLE;
323 }
324 else
325 {
326 UpdateSwayState(eSwayStates.HOLDBREATH_EXHAUSTED);
327 max = PlayerSwayConstants.SWAY_TIME_EXHAUSTED;
329 ret = Math.Lerp(PlayerSwayConstants.SWAY_MULTIPLIER_STABLE,PlayerSwayConstants.SWAY_MULTIPLIER_EXHAUSTED,(time_clamped/max));
330 }
331 }
332 else
333 {
335 max = PlayerSwayConstants.SWAY_TIME_OUT;
338 }
339 return ret;
340 }
float m_SwayStateStartTime
Definition DayZPlayerImplementAiming.c:47
float m_ReferenceTime
Definition DayZPlayerImplementAiming.c:46
float m_TotalTime
Definition DayZPlayerImplementAiming.c:45
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'.

Перекрестные ссылки Math::Clamp(), Math::Lerp(), m_LastSwayMultiplier, m_PlayerPb, m_ReferenceTime, m_SwayStateStartTime, m_TotalTime и UpdateSwayState().

Используется в ProcessAimFilters().

◆ CalculateWeight()

float CalculateWeight ( int stance_index,
float current_stamina,
float camera_sway_modifier,
bool holding_breath )
inlineprotected
421 {
422 if (m_PlayerDpi.GetCommand_Move() && m_PlayerDpi.GetCommand_Move().IsInRoll())//when the player is rolling, set a constant and disregard everything else
423 {
424 return PlayerSwayConstants.SWAY_ROLL;
425 }
426 float stance_modifier;
427 switch (stance_index)
428 {
429 case DayZPlayerConstants.STANCEIDX_RAISEDERECT:
430 stance_modifier = 0.5;
431 break;
432 case DayZPlayerConstants.STANCEIDX_RAISEDCROUCH:
433 stance_modifier = 0.75;
434 break;
435 case DayZPlayerConstants.STANCEIDX_RAISEDPRONE:
436 stance_modifier = 0.9;
437 break;
438 default:
439 stance_modifier = 0.75;
440 //Debug.LogError("stance mask out of definition");
441 break;
442 }
443
444 #ifdef DEVELOPER
445 DbgPrintAimingImplement("current_stamina: " + current_stamina);
446 DbgPrintAimingImplement("camera_sway_modifier: " + camera_sway_modifier);
447 DbgPrintAimingImplement("holding_breath: " + holding_breath);
448 #endif
449
451 }
bool m_AimNoiseAllowed
Definition DayZPlayerImplementAiming.c:55
const float SWAY_WEIGHT_SCALER
Definition DayZPlayerImplementAiming.c:39
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602

Перекрестные ссылки DbgPrintAimingImplement(), m_AimNoiseAllowed, m_PlayerDpi и SWAY_WEIGHT_SCALER.

Используется в ProcessAimFilters().

◆ DbgPrintAimingImplement()

void DbgPrintAimingImplement ( string val)
inlineprotected
454 {
455 #ifdef DEVELOPER
456 if (GetDayZGame().IsAimLogEnabled())
457 Print("DayZPlayerImplementAiming | " + val);
458 #endif
459 }
DayZGame GetDayZGame()
Definition DayZGame.c:3817
proto void Print(void var)
Prints content of variable to console/log.

Перекрестные ссылки GetDayZGame() и Print().

Используется в ApplyBreathingPattern(), CalculateWeight() и ProcessAimFilters().

◆ GetCurrentSwayState()

int GetCurrentSwayState ( )
inlineprotected
362 {
363 return m_SwayState;
364 }
int m_SwayState
Definition DayZPlayerImplementAiming.c:65

Перекрестные ссылки m_SwayState.

◆ GetSwayWeight()

float GetSwayWeight ( )
inlineprotected
122 {
123 return m_SwayWeight;
124 }
float m_SwayWeight
Definition DayZPlayerImplementAiming.c:59

Перекрестные ссылки m_SwayWeight.

◆ IsAimNoiseAllowed()

bool IsAimNoiseAllowed ( )
inlineprotected
132 {
133 return m_AimNoiseAllowed;
134 }

Перекрестные ссылки m_AimNoiseAllowed.

◆ IsProceduralRecoilEnabled()

bool IsProceduralRecoilEnabled ( )
inlineprotected
142 {
144 }
bool m_ProceduralRecoilEnabled
Definition DayZPlayerImplementAiming.c:56

Перекрестные ссылки m_ProceduralRecoilEnabled.

◆ OnFinisherBegin()

void OnFinisherBegin ( float currentAimY)
inlineprotected
103 {
106 }
float m_StealthAimY_Last
Definition DayZPlayerImplementAiming.c:67
float m_FilterVelocityStealthAimY[1]
Definition DayZPlayerImplementAiming.c:68

Перекрестные ссылки m_FilterVelocityStealthAimY и m_StealthAimY_Last.

◆ OnRaiseBegin()

void OnRaiseBegin ( DayZPlayerImplement player)
inlineprotected
94 {
95 Weapon_Base weapon = Weapon_Base.Cast(player.GetHumanInventory().GetEntityInHands());
96 if (weapon)
97 {
98 m_SwayModifier = weapon.GetPropertyModifierObject().m_SwayModifiers;
99 }
100 }
shorthand
Definition BoltActionRifle_Base.c:6

Перекрестные ссылки m_SwayModifier.

◆ OnSwayStateChange()

void OnSwayStateChange ( int state)
inlineprotected
109 {
110 switch (state)
111 {
112 case eSwayStates.HOLDBREATH_EXHAUSTED:
113 m_PlayerPb.OnHoldBreathExhausted();
114 break;
115
116 default:
117 break;
118 }
119 }

Перекрестные ссылки m_PlayerPb.

Используется в UpdateSwayState().

◆ ProcessAimFilters()

bool ProcessAimFilters ( float pDt,
SDayZPlayerAimingModel pModel,
int stance_index )
inlineprotected

get sway

get recoil

hands offset

cam offset

clamp aim ranges

mouse offset

160 {
161 float breathing_offset_x;
162 float breathing_offset_y;
163
164 float noise_offset_x;
165 float noise_offset_y;
166
167 float shake_offset_x;
168 float shake_offset_y;
169
172
175
176 float kuru_offset_x;
177 float kuru_offset_y;
178
179 float player_stamina = m_PlayerPb.GetStaminaHandler().GetSyncedStaminaNormalized();
180
181 #ifdef DEVELOPER
182 DbgPrintAimingImplement("Player: " + m_PlayerPb + " | ProcessAimFilters | timestamp: " + m_PlayerPb.GetSimulationTimeStamp());
183 #endif
184
185 //negates stamina effect during hold breath
186 if (m_PlayerPb.IsHoldingBreath())
187 {
188 player_stamina = 1;
189 }
191 m_TotalTime += pDt * speed;
192
193 if (m_PlayerPb.IsHoldingBreath() && !m_HoldingBreathSet)
194 {
196 }
197 else if (!m_PlayerPb.IsHoldingBreath() && m_HoldingBreathSet)
198 {
200 }
201
204
205 m_SwayWeight = CalculateWeight( stance_index, player_stamina, 0.5/*m_PlayerPb.m_CameraSwayModifier*/, m_PlayerPb.IsHoldingBreath()) * adjusted_sway_multiplier;
206
210
211 int shake_level = m_PlayerPb.GetShakeLevel();
212 if (shake_level != 0)
213 {
215 }
216
218 if (m_CurrentRecoil)
219 {
221 }
222
223 if (m_KuruShake)
224 {
226 }
227
231
232 #ifdef DEVELOPER
233 DbgPrintAimingImplement("breathing_offset_y: " + breathing_offset_y);
234 DbgPrintAimingImplement("noise_offset_y: " + noise_offset_y);
235 DbgPrintAimingImplement("recoil_offset_hands_y: " + recoil_offset_hands_y);
236 DbgPrintAimingImplement("shake_offset_y: " + shake_offset_y);
237 DbgPrintAimingImplement("kuru_offset_y: " + kuru_offset_y);
238 DbgPrintAimingImplement("pModel.m_fAimYHandsOffset: " + pModel.m_fAimYHandsOffset);
239 #endif
243
244
245 #ifdef DEVELOPER
246 DbgPrintAimingImplement("m_CamShakeY: " + m_CamShakeY);
247 DbgPrintAimingImplement("pModel.m_fAimYCamOffset: " + pModel.m_fAimYCamOffset);
248 #endif
249
251 if (stance_index == DayZPlayerConstants.STANCEIDX_RAISEDPRONE)
252 {
253 float newVal = DayZPlayerUtils.LinearRangeClamp(pModel.m_fCurrentAimX, pModel.m_fCurrentAimY, m_AimXClampRanges);
254 pModel.m_fAimYHandsOffset += newVal - pModel.m_fCurrentAimY;
255 }
256 float absAimY = Math.AbsFloat(pModel.m_fCurrentAimY);
257 pModel.m_fAimYHandsOffset = Math.Clamp(pModel.m_fAimYHandsOffset,absAimY - 89.9,89.9 - absAimY); //'90' leads to rounding errors down the line
258
259 if (m_PlayerDpi.IsInOptics() && m_KuruShake)
260 {
261 //TODO - do not offset mouse
262 }
264 pModel.m_fAimXMouseShift = recoil_offset_mouse_x -kuru_offset_x / 10;
265 pModel.m_fAimYMouseShift = recoil_offset_mouse_y + kuru_offset_y / 10;
266
267 #ifdef DEVELOPER
268 DbgPrintAimingImplement("recoil_offset_mouse_y: " + recoil_offset_mouse_y);
269 DbgPrintAimingImplement("pModel.m_fAimYMouseShift: " + pModel.m_fAimYMouseShift);
270 #endif
271
272 if (m_PlayerPb.IsHoldingBreath() && !m_HoldingBreathSet)
273 {
274 m_HoldingBreathSet = true;
278 }
279 else if (!m_PlayerPb.IsHoldingBreath() && m_HoldingBreathSet)
280 {
281 m_HoldingBreathSet = false;
282 }
283
284 if (!m_PlayerPb.IsHoldingBreath() && m_LastSwayMultiplier == PlayerSwayConstants.SWAY_MULTIPLIER_DEFAULT && m_HorizontalNoiseXAxisOffset != 0)
285 {
289 }
290
291 if (m_PlayerPb.IsHoldingBreath())
292 {
293 m_PlayerPb.DepleteStamina(EStaminaModifiers.HOLD_BREATH,pDt*speed);
294 }
295 #ifdef DEVELOPER
296 DbgPrintAimingImplement("----------------------------");
297 #endif
298 return true;
299 }
void DayZPlayerUtils()
cannot be instantiated
Definition DayZPlayerUtils.c:465
EStaminaModifiers
Definition EStaminaModifiers.c:2
static float m_AimXClampRanges[]
Definition DayZPlayerImplementAiming.c:70
void ApplyShakes(out float x_axis, out float y_axis, int level)
Definition DayZPlayerImplementAiming.c:405
void ApplyBreathingPattern(out float x_axis, out float y_axis, float pAmplitude, float pTotalTime, float weight)
Definition DayZPlayerImplementAiming.c:366
bool m_HoldingBreathSet
Definition DayZPlayerImplementAiming.c:54
float CalculateSpeedMultiplier(float stamina)
Definition DayZPlayerImplementAiming.c:342
float m_CamShakeY
Definition DayZPlayerImplementAiming.c:63
ref KuruShake m_KuruShake
Definition DayZPlayerImplementAiming.c:61
float CalculateSwayMultiplier()
Definition DayZPlayerImplementAiming.c:301
ref RecoilBase m_CurrentRecoil
Definition DayZPlayerImplementAiming.c:57
float m_CamShakeX
Definition DayZPlayerImplementAiming.c:62
void ApplyHorizontalNoise(out float x_axis, out float y_axis, float smooth_time, float max_velocity_low, float max_velocity_high, float velocity_modifier, float max_distance, float weight, float pDt)
Definition DayZPlayerImplementAiming.c:387
float CalculateWeight(int stance_index, float current_stamina, float camera_sway_modifier, bool holding_breath)
Definition DayZPlayerImplementAiming.c:420

Перекрестные ссылки Math::AbsFloat(), ApplyBreathingPattern(), ApplyHorizontalNoise(), ApplyShakes(), CalculateSpeedMultiplier(), CalculateSwayMultiplier(), CalculateWeight(), Math::Clamp(), DayZPlayerUtils(), DbgPrintAimingImplement(), m_AimXClampRanges, m_BreathingXAxisOffset, m_BreathingYAxisOffset, m_CamShakeX, m_CamShakeY, m_CurrentRecoil, m_HoldingBreathSet, m_HorizontalNoiseXAxisOffset, m_KuruShake, m_LastSwayMultiplier, m_PlayerDpi, m_PlayerPb, m_ReferenceTime, m_SwayModifier, m_SwayWeight и m_TotalTime.

◆ ProcessStealthFilters()

bool ProcessStealthFilters ( float pDt,
SDayZPlayerAimingModel pModel )
inlineprotected
153 {
155 pModel.m_fAimYMouseShift = -(pModel.m_fCurrentAimY - m_StealthAimY_Last);
156 return true;
157 }

Перекрестные ссылки m_FilterVelocityStealthAimY, m_StealthAimY_Last и Math::SmoothCD().

◆ RequestKuruShake()

void RequestKuruShake ( float amount)
inlineprotected
88 {
89 if (!m_KuruShake)
90 m_KuruShake = new KuruShake(m_PlayerPb, amount);
91 }
Definition KuruShake.c:2

Перекрестные ссылки m_KuruShake и m_PlayerPb.

◆ SetAimNoiseAllowed()

void SetAimNoiseAllowed ( bool state)
inlineprotected
127 {
129 }

Перекрестные ссылки m_AimNoiseAllowed.

◆ SetCamShakeValues()

void SetCamShakeValues ( float x_axis,
float y_axis )
inlineprotected
147 {
150 }

Перекрестные ссылки m_CamShakeX и m_CamShakeY.

◆ SetProceduralRecoilEnabled()

void SetProceduralRecoilEnabled ( bool state)
inlineprotected
137 {
139 }

Перекрестные ссылки m_ProceduralRecoilEnabled.

◆ SetRecoil()

void SetRecoil ( Weapon_Base weapon)
inlineprotected
80 {
82 {
83 m_CurrentRecoil = weapon.SpawnRecoilObject();
84 }
85 }

Перекрестные ссылки m_CurrentRecoil и m_ProceduralRecoilEnabled.

◆ UpdateSwayState()

bool UpdateSwayState ( int state)
inlineprotected
348 {
349 if (state != m_SwayState)
350 {
355 return true;
356 }
357
358 return false;
359 }
void OnSwayStateChange(int state)
Definition DayZPlayerImplementAiming.c:108
float m_StateStartSwayMultiplier
Definition DayZPlayerImplementAiming.c:50

Перекрестные ссылки m_LastSwayMultiplier, m_StateStartSwayMultiplier, m_SwayState, m_SwayStateStartTime, m_TotalTime и OnSwayStateChange().

Используется в CalculateSwayMultiplier() и DayZPlayerImplementAiming().

Поля

◆ m_AimNoiseAllowed

bool m_AimNoiseAllowed = true
protected

◆ m_AimXClampRanges

float m_AimXClampRanges[] = { -180, -20, 90, 0, -50, 90, 180, -20, 90 }
staticprotected
70{ -180, -20, 90, 0, -50, 90, 180, -20, 90 };

Используется в ProcessAimFilters().

◆ m_BreathingXAxisOffset

float m_BreathingXAxisOffset
protected

Используется в ApplyBreathingPattern() и ProcessAimFilters().

◆ m_BreathingYAxisOffset

float m_BreathingYAxisOffset
protected

Используется в ApplyBreathingPattern() и ProcessAimFilters().

◆ m_CamShakeX

float m_CamShakeX
protected

Используется в ProcessAimFilters() и SetCamShakeValues().

◆ m_CamShakeY

float m_CamShakeY
protected

Используется в ProcessAimFilters() и SetCamShakeValues().

◆ m_CurrentRecoil

ref RecoilBase m_CurrentRecoil
protected

Используется в ProcessAimFilters() и SetRecoil().

◆ m_FilterVelocityStealthAimY

float m_FilterVelocityStealthAimY[1] = {0}
protected
68{0};

Используется в OnFinisherBegin() и ProcessStealthFilters().

◆ m_HoldingBreathSet

bool m_HoldingBreathSet
protected

Используется в ProcessAimFilters().

◆ m_HorizontalNoise

float m_HorizontalNoise
protected

Используется в ApplyHorizontalNoise().

◆ m_HorizontalNoiseVelocity

float m_HorizontalNoiseVelocity[1] = {0}
protected
42{0};

Используется в ApplyHorizontalNoise().

◆ m_HorizontalNoiseXAxisOffset

float m_HorizontalNoiseXAxisOffset
protected

Используется в ApplyHorizontalNoise() и ProcessAimFilters().

◆ m_HorizontalTargetValue

float m_HorizontalTargetValue
protected

Используется в ApplyHorizontalNoise().

◆ m_KuruShake

ref KuruShake m_KuruShake
protected

Используется в ProcessAimFilters() и RequestKuruShake().

◆ m_LastSwayMultiplier

float m_LastSwayMultiplier = PlayerSwayConstants.SWAY_MULTIPLIER_DEFAULT
protected

◆ m_MaxVelocity

float m_MaxVelocity
protected

Используется в ApplyHorizontalNoise().

◆ m_PlayerDpi

DayZPlayerImplement m_PlayerDpi
protected

◆ m_PlayerPb

◆ m_ProceduralRecoilEnabled

bool m_ProceduralRecoilEnabled = true
protected

◆ m_ReferenceTime

float m_ReferenceTime = 0
protected

Используется в CalculateSwayMultiplier() и ProcessAimFilters().

◆ m_ShakeCount

int m_ShakeCount
protected

Используется в ApplyShakes().

◆ m_StateStartSwayMultiplier

float m_StateStartSwayMultiplier
protected

Используется в UpdateSwayState().

◆ m_StealthAimY_Last

float m_StealthAimY_Last
protected

Используется в OnFinisherBegin() и ProcessStealthFilters().

◆ m_SwayModifier

vector m_SwayModifier = "1 1 1"
protected

◆ m_SwayState

int m_SwayState = -1
protected

Используется в GetCurrentSwayState() и UpdateSwayState().

◆ m_SwayStateStartTime

float m_SwayStateStartTime
protected

Используется в CalculateSwayMultiplier() и UpdateSwayState().

◆ m_SwayWeight

float m_SwayWeight
protected

Используется в GetSwayWeight() и ProcessAimFilters().

◆ m_TotalTime

float m_TotalTime
protected

◆ SWAY_WEIGHT_SCALER

const float SWAY_WEIGHT_SCALER = 1
protected

This HeadingModel - Clamps heading

Используется в CalculateWeight().


Объявления и описания членов класса находятся в файле: