DayZ Scripts
v1.21.156300 ยท Jun 20, 2023
 
Loading...
Searching...
No Matches
ActionRestrainSelf.c
Go to the documentation of this file.
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
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";
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
45 {
48 }
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 OnFinishProgressServer( ActionData action_data )
71 {
72 PlayerBase player = PlayerBase.Cast( action_data.m_Player );
73 EntityAI item_in_hands = action_data.m_MainItem;
74 if( item_in_hands )
75 {
76 //action_data.m_Player.RemoveQuickBarEntityShortcut(item_in_hands);
77 string new_item_name = MiscGameplayFunctions.ObtainRestrainItemTargetClassname(item_in_hands);
78 MiscGameplayFunctions.TurnItemIntoItemEx(player, new TurnItemIntoItemLambdaRestrainLambda(item_in_hands, new_item_name, action_data.m_Player));
79 }
80 }
81
82 override void OnFinishProgressClient( ActionData action_data )
83 {
84 //action_data.m_Player.RemoveQuickBarEntityShortcut(action_data.m_MainItem);
85 }
86};
protected float m_SpecialtyWeight
Definition ActionBase.c:68
ref CCIBase m_ConditionItem
Definition ActionBase.c:55
ref CCTBase m_ConditionTarget
Definition ActionBase.c:56
protected string m_Text
Definition ActionBase.c:49
protected bool m_FullBody
Definition ActionBase.c:52
protected int m_StanceMask
Definition ActionBase.c:53
class ActionTargets ActionTarget
protected ActionData m_ActionData
ItemBase m_MainItem
Definition ActionBase.c:28
PlayerBase m_Player
Definition ActionBase.c:33
ref CABase m_ActionComponent
Definition ActionBase.c:30
override void CreateActionComponent()
const float DEFAULT_RESTRAIN_TIME
override void OnFinishProgressServer(ActionData action_data)
override int GetStanceMask(PlayerBase player)
override void CreateConditionComponents()
override bool HasAlternativeInterrupt()
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
override void OnFinishProgressClient(ActionData action_data)
override bool HasTarget()
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602
const float DEBUG_QUICK_UNRESTRAIN_TIME
Definition constants.c:583