DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionBuildOven.c
См. документацию.
2{
3 override void CreateActionComponent()
4 {
6 }
7}
8
10{
11 void ActionBuildOven()
12 {
13 m_CallbackClass = ActionBuildOvenCB;
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 = "#build_oven";
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 true;
36 }
37
38 override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
39 {
40 //Action not allowed if player has broken legs
41 if (player.GetBrokenLegs() == eBrokenLegs.BROKEN_LEGS)
42 return false;
43
44 Object target_object = target.GetObject();
45
46 if ( target_object && target_object.IsFireplace() )
47 {
48 FireplaceBase fireplace_target = FireplaceBase.Cast( target_object );
49
50 if ( fireplace_target.IsBaseFireplace() && fireplace_target.CanBuildOven() )
51 {
52 return true;
53 }
54 }
55
56 return false;
57 }
58
59 override void OnFinishProgressServer( ActionData action_data )
60 {
61 Object target_object = action_data.m_Target.GetObject();
62 FireplaceBase fireplace_target = FireplaceBase.Cast( target_object );
63
64 if ( fireplace_target.CanBuildOven() )
65 {
66 ItemBase attached_item = ItemBase.Cast( fireplace_target.GetAttachmentByType( fireplace_target.ATTACHMENT_STONES ) );
67
68 /*InventoryLocation inventory_location = new InventoryLocation;
69 attached_item.GetInventory().GetCurrentInventoryLocation( inventory_location );
70 fireplace_target.GetInventory().SetSlotLock( inventory_location.GetSlot(), true );*/
71
72 //set oven state
73 fireplace_target.SetOvenState( true );
74 fireplace_target.SetOrientation( action_data.m_Player.GetOrientation() - "180 0 0" );
75
76 // extend lifetime
77 fireplace_target.SetLifetimeMax( FireplaceBase.LIFETIME_FIREPLACE_STONE_OVEN );
78 }
79 }
80}
int m_CommandUID
Определения ActionBase.c:31
int m_StanceMask
Определения ActionBase.c:33
ActionBase ActionData
Определения ActionBase.c:30
ActionBuildOvenCB ActionContinuousBaseCB ActionBuildOven()
Определения ActionBuildOven.c:11
class ActionTargets ActionTarget
eBrokenLegs
Определения EBrokenLegs.c:2
bool HasProgress()
For UI: hiding of progress bar.
Определения ActionBase.c:250
void CreateConditionComponents()
Определения ActionBase.c:230
ActionData m_ActionData
Определения AnimatedActionBase.c:3
override void CreateActionComponent()
Определения ActionBuildOven.c:3
override GetInputType()
Определения ActionContinuousBase.c:179
void OnFinishProgressServer(ActionData action_data)
Определения ActionContinuousBase.c:283
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения AnimatedActionBase.c:240
Определения CCINotPresent.c:2
Определения CCTNonRuined.c:2
override bool IsBaseFireplace()
Определения BarrelHoles_ColorBase.c:54
Определения InventoryItem.c:731
Определения ObjectTyped.c:2
Определения PlayerBaseClient.c:2
const float DEFAULT
Определения ActionConstants.c:112
const float DEFAULT_CONSTRUCT
Определения ActionConstants.c:33
Определения ActionConstants.c:28
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602