Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
actionlightitemonfire.c
Go to the documentation of this file.
1
class
ActionLightItemOnFireCB
:
ActionContinuousBaseCB
2
{
3
override
void
CreateActionComponent
()
4
{
5
m_ActionData
.m_ActionComponent =
new
CAContinuousTime
(
UATimeSpent
.
FIREPLACE_IGNITE
);
6
}
7
}
8
9
class
ActionLightItemOnFire
:
ActionContinuousBase
10
{
11
void
ActionLightItemOnFire
()
12
{
13
m_CallbackClass =
ActionLightItemOnFireCB
;
14
m_CommandUID
=
DayZPlayerConstants
.CMD_ACTIONFB_STARTFIRE;
15
m_FullBody =
true
;
16
m_StanceMask
=
DayZPlayerConstants
.STANCEMASK_CROUCH;
17
18
m_SpecialtyWeight = UASoftSkillsWeight.ROUGH_HIGH;
19
m_Text =
"#ignite"
;
20
}
21
22
override
void
CreateConditionComponents
()
23
{
24
m_ConditionTarget =
new
CCTNonRuined
(
UAMaxDistances
.
DEFAULT
);
25
m_ConditionItem =
new
CCINonRuined
;
26
}
27
28
override
bool
CanBePerformedFromQuickbar
()
29
{
30
return
true
;
31
}
32
33
// Removed as a fix for igniting Torch by Matchbox through drag&drop in inventory
34
/*override bool CanBePerformedFromInventory()
35
{
36
return true;
37
}*/
38
39
// Check if ignite candidate is in cargo of something or not.
40
bool
IsItemInCargoOfSomething
(
ItemBase
item)
41
{
42
if
( item.GetInventory() )
43
{
44
InventoryLocation
loc =
new
InventoryLocation
;
45
item.GetInventory().GetCurrentInventoryLocation(loc);
46
47
if
( loc.
GetIdx
() > -1 )
48
{
49
return
true
;
50
}
51
}
52
53
return
false
;
54
}
55
56
override
bool
ActionConditionContinue
(
ActionData
action_data )
57
{
58
FireworksBase
fireworks =
FireworksBase
.Cast( action_data.m_Target.GetObject() );
59
60
if
(fireworks)
61
{
62
return
true
;
//something might begin occluding the item after the ignition began, we don't want that to cancel the ignition process, not the prettiest solution, but it works
63
}
64
else
65
{
66
return
ActionCondition
(action_data.m_Player, action_data.m_Target,action_data.m_MainItem);
67
}
68
}
69
70
override
bool
ActionCondition
(
PlayerBase
player,
ActionTarget
target,
ItemBase
item )
71
{
72
ItemBase
targetItem =
ItemBase
.Cast(target.GetObject());
73
74
if
(targetItem && item)
75
{
76
// when igniting item on the ground with igniter in hands
77
if
(!targetItem.
IsIgnited
() && !
IsItemInCargoOfSomething
(targetItem) && item.
CanIgniteItem
(targetItem) && targetItem.
CanBeIgnitedBy
(item))
78
{
79
// oven stage of standard fireplace
80
if
(targetItem.IsKindOf(
"Fireplace"
))
81
{
82
if
(Fireplace.Cast(targetItem).IsOven())
83
return
true
;
84
85
if
(Fireplace.CanIgniteEntityAsFireplace(targetItem))
86
return
true
;
87
88
return
false
;
89
}
90
91
return
true
;
92
}
93
// when igniting item in hands from something on ground
94
else
if
(!item.
IsIgnited
() && !
IsItemInCargoOfSomething
(item) && targetItem.
CanIgniteItem
(item) && item.
CanBeIgnitedBy
(targetItem))
95
{
96
return
true
;
97
}
98
}
99
100
return
false
;
101
}
102
103
override
void
OnFinishProgressServer
(
ActionData
action_data )
104
{
105
ClearActionJuncture
(action_data);
106
ItemBase
target_item =
ItemBase
.Cast( action_data.m_Target.GetObject() );
107
ItemBase
item = action_data.m_MainItem;
108
109
bool
is_ignition_successful;
110
ItemBase
ignited_item;
//item that was lit on fire
111
ItemBase
fire_source_item;
//item that was the source of fire
112
113
if
( item.
CanIgniteItem
( target_item ) )
114
{
115
is_ignition_successful = target_item.
IsThisIgnitionSuccessful
( item );
116
ignited_item = target_item;
117
fire_source_item = item;
118
}
119
else
if
( item.
CanBeIgnitedBy
( target_item ) )
120
{
121
is_ignition_successful = target_item.IsTargetIgnitionSuccessful( item );
122
ignited_item = item;
123
fire_source_item = target_item;
124
}
125
126
if
( is_ignition_successful )
127
{
128
fire_source_item.
OnIgnitedTarget
( ignited_item );
129
ignited_item.
OnIgnitedThis
( fire_source_item );
130
}
131
else
132
{
133
fire_source_item.
OnIgnitedTargetFailed
( ignited_item );
134
ignited_item.OnIgnitedThisFailed( fire_source_item );
135
}
136
}
137
138
//setup
139
override
bool
SetupAction
(
PlayerBase
player,
ActionTarget
target,
ItemBase
item, out
ActionData
action_data,
Param
extra_data = NULL )
140
{
141
if
( super.SetupAction( player, target, item, action_data, extra_data ) )
142
{
143
ItemBase
target_item =
ItemBase
.Cast( target.GetObject() );
144
if
( target_item )
145
{
146
SetIgnitingAnimation
( target_item );
147
}
148
149
return
true
;
150
}
151
152
return
false
;
153
}
154
155
void
SetIgnitingAnimation
(
ItemBase
target_item )
156
{
157
if
( target_item.
HasFlammableMaterial
() )
158
{
159
m_CommandUID
=
DayZPlayerConstants
.CMD_ACTIONFB_STARTFIRE;
160
}
161
else
162
{
163
m_CommandUID
=
DayZPlayerConstants
.CMD_ACTIONFB_CRAFTING;
164
}
165
}
166
}
m_CommandUID
int m_CommandUID
Definition
actionbase.c:31
m_StanceMask
int m_StanceMask
Definition
actionbase.c:33
ActionData
ActionBase ActionData
Definition
actionbase.c:30
IsItemInCargoOfSomething
bool IsItemInCargoOfSomething(ItemBase item)
Definition
actionlightitemonfire.c:40
SetIgnitingAnimation
void SetIgnitingAnimation(ItemBase target_item)
Definition
actionlightitemonfire.c:155
ActionLightItemOnFire
ActionLightItemOnFireCB ActionContinuousBaseCB ActionLightItemOnFire()
Definition
actionlightitemonfire.c:11
ActionTarget
class ActionTargets ActionTarget
ActionBaseCB::m_ActionData
ActionData m_ActionData
Definition
animatedactionbase.c:3
ActionBase::CreateConditionComponents
void CreateConditionComponents()
Definition
actionbase.c:236
ActionBase::SetupAction
bool SetupAction(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=NULL)
Definition
actionbase.c:162
ActionBase::ClearActionJuncture
void ClearActionJuncture(ActionData action_data)
Definition
actionbase.c:1104
ActionBase::CanBePerformedFromQuickbar
bool CanBePerformedFromQuickbar()
Definition
actionbase.c:309
ActionContinuousBaseCB
Definition
actioncontinuousbase.c:2
ActionContinuousBase
Definition
actioncontinuousbase.c:121
ActionContinuousBase::OnFinishProgressServer
void OnFinishProgressServer(ActionData action_data)
Definition
actioncontinuousbase.c:283
ActionLightItemOnFireCB
Definition
actionlightitemonfire.c:2
ActionLightItemOnFireCB::CreateActionComponent
override void CreateActionComponent()
Definition
actionlightitemonfire.c:3
AnimatedActionBase::ActionConditionContinue
override bool ActionConditionContinue(ActionData action_data)
Definition
animatedactionbase.c:235
AnimatedActionBase::ActionCondition
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Definition
animatedactionbase.c:240
CAContinuousTime
Definition
cacontinuoustime.c:2
CCINonRuined
Definition
ccinonruined.c:2
CCTNonRuined
Definition
cctnonruined.c:2
InventoryLocation
InventoryLocation.
Definition
inventorylocation.c:30
InventoryLocation::GetIdx
proto native int GetIdx()
returns index of cargo if current type is Cargo / ProxyCargo
ItemBase
Definition
inventoryitem.c:742
ItemBase::OnIgnitedTargetFailed
override void OnIgnitedTargetFailed(EntityAI target_item)
Definition
handdrillkit.c:17
ItemBase::CanBeIgnitedBy
override bool CanBeIgnitedBy(EntityAI igniter=NULL)
Definition
bandagedressing.c:11
ItemBase::IsIgnited
override bool IsIgnited()
Definition
blowtorch.c:76
ItemBase::OnIgnitedThis
override void OnIgnitedThis(EntityAI fire_source)
Definition
bandagedressing.c:27
ItemBase::CanIgniteItem
override bool CanIgniteItem(EntityAI ignite_target=NULL)
Definition
bandagedressing.c:18
ItemBase::IsThisIgnitionSuccessful
override bool IsThisIgnitionSuccessful(EntityAI item_source=NULL)
Definition
bandagedressing.c:32
ItemBase::HasFlammableMaterial
override bool HasFlammableMaterial()
Definition
bandagedressing.c:6
ItemBase::OnIgnitedTarget
override void OnIgnitedTarget(EntityAI target_item)
Definition
bandagedressing.c:23
Param
Base Param Class with no parameters.
Definition
param.c:12
PlayerBase
Definition
playerbaseclient.c:2
UAMaxDistances
Definition
actionconstants.c:110
UAMaxDistances::DEFAULT
const float DEFAULT
Definition
actionconstants.c:112
UATimeSpent
Definition
actionconstants.c:28
UATimeSpent::FIREPLACE_IGNITE
const float FIREPLACE_IGNITE
Definition
actionconstants.c:96
DayZPlayerConstants
DayZPlayerConstants
defined in C++
Definition
dayzplayer.c:602
FireworksBase
void FireworksBase()
Definition
fireworksbase.c:18
Games
Dayz
scripts
4_world
classes
useractionscomponent
actions
continuous
actionlightitemonfire.c
Generated by
1.17.0