DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionDisarmExplosiveWithRemoteDetonatorUnpaired.c
См. документацию.
19
21 {
24 }
25
26 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
27 {
28 if (!target)
29 {
30 return false;
31 }
32
34 ExplosivesBase explosive = ExplosivesBase.Cast(target.GetObject());
35 if (!explosive)
36 {
37 return false;
38 }
39
40 if (explosive.IsRuined() || !explosive.GetArmed() || !explosive.CanBeDisarmed())
41 {
42 return false;
43 }
44
45 if (explosive.GetAttachmentByType(KitchenTimer) || explosive.GetAttachmentByType(AlarmClock_ColorBase))
46 {
47 return false;
48 }
49
50 RemoteDetonatorReceiver attachedReceiver = RemoteDetonatorReceiver.Cast(explosive.GetAttachmentByType(RemoteDetonatorReceiver));
51 if (!explosive.IsInherited(ClaymoreMine) && attachedReceiver && attachedReceiver.IsRuined())
52 {
53 return false;
54 }
55
58 if (rdt && target.GetObject() != rdt.GetControlledDevice())
59 {
60 return true;
61 }
62
64 RemoteDetonator rd = RemoteDetonator.Cast(item);
65 if (rd && rd.IsKit())
66 {
67 return true;
68 }
69
70 return false;
71 }
72
73 override void OnStartServer(ActionData action_data)
74 {
75 super.OnStartServer(action_data);
76
77 ExplosivesBase item = ExplosivesBase.Cast(action_data.m_Target.GetObject());
78 if (item.GetDisarmSoundsetUnpaired() != string.Empty)
79 item.StartItemSoundServer(SoundConstants.ITEM_EXPLOSIVE_DISARM_UNPAIRED);
80 }
81
82 override void OnEndServer(ActionData action_data)
83 {
84 super.OnEndServer(action_data);
85
86 ExplosivesBase item = ExplosivesBase.Cast(action_data.m_Target.GetObject());
87 if (item.GetDisarmSoundsetUnpaired() != string.Empty)
88 item.StopItemSoundServer(SoundConstants.ITEM_EXPLOSIVE_DISARM_UNPAIRED);
89 }
90
91 override void OnFinishProgressServer(ActionData action_data)
92 {
93 ExplosivesBase target = ExplosivesBase.Cast(action_data.m_Target.GetObject());
94 ItemBase detonator = ItemBase.Cast(action_data.m_MainItem);
95
96 target.Disarm();
97 target.SetTakeable(true);
98
100 if (target.IsInherited(ClaymoreMine))
101 {
102 detonator.Delete();
103 return;
104 }
105
106 ReplaceItemWithNewLambdaBase lambda = new ReplaceDetonatorItemLambda(detonator, "RemoteDetonator");
107 MiscGameplayFunctions.TurnItemIntoItemEx(action_data.m_Player, lambda);
109 action_data.m_Player.GetItemAccessor().OnItemInHandsChanged();
110 }
111}
override void OnFinishProgressServer(ActionData action_data)
Определения ActionActivateTrap.c:131
bool m_FullBody
Определения ActionBase.c:60
string m_Text
Определения ActionBase.c:57
void OnEndServer(ActionData action_data)
Определения ActionBase.c:1409
void CreateConditionComponents()
Определения ActionBase.c:245
ref CCIBase m_ConditionItem
Определения ActionBase.c:63
void OnStartServer(ActionData action_data)
Определения ActionBase.c:1391
ref CCTBase m_ConditionTarget
Определения ActionBase.c:64
bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBase.c:441
int m_StanceMask
Определения ActionBase.c:61
ActionDisarmExplosiveWithRemoteDetonatorCB ActionDisarmExplosiveCB ActionDisarmExplosiveWithRemoteDetonator()
ActionDisarmExplosiveWithRemoteDetonatorUnpairedCB ActionDisarmExplosiveCB ActionDisarmExplosiveWithRemoteDetonatorUnpaired()
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
Определения ActionTargets.c:125
void ExplosivesBase()
Определения ExplosivesBase.c:45
RemoteDetonatorTrigger RemoteDetonator RemoteDetonatorReceiver()
Определения RemoteDetonator.c:227
ActionData m_ActionData
Определения AnimatedActionBase.c:3
PlayerBase m_Player
Определения ActionBase.c:40
ref ActionTarget m_Target
Определения ActionBase.c:39
ItemBase m_MainItem
Определения ActionBase.c:35
Определения ActionBase.c:22
Определения AlarmClock.c:2
Определения CCINonRuined.c:2
Определения CCTCursor.c:2
Определения ClaymoreMine.c:2
Определения KitchenTimer.c:2
Определения PlayerBaseClient.c:2
EntityAI GetControlledDevice()
Определения RemoteDetonator.c:150
base class for transformation operations (creating one item from another)
Определения ReplaceItemWithNewLambdaBase.c:5
const float DISARM_EXPLOSIVE_REMOTE_UNPAIRED
Определения ActionConstants.c:92
Определения ActionConstants.c:28
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602