Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
actionrepositionpluggeditem.c
Go to the documentation of this file.
1
class
ActionRepositionPluggedItem
:
ActionInteractBase
2
{
3
// Through this action players can reposition already placed electric devices without unplugging them from the power source.
4
void
ActionRepositionPluggedItem
()
5
{
6
m_CallbackClass
=
ActionInteractBaseCB
;
7
m_CommandUID
=
DayZPlayerConstants
.CMD_ACTIONMOD_PICKUP_HANDS;
8
m_StanceMask
=
DayZPlayerConstants
.STANCEMASK_ERECT |
DayZPlayerConstants
.STANCEMASK_CROUCH;
9
10
m_Text
=
"#reposition"
;
11
}
12
13
override
typename
GetInputType
()
14
{
15
return
ContinuousInteractActionInput
;
16
}
17
18
override
bool
HasProgress
()
19
{
20
return
false
;
21
}
22
23
override
bool
CanBeUsedOnBack
()
24
{
25
return
false
;
26
}
27
28
override
bool
ActionCondition
(
PlayerBase
player,
ActionTarget
target,
ItemBase
item)
29
{
30
ItemBase
targetItem =
ItemBase
.Cast(target.GetObject());
31
EntityAI
targetParent =
EntityAI
.Cast(targetItem.GetHierarchyParent());
32
if
(!targetItem || !targetItem.
IsTakeable
() || targetItem.IsBeingPlaced() || (targetItem.GetCompEM() && !targetItem.GetCompEM().IsPlugged()) || ( targetItem.GetHierarchyParent() && !
BaseBuildingBase
.Cast(targetItem.GetHierarchyParent()) ) || ((targetParent && !targetItem.
CanDetachAttachment
(targetParent)) || (targetParent && !targetParent.CanReleaseAttachment(targetItem))))
33
return
false
;
34
35
if
(targetItem.HasEnergyManager() && targetItem.GetCompEM().IsPlugged())
36
return
player.GetInventory().CanAddEntityIntoHands(targetItem);
37
38
return
false
;
39
}
40
41
override
bool
CanContinue
(
ActionData
action_data)
42
{
43
EntityAI
ent =
EntityAI
.Cast(action_data.m_Target.GetObject());
44
return
ent && ent.GetCompEM().GetCordLength() > 0;
45
}
46
47
override
void
Start
(
ActionData
action_data)
48
{
49
super.Start(action_data);
50
51
ItemBase
ntarget =
ItemBase
.Cast(action_data.m_Target.GetObject());
52
if
(
g_Game
.IsMultiplayer() &&
g_Game
.IsServer())
53
action_data.m_Player.PlacingStartServer(ntarget);
54
else
55
action_data.m_Player.PlacingStartLocal(ntarget);
56
}
57
58
override
void
OnExecuteServer
(
ActionData
action_data)
59
{
60
ClearActionJuncture
(action_data);
61
62
if
(
g_Game
.IsMultiplayer())
63
return
;
64
65
InventoryLocation
il =
new
InventoryLocation
();
66
ItemBase
ntarget =
ItemBase
.Cast(action_data.m_Target.GetObject());
67
ClearInventoryReservationEx
(action_data);
68
69
action_data.m_Player.PredictiveTakeEntityToHands(ntarget);
70
}
71
72
override
void
OnExecuteClient
(
ActionData
action_data)
73
{
74
InventoryLocation
il =
new
InventoryLocation
();
75
ItemBase
ntarget =
ItemBase
.Cast(action_data.m_Target.GetObject());
76
ClearInventoryReservationEx
(action_data);
77
78
action_data.m_Player.PredictiveTakeEntityToHands(ntarget);
79
}
80
81
override
void
CreateAndSetupActionCallback
(
ActionData
action_data)
82
{
83
EntityAI
target =
EntityAI
.Cast(action_data.m_Target.GetObject());
84
ActionBaseCB
callback;
85
if
(!target)
86
return
;
87
88
if
(target.IsHeavyBehaviour())
89
{
90
Class
.
CastTo
(callback, action_data.m_Player.StartCommand_Action(
DayZPlayerConstants
.CMD_ACTIONFB_PICKUP_HEAVY,
GetCallbackClassTypename
(),
DayZPlayerConstants
.STANCEMASK_ERECT));
91
}
92
else
93
{
94
Class
.
CastTo
(callback, action_data.m_Player.AddCommandModifier_Action(
DayZPlayerConstants
.CMD_ACTIONMOD_PICKUP_HANDS,
GetCallbackClassTypename
()));
95
}
96
97
callback.
SetActionData
(action_data);
98
callback.
InitActionComponent
();
99
action_data.m_Callback = callback;
100
}
101
103
protected
ItemBase
m_SourceForReplug
;
104
}
ActionData
ActionBase ActionData
Definition
actionbase.c:30
ActionTarget
class ActionTargets ActionTarget
ActionBaseCB
Definition
animatedactionbase.c:2
ActionBaseCB::InitActionComponent
void InitActionComponent()
Definition
animatedactionbase.c:66
ActionBaseCB::SetActionData
void SetActionData(ActionData action_data)
Definition
animatedactionbase.c:109
ActionBase::m_Text
string m_Text
Definition
actionbase.c:64
ActionBase::ClearInventoryReservationEx
void ClearInventoryReservationEx(ActionData action_data)
Definition
actionbase.c:1040
ActionBase::ClearActionJuncture
void ClearActionJuncture(ActionData action_data)
Definition
actionbase.c:1104
ActionBase::m_StanceMask
int m_StanceMask
Definition
actionbase.c:68
ActionInteractBaseCB
Definition
actioninteractbase.c:2
ActionInteractBase::ActionInteractBase
void ActionInteractBase()
Definition
actioninteractbase.c:43
ActionRepositionPluggedItem::CanBeUsedOnBack
override bool CanBeUsedOnBack()
Definition
actionrepositionpluggeditem.c:23
ActionRepositionPluggedItem::OnExecuteServer
override void OnExecuteServer(ActionData action_data)
Definition
actionrepositionpluggeditem.c:58
ActionRepositionPluggedItem::Start
override void Start(ActionData action_data)
Definition
actionrepositionpluggeditem.c:47
ActionRepositionPluggedItem::CanContinue
override bool CanContinue(ActionData action_data)
Definition
actionrepositionpluggeditem.c:41
ActionRepositionPluggedItem::HasProgress
override bool HasProgress()
Definition
actionrepositionpluggeditem.c:18
ActionRepositionPluggedItem::OnExecuteClient
override void OnExecuteClient(ActionData action_data)
Definition
actionrepositionpluggeditem.c:72
ActionRepositionPluggedItem::m_SourceForReplug
ItemBase m_SourceForReplug
DEPRECATED.
Definition
actionrepositionpluggeditem.c:103
ActionRepositionPluggedItem::ActionRepositionPluggedItem
void ActionRepositionPluggedItem()
Definition
actionrepositionpluggeditem.c:4
ActionRepositionPluggedItem::ActionCondition
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Definition
actionrepositionpluggeditem.c:28
ActionRepositionPluggedItem::GetInputType
override GetInputType()
Definition
actionrepositionpluggeditem.c:13
ActionRepositionPluggedItem::CreateAndSetupActionCallback
override void CreateAndSetupActionCallback(ActionData action_data)
Definition
actionrepositionpluggeditem.c:81
AnimatedActionBase::GetCallbackClassTypename
GetCallbackClassTypename()
Definition
animatedactionbase.c:312
AnimatedActionBase::m_CommandUID
int m_CommandUID
Definition
animatedactionbase.c:143
AnimatedActionBase::m_CallbackClass
m_CallbackClass
Definition
animatedactionbase.c:145
BaseBuildingBase
Definition
fence.c:2
Class
Super root of all classes in Enforce script.
Definition
enscript.c:11
ContinuousInteractActionInput
Definition
actioninput.c:523
EntityAI
Definition
inventoryitem.c:2
InventoryLocation
InventoryLocation.
Definition
inventorylocation.c:30
ItemBase
Definition
inventoryitem.c:742
ItemBase::IsTakeable
override bool IsTakeable()
Definition
basebuildingbase.c:1008
ItemBase::CanDetachAttachment
override bool CanDetachAttachment(EntityAI parent)
Definition
gardenlime.c:42
PlayerBase
Definition
playerbaseclient.c:2
g_Game
DayZGame g_Game
Definition
dayzgame.c:3942
DayZPlayerConstants
DayZPlayerConstants
defined in C++
Definition
dayzplayer.c:602
Class::CastTo
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
Games
Dayz
scripts
4_world
classes
useractionscomponent
actions
interact
actionrepositionpluggeditem.c
Generated by
1.17.0