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

◆ GetOverrideLevel()

eInjuryHandlerLevels GetOverrideLevel ( eInjuryHandlerLevels unchanged_level)
private

См. определение в файле InjuryHandler.c строка 100

101 {
102 eInjuryHandlerLevels override_level = unchanged_level;
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 {
107 override_level = eInjuryHandlerLevels.PRISTINE;
108 return override_level;
109 }
110
111 if ( m_ForceInjuryAnimMask & eInjuryOverrides.MORPHINE && override_level > eInjuryHandlerLevels.PRISTINE )
112 {
113 override_level = eInjuryHandlerLevels.PRISTINE;
114 }
115
116 if ( m_ForceInjuryAnimMask & eInjuryOverrides.PAIN_KILLERS_LVL1 && override_level > eInjuryHandlerLevels.WORN )
117 {
118 override_level = eInjuryHandlerLevels.WORN;
119 }
120
121 if ( m_ForceInjuryAnimMask & eInjuryOverrides.PAIN_KILLERS_LVL0 && override_level > eInjuryHandlerLevels.DAMAGED )
122 {
123 override_level = eInjuryHandlerLevels.DAMAGED;
124 }
125
126 if ( m_ForceInjuryAnimMask && override_level > eInjuryHandlerLevels.DAMAGED )
127 {
128 override_level = eInjuryHandlerLevels.RUINED;
129 }
130
131 //Broken leg overrides
132 if ( m_ForceInjuryAnimMask & eInjuryOverrides.BROKEN_LEGS_SPLINT && override_level < eInjuryHandlerLevels.DAMAGED )
133 {
134 override_level = eInjuryHandlerLevels.DAMAGED;
135 }
136
137 if ( m_ForceInjuryAnimMask & eInjuryOverrides.BROKEN_LEGS && override_level < eInjuryHandlerLevels.RUINED )
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;
143 override_level = eInjuryHandlerLevels.RUINED;
144 else if (avgLegHealth >= PlayerConstants.BROKEN_LEGS_HIGH_HEALTH_THRESHOLD)
145 override_level = eInjuryHandlerLevels.WORN;
146 else
147 override_level = eInjuryHandlerLevels.DAMAGED;
148 }
149
150 return override_level;
151
152 }
DayZPlayer m_Player
Определения Hand_Events.c:42
eInjuryHandlerLevels
Определения InjuryHandler.c:19
int m_ForceInjuryAnimMask
Определения InjuryHandler.c:57
static const float BROKEN_LEGS_HIGH_HEALTH_THRESHOLD
Определения PlayerConstants.c:230
static const float BROKEN_LEGS_LOW_HEALTH_THRESHOLD
Определения PlayerConstants.c:229
Определения PlayerConstants.c:2

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

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