DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionForceConsumeSingle.c
См. документацию.
8
10{
12
14 {
15 m_CallbackClass = ActionForceConsumeSingleCB;
16 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_INJECTIONTARGET;
17 m_StanceMask = DayZPlayerConstants.STANCEIDX_ERECT | DayZPlayerConstants.STANCEIDX_CROUCH;
18 m_FullBody = true;
19 m_Text = "#feed";
20 }
21
23 {
24 m_ConditionItem = new CCINonRuined();
25 m_ConditionTarget = new CCTMan(UAMaxDistances.DEFAULT);
26 }
27
32
33 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
34 {
35 if (!super.ActionCondition(player, target, item))
36 return false;
37
38 if (item.GetQuantity() <= item.GetQuantityMin())
39 return false;
40
41 PlayerBase targetPlayer = PlayerBase.Cast(target.GetObject());
42 ConsumeConditionData dta = new ConsumeConditionData(targetPlayer,item);
43 return targetPlayer && targetPlayer.CanEatAndDrink() && targetPlayer.CanConsumeFood(dta) && item.CanBeConsumed(dta);
44 }
45
46 override void OnEndServer(ActionData action_data)
47 {
48 super.OnEndServer(action_data);
49
50 if (action_data.m_MainItem && action_data.m_MainItem.GetQuantity() <= 0)
51 action_data.m_MainItem.SetQuantity(0);
52 }
53
54 override void OnExecuteServer(ActionData action_data)
55 {
56 PlayerBase target = PlayerBase.Cast(action_data.m_Target.GetObject());
57
58 if (target && action_data.m_MainItem)
59 {
60 PlayerConsumeData consumeData = new PlayerConsumeData();
61 consumeData.m_Type = EConsumeType.ITEM_SINGLE_TIME;
62 consumeData.m_Amount = GetConsumedQuantity();
63 consumeData.m_Source = action_data.m_MainItem;
64 consumeData.m_Agents = action_data.m_Player.GetBloodyHandsPenaltyAgents();
65
66 target.Consume(consumeData);
67 }
68 }
69}
override void CreateConditionComponents()
Определения ActionActivateTrap.c:30
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionActivateTrap.c:46
override void OnEndServer(ActionData action_data)
Определения ActionArmExplosive.c:67
int m_CommandUID
Определения ActionBase.c:31
int m_StanceMask
Определения ActionBase.c:33
ActionBase ActionData
Определения ActionBase.c:30
const int DEFAULT_CONSUMED_QUANTITY
Определения ActionConsumeSingle.c:69
int GetConsumedQuantity()
Определения ActionConsumeSingle.c:79
override void OnExecuteServer(ActionData action_data)
Определения ActionDigOutStash.c:57
void ActionForceConsumeSingle()
Определения ActionForceConsumeSingle.c:13
class ActionTargets ActionTarget
EConsumeType
Определения EConsumeType.c:2
ActionData m_ActionData
Определения AnimatedActionBase.c:3
override void CreateActionComponent()
Определения ActionForceConsumeSingle.c:3
Определения CCINonRuined.c:2
Определения CCTMan.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:112
const float DEFAULT
Определения ActionConstants.c:5
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602