Dayz 1.25
Dayz Code Explorer by KGB
Загрузка...
Поиск...
Не найдено
Файл InjuryHandler.c

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

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

class  InjuryHandlerThresholds
 
class  InjuryAnimValues
 

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

enum  eInjuryHandlerLevels {
  PRISTINE , WORN , DAMAGED , BADLY_DAMAGED ,
  RUINED
}
 

Функции

void InjuryAnimationHandler (PlayerBase player)
 
bool IsInjuryAnimEnabled ()
 
float GetInjuryAnimValue ()
 
ScriptInvoker GetInvoker ()
 
void Update (float deltaT)
 
eInjuryHandlerLevels GetOverrideLevel (eInjuryHandlerLevels unchanged_level)
 
void CheckValue (bool forceUpdate=false)
 
void Synchronize (eInjuryHandlerLevels level)
 
void SendValue (eInjuryHandlerLevels level)
 
void SetInjuryCommandParams (bool enable, eInjuryHandlerLevels level)
 
eInjuryHandlerLevels GetInjuryLevel (float health)
 
float GetInjuryValue (eInjuryHandlerLevels level)
 

Переменные

enum eInjuryHandlerLevels NONE = 0
 MUST BE POW2.
 
enum eInjuryHandlerLevels MORPHINE = 1
 
enum eInjuryHandlerLevels PAIN_KILLERS_LVL0 = 2
 
enum eInjuryHandlerLevels PAIN_KILLERS_LVL1 = 4
 
enum eInjuryHandlerLevels BROKEN_LEGS = 8
 
enum eInjuryHandlerLevels BROKEN_LEGS_SPLINT = 16
 
enum eInjuryHandlerLevels PRONE_ANIM_OVERRIDE = 32
 
enum eInjuryHandlerLevels VALUE_CHECK_INTERVAL = 5
 
const float SENSITIVTY_PERCENTAGE = 1
 
ref ScriptInvoker m_ChangedStateInvoker = new ScriptInvoker()
 
float m_TimeSinceLastTick = VALUE_CHECK_INTERVAL + 1
 
float m_LastUpdate
 
eInjuryHandlerLevels m_LastHealthUpdate
 
float m_HealthMaxValue
 
PlayerBase m_Player
 
bool m_AnimationChange = false
 owner
 
bool m_InjuryAnimEnabled = false
 
float m_InjuryAnimDamageValue = 0
 
int m_ForceInjuryAnimMask
 

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

◆ eInjuryHandlerLevels

Элементы перечислений
PRISTINE 
WORN 
DAMAGED 
BADLY_DAMAGED 
RUINED 
19{
21 WORN,
22 DAMAGED,
24 RUINED,
25}
@ RUINED
Definition InjuryHandler.c:24
@ BADLY_DAMAGED
Definition InjuryHandler.c:23
@ DAMAGED
Definition InjuryHandler.c:22
@ PRISTINE
Definition InjuryHandler.c:20
@ WORN
Definition InjuryHandler.c:21

Функции

◆ CheckValue()

void CheckValue ( bool forceUpdate = false)
private
155 {
156 float health_current_normalized = m_Player.GetHealth("","Health") / m_HealthMaxValue;
158
160 {
162 }
163
165 {
170 }
171 }
void Synchronize()
Definition CombinationLock.c:151
ref ScriptInvoker m_ChangedStateInvoker
Definition InjuryHandler.c:45
eInjuryHandlerLevels GetOverrideLevel(eInjuryHandlerLevels unchanged_level)
Definition InjuryHandler.c:100
eInjuryHandlerLevels m_LastHealthUpdate
Definition InjuryHandler.c:49
float m_HealthMaxValue
Definition InjuryHandler.c:50
PlayerBase m_Player
Definition InjuryHandler.c:53
eInjuryHandlerLevels
Definition InjuryHandler.c:19
int m_ForceInjuryAnimMask
Definition InjuryHandler.c:57
eInjuryHandlerLevels GetInjuryLevel(float health)
Definition InjuryHandler.c:192
void SendValue(eInjuryHandlerLevels level)
Definition InjuryHandler.c:180
Definition EntityAI.c:95

Перекрестные ссылки GetInjuryLevel(), GetOverrideLevel(), m_ChangedStateInvoker, m_ForceInjuryAnimMask, m_HealthMaxValue, m_LastHealthUpdate, m_Player, SendValue() и Synchronize().

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

◆ GetInjuryAnimValue()

float GetInjuryAnimValue ( )
private
71 {
73 }
float m_InjuryAnimDamageValue
Definition InjuryHandler.c:56

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

◆ GetInjuryLevel()

