Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
actiondismantlestonecircle.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 = ActionDismantleStoneCircleCB;
14 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_CRAFTING;
15 m_FullBody = true;
16 m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH;
17 m_SpecialtyWeight = UASoftSkillsWeight.ROUGH_HIGH;
18 m_Text = "#dismantle_stonecircle";
19 }
20
22 {
23
24 m_ConditionTarget = new CCTNonRuined( UAMaxDistances.DEFAULT );
25 m_ConditionItem = new CCINotPresent;
26 }
27
28 override typename GetInputType()
29 {
31 }
32
33 /*override bool HasProgress()
34 {
35 return false;
36 }*/
37
38 override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
39 {
40 Object target_object = target.GetObject();
41
42 if ( target_object && target_object.IsFireplace() )
43 {
44 FireplaceBase fireplace_target = FireplaceBase.Cast( target_object );
45
46 if ( fireplace_target.IsBaseFireplace() && fireplace_target.CanDismantleStoneCircle() )
47 {
48 return true;
49 }
50 }
51
52 return false;
53 }
54
55 override void OnFinishProgressServer( ActionData action_data )
56 {
57 Object target_object = action_data.m_Target.GetObject();
58 FireplaceBase fireplace_target = FireplaceBase.Cast( target_object );
59
60 if ( fireplace_target.CanDismantleStoneCircle() )
61 {
62 ItemBase attached_item = ItemBase.Cast( fireplace_target.GetAttachmentByType( fireplace_target.ATTACHMENT_STONES ) );
63
64 //set oven state
65 fireplace_target.SetStoneCircleState( false );
66
67 // extend lifetime (but back to default of CE)
68 fireplace_target.SetLifetimeMax( 10800 );
69 }
70 }
71}
int m_CommandUID
Definition actionbase.c:31
int m_StanceMask
Definition actionbase.c:33
ActionDismantleStoneCircleCB ActionContinuousBaseCB ActionDismantleStoneCircle()
override GetInputType()
ActionData m_ActionData
void CreateConditionComponents()
Definition actionbase.c:230
void OnFinishProgressServer(ActionData action_data)
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
override bool IsBaseFireplace()
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602