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

См. исходные тексты.

Структуры данных

class  StaminaConsumers
 
class  StaminaModifierExponential
 
class  StaminaHandler
 

Перечисления

enum  EStaminaMultiplierTypes
 

Функции

void StaminaConsumer (float threshold, float threshold2, bool state)
 
bool GetState ()
 returns one of STATE_...
 
void SetState (bool state)
 
float GetActivationThreshold ()
 
void SetActivationThreshold (float threshold)
 
float GetDrainThreshold ()
 
void SetDrainThreshold (float threshold)
 
void StaminaConsumers ()
 
void RegisterConsumer (EStaminaConsumers consumer, float threshold, float depletion_threshold=-1)
 
bool HasEnoughStaminaFor (EStaminaConsumers consumer, float curStamina, bool isDepleted, float cap)
 
bool HasEnoughStaminaToStart (EStaminaConsumers consumer, float curStamina, bool isDepleted, float cap)
 
void StaminaModifier (int type, float min, float max, float cooldown, float startTime=0, float duration=0)
 
int GetType ()
 
float GetMinValue ()
 
void SetMinValue (float val)
 
float GetMaxValue ()
 
void SetMaxValue (float val)
 
float GetCooldown ()
 
void SetCooldown (float val)
 
float GetStartTime ()
 
void SetStartTime (float val)
 
float GetStartTimeAdjustment ()
 
float GetDuration ()
 
float GetDurationAdjusted ()
 
bool IsInUse ()
 
void SetInUse (bool val)
 
float GetRunTime ()
 
void AddRunTime (float val)
 
void SetRunTimeTick (float val)
 
void ResetRunTime ()
 
void StaminaModifiers ()
 
void RegisterFixed (EStaminaModifiers modifier, float value, float cooldown=GameConstants.STAMINA_REGEN_COOLDOWN_DEPLETION)
 register single value modifier - depletes stamina for that value
 
void RegisterRandomized (EStaminaModifiers modifier, float minValue, float maxValue, float cooldown=GameConstants.STAMINA_REGEN_COOLDOWN_DEPLETION)
 register randomized modifier - stamina will be depleted by value between min and max value;
 
void RegisterLinear (EStaminaModifiers modifier, float startValue, float endValue, float startTime, float duration, float cooldown=GameConstants.STAMINA_REGEN_COOLDOWN_DEPLETION)
 register lerped modifier - depletes stamina for startValue, and, after a startTime, lerps to endValue over duration
 
void RegisterExponential (EStaminaModifiers modifier, float startValue, float exponent, float startTime, float duration, float cooldown=GameConstants.STAMINA_REGEN_COOLDOWN_DEPLETION)
 register exponential modifier - depletes stamina for startValue, and, after a startTime, lerps from 0 to exponent over duration
 
void RegisterExponentialEx (EStaminaModifiers modifier, SMDataExponential data)
 register exponential modifier, extended parameters
 
StaminaModifier GetModifierData (EStaminaModifiers modifier)
 

Переменные

 MASK = 1
 
 FATIGUE
 
 EPINEPHRINE
 
 DROWNING
 
 VOMIT_EXHAUSTION
 
 DISEASE_PNEUMONIA
 
 m_ActivationThreshold
 
bool m_State
 
ref map< EStaminaConsumers, ref StaminaConsumerm_StaminaConsumers
 
 m_InUse = false
 
int m_Type
 
float m_MinValue
 
float m_MaxValue
 
float m_Multiplier
 
float m_Cooldown
 
float m_StartTime
 
float m_StartTimeAdjustment
 
float m_Duration
 
float m_ProgressTime
 
float m_Tick
 
StaminaModifierExponential FIXED = 0
 
const int RANDOMIZED = 1
 
const int LINEAR = 2
 
const int EXPONENTIAL = 3
 
ref map< EStaminaModifiers, ref StaminaModifierm_StaminaModifiers
 

Перечисления

◆ EStaminaMultiplierTypes

