DayZ Scripts
v1.21.156300 ยท Jun 20, 2023
 
Loading...
Searching...
No Matches
ActionForceConsumeSingle.c
Go to the documentation of this file.
2{
3 override void CreateActionComponent()
4 {
6 }
7}
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 {
26 }
27
29 {
31 }
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 return targetPlayer && targetPlayer.CanEatAndDrink();
43 }
44
45 override void OnEndServer(ActionData action_data)
46 {
47 if (action_data.m_MainItem && action_data.m_MainItem.GetQuantity() <= 0)
48 {
49 action_data.m_MainItem.SetQuantity(0);
50 }
51
52 if (action_data.m_Player.HasBloodyHands() && !action_data.m_Player.GetInventory().FindAttachment(InventorySlots.GLOVES))
53 {
54 PlayerBase target = PlayerBase.Cast(action_data.m_Target.GetObject());
55 if (target)
56 {
57 target.SetBloodyHandsPenalty();
58 }
59 }
60 }
61
62 override void OnExecuteServer(ActionData action_data)
63 {
64 PlayerBase target = PlayerBase.Cast(action_data.m_Target.GetObject());
65
66 if (target && action_data.m_MainItem)
67 {
68 target.Consume(action_data.m_MainItem, GetConsumedQuantity(), EConsumeType.ITEM_SINGLE_TIME);
69 }
70 }
71}
void OnEndServer(ActionData action_data)
ref CCIBase m_ConditionItem
Definition ActionBase.c:55
ref CCTBase m_ConditionTarget
Definition ActionBase.c:56
protected string m_Text
Definition ActionBase.c:49
protected bool m_FullBody
Definition ActionBase.c:52
protected int m_StanceMask
Definition ActionBase.c:53
void ActionForceConsumeSingle()
int GetConsumedQuantity()
ActionForceConsumeSingleCB DEFAULT_CONSUMED_QUANTITY
class ActionTargets ActionTarget
EConsumeType
Definition EConsumeType.c:2
protected ActionData m_ActionData
ItemBase m_MainItem
Definition ActionBase.c:28
PlayerBase m_Player
Definition ActionBase.c:33
ref CABase m_ActionComponent
Definition ActionBase.c:30
ref ActionTarget m_Target
Definition ActionBase.c:32
override void CreateConditionComponents()
Definition ActionPin.c:8
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Definition ActionPin.c:19
protected void OnExecuteServer(ActionData action_data)
Definition CCTMan.c:2
provides access to slot configuration
const float DEFAULT
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602