Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
actioncraftbolts.c
Go to the documentation of this file.
1
class
ActionCraftBoltsCB
:
ActionContinuousBaseCB
2
{
3
private
const
float
TIME_TO_CRAFT
= 3.0;
4
5
override
void
CreateActionComponent
()
6
{
7
m_ActionData
.m_ActionComponent =
new
CAContinuousRepeat
(
TIME_TO_CRAFT
);
8
}
9
};
10
11
class
ActionCraftBolts
:
ActionContinuousBase
12
{
13
const
ref set<string>
CUTTING_TYPES
=
new
set<string>();
14
15
protected
bool
m_IsKnifeInHands
;
16
protected
Ammunition_Base
m_ResultEntity
;
17
18
void
InitCuttingTypes
()
19
{
20
CUTTING_TYPES
.Clear();
21
CUTTING_TYPES
.Insert(
"Sickle"
);
22
CUTTING_TYPES
.Insert(
"KukriKnife"
);
23
CUTTING_TYPES
.Insert(
"FangeKnife"
);
24
CUTTING_TYPES
.Insert(
"KitchenKnife"
);
25
CUTTING_TYPES
.Insert(
"SteakKnife"
);
26
CUTTING_TYPES
.Insert(
"StoneKnife"
);
27
CUTTING_TYPES
.Insert(
"Cleaver"
);
28
CUTTING_TYPES
.Insert(
"CombatKnife"
);
29
CUTTING_TYPES
.Insert(
"HuntingKnife"
);
30
CUTTING_TYPES
.Insert(
"Machete"
);
31
CUTTING_TYPES
.Insert(
"CrudeMachete"
);
32
CUTTING_TYPES
.Insert(
"OrientalMachete"
);
33
CUTTING_TYPES
.Insert(
"WoodAxe"
);
34
CUTTING_TYPES
.Insert(
"Hatchet"
);
35
CUTTING_TYPES
.Insert(
"FirefighterAxe"
);
36
CUTTING_TYPES
.Insert(
"AK_Bayonet"
);
37
CUTTING_TYPES
.Insert(
"M9A1_Bayonet"
);
38
CUTTING_TYPES
.Insert(
"SKS_Bayonet"
);
39
CUTTING_TYPES
.Insert(
"BoneKnife"
);
40
}
41
42
void
ActionCraftBolts
()
43
{
44
m_CallbackClass
=
ActionCraftBoltsCB
;
45
m_CommandUID
=
DayZPlayerConstants
.CMD_ACTIONFB_CRAFTING;
46
m_FullBody
=
true
;
47
m_StanceMask
=
DayZPlayerConstants
.STANCEMASK_CROUCH;
48
m_SpecialtyWeight
= UASoftSkillsWeight.ROUGH_HIGH;
49
50
m_Text
=
"#STR_CraftBolt0"
;
51
52
InitCuttingTypes
();
53
}
54
55
override
void
CreateConditionComponents
()
56
{
57
m_ConditionItem
=
new
CCINonRuined
();
58
m_ConditionTarget
=
new
CCTNonRuined
();
59
}
60
61
protected
bool
IsCuttingType
(
Object
item)
62
{
63
return
CUTTING_TYPES
.Find(item.ClassName()) >= 0;
64
}
65
66
override
bool
ActionCondition
(
PlayerBase
player,
ActionTarget
target,
ItemBase
item)
67
{
68
if
(
IsCuttingType
(item))
69
{
70
//knife in hands
71
if
(target.GetObject())
72
return
(target.GetObject().ClassName() ==
"WoodenStick"
);
73
}
74
else
if
(target.GetObject())
75
{
76
// material in hands
77
return
IsCuttingType
(target.GetObject());
78
}
79
80
return
false
;
81
}
82
83
override
void
OnStartServer
(
ActionData
action_data)
84
{
85
super.OnStartServer(action_data);
86
87
m_IsKnifeInHands
=
IsCuttingType
(action_data.m_MainItem);
88
m_ResultEntity
= null;
89
}
90
91
override
void
OnFinishProgressServer
(
ActionData
action_data)
92
{
93
ItemBase
knife;
94
ItemBase
material;
95
96
bool
added =
false
;
97
98
if
(
m_IsKnifeInHands
)
99
{
100
//knife in hands
101
knife = action_data.m_MainItem;
102
material =
ItemBase
.Cast(action_data.m_Target.GetObject());
103
}
104
else
105
{
106
// material in hands
107
material = action_data.m_MainItem;
108
knife =
ItemBase
.Cast(action_data.m_Target.GetObject());
109
}
110
111
if
(!material || !knife)
112
return
;
113
114
if
(
m_ResultEntity
)
115
{
116
if
(
m_ResultEntity
.GetAmmoCount() <
m_ResultEntity
.GetAmmoMax())
117
{
118
m_ResultEntity
.ServerAddAmmoCount(1);
119
added =
true
;
120
}
121
}
122
123
if
(!added)
124
{
125
m_ResultEntity
=
Ammunition_Base
.Cast(action_data.m_Player.SpawnEntityOnGroundRaycastDispersed(
"Ammo_ImprovisedBolt_1"
));
126
m_ResultEntity
.SetHealth(
""
,
""
, material.GetHealth(
""
,
""
));
127
m_ResultEntity
.ServerSetAmmoCount(1);
128
}
129
130
material.AddQuantity(-1);
131
knife.AddHealth(
""
,
""
,-3);
132
}
133
};
ActionData
ActionBase ActionData
Definition
actionbase.c:30
ActionTarget
class ActionTargets ActionTarget
ActionBaseCB::m_ActionData
ActionData m_ActionData
Definition
animatedactionbase.c:3
ActionBase::m_FullBody
bool m_FullBody
Definition
actionbase.c:67
ActionBase::m_Text
string m_Text
Definition
actionbase.c:64
ActionBase::m_ConditionItem
ref CCIBase m_ConditionItem
Definition
actionbase.c:70
ActionBase::m_SpecialtyWeight
float m_SpecialtyWeight
Definition
actionbase.c:83
ActionBase::m_ConditionTarget
ref CCTBase m_ConditionTarget
Definition
actionbase.c:71
ActionBase::m_StanceMask
int m_StanceMask
Definition
actionbase.c:68
ActionContinuousBaseCB
Definition
actioncontinuousbase.c:2
ActionContinuousBase::ActionContinuousBase
void ActionContinuousBase()
Definition
actioncontinuousbase.c:124
ActionCraftBoltsCB
Definition
actioncraftbolts.c:2
ActionCraftBoltsCB::TIME_TO_CRAFT
const float TIME_TO_CRAFT
Definition
actioncraftbolts.c:3
ActionCraftBoltsCB::CreateActionComponent
override void CreateActionComponent()
Definition
actioncraftbolts.c:5
ActionCraftBolts::OnFinishProgressServer
override void OnFinishProgressServer(ActionData action_data)
Definition
actioncraftbolts.c:91
ActionCraftBolts::InitCuttingTypes
void InitCuttingTypes()
Definition
actioncraftbolts.c:18
ActionCraftBolts::ActionCraftBolts
void ActionCraftBolts()
Definition
actioncraftbolts.c:42
ActionCraftBolts::CreateConditionComponents
override void CreateConditionComponents()
Definition
actioncraftbolts.c:55
ActionCraftBolts::m_IsKnifeInHands
bool m_IsKnifeInHands
Definition
actioncraftbolts.c:15
ActionCraftBolts::ActionCondition
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Definition
actioncraftbolts.c:66
ActionCraftBolts::m_ResultEntity
Ammunition_Base m_ResultEntity
Definition
actioncraftbolts.c:16
ActionCraftBolts::IsCuttingType
bool IsCuttingType(Object item)
Definition
actioncraftbolts.c:61
ActionCraftBolts::CUTTING_TYPES
const ref set< string > CUTTING_TYPES
Definition
actioncraftbolts.c:13
ActionCraftBolts::OnStartServer
override void OnStartServer(ActionData action_data)
Definition
actioncraftbolts.c:83
Ammunition_Base
ammo pile base
Definition
ammunitionpiles.c:3
AnimatedActionBase::m_CommandUID
int m_CommandUID
Definition
animatedactionbase.c:143
AnimatedActionBase::m_CallbackClass
m_CallbackClass
Definition
animatedactionbase.c:145
CAContinuousRepeat
Definition
cacontinuousrepeat.c:2
CCINonRuined
Definition
ccinonruined.c:2
CCTNonRuined
Definition
cctnonruined.c:2
ItemBase
Definition
inventoryitem.c:742
Object
Definition
objecttyped.c:2
PlayerBase
Definition
playerbaseclient.c:2
DayZPlayerConstants
DayZPlayerConstants
defined in C++
Definition
dayzplayer.c:602
Games
Dayz
scripts
4_world
classes
useractionscomponent
actions
continuous
actioncraftbolts.c
Generated by
1.17.0