DayZ Scripts
v1.21.156300 ยท Jun 20, 2023
 
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 {
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;
20
21 m_LockTargetOnUse = false;
22 m_Text = "#cook_on_stick";
23 }
24
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 && 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.IsOven() && fireplace_target.CanCookOnStick())
43 {
44 return true;
45 }
46 }
47
48 //fireplace indoor
49 if (fireplace_target.IsFireplaceIndoor())
50 {
51 if (fireplace_target.CanCookOnStick())
52 {
53 return true;
54 }
55 }
56 }
57
58 return false;
59 }
60
61 override void OnEndServer(ActionData action_data)
62 {
63 super.OnEndServer(action_data);
64
65 ItemBase stick = action_data.m_MainItem;
66 Edible_Base item_on_stick = Edible_Base.Cast(stick.GetAttachmentByType(Edible_Base));
67
68 if (item_on_stick)
69 {
70 item_on_stick.MakeSoundsOnClient(false);
71 }
72 }
73};
protected float m_SpecialtyWeight
Definition ActionBase.c:68
protected bool m_LockTargetOnUse
Definition ActionBase.c:51
ref CCIBase m_ConditionItem
Definition ActionBase.c:55
ref CCTBase m_ConditionTarget
Definition ActionBase.c:56
protected string m_Text
Definition ActionBase.c:49
protected bool m_FullBody
Definition ActionBase.c:52
protected int m_StanceMask
Definition ActionBase.c:53
class ActionTargets ActionTarget
protected ActionData m_ActionData
private const float COOKING_ON_STICK_UPDATE_TIME
override void CreateActionComponent()
override void OnEndServer(ActionData action_data)
override void CreateConditionComponents()
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
ItemBase m_MainItem
Definition ActionBase.c:28
ref CABase m_ActionComponent
Definition ActionBase.c:30
override bool CanBeCookedOnStick()
override bool IsBaseFireplace()
Definition Fireplace.c:19
override bool IsFireplaceIndoor()
const float DEFAULT
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602