eInjuryHandlerLevels GetInjuryLevel ( float health)
private
193 {
195 {
196 return eInjuryHandlerLevels.RUINED;
197 }
198
200 {
201 return eInjuryHandlerLevels.BADLY_DAMAGED;
202 }
203
205 {
206 return eInjuryHandlerLevels.DAMAGED;
207 }
208
210 {
211 return eInjuryHandlerLevels.WORN;
212 }
213
214 return eInjuryHandlerLevels.PRISTINE;
215 }
Definition InjuryHandler.c:2
const float WORN
Definition InjuryHandler.c:3
const float RUINED
Definition InjuryHandler.c:6
const float DAMAGED
Definition InjuryHandler.c:4
const float BADLY_DAMAGED
Definition InjuryHandler.c:5

Перекрестные ссылки InjuryHandlerThresholds::BADLY_DAMAGED, InjuryHandlerThresholds::DAMAGED, InjuryHandlerThresholds::RUINED и InjuryHandlerThresholds::WORN.

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

◆ GetInjuryValue()

float GetInjuryValue ( eInjuryHandlerLevels level)
private
219 {
220 switch ( level )
221 {
222 case eInjuryHandlerLevels.RUINED:
223 {
224 return InjuryAnimValues.LVL4;
225 }
226 case eInjuryHandlerLevels.BADLY_DAMAGED:
227 {
228 return InjuryAnimValues.LVL3;
229 }
230 case eInjuryHandlerLevels.DAMAGED:
231 {
232 return InjuryAnimValues.LVL2;
233 }
234 case eInjuryHandlerLevels.WORN:
235 {
236 return InjuryAnimValues.LVL1;
237 }
238 case eInjuryHandlerLevels.PRISTINE:
239 {
240 return InjuryAnimValues.LVL0;
241 }
242 default:
243 Error("Undefined Injury level");
244 }
245 return 0;
246 }
Definition InjuryHandler.c:10
const float LVL4
Definition InjuryHandler.c:15
const float LVL2
Definition InjuryHandler.c:13
const float LVL3
Definition InjuryHandler.c:14
const float LVL1
Definition InjuryHandler.c:12
const float LVL0
Definition InjuryHandler.c:11
void Error(string err)
Messagebox with error message.
Definition EnDebug.c:90

Перекрестные ссылки Error(), InjuryAnimValues::LVL0, InjuryAnimValues::LVL1, InjuryAnimValues::LVL2, InjuryAnimValues::LVL3 и InjuryAnimValues::LVL4.

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

◆ GetInvoker()

ScriptInvoker GetInvoker ( )
private
76 {
78 }

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

◆ GetOverrideLevel()

eInjuryHandlerLevels GetOverrideLevel ( eInjuryHandlerLevels unchanged_level)
private
101 {
103
104 //Whatever the case, prone will always use PRISTINE anim level as alternative anim level(s) are not interesting gameplaywise
105 if ( m_ForceInjuryAnimMask & eInjuryOverrides.PRONE_ANIM_OVERRIDE && override_level > eInjuryHandlerLevels.PRISTINE )
106 {
108 return override_level;
109 }
110
112 {
114 }
115
117 {
119 }
120
121 if ( m_ForceInjuryAnimMask & eInjuryOverrides.PAIN_KILLERS_LVL0 && override_level > eInjuryHandlerLevels.DAMAGED )
122 {
124 }
125
127 {
129 }
130
131 //Broken leg overrides
132 if ( m_ForceInjuryAnimMask & eInjuryOverrides.BROKEN_LEGS_SPLINT && override_level < eInjuryHandlerLevels.DAMAGED )
133 {
135 }
136
138 {
139 //Average leg health used to determine which animation to use
140 float avgLegHealth = m_Player.GetHealth("RightLeg","") + m_Player.GetHealth("LeftLeg","") + m_Player.GetHealth("RightFoot","") + m_Player.GetHealth("LeftFoot","");
141 avgLegHealth *= 0.25; //divide by 4 to make the average leg health;
146 else
148 }
149
150 return override_level;
151
152 }
Definition PlayerConstants.c:2
static const float BROKEN_LEGS_HIGH_HEALTH_THRESHOLD
Definition PlayerConstants.c:216
static const float BROKEN_LEGS_LOW_HEALTH_THRESHOLD
Definition PlayerConstants.c:215

Перекрестные ссылки PlayerConstants::BROKEN_LEGS_HIGH_HEALTH_THRESHOLD, PlayerConstants::BROKEN_LEGS_LOW_HEALTH_THRESHOLD, m_ForceInjuryAnimMask и m_Player.

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

◆ InjuryAnimationHandler()

void InjuryAnimationHandler ( PlayerBase player)
private
60 {
62 m_HealthMaxValue = m_Player.GetMaxHealth("", "Health");
63 }

