10 override void CreateConditionComponents()
16 override bool HasProneException()
21 override typename GetInputType()
26 override bool HasProgress()
38 if (!targetItem.IsTakeable() || targetItem.IsBeingPlaced() || targetItem.IsSetForDeletion() || ( targetItem.GetHierarchyParent() && !
BaseBuildingBase.Cast(targetParent) ) || ((targetParent && !targetItem.CanDetachAttachment(targetParent)) || (targetParent && !targetParent.CanReleaseAttachment(targetItem))))
41 return player.GetInventory().CanAddEntityIntoHands(targetItem);
44 override bool CanContinue(
ActionData action_data)
49 override void OnEndServer(
ActionData action_data)
51 super.OnEndServer(action_data);
54 if (takenEntity && takenEntity.GetCompEM() && takenEntity.IsElectricAppliance())
55 takenEntity.GetCompEM().UnplugThis();
58 override void OnExecute(
ActionData action_data)
60 if (
GetGame().IsDedicatedServer())
66 float stackable = ntarget.GetTargetQuantityMax(-1);
68 if (stackable == 0 || stackable >= ntarget.GetQuantity())
70 action_data.m_Player.PredictiveTakeEntityToHands(ntarget);
75 il.SetHands(action_data.m_Player, ntarget);
76 ntarget.SplitIntoStackMaxToInventoryLocationClient(il);
80 override void CreateAndSetupActionCallback(
ActionData action_data)
88 if (target.IsHeavyBehaviour())
96 Class.CastTo(callback, action_data.m_Player.AddCommandModifier_Action(m_CommandUID,GetCallbackClassTypename()));
100 Class.CastTo(callback, action_data.m_Player.StartCommand_Action(m_CommandUIDProne,GetCallbackClassTypename(),
DayZPlayerConstants.STANCEMASK_PRONE));
104 callback.SetActionData(action_data);
105 callback.InitActionComponent();
106 action_data.m_Callback = callback;
110 override bool CanBeUsedOnBack()
123 if (!targetItem || !targetItem.IsTakeable() || targetItem.IsBeingPlaced())
126 return player.GetInventory().CanSwapEntitiesEx(targetItem,item);
147 if (target.IsHeavyBehaviour())
156 callback.SetActionData(action_data);
157 callback.InitActionComponent();
158 action_data.m_Callback = callback;
163 super.Start(action_data);
165 bool b1 = action_data.m_MainItem.ConfigGetString(
"physLayer") ==
"item_large";
166 action_data.m_MainItem.m_ThrowItemOnDrop = b1;
171 action_data.m_Player.GetActionManager().Interrupt();
224 if (action_data.m_Player)
227 if (action_data.m_Player.NeedInventoryJunctureFromServer(ntarget, ntarget.GetHierarchyParent(), action_data.m_Player))
230 action_data.m_Player.TakeEntityToHandsImpl(invMode, ntarget);