Dayz Explorer  1.24.157551 (v105080)
Dayz Code Explorer by Zeroy
actiondismantleoven.c
Go to the documentation of this file.
2 {
3  override void CreateActionComponent()
4  {
5  m_ActionData.m_ActionComponent = new CAContinuousTime( UATimeSpent.DEFAULT_DECONSTRUCT );
6  }
7 }
8 
10 {
12  {
13  m_CallbackClass = ActionDismantleOvenCB;
14  m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_CRAFTING;
15  m_FullBody = true;
16  m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH;
18 
19  m_Text = "#dismantle_oven";
20  }
21 
22  override void CreateConditionComponents()
23  {
24 
27  }
28 
29  override typename GetInputType()
30  {
32  }
33 
34  /*override bool HasProgress()
35  {
36  return false;
37  }*/
38 
39  override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
40  {
41  //Action not allowed if player has broken legs
42  if (player.GetBrokenLegs() == eBrokenLegs.BROKEN_LEGS)
43  return false;
44 
45  Object target_object = target.GetObject();
46 
47  if ( target_object && target_object.IsFireplace() )
48  {
49  FireplaceBase fireplace_target = FireplaceBase.Cast( target_object );
50 
51  if ( fireplace_target.IsBaseFireplace() && fireplace_target.CanDismantleOven() )
52  {
53  return true;
54  }
55  }
56 
57  return false;
58  }
59 
60  override void OnFinishProgressServer( ActionData action_data )
61  {
62  Object target_object = action_data.m_Target.GetObject();
63  FireplaceBase fireplace_target = FireplaceBase.Cast( target_object );
64 
65  if ( fireplace_target.CanDismantleOven() )
66  {
67  ItemBase attached_item = ItemBase.Cast( fireplace_target.GetAttachmentByType( fireplace_target.ATTACHMENT_STONES ) );
68 
69  // for backward compatibility - for the cases built before slot locking was commented out for the stone att slot
70  InventoryLocation inventory_location = new InventoryLocation;
71  attached_item.GetInventory().GetCurrentInventoryLocation( inventory_location );
72  fireplace_target.GetInventory().SetSlotLock( inventory_location.GetSlot(), false );
73 
74  //set oven state
75  fireplace_target.SetOvenState( false );
76 
77  // extend lifetime (either back to stone circle lifetime or standard fireplace one)
78  if ( fireplace_target.HasStoneCircle() )
79  {
80  fireplace_target.SetLifetimeMax( FireplaceBase.LIFETIME_FIREPLACE_STONE_CIRCLE );
81  }
82  else
83  {
84  fireplace_target.SetLifetimeMax( 10800 );
85  }
86 
87  //add specialty to soft skills
88  action_data.m_Player.GetSoftSkillsManager().AddSpecialty( m_SpecialtyWeight );
89  }
90  }
91 }
ItemBase
Definition: inventoryitem.c:730
CCINotPresent
Definition: ccinotpresent.c:1
CAContinuousTime
Definition: cacontinuoustime.c:1
ActionDismantleOvenCB
Definition: actiondismantleoven.c:1
ContinuousInteractActionInput
Definition: actioninput.c:521
UASoftSkillsWeight
Definition: actionconstants.c:118
InventoryLocation
InventoryLocation.
Definition: inventorylocation.c:27
ActionDismantleOven
ActionDismantleOvenCB ActionContinuousBaseCB ActionDismantleOven()
Definition: actiondismantleoven.c:11
FireplaceBase
Definition: barrelholes_colorbase.c:1
CreateConditionComponents
override void CreateConditionComponents()
Definition: actiondismantleoven.c:22
UAMaxDistances
Definition: actionconstants.c:104
eBrokenLegs
eBrokenLegs
Definition: ebrokenlegs.c:1
m_FullBody
protected bool m_FullBody
Definition: actionbase.c:52
PlayerBase
Definition: playerbaseclient.c:1
ActionTarget
class ActionTargets ActionTarget
ActionData
Definition: actionbase.c:20
DayZPlayerConstants
DayZPlayerConstants
defined in C++
Definition: dayzplayer.c:601
CCTNonRuined
Definition: cctnonruined.c:1
Object
Definition: objecttyped.c:1
GetInputType
override GetInputType()
Definition: actiondismantleoven.c:29
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
ActionCondition
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Definition: actiondismantleoven.c:39
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
OnFinishProgressServer
override void OnFinishProgressServer(ActionData action_data)
Definition: actiondismantleoven.c:60