Dayz Explorer  1.24.157551 (v105080)
Dayz Code Explorer by Zeroy
actionfoldentitytoslot.c
Go to the documentation of this file.
2 {
3  int m_SlotID = InventorySlots.INVALID;
4 
5  override void CreateConditionComponents ()
6  {
9  }
10 
11  override bool HasTarget () { return false; }
12 
13  override bool ActionCondition ( PlayerBase player, ActionTarget target, ItemBase item )
14  {
15  EntityAI att = player.GetInventory().FindAttachment(m_SlotID);
16  if ( item && att == null )
17  return true;
18  return false;
19  }
20 
21  override bool ActionConditionContinue ( ActionData action_data ) { return true; }
22 
23  override void OnExecuteClient ( ActionData action_data )
24  {
25  ClearInventoryReservationEx(action_data);
26  }
27 
28  override void OnExecuteServer ( ActionData action_data )
29  {
30  if ( !GetGame().IsMultiplayer() )
31  ClearInventoryReservationEx(action_data);
32 
33  ItemBase old_item = action_data.m_MainItem;
34  if (old_item.ConfigIsExisting("ChangeIntoOnAttach"))
35  {
36  string slot_name = InventorySlots.GetSlotName(m_SlotID);
37  string str = old_item.ChangeIntoOnAttach(slot_name);
38  if (str != "")
39  {
40  FoldBandanaToSlotLambda lambda = new FoldBandanaToSlotLambda(action_data.m_MainItem, str, action_data.m_Player, m_SlotID);
41  action_data.m_Player.ServerReplaceItemInHandsWithNewElsewhere(lambda);
42  }
43  }
44  }
45 };
46 
48 {
49  void FoldBandanaToSlotLambda (EntityAI old_item, string new_item_type, PlayerBase player, int slot)
50  {
51  InventoryLocation targetAtt = new InventoryLocation;
52  targetAtt.SetAttachment(player, NULL, slot);
53  OverrideNewLocation(targetAtt);
54  }
55 };
ItemBase
Definition: inventoryitem.c:730
GetGame
proto native CGame GetGame()
FoldBandanaToSlotLambda
Definition: actionfoldentitytoslot.c:47
InventorySlots
provides access to slot configuration
Definition: inventoryslots.c:5
ActionFoldEntityToSlot
Definition: actionfoldentitytoslot.c:1
InventoryLocation
InventoryLocation.
Definition: inventorylocation.c:27
CCTNone
Definition: cctnone.c:1
ClearInventoryReservationEx
void ClearInventoryReservationEx(ActionData action_data)
Definition: actionbase.c:862
PlayerBase
Definition: playerbaseclient.c:1
ActionTarget
class ActionTargets ActionTarget
ActionData
Definition: actionbase.c:20
ActionSingleUseBase
Definition: actionsingleusebase.c:41
m_ConditionItem
ref CCIBase m_ConditionItem
Definition: actionbase.c:55
CCINonRuined
Definition: ccinonruined.c:1
m_ConditionTarget
ref CCTBase m_ConditionTarget
Definition: actionbase.c:56
TurnItemIntoItemLambda
Definition: miscgameplayfunctions.c:91
EntityAI
Definition: building.c:5