Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
actioncookonstick.c
Go to the documentation of this file.
2{
3 private const float COOKING_ON_STICK_UPDATE_TIME = 1;
4
5 override void CreateActionComponent()
6 {
7 m_ActionData.m_ActionComponent = new CAContinuousTimeCooking( COOKING_ON_STICK_UPDATE_TIME );
8 }
9};
10
12{
14 {
16 m_CommandUID = DayZPlayerConstants.CMD_GESTUREFB_CAMPFIRE;
17 m_FullBody = true;
18 m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT;
19 m_SpecialtyWeight = UASoftSkillsWeight.ROUGH_LOW;
20
21 m_LockTargetOnUse = false;
22 m_Text = "#cook_on_stick";
23 }
24
25 override void CreateConditionComponents()
26 {
29 }
30
31 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
32 {
33 FireplaceBase fireplace_target = FireplaceBase.Cast(target.GetObject());
34 Object targetObject = target.GetObject();
35 Edible_Base item_on_stick = Edible_Base.Cast(item.GetAttachmentByType(Edible_Base));
36 if (fireplace_target && fireplace_target.CanCookOnStick() && item_on_stick && item_on_stick.CanBeCookedOnStick())
37 {
38 //fireplace
39 if (fireplace_target.IsBaseFireplace())
40 {
41 Fireplace fireplace = Fireplace.Cast(fireplace_target);
42 if (fireplace && fireplace.IsOven())
43 return false;
44
45 if (fireplace_target.CanCookOnStick())
46 return true;
47 }
48
49 //fireplace indoor
50 if (fireplace_target.IsFireplaceIndoor())
51 {
52 if (fireplace_target.CanCookOnStick())
53 return true;
54 }
55 }
56
57 return false;
58 }
59
60 override void OnEndServer(ActionData action_data)
61 {
62 super.OnEndServer(action_data);
63
64 ItemBase stick = action_data.m_MainItem;
65 Edible_Base item_on_stick = Edible_Base.Cast(stick.GetAttachmentByType(Edible_Base));
66
67 if (item_on_stick)
68 {
69 item_on_stick.MakeSoundsOnClient(false);
70 }
71 }
72};
ActionData m_ActionData
float m_SpecialtyWeight
Definition actionbase.c:77
int m_StanceMask
Definition actionbase.c:62
string m_Text
Definition actionbase.c:58
ref CCIBase m_ConditionItem
Definition actionbase.c:64
bool m_LockTargetOnUse
Definition actionbase.c:60
bool m_FullBody
Definition actionbase.c:61
ref CCTBase m_ConditionTarget
Definition actionbase.c:65
override bool CanCookOnStick()
override bool IsBaseFireplace()
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602