36 if ( tgt_entity &&
BaseBuildingBase.Cast(tgt_entity) &&!tgt_entity.IsBeingPlaced() )
38 string component_name = tgt_entity.GetActionComponentName( target.GetComponentIndex() );
40 ItemBase attachment =
ItemBase.Cast(tgt_entity.FindAttachmentBySlotName(component_name));
42 if ( attachment && player.GetInventory().CanAddEntityIntoHands(attachment) && attachment.
IsTakeable() )
57 if (
GetGame().IsDedicatedServer())
69 string component_name = tgt_entity.GetActionComponentName( action_data.m_Target.GetComponentIndex() );
72 if ( tgt_entity &&
ItemBase.CastTo(attachment, tgt_entity.FindAttachmentBySlotName(component_name)) )
75 float stackable = attachment.GetTargetQuantityMax(-1);
77 if( stackable == 0 || stackable >= attachment.GetQuantity() )
80 action_data.m_Player.PredictiveTakeEntityToHands( attachment );
82 else if( stackable != 0 && stackable < attachment.GetQuantity() )
85 attachment.SplitIntoStackMaxHandsClient( action_data.m_Player );
93 string component_name = tgt_entity.GetActionComponentName( action_data.m_Target.GetComponentIndex() );
95 bool heavy_item =
false;
97 if ( tgt_entity &&
ItemBase.CastTo(attachment, tgt_entity.FindAttachmentBySlotName(component_name)) )
100 if ( attachment && attachment.ConfigIsExisting(
"heavyItem") && attachment.ConfigGetBool(
"heavyItem") )
121 callback.SetActionData(action_data);
122 callback.InitActionComponent();
123 action_data.m_Callback = callback;
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
void ClearActionJuncture(ActionData action_data)
ref CCIBase m_ConditionItem
void ClearInventoryReservationEx(ActionData action_data)
ref CCTBase m_ConditionTarget
void ActionInteractBase()
override void CreateConditionComponents()
void ActionTakeHybridAttachmentToHands()
override void CreateAndSetupActionCallback(ActionData action_data)
override bool HasProgress()
void OnExecuteImpl(ActionData action_data)
override bool CanContinue(ActionData action_data)
override void OnExecute(ActionData action_data)
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
override bool HasProneException()
GetCallbackClassTypename()
Super root of all classes in Enforce script.
override bool IsTakeable()
DayZPlayerConstants
defined in C++
proto native CGame GetGame()
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.