DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionRestrainSelf.c
См. документацию.
2{
3 const float DEFAULT_RESTRAIN_TIME = 2;
4
5 override void CreateActionComponent()
6 {
7 float time = DEFAULT_RESTRAIN_TIME;
8
9 if( m_ActionData.m_MainItem.ConfigIsExisting("RestrainTime") )
10 {
11 time = m_ActionData.m_MainItem.ConfigGetFloat("RestrainTime");
12 }
13
14 if( m_ActionData.m_Player.IsQuickRestrain() )
15 {
17 }
18
19 m_ActionData.m_ActionComponent = new CAContinuousTime(time);
20 }
21};
22
24{
26 {
28 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_RESTRAINSELF;
29 m_FullBody = true;
30 m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT | DayZPlayerConstants.STANCEMASK_CROUCH;
31 //m_Animation = "INJECTEPIPENS";
32 m_SpecialtyWeight = UASoftSkillsWeight.ROUGH_LOW;
33 m_Text = "#restrain_self";
34 }
35
36 override int GetStanceMask(PlayerBase player)
37 {
38 if ( player.IsPlayerInStance(DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_PRONE))
39 return DayZPlayerConstants.STANCEMASK_CROUCH;
40 else
41 return DayZPlayerConstants.STANCEMASK_ERECT;
42 }
43
49
50 override bool HasTarget()
51 {
52 return false;
53 }
54
56 {
57 return true;
58 }
59
60 override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
61 {
62 if(player.IsRestrained())
63 {
64 return false;
65 }
66
67 return true;
68 }
69
70 override void OnStartServer(ActionData action_data)
71 {
72 super.OnStartServer(action_data);
73
74 action_data.m_Player.SetRestrainStarted(true);
75 }
76
77 override void OnFinishProgressServer( ActionData action_data )
78 {
79 PlayerBase player = PlayerBase.Cast( action_data.m_Player );
80 EntityAI item_in_hands = action_data.m_MainItem;
81 if (item_in_hands)
82 {
83 ClearInventoryReservationEx(action_data);
84 //action_data.m_Player.RemoveQuickBarEntityShortcut(item_in_hands);
85 string new_item_name = MiscGameplayFunctions.ObtainRestrainItemTargetClassname(item_in_hands);
86 TurnItemIntoItemLambdaRestrainLambda lambda = new TurnItemIntoItemLambdaRestrainLambda(item_in_hands, new_item_name, action_data.m_Player);
87 MiscGameplayFunctions.TurnItemIntoItemEx(player, lambda);
88 }
89 }
90
91 override void OnFinishProgressClient( ActionData action_data )
92 {
93 //action_data.m_Player.RemoveQuickBarEntityShortcut(action_data.m_MainItem);
94 }
95
96 override void OnEndServer(ActionData action_data)
97 {
98 super.OnEndServer(action_data);
99
100 action_data.m_Player.SetRestrainStarted(false);
101 }
102};
ActionBase ActionData
Определения ActionBase.c:30
class ActionTargets ActionTarget
float m_SpecialtyWeight
Определения ActionBase.c:77
int m_StanceMask
Определения ActionBase.c:62
string m_Text
Определения ActionBase.c:58
ref CCIBase m_ConditionItem
Определения ActionBase.c:64
void ClearInventoryReservationEx(ActionData action_data)
Определения ActionBase.c:1025
bool m_FullBody
Определения ActionBase.c:61
ref CCTBase m_ConditionTarget
Определения ActionBase.c:65
ActionData m_ActionData
Определения AnimatedActionBase.c:3
void ActionContinuousBase()
Определения ActionContinuousBase.c:124
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionRestrainSelf.c:60
override void OnFinishProgressClient(ActionData action_data)
Определения ActionRestrainSelf.c:91
override void OnFinishProgressServer(ActionData action_data)
Определения ActionRestrainSelf.c:77
void ActionRestrainSelf()
Определения ActionRestrainSelf.c:25
override void OnStartServer(ActionData action_data)
Определения ActionRestrainSelf.c:70
override bool HasAlternativeInterrupt()
Определения ActionRestrainSelf.c:55
override int GetStanceMask(PlayerBase player)
Определения ActionRestrainSelf.c:36
override void CreateConditionComponents()
Определения ActionRestrainSelf.c:44
override bool HasTarget()
Определения ActionRestrainSelf.c:50
override void OnEndServer(ActionData action_data)
Определения ActionRestrainSelf.c:96
const float DEFAULT_RESTRAIN_TIME
Определения ActionRestrainSelf.c:3
override void CreateActionComponent()
Определения ActionRestrainSelf.c:5
int m_CommandUID
Определения AnimatedActionBase.c:143
Определения CCINonRuined.c:2
Определения CCTSelf.c:2
Определения Building.c:6
Определения InventoryItem.c:731
Определения PlayerBaseClient.c:2
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
const float DEBUG_QUICK_UNRESTRAIN_TIME
Определения constants.c:645