DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
CAContinuousQuantityEdible.c
См. документацию.
2{
3 protected float m_InitItemQuantity;
4 protected float m_SpentQuantityTotal;
6
7 void CAContinuousQuantityEdible(float quantity_used_per_second, float time_to_repeat)
8 {
9 m_QuantityUsedPerSecondStart = quantity_used_per_second;
10
11 m_DefaultTimeToRepeat = time_to_repeat;
14 }
15
16 override void Setup(ActionData action_data)
17 {
18 super.Setup(action_data);
19
20 if (m_InitItemQuantity < 0)
21 m_InitItemQuantity = action_data.m_MainItem.GetQuantity();
22
24 //qty adjustments based on item properties:
25 if (action_data.m_MainItem.GetTemperature() > PlayerConstants.CONSUMPTION_DAMAGE_TEMP_THRESHOLD)
27 }
28
29 override void CalcAndSetQuantity(ActionData action_data)
30 {
31 if (m_SpentUnits)
32 {
35
37 }
38
39 PlayerConsumeData consumeData = new PlayerConsumeData();
40 consumeData.m_Type = EConsumeType.ITEM_CONTINUOUS;
41 consumeData.m_Amount = m_SpentQuantity;
42 consumeData.m_Source = action_data.m_MainItem;
43
44 consumeData.m_Agents = 0;
45 Edible_Base edibleItem;
46 if (Edible_Base.CastTo(edibleItem, action_data.m_MainItem))
47 {
49 consumeData.m_Agents = action_data.m_Player.GetBloodyHandsPenaltyAgents();
50 }
51
52 if (GetGame().IsServer())
53 {
54 PlayerBase ntarget = PlayerBase.Cast(action_data.m_Target.GetObject());
55 if (ntarget)
56 ntarget.Consume(consumeData);
57 else
58 action_data.m_Player.Consume(consumeData);
59 }
60 }
61
62 override float GetProgress()
63 {
64 if (m_SpentQuantity > 0)
66 else
68 }
69}
ActionBase ActionData
Определения ActionBase.c:30
EConsumeType
Определения EConsumeType.c:2
EConsumptionPenaltyContext
Определения EConsumptionPenaltyContext.c:2
void SetACData(Param units)
Определения CABase.c:40
void CAContinuousQuantityEdible(float quantity_used_per_second, float time_to_repeat)
Определения CAContinuousQuantityEdible.c:7
override void Setup(ActionData action_data)
Определения CAContinuousQuantityEdible.c:16
override void CalcAndSetQuantity(ActionData action_data)
Определения CAContinuousQuantityEdible.c:29
override float GetProgress()
Определения CAContinuousQuantityEdible.c:62
ref Param1< float > m_SpentUnits
Определения CAContinuousQuantityRepeat.c:10
void CAContinuousQuantityRepeat(float quantity_used_per_second, float time_to_repeat)
Определения CAContinuousQuantityRepeat.c:12
int GetConsumptionPenaltyContext()
Определения Edible_Base.c:692
Определения Edible_Base.c:2
Определения EnMath.c:7
Определения PlayerBaseClient.c:2
static const float CONSUMPTION_DAMAGE_TEMP_THRESHOLD
Определения PlayerConstants.c:146
Определения PlayerConstants.c:2
EConsumeType m_Type
Определения PlayerConsumeData.c:8
float m_Amount
Определения PlayerConsumeData.c:3
int m_Agents
Определения PlayerConsumeData.c:4
ItemBase m_Source
Определения PlayerConsumeData.c:7
const float CONSUMPTION_SLOWDOWN_COEF_HOT
Определения ActionConstants.c:175
Определения ActionConstants.c:173
proto native CGame GetGame()
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'.