2{
3 MASK = 1,
9}
DROWNING
Definition StaminaHandler.c:6
DISEASE_PNEUMONIA
Definition StaminaHandler.c:9
FATIGUE
Definition StaminaHandler.c:4
VOMIT_EXHAUSTION
Definition StaminaHandler.c:7
EPINEPHRINE
Definition StaminaHandler.c:5
MASK
Definition StaminaHandler.c:3

Функции

◆ AddRunTime()

void AddRunTime ( float val)
protected
177{ m_ProgressTime += val; }
float m_ProgressTime
Definition StaminaHandler.c:141
Definition EntityAI.c:95

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

◆ GetActivationThreshold()

float GetActivationThreshold ( )
protected
34{ return m_ActivationThreshold; }
m_ActivationThreshold

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

◆ GetCooldown()

float GetCooldown ( )
protected
162{ return m_Cooldown; }
float m_Cooldown
Definition StaminaHandler.c:141

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

◆ GetDrainThreshold()

float GetDrainThreshold ( )
protected
37{ return m_DrainThreshold; }

◆ GetDuration()

float GetDuration ( )
protected
170{ return m_Duration; }
float m_Duration
Definition StaminaHandler.c:141

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

◆ GetDurationAdjusted()

float GetDurationAdjusted ( )
protected
171{ return m_Duration / m_Tick; }
float m_Tick
Definition StaminaHandler.c:141

Перекрестные ссылки m_Duration и m_Tick.

◆ GetMaxValue()

float GetMaxValue ( )
protected
159{ return m_MaxValue; }
float m_MaxValue
Definition StaminaHandler.c:141

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

◆ GetMinValue()

float GetMinValue ( )
protected
156{ return m_MinValue; }
float m_MinValue
Definition StaminaHandler.c:141

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

◆ GetModifierData()

StaminaModifier GetModifierData ( EStaminaModifiers modifier)
protected
256 {
257 return m_StaminaModifiers.Get(modifier);
258 }
ref map< EStaminaModifiers, ref StaminaModifier > m_StaminaModifiers
Definition StaminaHandler.c:204

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

◆ GetRunTime()

float GetRunTime ( )
protected
176{ return m_ProgressTime; }

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

◆ GetStartTime()

float GetStartTime ( )
protected
165{ return m_StartTime; } //Actual game time (progressive modifiers only)
float m_StartTime
Definition StaminaHandler.c:141

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

◆ GetStartTimeAdjustment()

float GetStartTimeAdjustment ( )
protected
168{return m_StartTimeAdjustment;} //adjustment to current time (progressive modifiers only)
float m_StartTimeAdjustment
Definition StaminaHandler.c:141

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

◆ GetState()

bool GetState ( )
protected

returns one of STATE_...

returns the state of climb (enum value of ClimbStates);

31{ return m_State; }
bool m_State
Definition StaminaHandler.c:22

◆ GetType()

int GetType ( )
protected
154{ return m_Type; }
int m_Type
Definition StaminaHandler.c:140

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

◆ HasEnoughStaminaFor()

bool HasEnoughStaminaFor ( EStaminaConsumers consumer,
float curStamina,
bool isDepleted,
float cap )
protected
66 {
68 {
70
71 if ( consumer != EStaminaConsumers.SPRINT )
72 {
73 if ( (isDepleted || (curStamina < sc.GetDrainThreshold()/* && curStamina < cap*/)) )
74 {
75 sc.SetState(false);
76 return false;
77 }
78 }
79 else
80 {
81 if ( !isDepleted )
82 {
83 if ( sc.GetState() )
84 {
85 sc.SetState(true);
86 return true;
87 }
88 }
89 else
90 {
91 sc.SetState(false);
92 return false;
93 }
94 }
95
96 if ( curStamina > sc.GetDrainThreshold() || curStamina == cap ) //Sometimes player can't go up to drain threshold
97 {
98 sc.SetState(true);
99 return true;
100 }
101 }
102
103 return false;
104 }
EStaminaConsumers
Definition EStaminaConsumers.c:2
void StaminaConsumer(float threshold, float threshold2, bool state)
Definition StaminaHandler.c:24
ref map< EStaminaConsumers, ref StaminaConsumer > m_StaminaConsumers
Definition StaminaHandler.c:43

