DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
FirearmActionBase.c
См. документацию.
2{
4
5 override int GetStanceMask(PlayerBase player)
6 {
7 return DayZPlayerConstants.STANCEMASK_ALL;
8 }
9
10 override int GetActionCategory()
11 {
12 return AC_SINGLE_USE;
13 }
14
15 override typename GetInputType()
16 {
17 return DefaultActionInput;
18 }
19
20 override bool ActionConditionContinue(ActionData action_data)
21 {
22 Weapon_Base wpn = Weapon_Base.Cast(action_data.m_MainItem);
23 return !wpn.IsIdle();
24 }
25
26 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
27 {
28 Weapon_Base wpn = Weapon_Base.Cast(item);
29 return wpn && wpn.CanProcessWeaponEvents() && !player.GetDayZPlayerInventory().IsProcessing();
30 }
31
32 override void Start(ActionData action_data)
33 {
34 super.Start(action_data);
35
36 action_data.m_State = UA_PROCESSING;
37 }
38
40 {
41 return true;
42 }
43
44 override bool CanBeUsedOnBack()
45 {
46 return true;
47 }
48
49 override bool CanBeUsedRaised()
50 {
51 return true;
52 }
53
54 override void OnUpdate(ActionData action_data)
55 {
56 super.OnUpdate(action_data);
57
58 Weapon_Base wpn = Weapon_Base.Cast(action_data.m_MainItem);
59
60 if (!wpn || action_data.m_Player.GetItemInHands() != wpn || !action_data.m_Player.GetWeaponManager().IsRunning())
61 {
62 End(action_data);
63 }
64 }
65
66 override float GetProgress(ActionData action_data)
67 {
68 return -1;
69 }
70
71 override bool AddActionJuncture(ActionData action_data)
72 {
73 bool accepted;
74 accepted = super.AddActionJuncture(action_data);
75
76 Weapon_Base wpn = Weapon_Base.Cast(action_data.m_MainItem);
77
78
79 if (wpn)
80 {
81 Magazine mag = wpn.GetMagazine(wpn.GetCurrentMuzzle());
82
83 if (mag)
84 {
86 mag.GetInventory().GetCurrentInventoryLocation(magIl);
87
88 if (!GetGame().AddInventoryJunctureEx(action_data.m_Player, mag, magIl, true, 10000))
89 {
90 accepted = false;
91 ClearActionJuncture(action_data);
92 }
93 else
94 {
95 action_data.m_ReservedInventoryLocations.Insert(magIl);
96 }
97 }
98 }
99 return accepted;
100 }
101}
const int AC_SINGLE_USE
Определения _constants.c:2
ActionBase ActionData
Определения ActionBase.c:30
class ActionTargets ActionTarget
proto static native void End()
Finalizes the testing process.
void ClearActionJuncture(ActionData action_data)
Определения ActionBase.c:1083
void ActionBase()
Определения ActionBase.c:82
override bool CanBeUsedRaised()
Определения FirearmActionBase.c:49
override bool ActionConditionContinue(ActionData action_data)
Определения FirearmActionBase.c:20
void FirearmActionBase()
override bool CanBeUsedOnBack()
Определения FirearmActionBase.c:44
override float GetProgress(ActionData action_data)
Определения FirearmActionBase.c:66
override void Start(ActionData action_data)
Определения FirearmActionBase.c:32
override void OnUpdate(ActionData action_data)
Определения FirearmActionBase.c:54
override bool CanBePerformedFromInventory()
Определения FirearmActionBase.c:39
override int GetStanceMask(PlayerBase player)
Определения FirearmActionBase.c:5
override bool AddActionJuncture(ActionData action_data)
Определения FirearmActionBase.c:71
override int GetActionCategory()
Определения FirearmActionBase.c:10
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения FirearmActionBase.c:26
override GetInputType()
Определения FirearmActionBase.c:15
InventoryLocation.
Определения InventoryLocation.c:29
Определения InventoryItem.c:731
Определения PlayerBaseClient.c:2
shorthand
Определения BoltActionRifle_Base.c:6
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
proto native CGame GetGame()
const int UA_PROCESSING
Определения constants.c:462