Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
actionplantseed.c
Go to the documentation of this file.
1
class
ActionPlantSeed
:
ActionSingleUseBase
2
{
3
void
ActionPlantSeed
()
4
{
5
m_CommandUID
=
DayZPlayerConstants
.CMD_ACTIONMOD_DROPITEM_HANDS;
6
m_FullBody
=
false
;
7
8
m_Text
=
"#plant_seed"
;
9
}
10
11
override
void
CreateConditionComponents
()
12
{
13
m_ConditionItem
=
new
CCINonRuined
();
14
m_ConditionTarget
=
new
CCTDummy
();
15
}
16
17
override
bool
HasTarget
()
18
{
19
return
true
;
20
}
21
22
override
bool
ActionCondition
(
PlayerBase
player,
ActionTarget
target,
ItemBase
item)
23
{
24
GardenBase
gardenBase =
GardenBase
.Cast(target.GetObject());
25
26
if
(gardenBase && (!gardenBase.IsHologram() || !gardenBase.IsBeingPlaced()))
27
{
28
array<string>
selections =
new
array<string>
();
29
gardenBase.GetActionComponentNameList(target.GetComponentIndex(), selections);
30
31
foreach
(
string
selection : selections)
32
{
33
Slot slot = gardenBase.GetSlotBySelection(selection);
34
if
(slot)
35
{
36
if
(item != null && item.GetQuantity() > 0 && gardenBase.CanPlantSeed(selection))
37
return
true
;
38
}
39
}
40
}
41
42
return
false
;
43
}
44
45
override
void
OnExecuteServer
(
ActionData
action_data)
46
{
47
super.OnExecuteServer(action_data);
48
49
Process
(action_data);
50
}
51
52
void
Process
(
ActionData
action_data)
53
{
54
GardenBase
gardenBase =
GardenBase
.Cast(action_data.m_Target.GetObject());
55
56
if
(gardenBase)
57
{
58
int
slotID;
59
array<string>
selections =
new
array<string>
();
60
gardenBase.GetActionComponentNameList(action_data.m_Target.GetComponentIndex(), selections);
61
62
foreach
(
string
selection : selections)
63
{
64
Slot slot = gardenBase.GetSlotBySelection(selection);
65
if
(slot)
66
{
67
slotID = slot.GetSlotId();
68
break
;
69
}
70
}
71
72
ItemBase
seed =
ItemBase
.Cast(action_data.m_MainItem);
73
if
(seed.GetQuantity() > 1)
74
seed.SplitIntoStackMax(gardenBase, slotID, action_data.m_Player);
75
else
76
gardenBase.ServerTakeEntityToTargetAttachmentEx(gardenBase, seed, slotID);
77
}
78
}
79
}
ActionData
ActionBase ActionData
Definition
actionbase.c:30
ActionTarget
class ActionTargets ActionTarget
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_ConditionTarget
ref CCTBase m_ConditionTarget
Definition
actionbase.c:71
ActionPlantSeed::ActionPlantSeed
void ActionPlantSeed()
Definition
actionplantseed.c:3
ActionPlantSeed::OnExecuteServer
override void OnExecuteServer(ActionData action_data)
Definition
actionplantseed.c:45
ActionPlantSeed::CreateConditionComponents
override void CreateConditionComponents()
Definition
actionplantseed.c:11
ActionPlantSeed::ActionCondition
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Definition
actionplantseed.c:22
ActionPlantSeed::HasTarget
override bool HasTarget()
Definition
actionplantseed.c:17
ActionPlantSeed::Process
void Process(ActionData action_data)
Definition
actionplantseed.c:52
ActionSingleUseBase::ActionSingleUseBase
void ActionSingleUseBase()
Definition
actionsingleusebase.c:31
AnimatedActionBase::m_CommandUID
int m_CommandUID
Definition
animatedactionbase.c:143
CCINonRuined
Definition
ccinonruined.c:2
CCTDummy
Definition
cctdummy.c:2
GardenBase
Definition
gardenplot.c:2
ItemBase
Definition
inventoryitem.c:742
PlayerBase
Definition
playerbaseclient.c:2
array
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Definition
isboxcollidinggeometryproxyclasses.c:28
DayZPlayerConstants
DayZPlayerConstants
defined in C++
Definition
dayzplayer.c:602
Process
void Process()
Definition
effectmanager.c:743
Games
Dayz
scripts
4_world
classes
useractionscomponent
actions
singleuse
actionplantseed.c
Generated by
1.17.0