Перекрестные ссылки m_HealthMaxValue и m_Player.

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

◆ IsInjuryAnimEnabled()

bool IsInjuryAnimEnabled ( )
private
66 {
68 }
bool m_InjuryAnimEnabled
Definition InjuryHandler.c:55

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

◆ SendValue()

void SendValue ( eInjuryHandlerLevels level)
private
181 {
183 }
Definition DayZPlayerSyncJunctures.c:5
static void SendInjury(DayZPlayer pPlayer, bool pEnable, eInjuryHandlerLevels level)
Definition DayZPlayerSyncJunctures.c:143

Перекрестные ссылки m_Player и DayZPlayerSyncJunctures::SendInjury().

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

◆ SetInjuryCommandParams()

void SetInjuryCommandParams ( bool enable,
eInjuryHandlerLevels level )
private
186 {
187 m_AnimationChange = true;
190 }
float GetInjuryValue(eInjuryHandlerLevels level)
Definition InjuryHandler.c:218
bool m_AnimationChange
owner
Definition InjuryHandler.c:54

Перекрестные ссылки GetInjuryValue(), m_AnimationChange, m_InjuryAnimDamageValue и m_InjuryAnimEnabled.

◆ Synchronize()

void Synchronize ( eInjuryHandlerLevels level)
private
174 {
175 m_Player.m_HealthLevel = level;
176 //Print("m_Player.m_HealthLevel:" + m_Player.m_HealthLevel);
177 m_Player.SetSynchDirty();
178 }

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

◆ Update()

void Update ( float deltaT)
private
81 {
83 {
84 m_Player.GetCommandModifier_Additives().SetInjured(m_InjuryAnimDamageValue, m_InjuryAnimEnabled);
85 m_AnimationChange = false;
86 }
87
88 if ( GetGame().IsClient() )
89 return;
90
92
94 {
95 CheckValue();
97 }
98 }
void CheckValue(bool forceUpdate=false)
Definition InjuryHandler.c:154
enum eInjuryHandlerLevels VALUE_CHECK_INTERVAL
float m_TimeSinceLastTick
Definition InjuryHandler.c:47
proto native CGame GetGame()

Перекрестные ссылки CheckValue(), GetGame(), m_AnimationChange, m_InjuryAnimDamageValue, m_InjuryAnimEnabled, m_Player, m_TimeSinceLastTick и VALUE_CHECK_INTERVAL.

Переменные

◆ BROKEN_LEGS

enum eInjuryHandlerLevels BROKEN_LEGS = 8

◆ BROKEN_LEGS_SPLINT

enum eInjuryHandlerLevels BROKEN_LEGS_SPLINT = 16

◆ m_AnimationChange

bool m_AnimationChange = false
private

owner

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

◆ m_ChangedStateInvoker

ref ScriptInvoker m_ChangedStateInvoker = new ScriptInvoker()

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

◆ m_ForceInjuryAnimMask

int m_ForceInjuryAnimMask
private

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

◆ m_HealthMaxValue

float m_HealthMaxValue

Используется в CheckValue(), Managed::Init() и InjuryAnimationHandler().

◆ m_InjuryAnimDamageValue

float m_InjuryAnimDamageValue = 0
private

Используется в GetInjuryAnimValue(), SetInjuryCommandParams() и Update().

◆ m_InjuryAnimEnabled

bool m_InjuryAnimEnabled = false
private

Используется в IsInjuryAnimEnabled(), SetInjuryCommandParams() и Update().

◆ m_LastHealthUpdate

◆ m_LastUpdate

float m_LastUpdate

◆ m_Player

PlayerBase m_Player
private

◆ m_TimeSinceLastTick

float m_TimeSinceLastTick = VALUE_CHECK_INTERVAL + 1

Используется в Managed::OnScheduledTick() и Update().

◆ MORPHINE

enum eInjuryHandlerLevels MORPHINE = 1

◆ NONE

MUST BE POW2.

◆ PAIN_KILLERS_LVL0

enum eInjuryHandlerLevels PAIN_KILLERS_LVL0 = 2

◆ PAIN_KILLERS_LVL1

enum eInjuryHandlerLevels PAIN_KILLERS_LVL1 = 4

◆ PRONE_ANIM_OVERRIDE

enum eInjuryHandlerLevels PRONE_ANIM_OVERRIDE = 32

◆ SENSITIVTY_PERCENTAGE

const float SENSITIVTY_PERCENTAGE = 1

Используется в Managed::CheckBlood() и Managed::CheckHealth().

◆ VALUE_CHECK_INTERVAL

enum eInjuryHandlerLevels VALUE_CHECK_INTERVAL = 5

Используется в Managed::OnScheduledTick() и Update().