Dayz Explorer  1.24.157551 (v105080)
Dayz Code Explorer by Zeroy
actionunpackgift.c
Go to the documentation of this file.
2 {
3  override void CreateActionComponent()
4  {
5  m_ActionData.m_ActionComponent = new CAContinuousTime(UATimeSpent.UNPACK);
6  }
7 };
8 
10 {
11  void ActionUnpackGift()
12  {
13  m_CallbackClass = ActionUnpackGiftCB;
14  m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_OPENITEM;
15  //m_FullBody = true;
16  m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT | DayZPlayerConstants.STANCEMASK_CROUCH;
18  m_Text = "#STR_Unwrap";
19  }
20 
21  override void CreateConditionComponents()
22  {
25  }
26 
27  override bool HasTarget()
28  {
29  return false;
30  }
31 
32  override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
33  {
34  return true;
35  }
36 
37  override void OnFinishProgressServer( ActionData action_data )
38  {
39  ItemBase item = ItemBase.Cast(action_data.m_MainItem);
40 
41  CargoBase cargo = item.GetInventory().GetCargo();
42 
45 
46  float dmg = item.GetHealth01("","");
47 
48  if( dmg > 0.25 )
49  {
50  Object paper = GetGame().CreateObjectEx("GiftWrapPaper",action_data.m_Player.GetPosition(),ECE_PLACE_ON_SURFACE,RF_DEFAULT);
51  paper.SetHealth01("","", dmg - 0.25 );
52  }
53 
54  for(int i = cargo.GetItemCount() - 1; i >= 0 ; i--)
55  {
56  EntityAI cargo_item = cargo.GetItem(i);
57 
58  GameInventory.SetGroundPosByOwner(action_data.m_Player,cargo_item,il_dst);
59  cargo_item.GetInventory().GetCurrentInventoryLocation(il_src);
60 
61  if(GetGame().IsDedicatedServer())
62  action_data.m_Player.ServerTakeToDst( il_src, il_dst );
63  else
64  action_data.m_Player.LocalTakeToDst( il_src, il_dst );
65  }
66 
67  item.DeleteSafe();
68  }
69 };
ItemBase
Definition: inventoryitem.c:730
RF_DEFAULT
const int RF_DEFAULT
Definition: centraleconomy.c:65
GetGame
proto native CGame GetGame()
CAContinuousTime
Definition: cacontinuoustime.c:1
UASoftSkillsWeight
Definition: actionconstants.c:118
InventoryLocation
InventoryLocation.
Definition: inventorylocation.c:27
ActionUnpackGiftCB
Definition: actionunpackgift.c:1
ECE_PLACE_ON_SURFACE
const int ECE_PLACE_ON_SURFACE
Definition: centraleconomy.c:37
PlayerBase
Definition: playerbaseclient.c:1
ActionTarget
class ActionTargets ActionTarget
ActionData
Definition: actionbase.c:20
DayZPlayerConstants
DayZPlayerConstants
defined in C++
Definition: dayzplayer.c:601
CargoBase
represents base for cargo storage for entities
Definition: cargo.c:6
CCTSelf
Definition: cctself.c:1
Object
Definition: objecttyped.c:1
UATimeSpent
Definition: actionconstants.c:26
ActionContinuousBaseCB
Definition: actioncontinuousbase.c:1
m_Text
protected string m_Text
Definition: actionbase.c:49
m_ConditionItem
ref CCIBase m_ConditionItem
Definition: actionbase.c:55
ActionContinuousBase
Definition: actioncontinuousbase.c:132
CCINonRuined
Definition: ccinonruined.c:1
m_ConditionTarget
ref CCTBase m_ConditionTarget
Definition: actionbase.c:56
m_SpecialtyWeight
protected float m_SpecialtyWeight
Definition: actionbase.c:68
m_StanceMask
protected int m_StanceMask
Definition: actionbase.c:53
EntityAI
Definition: building.c:5
ActionUnpackGift
Definition: actionunpackgift.c:9
GameInventory
script counterpart to engine's class Inventory
Definition: inventory.c:78