DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionMixMortarAtWell.c
См. документацию.
1
3{
5 {
7 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_MIX_MORTAR;
8 m_FullBody = true;
9 m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT;
10 m_SpecialtyWeight = UASoftSkillsWeight.PRECISE_LOW;
11 m_Text = "#STR_CraftMortarMix0";
12
13 }
14
16 {
19 }
20
21 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
22 {
23 Object targetObject = target.GetObject();
24 if(targetObject && targetObject.IsWell())
25 {
26 return true;
27 }
28 return false;
29 }
30
31 override bool ActionConditionContinue(ActionData action_data)
32 {
33 return true;
34 }
35
36 override bool IsLockTargetOnUse()
37 {
38 return false;
39 }
40
42 {
43 return true;
44 }
45
46 override bool UseAlternativeInterrupt(ActionData action_data)
47 {
48 return HasAlternativeInterrupt() && (action_data.m_ActionComponent.GetProgress() >= 1);
49 }
50
51 // -------------------------------------------------------------------------
52 // Result
53 // -------------------------------------------------------------------------
54
55 override void OnFinishProgressServer(ActionData action_data)
56 {
57 ItemBase mortarMixClosed = action_data.m_MainItem;
58 if (!mortarMixClosed)
59 return;
60
61 string resultType = "MortarMix_Opened";
62
63 // Try inventory first; fallback to ground at player pos
64 // This is the result of the crafting (an open Mortar Mix)
65 ItemBase mortarMixOpen = ItemBase.Cast(action_data.m_Player.GetInventory().CreateInInventory(resultType));
66
67 if (!mortarMixOpen)
68 {
69 mortarMixOpen = ItemBase.Cast(GetGame().CreateObject(resultType, action_data.m_Player.GetPosition()));
70 if (mortarMixOpen)
71 mortarMixOpen.PlaceOnSurface();
72 }
73
74 if (mortarMixOpen)
75 {
76 mortarMixOpen.SetHealth("", "", mortarMixClosed.GetHealth());
77 mortarMixClosed.Delete();
78 }
79 }
80}
bool m_FullBody
Определения ActionBase.c:60
string m_Text
Определения ActionBase.c:57
ref CCIBase m_ConditionItem
Определения ActionBase.c:63
float m_SpecialtyWeight
Определения ActionBase.c:77
ref CCTBase m_ConditionTarget
Определения ActionBase.c:64
int m_StanceMask
Определения ActionBase.c:61
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
Определения ActionTargets.c:125
void ActionContinuousBase()
Определения ActionContinuousBase.c:124
PlayerBase m_Player
Определения ActionBase.c:40
ref CABase m_ActionComponent
Определения ActionBase.c:37
ItemBase m_MainItem
Определения ActionBase.c:35
Определения ActionBase.c:22
override bool ActionConditionContinue(ActionData action_data)
Определения ActionMixMortarAtWell.c:31
override bool HasAlternativeInterrupt()
Определения ActionMixMortarAtWell.c:41
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionMixMortarAtWell.c:21
override void CreateConditionComponents()
Определения ActionMixMortarAtWell.c:15
override bool UseAlternativeInterrupt(ActionData action_data)
Определения ActionMixMortarAtWell.c:46
void ActionMixMortarAtWell()
Определения ActionMixMortarAtWell.c:4
override void OnFinishProgressServer(ActionData action_data)
Определения ActionMixMortarAtWell.c:55
override bool IsLockTargetOnUse()
Определения ActionMixMortarAtWell.c:36
int m_CommandUID
Определения AnimatedActionBase.c:147
float GetProgress()
Определения CABase.c:62
Определения CCINonRuined.c:2
Определения CCTObject.c:2
Определения ObjectTyped.c:2
Определения PlayerBaseClient.c:2
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
DayZGame GetGame()
Определения gameplay.c:636