16 if ( item && att == null )
30 if ( !
GetGame().IsMultiplayer() )
33 ItemBase old_item = action_data.m_MainItem;
34 if (old_item.ConfigIsExisting(
"ChangeIntoOnAttach"))
37 string str = old_item.ChangeIntoOnAttach(slot_name);
41 action_data.m_Player.ServerReplaceItemInHandsWithNewElsewhere(lambda);
53 OverrideNewLocation(targetAtt);
class ActionTargets ActionTarget
ref CCIBase m_ConditionItem
void ClearInventoryReservationEx(ActionData action_data)
ref CCTBase m_ConditionTarget
override bool HasTarget()
override bool ActionConditionContinue(ActionData action_data)
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
override void OnExecuteClient(ActionData action_data)
override void CreateConditionComponents()
override void OnExecuteServer(ActionData action_data)
void ActionSingleUseBase()
void FoldBandanaToSlotLambda(EntityAI old_item, string new_item_type, PlayerBase player, int slot)
proto native void SetAttachment(notnull EntityAI parent, EntityAI e, int slotId)
sets current inventory location type to Attachment with slot id set to <slotId>
const int INVALID
Invalid slot (-1)
static proto native owned string GetSlotName(int id)
converts slot_id to string
provides access to slot configuration
proto native CGame GetGame()