◆ HasEnoughStaminaToStart()

bool HasEnoughStaminaToStart ( EStaminaConsumers consumer,
float curStamina,
bool isDepleted,
float cap )
protected
107 {
109 {
111
112 if ( (isDepleted || (curStamina < sc.GetActivationThreshold() && curStamina < cap)) )
113 {
114 sc.SetState(false);
115 return false;
116 }
117 else
118 {
119 sc.SetState(true);
120 return true;
121 }
122 }
123
124 return false;
125 }

◆ IsInUse()

bool IsInUse ( )
protected
173{ return m_InUse; }
m_InUse

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

◆ RegisterConsumer()

void RegisterConsumer ( EStaminaConsumers consumer,
float threshold,
float depletion_threshold = -1 )
protected

init of StaminaConsumer - threshold, state

51 {
52 if (depletion_threshold == -1)
53 {
55 }
56
57 if ( !m_StaminaConsumers.Contains(consumer) )
58 {
62 }
63 }

◆ RegisterExponential()

void RegisterExponential ( EStaminaModifiers modifier,
float startValue,
float exponent,
float startTime,
float duration,
float cooldown = GameConstants.STAMINA_REGEN_COOLDOWN_DEPLETION )
protected

register exponential modifier - depletes stamina for startValue, and, after a startTime, lerps from 0 to exponent over duration

242 {
245 }
void StaminaModifier(int type, float min, float max, float cooldown, float startTime=0, float duration=0)
Definition StaminaHandler.c:143
const int EXPONENTIAL
Definition StaminaHandler.c:202

Перекрестные ссылки EXPONENTIAL, m_StaminaModifiers и StaminaModifier().

◆ RegisterExponentialEx()

void RegisterExponentialEx ( EStaminaModifiers modifier,
SMDataExponential data )
protected

register exponential modifier, extended parameters

249 {
250 StaminaModifierExponential smex = new StaminaModifierExponential(EXPONENTIAL, data.m_BaseValue, data.m_Exponent, data.m_Cooldown, data.m_StartTimeAdjustment, data.m_Duration);
251 smex.SetData(data);
253 }
Definition StaminaHandler.c:183

Перекрестные ссылки EXPONENTIAL и m_StaminaModifiers.

◆ RegisterFixed()

void RegisterFixed ( EStaminaModifiers modifier,
float value,
float cooldown = GameConstants.STAMINA_REGEN_COOLDOWN_DEPLETION )
protected

register single value modifier - depletes stamina for that value

init of StaminaModifier - type and min, max values (min is not relevant for that type)

213 {
214 if ( !m_StaminaModifiers.Contains(modifier) )
215 {
217 StaminaModifier sm = new StaminaModifier(FIXED, -1, value, cooldown);
219 }
220 }
StaminaModifierExponential FIXED

Перекрестные ссылки FIXED, m_StaminaModifiers и StaminaModifier().

◆ RegisterLinear()

void RegisterLinear ( EStaminaModifiers modifier,
float startValue,
float endValue,
float startTime,
float duration,
float cooldown = GameConstants.STAMINA_REGEN_COOLDOWN_DEPLETION )
protected

register lerped modifier - depletes stamina for startValue, and, after a startTime, lerps to endValue over duration

235 {
238 }
const int LINEAR
Definition StaminaHandler.c:201

Перекрестные ссылки LINEAR, m_StaminaModifiers и StaminaModifier().

◆ RegisterRandomized()

void RegisterRandomized ( EStaminaModifiers modifier,
float minValue,
float maxValue,
float cooldown = GameConstants.STAMINA_REGEN_COOLDOWN_DEPLETION )
protected

register randomized modifier - stamina will be depleted by value between min and max value;

init of StaminaModifier - type, min, max values

224 {
225 if ( !m_StaminaModifiers.Contains(modifier) )
226 {
228 StaminaModifier sm = new StaminaModifier(RANDOMIZED, minValue, maxValue, cooldown);
230 }
231 }
const int RANDOMIZED
Definition StaminaHandler.c:200

Перекрестные ссылки m_StaminaModifiers, RANDOMIZED и StaminaModifier().

