Dayz Explorer
1.28.160049
Loading...
Searching...
No Matches
actiondisarmexplosivewithremotedetonator.c
Go to the documentation of this file.
1
class
ActionDisarmExplosiveWithRemoteDetonatorCB
:
ActionDisarmExplosiveCB
2
{
3
override
void
CreateActionComponent()
4
{
5
m_ActionData
.m_ActionComponent =
new
CAContinuousTime
(
UATimeSpent
.DISARM_EXPLOSIVE_REMOTE_PAIRED);
6
}
7
}
8
9
class
ActionDisarmExplosiveWithRemoteDetonator
:
ActionDisarmExplosive
10
{
11
void
ActionDisarmExplosiveWithRemoteDetonator
()
12
{
13
m_CallbackClass =
ActionDisarmExplosiveWithRemoteDetonatorCB
;
14
m_CommandUID
=
DayZPlayerConstants
.CMD_ACTIONFB_INTERACT;
15
m_StanceMask
=
DayZPlayerConstants
.STANCEMASK_CROUCH;
16
m_FullBody =
true
;
17
m_Text =
"#disarm"
;
18
}
19
20
override
void
CreateConditionComponents
()
21
{
22
m_ConditionItem =
new
CCINonRuined
();
23
m_ConditionTarget =
new
CCTNonRuined
();
24
}
25
26
override
bool
CanBeSetFromInventory
()
27
{
28
return
true
;
29
}
30
31
override
bool
ActionCondition
(
PlayerBase
player, ActionTarget target,
ItemBase
item)
32
{
33
if
(!target)
34
return
false
;
35
36
ExplosivesBase explosive = ExplosivesBase.Cast(target.GetObject());
37
if
(!explosive)
38
return
false
;
39
40
if
(explosive.IsRuined() || !explosive.GetArmed() || !explosive.CanBeDisarmed())
41
return
false
;
42
43
if
(explosive.GetAttachmentByType(
KitchenTimer
) || explosive.GetAttachmentByType(
AlarmClock_ColorBase
))
44
return
false
;
45
46
RemoteDetonatorTrigger
rdt =
RemoteDetonatorTrigger
.Cast(item);
47
if
(rdt && rdt.
IsConnected
())
48
{
49
if
(explosive != rdt.
GetControlledDevice
())
50
return
false
;
51
52
ExplosivesBase controlledDevice = ExplosivesBase.Cast(rdt.
GetControlledDevice
());
53
if
(controlledDevice && !controlledDevice.IsRuined() && controlledDevice.GetArmed())
54
return
true
;
55
}
56
57
return
false
;
58
}
59
60
override
void
OnFinishProgressServer
(ActionData action_data)
61
{
62
ExplosivesBase explosive = ExplosivesBase.Cast(action_data.m_Target.GetObject());
63
ItemBase
detonator =
ItemBase
.Cast(action_data.m_MainItem);
64
65
explosive.OnBeforeDisarm();
66
68
if
(explosive.IsInherited(
ClaymoreMine
))
69
{
70
explosive.Disarm();
71
explosive.SetTakeable(
true
);
72
detonator.Delete();
73
return
;
74
}
75
76
ReplaceDetonatorItemOnDisarmLambda
lambda =
new
ReplaceDetonatorItemOnDisarmLambda
(detonator,
"RemoteDetonator"
);
77
MiscGameplayFunctions.TurnItemIntoItemEx(action_data.m_Player, lambda);
79
action_data.m_Player.GetItemAccessor().OnItemInHandsChanged();
80
}
81
}
OnFinishProgressServer
override void OnFinishProgressServer(ActionData action_data)
Definition
actionactivatetrap.c:116
CreateConditionComponents
override void CreateConditionComponents()
Definition
actionactivatetrap.c:30
ActionCondition
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Definition
actionactivatetrap.c:46
CanBeSetFromInventory
override bool CanBeSetFromInventory()
Definition
actionattachexplosivestrigger.c:32
m_CommandUID
int m_CommandUID
Definition
actionbase.c:31
m_StanceMask
int m_StanceMask
Definition
actionbase.c:33
ActionDisarmExplosive
ActionDisarmExplosiveCB ActionContinuousBaseCB ActionDisarmExplosive()
Definition
actiondisarmexplosive.c:11
ActionDisarmExplosiveWithRemoteDetonator
ActionDisarmExplosiveWithRemoteDetonatorCB ActionDisarmExplosiveCB ActionDisarmExplosiveWithRemoteDetonator()
Definition
actiondisarmexplosivewithremotedetonator.c:11
ActionBaseCB::m_ActionData
ActionData m_ActionData
Definition
animatedactionbase.c:3
ActionDisarmExplosiveCB
Definition
actiondisarmexplosive.c:2
ActionDisarmExplosiveWithRemoteDetonatorCB
Definition
actiondisarmexplosivewithremotedetonator.c:2
AlarmClock_ColorBase
Definition
alarmclock.c:2
CAContinuousTime
Definition
cacontinuoustime.c:2
CCINonRuined
Definition
ccinonruined.c:2
CCTNonRuined
Definition
cctnonruined.c:2
ClaymoreMine
Definition
claymoremine.c:2
ItemBase
Definition
inventoryitem.c:731
KitchenTimer
Definition
kitchentimer.c:2
PlayerBase
Definition
playerbaseclient.c:2
RemoteDetonatorTrigger
Definition
remotedetonator.c:47
RemoteDetonatorTrigger::GetControlledDevice
EntityAI GetControlledDevice()
Definition
remotedetonator.c:150
RemoteDetonatorTrigger::IsConnected
bool IsConnected()
Definition
remotedetonator.c:145
ReplaceDetonatorItemOnDisarmLambda
Definition
remotedetonator.c:312
UATimeSpent
Definition
actionconstants.c:28
DayZPlayerConstants
DayZPlayerConstants
defined in C++
Definition
dayzplayer.c:602
Daten
4_world
classes
useractionscomponent
actions
continuous
actiondisarmexplosivewithremotedetonator.c
Generated by
1.12.0