Dayz Explorer 1.29.162510
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
11class ActionCookOnStick: ActionContinuousBase
12{
13 void ActionCookOnStick()
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};
ActionBase ActionData
Definition actionbase.c:30
void CreateActionComponent()
ActionData m_ActionData
float m_SpecialtyWeight
Definition actionbase.c:83
int m_StanceMask
Definition actionbase.c:68
string m_Text
Definition actionbase.c:64
ref CCIBase m_ConditionItem
Definition actionbase.c:70
void CreateConditionComponents()
Definition actionbase.c:236
bool m_LockTargetOnUse
Definition actionbase.c:66
bool m_FullBody
Definition actionbase.c:67
ref CCTBase m_ConditionTarget
Definition actionbase.c:71
override bool CanCookOnStick()
override bool IsBaseFireplace()
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602