10 override void CreateConditionComponents()
16 override bool HasProneException()
21 override typename GetInputType()
26 override bool HasProgress()
34 if (!targetEntity || (targetEntity && targetEntity.IsManagingArrows() && !targetEntity.IsDamageDestroyed()))
41 if (arrow && !arrow.IsSetForDeletion())
43 if (player.GetInventory().CanAddEntityIntoHands(arrow))
54 if (!targetEntity || (targetEntity && targetEntity.IsManagingArrows() && !targetEntity.IsDamageDestroyed()))
60 return arrowManager.GetFirstArrow();
66 override bool CanContinue(
ActionData action_data)
71 override bool InventoryReservation(
ActionData action_data)
78 if (
EntityAI.CastTo(targetEntity, action_data.m_Target.GetObject()))
86 il.SetHands(action_data.m_Player,targetArrow);
87 if (action_data.m_Player.GetInventory().HasInventoryReservation(targetArrow, il))
93 action_data.m_Player.GetInventory().AddInventoryReservationEx(targetArrow, il,
GameInventory.c_InventoryReservationTimeoutMS);
102 action_data.m_ReservedInventoryLocations.Insert(il);
109 override void OnExecute(
ActionData action_data)
119 float stackable = arrow.GetTargetQuantityMax(-1);
121 if (stackable == 0 || stackable >= arrow.GetQuantity())
123 action_data.m_Player.PredictiveTakeEntityToHands(arrow);
127 arrow.SplitIntoStackMaxToInventoryLocationClient(il);
131 override void CreateAndSetupActionCallback(
ActionData action_data)
139 if (target.IsHeavyBehaviour())
147 Class.CastTo(callback, action_data.m_Player.AddCommandModifier_Action(m_CommandUID,GetCallbackClassTypename()));
151 Class.CastTo(callback, action_data.m_Player.StartCommand_Action(m_CommandUIDProne,GetCallbackClassTypename(),
DayZPlayerConstants.STANCEMASK_PRONE));
155 callback.SetActionData(action_data);
156 callback.InitActionComponent();
157 action_data.m_Callback = callback;
161 override bool CanBeUsedOnBack()