DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionDisarmMine.c
См. документацию.
2{
3 override void CreateActionComponent()
4 {
6 }
7}
8
10{
11 void ActionDisarmMine()
12 {
13 m_CallbackClass = ActionDisarmMineCB;
14 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_INTERACT;
15 m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH;
16 m_FullBody = true;
17
18 m_Text = "#disarm";
19 }
20
22 {
23 m_ConditionItem = new CCINonRuined;
24 m_ConditionTarget = new CCTCursor;
25 }
26
27 override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
28 {
29 if (!target)
30 {
31 return false;
32 }
33
34 LandMineTrap targetMine;
35 if (Class.CastTo(targetMine, target.GetObject()) && item && IsInReach(player, target, UAMaxDistances.DEFAULT))
36 {
37 return targetMine.IsActive() && targetMine.CanBeDisarmed();
38 }
39
40 return false;
41 }
42
43 override void OnStartAnimationLoop(ActionData action_data)
44 {
45 if (!GetGame().IsMultiplayer() || GetGame().IsServer())
46 {
47 LandMineTrap targetMine = LandMineTrap.Cast(action_data.m_Target.GetObject());
48 Param1<bool> play = new Param1<bool>(true);
49 GetGame().RPCSingleParam(targetMine, SoundTypeMine.DISARMING, play, true);
50 }
51 }
52
53 override void OnExecute(ActionData action_data)
54 {
55 if (!GetGame().IsMultiplayer() || GetGame().IsServer())
56 {
57 LandMineTrap targetMine = LandMineTrap.Cast(action_data.m_Target.GetObject());
58 Param1<bool> play = new Param1<bool>(true);
59 GetGame().RPCSingleParam(targetMine, SoundTypeMine.DISARMING, play, true);
60 }
61 }
62
63 override void OnEndAnimationLoop( ActionData action_data )
64 {
65 if (!GetGame().IsMultiplayer() || GetGame().IsServer())
66 {
67 LandMineTrap targetMine = LandMineTrap.Cast(action_data.m_Target.GetObject());
68 Param1<bool> play = new Param1<bool>(false);
69 GetGame().RPCSingleParam(targetMine, SoundTypeMine.DISARMING, play, true);
70 }
71 }
72
73 override void OnFinishProgressServer(ActionData action_data)
74 {
75 LandMineTrap targetMine;
76 Class.CastTo(targetMine, action_data.m_Target.GetObject());
77
78 ToolBase tool;
79 Class.CastTo(tool, action_data.m_MainItem);
80
81 if (Math.RandomIntInclusive(0, 100) < tool.GetDisarmRate())
82 {
83 targetMine.Disarm();
84 }
85 else
86 {
87 targetMine.OnSteppedOn(action_data.m_Player);
88 }
89
90 MiscGameplayFunctions.DealAbsoluteDmg(action_data.m_MainItem, 2);
91 }
92};
int m_CommandUID
Определения ActionBase.c:31
int m_StanceMask
Определения ActionBase.c:33
ActionBase ActionData
Определения ActionBase.c:30
ActionDisarmMineCB ActionContinuousBaseCB ActionDisarmMine()
Определения ActionDisarmMine.c:11
class ActionTargets ActionTarget
void LandMineTrap()
Определения Trap_LandMine.c:17
SoundTypeMine
Определения Trap_LandMine.c:2
void CreateConditionComponents()
Определения ActionBase.c:230
ActionData m_ActionData
Определения AnimatedActionBase.c:3
void OnEndAnimationLoop(ActionData action_data)
Определения ActionContinuousBase.c:226
void OnStartAnimationLoop(ActionData action_data)
Определения ActionContinuousBase.c:208
void OnFinishProgressServer(ActionData action_data)
Определения ActionContinuousBase.c:283
override void CreateActionComponent()
Определения ActionDisarmMine.c:3
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения AnimatedActionBase.c:240
void OnExecute(ActionData action_data)
Определения AnimatedActionBase.c:171
Определения CCINonRuined.c:2
Определения CCTCursor.c:2
proto native void RPCSingleParam(Object target, int rpc_type, Param param, bool guaranteed, PlayerIdentity recipient=null)
see CGame.RPC
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения InventoryItem.c:731
Определения EnMath.c:7
Определения PlayerBaseClient.c:2
Определения BoneKnife.c:2
const float DEFAULT
Определения ActionConstants.c:112
const float DISARM_MINE
Определения ActionConstants.c:89
Определения ActionConstants.c:28
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
proto native CGame GetGame()
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
static int RandomIntInclusive(int min, int max)
Returns a random int number between and min [inclusive] and max [inclusive].
Определения EnMath.c:54