DayZ 1.29
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 (g_Game.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
DayZGame g_Game
Определения DayZGame.c:3942
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
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'.