DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionConsumeSingle.c
См. документацию.
2{
4
6 {
7 m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_LICKBATTERY;
8 m_CommandUIDProne = DayZPlayerConstants.CMD_ACTIONFB_LICKBATTERY;
9
10 m_Text = "#eat";
11 }
12
17
18 override bool HasProneException()
19 {
20 return true;
21 }
22
23 override bool HasTarget()
24 {
25 return false;
26 }
27
33
34 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
35 {
36 ConsumeConditionData dta = new ConsumeConditionData(player,item);
37 return super.ActionCondition(player, target, item) && player.CanEatAndDrink() && player.CanConsumeFood(dta) && item.CanBeConsumed(dta);
38 }
39
40 override void OnExecuteServer(ActionData action_data)
41 {
42 PlayerBase player = action_data.m_Player;
43
44 if (player && action_data.m_MainItem)
45 {
46 PlayerConsumeData consumeData = new PlayerConsumeData();
47 consumeData.m_Type = EConsumeType.ITEM_SINGLE_TIME;
48 consumeData.m_Amount = GetConsumedQuantity();
49 consumeData.m_Source = action_data.m_MainItem;
50 consumeData.m_Agents = action_data.m_Player.GetBloodyHandsPenaltyAgents();
51
52 player.Consume(consumeData);
53 }
54 }
55
56 override void OnEndServer(ActionData action_data)
57 {
58 super.OnEndServer(action_data);
59
60 if (action_data.m_MainItem && (action_data.m_MainItem.GetQuantity() <= 0))
61 action_data.m_MainItem.SetQuantity(0);
62 }
63}
64
66class ActionConsumeSingleCB : ActionSingleUseBaseCB
67{
68 override void CreateActionComponent()
69 {
70 m_ActionData.m_ActionComponent = new CASingleUseQuantityEdible(UAQuantityConsumed.DEFAULT);
71 }
72}
ActionBase ActionData
Определения ActionBase.c:30
class ActionTargets ActionTarget
EConsumeType
Определения EConsumeType.c:2
string m_Text
Определения ActionBase.c:58
ref CCIBase m_ConditionItem
Определения ActionBase.c:64
ref CCTBase m_ConditionTarget
Определения ActionBase.c:65
const int DEFAULT_CONSUMED_QUANTITY
Определения ActionConsumeSingle.c:3
override void OnEndServer(ActionData action_data)
Определения ActionConsumeSingle.c:56
override bool HasTarget()
Определения ActionConsumeSingle.c:23
override bool HasProneException()
Определения ActionConsumeSingle.c:18
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionConsumeSingle.c:34
override void OnExecuteServer(ActionData action_data)
Определения ActionConsumeSingle.c:40
void ActionConsumeSingle()
Определения ActionConsumeSingle.c:5
int GetConsumedQuantity()
Определения ActionConsumeSingle.c:13
override void CreateConditionComponents()
Определения ActionConsumeSingle.c:28
void ActionSingleUseBase()
Определения ActionSingleUseBase.c:31
override void CreateActionComponent()
Определения ActionSingleUseBase.c:3
int m_CommandUID
Определения AnimatedActionBase.c:143
int m_CommandUIDProne
Определения AnimatedActionBase.c:144
Определения 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
const float DEFAULT
Определения ActionConstants.c:5
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602