38 if (!targetItem.
IsTakeable() || targetItem.IsBeingPlaced() || targetItem.IsSetForDeletion() || ( targetItem.GetHierarchyParent() && !targetParent.CanUseConstruction()) || ((targetParent && !targetItem.
CanDetachAttachment(targetParent)) || (targetParent && !targetParent.CanReleaseAttachment(targetItem))))
46 return player.GetInventory().CanAddEntityIntoHands(targetItem);
56 super.OnEndServer(action_data);
59 if (takenEntity && takenEntity.GetCompEM() && takenEntity.IsElectricAppliance())
60 takenEntity.GetCompEM().UnplugThis();
65 if (
g_Game.IsDedicatedServer())
74 float stackable = ntarget.GetTargetQuantityMax(-1);
76 if (stackable == 0 || stackable >= ntarget.GetQuantity())
78 action_data.
m_Player.PredictiveTakeEntityToHands(ntarget);
84 ntarget.SplitIntoStackMaxToInventoryLocationClient(il);
96 if (target.IsHeavyBehaviour())
131 if (!targetItem || !targetItem.
IsTakeable() || targetItem.IsBeingPlaced())
134 return player.GetInventory().CanSwapEntitiesEx(targetItem,item);
155 if (target.IsHeavyBehaviour())
171 super.Start(action_data);
173 bool b1 = action_data.
m_MainItem.ConfigGetString(
"physLayer") ==
"item_large";
174 action_data.
m_MainItem.m_ThrowItemOnDrop = b1;
179 action_data.
m_Player.GetActionManager().InterruptNoSync();
190 if (
g_Game.IsDedicatedServer())
201 super.OnEnd(action_data);
209 if (
g_Game.IsDedicatedServer())
226 if (!
g_Game.IsMultiplayer())
228 else if (action_data.
m_Player.NeedInventoryJunctureFromServer(ntarget, ntarget.GetHierarchyParent(), action_data.
m_Player))
231 action_data.
m_Player.TakeEntityToHandsImpl(invMode, ntarget);
InventoryMode
NOTE: PREDICTIVE is not to be used at all in multiplayer.
ref CCIBase m_ConditionItem
ref CCTBase m_ConditionTarget
void ClearInventoryReservationEx(ActionData action_data)
void ClearActionJuncture(ActionData action_data)
ActionTakeItemToHands m_Executable
void PerformSwap(ActionData action_data)
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
void Start()
Plays all elements this effects consists of.
override bool IsHeavyBehaviour()
void InitActionComponent()
void SetActionData(ActionData action_data)
ref ActionTarget m_Target
override bool MainItemAlwaysInHands()
void ActionInteractBase()
override bool UseMainItem()
override void CreateConditionComponents()
override bool CanBeUsedOnBack()
override bool HasProneException()
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
override void OnEndServer(ActionData action_data)
override bool CanContinue(ActionData action_data)
override void OnExecute(ActionData action_data)
void ActionTakeItemToHands()
override bool HasProgress()
override void CreateAndSetupActionCallback(ActionData action_data)
GetCallbackClassTypename()
Super root of all classes in Enforce script.
bool CanDetachCodeLock(notnull PlayerBase player, int componentIndex)
Condition check called from ActionTakeItem and ActionTakeItemToHands.
proto native void SetHands(notnull EntityAI parent, EntityAI e)
sets current inventory location type to Hands
override bool CanDetachAttachment(EntityAI parent)
override bool IsTakeable()
DayZPlayerConstants
defined in C++
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.