◆ ResetRunTime()

void ResetRunTime ( )
protected
179{ m_ProgressTime = 0 }

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

◆ SetActivationThreshold()

void SetActivationThreshold ( float threshold)
protected

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

◆ SetCooldown()

void SetCooldown ( float val)
protected
163{ m_Cooldown = val; }

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

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

◆ SetDrainThreshold()

void SetDrainThreshold ( float threshold)
protected

◆ SetInUse()

void SetInUse ( bool val)
protected
174{ m_InUse = val; }

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

◆ SetMaxValue()

void SetMaxValue ( float val)
protected
160{ m_MaxValue = val; }

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

◆ SetMinValue()

void SetMinValue ( float val)
protected
157{ m_MinValue = val; }

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

◆ SetRunTimeTick()

void SetRunTimeTick ( float val)
protected
178{ m_Tick = val; }

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

◆ SetStartTime()

void SetStartTime ( float val)
protected
166{ m_StartTime = val; }

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

◆ SetState()

◆ StaminaConsumer()

void StaminaConsumer ( float threshold,
float threshold2,
bool state )
protected
25 {
26 m_ActivationThreshold = threshold; //can be activated if above this threshold
27 m_DrainThreshold = threshold2; //can continually drain until it reaches this threshold
28 m_State = state;
29 }

Перекрестные ссылки m_ActivationThreshold и m_State.

Используется в StaminaConsumers::HasEnoughStaminaFor(), StaminaConsumers::HasEnoughStaminaToStart() и StaminaConsumers::RegisterConsumer().

◆ StaminaConsumers()

void StaminaConsumers ( )
protected

◆ StaminaModifier()

void StaminaModifier ( int type,
float min,
float max,
float cooldown,
float startTime = 0,
float duration = 0 )
protected
144 {
145 m_Type = type;
146 m_MinValue = min;
147 m_MaxValue = max;
151 m_Tick = 1;
152 }

Перекрестные ссылки m_Cooldown, m_Duration, m_MaxValue, m_MinValue, m_StartTimeAdjustment, m_Tick и m_Type.

Используется в RegisterExponential(), RegisterFixed(), RegisterLinear() и RegisterRandomized().

◆ StaminaModifiers()

void StaminaModifiers ( )
protected

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

Используется в StaminaHandler::RegisterStaminaModifiers().

Переменные

◆ DISEASE_PNEUMONIA

DISEASE_PNEUMONIA

◆ DROWNING

@ DROWNING

◆ EPINEPHRINE

EPINEPHRINE

◆ EXPONENTIAL

const int EXPONENTIAL = 3
protected

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

◆ FATIGUE

FATIGUE

◆ FIXED

StaminaModifierExponential FIXED = 0
protected

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

◆ LINEAR

const int LINEAR = 2
protected

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

◆ m_ActivationThreshold

m_ActivationThreshold

◆ m_Cooldown

float m_Cooldown
protected

Используется в GetCooldown(), Init(), SetCooldown() и StaminaModifier().

◆ m_Duration

float m_Duration
protected

◆ m_InUse

m_InUse = false
protected

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

◆ m_MaxValue

float m_MaxValue
protected

◆ m_MinValue

float m_MinValue
protected

◆ m_Multiplier

float m_Multiplier
protected

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

◆ m_ProgressTime

float m_ProgressTime
protected

Используется в AddRunTime(), GetRunTime() и ResetRunTime().

◆ m_StaminaConsumers

ref map<EStaminaConsumers, ref StaminaConsumer> m_StaminaConsumers
protected

◆ m_StaminaModifiers

◆ m_StartTime

float m_StartTime
protected

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

◆ m_StartTimeAdjustment

float m_StartTimeAdjustment
protected

Используется в GetStartTimeAdjustment(), Init() и StaminaModifier().

◆ m_State

bool m_State
protected

◆ m_Tick

◆ m_Type

int m_Type
protected

◆ MASK

MASK = 1

◆ RANDOMIZED

const int RANDOMIZED = 1
protected

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

◆ VOMIT_EXHAUSTION

VOMIT_EXHAUSTION