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

◆ GetConsumedQuantity()

int CreateActionComponent::GetConsumedQuantity ( )

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

80{
81 const int DEFAULT_CONSUMED_QUANTITY = 1;
82
84 {
85 m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_LICKBATTERY;
86 m_CommandUIDProne = DayZPlayerConstants.CMD_ACTIONFB_LICKBATTERY;
87
88 m_Text = "#eat";
89 }
90
92 {
94 }
95
96 override bool HasProneException()
97 {
98 return true;
99 }
100
101 override bool HasTarget()
102 {
103 return false;
104 }
105
106 override void CreateConditionComponents()
107 {
108 m_ConditionItem = new CCINotRuinedAndEmpty();
109 m_ConditionTarget = new CCTSelf();
110 }
111
112 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
113 {
114 ConsumeConditionData dta = new ConsumeConditionData(player,item);
115 return super.ActionCondition(player, target, item) && player.CanEatAndDrink() && player.CanConsumeFood(dta) && item.CanBeConsumed(dta);
116 }
117
118 override void OnExecuteServer(ActionData action_data)
119 {
120 PlayerBase player = action_data.m_Player;
121
122 if (player && action_data.m_MainItem)
123 {
124 PlayerConsumeData consumeData = new PlayerConsumeData();
125 consumeData.m_Type = EConsumeType.ITEM_SINGLE_TIME;
126 consumeData.m_Amount = GetConsumedQuantity();
127 consumeData.m_Source = action_data.m_MainItem;
128 consumeData.m_Agents = action_data.m_Player.GetBloodyHandsPenaltyAgents();
129
130 player.Consume(consumeData);
131 }
132 }
133
134 override void OnEndServer(ActionData action_data)
135 {
136 super.OnEndServer(action_data);
137
138 if (action_data.m_MainItem && (action_data.m_MainItem.GetQuantity() <= 0))
139 action_data.m_MainItem.SetQuantity(0);
140 }
141}
142
144class ActionConsumeSingleCB : ActionSingleUseBaseCB
145{
146 override void CreateActionComponent()
147 {
148 m_ActionData.m_ActionComponent = new CASingleUseQuantityEdible(UAQuantityConsumed.DEFAULT);
149 }
150}
int m_CommandUIDProne
Определения ActionBase.c:32
int m_CommandUID
Определения ActionBase.c:31
ActionBase ActionData
Определения ActionBase.c:30
override void OnEndServer(ActionData action_data)
Определения ActionConsumeSingle.c:122
const int DEFAULT_CONSUMED_QUANTITY
Определения ActionConsumeSingle.c:69
int GetConsumedQuantity()
Определения ActionConsumeSingle.c:79
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionConsumeSingle.c:100
void ActionConsumeSingle()
Определения ActionConsumeSingle.c:71
override void OnExecuteServer(ActionData action_data)
Определения ActionConsumeSingle.c:106
override bool HasProneException()
Определения ActionConsumeSingle.c:84
override void CreateConditionComponents()
Определения ActionConsumeSingle.c:94
override bool HasTarget()
Определения ActionConsumeSingle.c:89
class ActionTargets ActionTarget
EConsumeType
Определения EConsumeType.c:2
override void CreateActionComponent()
Определения ActionSingleUseBase.c:3
Определения CCTSelf.c:2
Определения InventoryItem.c:731
Определения PlayerBaseClient.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
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602

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