DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
BloodRegen.c
См. документацию.
2{
10
11 override bool ActivateCondition(PlayerBase player)
12 {
13 float m_MaxBlood = player.GetMaxHealth("GlobalHealth", "Blood");
14 if ( player.GetHealth("GlobalHealth", "Blood") <= m_MaxBlood )
15 {
16 return true;
17 }
18 else
19 {
20 return false;
21 }
22 }
23
24 override void OnActivate(PlayerBase player)
25 {
26 }
27
28
29 override bool DeactivateCondition(PlayerBase player)
30 {
31 float m_MaxBlood = player.GetMaxHealth("GlobalHealth", "Blood");
32 if ( player.GetHealth("GlobalHealth", "Blood") >= m_MaxBlood )
33 {
34 return true;
35 }
36 else
37 {
38 return false;
39 }
40 }
41
42 override void OnTick(PlayerBase player, float deltaT)
43 {
44 float regen_modifier_water = GetRegenModifierWater( player.GetStatWater().Get() );
45 float regen_modifier_energy = GetRegenModifierEnergy( player.GetStatEnergy().Get() );
46 float blood_regen_speed = PlayerConstants.BLOOD_REGEN_RATE_PER_SEC * regen_modifier_water * regen_modifier_energy;
47 /*
48 PrintString("regen_modifier_water" + regen_modifier_water);
49 PrintString("regen_modifier_energy" + regen_modifier_energy);
50 PrintString("blood_regen_speed" + blood_regen_speed);
51 */
52
53 if ( player.IsUnconscious() && player.GetHealth("GlobalHealth", "Blood") <= PlayerConstants.SL_BLOOD_CRITICAL )
54 {
56 }
57
58 player.AddHealth("","Blood", blood_regen_speed * deltaT );
59 }
60
61 float GetRegenModifierWater(float water)
62 {
64 int water_level = m_Player.GetStatLevelWater();
65
66 /*
67 if( water < PlayerConstants.BLOOD_REGEN_THRESHOLD_WATER_MID ) {modifier = PlayerConstants.BLOOD_REGEN_MODIFIER_WATER_MID}
68 if( water < PlayerConstants.BLOOD_REGEN_THRESHOLD_WATER_LOW ) {modifier = PlayerConstants.BLOOD_REGEN_MODIFIER_WATER_LOW}
69 */
70
71 if( water_level == EStatLevels.MEDIUM ) {modifier = PlayerConstants.BLOOD_REGEN_MODIFIER_WATER_MID}
72 if( water_level >= EStatLevels.LOW ) {modifier = PlayerConstants.BLOOD_REGEN_MODIFIER_WATER_LOW}
73
74 return modifier;
75 }
76
77 float GetRegenModifierEnergy(float energy)
78 {
80 int energy_level = m_Player.GetStatLevelEnergy();
81
82 //if( energy < PlayerConstants.BLOOD_REGEN_THRESHOLD_ENERGY_MID ) {modifier = PlayerConstants.BLOOD_REGEN_MODIFIER_ENERGY_MID}
83 //if( energy < PlayerConstants.BLOOD_REGEN_THRESHOLD_ENERGY_LOW ) {modifier = PlayerConstants.BLOOD_REGEN_MODIFIER_ENERGY_LOW}
84
85 if( energy_level == EStatLevels.MEDIUM ) {modifier = PlayerConstants.BLOOD_REGEN_MODIFIER_ENERGY_MID}
86 if( energy_level >= EStatLevels.LOW ) {modifier = PlayerConstants.BLOOD_REGEN_MODIFIER_ENERGY_LOW}
87
88 return modifier;
89 }
90
91
92};
EStatLevels
Определения EStatLevels.c:2
int m_ID
ID of effect, given by SEffectManager when registered (automatically done when playing through it)
Определения Effect.c:49
DayZPlayer m_Player
Определения Hand_Events.c:42
bool m_TrackActivatedTime
overall time this modifier was active
Определения ModifierBase.c:14
float m_TickIntervalActive
Определения ModifierBase.c:18
float m_TickIntervalInactive
Определения ModifierBase.c:17
const int DEFAULT_TICK_TIME_INACTIVE
Определения ModifiersManager.c:29
enum eModifierSyncIDs DEFAULT_TICK_TIME_ACTIVE
override void OnTick(PlayerBase player, float deltaT)
Определения BloodRegen.c:42
override bool ActivateCondition(PlayerBase player)
Определения BloodRegen.c:11
override void Init()
Определения BloodRegen.c:3
float GetRegenModifierEnergy(float energy)
Определения BloodRegen.c:77
override bool DeactivateCondition(PlayerBase player)
Определения BloodRegen.c:29
override void OnActivate(PlayerBase player)
Определения BloodRegen.c:24
float GetRegenModifierWater(float water)
Определения BloodRegen.c:61
Определения BloodRegen.c:2
Определения BreathVapourMdfr.c:4
Определения PlayerBaseClient.c:2
static const float BLOOD_REGEN_MODIFIER_WATER_MID
Определения PlayerConstants.c:109
static const float SL_BLOOD_CRITICAL
Определения PlayerConstants.c:35
static const float BLOOD_REGEN_MODIFIER_WATER_LOW
Определения PlayerConstants.c:108
static const float BLOOD_REGEN_MODIFIER_ENERGY_HIGH
Определения PlayerConstants.c:106
static const float BLOOD_REGEN_MODIFIER_WATER_HIGH
Определения PlayerConstants.c:110
static const float BLOOD_REGEN_MODIFIER_ENERGY_LOW
Определения PlayerConstants.c:104
static const float UNCONSCIOUS_BLOOD_REGEN_MLTP
Определения PlayerConstants.c:102
static const float BLOOD_REGEN_MODIFIER_ENERGY_MID
Определения PlayerConstants.c:105
static const float BLOOD_REGEN_RATE_PER_SEC
Определения PlayerConstants.c:99
Определения PlayerConstants.c:2
eModifiers
Определения eModifiers.c:2