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))
51 override Object GetDisplayInteractObject(
PlayerBase player, ActionTarget target)
54 if (!targetEntity || (targetEntity && targetEntity.IsManagingArrows() && !targetEntity.IsDamageDestroyed()))
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))
102 action_data.m_ReservedInventoryLocations.Insert(il);
109 override void OnExecute(ActionData action_data)
111 if (
GetGame().IsDedicatedServer())
122 float stackable = arrow.GetTargetQuantityMax(-1);
124 if (stackable == 0 || stackable >= arrow.GetQuantity())
126 action_data.m_Player.PredictiveTakeEntityToHands(arrow);
130 arrow.SplitIntoStackMaxToInventoryLocationClient(il);
134 override void CreateAndSetupActionCallback(ActionData action_data)
142 if (target.IsHeavyBehaviour())
160 action_data.m_Callback = callback;
164 override bool CanBeUsedOnBack()