Dayz Explorer 1.29.162510
Loading...
Searching...
No Matches
casingleusequantityedible.c
Go to the documentation of this file.
1class CASingleUseQuantityEdible : CASingleUseQuantity
2{
3 void CASingleUseQuantityEdible(float quantity_used_per_action)
4 {
5 m_QuantityUsedPerAction = quantity_used_per_action;
6 }
7
8 override void CalcAndSetQuantity(ActionData action_data)
9 {
10 super.CalcAndSetQuantity(action_data);
11
12 PlayerConsumeData consumeData = new PlayerConsumeData();
13 consumeData.m_Type = EConsumeType.ITEM_CONTINUOUS;
14 consumeData.m_Amount = m_QuantityUsedPerAction;
15 consumeData.m_Source = action_data.m_MainItem;
16
17 consumeData.m_Agents = 0;
18 Edible_Base edibleItem;
19 if (Edible_Base.CastTo(edibleItem, action_data.m_MainItem))
20 {
22 consumeData.m_Agents = action_data.m_Player.GetBloodyHandsPenaltyAgents();
23 }
24
25 if (g_Game.IsServer())
26 {
27 PlayerBase ntarget = PlayerBase.Cast(action_data.m_Target.GetObject());
28 if (ntarget)
29 ntarget.Consume(consumeData);
30 else
31 action_data.m_Player.Consume(consumeData);
32 }
33 }
34}
ActionBase ActionData
Definition actionbase.c:30
void CASingleUseQuantity(float quantity_used_per_action)
int GetConsumptionPenaltyContext()
DayZGame g_Game
Definition dayzgame.c:3942
EConsumeType
Definition econsumetype.c:2
void CalcAndSetQuantity()