Dayz 1.25
Dayz Code Explorer by KGB
Загрузка...
Поиск...
Не найдено
Файл ActionDisarmExplosiveWithRemoteDetonatorUnpaired.c

См. исходные тексты.

Структуры данных

class  ActionDisarmExplosiveWithRemoteDetonatorUnpairedCB
 

Функции

ActionDisarmExplosiveWithRemoteDetonatorUnpairedCB ActionDisarmExplosiveCB ActionDisarmExplosiveWithRemoteDetonatorUnpaired ()
 
override void CreateActionComponent ()
 
override void CreateConditionComponents ()
 
override bool ActionCondition (PlayerBase player, ActionTarget target, ItemBase item)
 
override void OnFinishProgressServer (ActionData action_data)
 

Функции

◆ ActionCondition()

override bool ActionCondition ( PlayerBase player,
ActionTarget target,
ItemBase item )

explosives only

RD trigger

RD kit

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
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 }
RemoteDetonatorTrigger RemoteDetonator RemoteDetonatorReceiver()
Definition RemoteDetonator.c:227
Definition AlarmClock.c:2
Definition ClaymoreMine.c:2
Definition KitchenTimer.c:2
Definition EntityAI.c:95
Definition RemoteDetonator.c:47

Перекрестные ссылки RemoteDetonatorReceiver().

◆ ActionDisarmExplosiveWithRemoteDetonatorUnpaired()

ActionDisarmExplosiveWithRemoteDetonatorUnpairedCB ActionDisarmExplosiveCB ActionDisarmExplosiveWithRemoteDetonatorUnpaired ( )
12 {
14 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_INTERACT;
15 m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH;
16 m_FullBody = true;
17 m_Text = "#disarm";
18 }
bool m_FullBody
Definition ActionBase.c:52
string m_Text
Definition ActionBase.c:49
int m_StanceMask
Definition ActionBase.c:53
Definition ActionDisarmExplosiveWithRemoteDetonatorUnpaired.c:2
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602

Используется в OnVariablesSynchronized(), ActionConstructor::RegisterActions() и RemoteDetonatorReceiver().

◆ CreateActionComponent()

override void CreateActionComponent ( )
12 {
14 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_INTERACT;
15 m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH;

Перекрестные ссылки m_FullBody, m_StanceMask и m_Text.

◆ CreateConditionComponents()

override void CreateConditionComponents ( )
21 {
24 }
ref CCIBase m_ConditionItem
Definition ActionBase.c:55
ref CCTBase m_ConditionTarget
Definition ActionBase.c:56
Definition CCINonRuined.c:2
Definition CCTCursor.c:2

Перекрестные ссылки m_ConditionItem и m_ConditionTarget.

◆ OnFinishProgressServer()

override void OnFinishProgressServer ( ActionData action_data)

claymore has integrated detonator

refresh IK, item changed

74 {
75 ExplosivesBase target = ExplosivesBase.Cast(action_data.m_Target.GetObject());
76 ItemBase detonator = ItemBase.Cast(action_data.m_MainItem);
77
78 target.Disarm();
79 target.SetTakeable(true);
80
82 if (target.IsInherited(ClaymoreMine))
83 {
84 detonator.Delete();
85 return;
86 }
87
89 MiscGameplayFunctions.TurnItemIntoItemEx(action_data.m_Player, lambda);
91 action_data.m_Player.GetItemAccessor().OnItemInHandsChanged();
92 }
Definition InventoryItem.c:731
Definition RemoteDetonator.c:259
base class for transformation operations (creating one item from another)
Definition ReplaceItemWithNewLambdaBase.c:5