Dayz Explorer  1.24.157551 (v105080)
Dayz Code Explorer by Zeroy
actionbuildstonecircle.c
Go to the documentation of this file.
2 {
3  override void CreateActionComponent()
4  {
5  m_ActionData.m_ActionComponent = new CAContinuousTime( UATimeSpent.DEFAULT_CONSTRUCT );
6  }
7 }
8 
10 {
12  {
13  m_CallbackClass = ActionBuildStoneCircleCB;
14  m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_CRAFTING;
15  m_FullBody = true;
16  m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH;
18  m_Text = "#build_stonecircle";
19 
20  }
21 
22  override void CreateConditionComponents()
23  {
24 
27  }
28 
29  override typename GetInputType()
30  {
32  }
33 
34  override bool HasProgress()
35  {
36  return true;
37  }
38 
39  override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
40  {
41  Object target_object = target.GetObject();
42 
43  if ( target_object && target_object.IsFireplace() )
44  {
45  FireplaceBase fireplace_target = FireplaceBase.Cast( target_object );
46 
47  if ( fireplace_target.IsBaseFireplace() && fireplace_target.CanBuildStoneCircle() )
48  {
49  return true;
50  }
51  }
52 
53  return false;
54  }
55 
56  override void OnFinishProgressServer( ActionData action_data )
57  {
58  Object target_object = action_data.m_Target.GetObject();
59  FireplaceBase fireplace_target = FireplaceBase.Cast( target_object );
60 
61  if ( fireplace_target.CanBuildStoneCircle() )
62  {
63  ItemBase attached_item = ItemBase.Cast( fireplace_target.GetAttachmentByType( fireplace_target.ATTACHMENT_STONES ) );
64 
65  /*InventoryLocation inventory_location = new InventoryLocation;
66  attached_item.GetInventory().GetCurrentInventoryLocation( inventory_location );
67  fireplace_target.GetInventory().SetSlotLock( inventory_location.GetSlot(), true );*/
68 
69  //set oven state
70  fireplace_target.SetStoneCircleState( true );
71 
72  // extend lifetime
73  fireplace_target.SetLifetimeMax( FireplaceBase.LIFETIME_FIREPLACE_STONE_CIRCLE );
74 
75  //add specialty to soft skills
76  action_data.m_Player.GetSoftSkillsManager().AddSpecialty( m_SpecialtyWeight );
77  }
78  }
79 }
ItemBase
Definition: inventoryitem.c:730
CCINotPresent
Definition: ccinotpresent.c:1
CAContinuousTime
Definition: cacontinuoustime.c:1
GetInputType
override GetInputType()
Definition: actionbuildstonecircle.c:29
ContinuousInteractActionInput
Definition: actioninput.c:521
ActionBuildStoneCircleCB
Definition: actionbuildstonecircle.c:1
UASoftSkillsWeight
Definition: actionconstants.c:118
FireplaceBase
Definition: barrelholes_colorbase.c:1
UAMaxDistances
Definition: actionconstants.c:104
CreateConditionComponents
override void CreateConditionComponents()
Definition: actionbuildstonecircle.c:22
ActionCondition
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Definition: actionbuildstonecircle.c:39
HasProgress
override bool HasProgress()
Definition: actionbuildstonecircle.c:34
m_FullBody
protected bool m_FullBody
Definition: actionbase.c:52
PlayerBase
Definition: playerbaseclient.c:1
ActionTarget
class ActionTargets ActionTarget
ActionData
Definition: actionbase.c:20
ActionBuildStoneCircle
ActionBuildStoneCircleCB ActionContinuousBaseCB ActionBuildStoneCircle()
Definition: actionbuildstonecircle.c:11
DayZPlayerConstants
DayZPlayerConstants
defined in C++
Definition: dayzplayer.c:601
CCTNonRuined
Definition: cctnonruined.c:1
Object
Definition: objecttyped.c:1
UATimeSpent
Definition: actionconstants.c:26
ActionContinuousBaseCB
Definition: actioncontinuousbase.c:1
OnFinishProgressServer
override void OnFinishProgressServer(ActionData action_data)
Definition: actionbuildstonecircle.c:56
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
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