DayZ 1.24
Loading...
Searching...
No Matches
ActionDisarmExplosiveWithRemoteDetonator.c
Go to the documentation of this file.
19
21 {
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
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
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
77 MiscGameplayFunctions.TurnItemIntoItemEx(action_data.m_Player, lambda);
79 action_data.m_Player.GetItemAccessor().OnItemInHandsChanged();
80 }
81}
override void OnFinishProgressServer(ActionData action_data)
bool m_FullBody
Definition ActionBase.c:52
string m_Text
Definition ActionBase.c:49
bool CanBeSetFromInventory()
Definition ActionBase.c:279
void CreateConditionComponents()
Definition ActionBase.c:196
ref CCIBase m_ConditionItem
Definition ActionBase.c:55
ref CCTBase m_ConditionTarget
Definition ActionBase.c:56
bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Definition ActionBase.c:350
int m_StanceMask
Definition ActionBase.c:53
ActionDisarmExplosiveCB ActionContinuousBaseCB ActionDisarmExplosive()
ActionDisarmExplosiveWithRemoteDetonatorCB ActionDisarmExplosiveCB ActionDisarmExplosiveWithRemoteDetonator()
ActionData m_ActionData
ref CABase m_ActionComponent
Definition ActionBase.c:30
const float DISARM_EXPLOSIVE_REMOTE_PAIRED
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:597