DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionUnrestrainTargetEmpty.c
См. документацию.
2{
3 const float DEFAULT_STRUGGLE_TIME = 2;
4 const float UNRESTRAIN_STRUGGLE_MULTIPLIER = 0.75;//multiplier for the struggle time normally used for the player unrestraining themselves, this allows unrestraining to be bound to the 'StruggleLength' config param
5
6 override void CreateActionComponent()
7 {
8 float time = DEFAULT_STRUGGLE_TIME;
9 PlayerBase targetPlayer = PlayerBase.Cast(m_ActionData.m_Target.GetObject());
10 EntityAI item_in_hands = targetPlayer.GetItemInHands();
11
12 if ( item_in_hands.ConfigIsExisting("StruggleLength") )
13 {
14 time = item_in_hands.ConfigGetFloat("StruggleLength") * UNRESTRAIN_STRUGGLE_MULTIPLIER;
15 }
16 #ifdef DEVELOPER
17 if ( m_ActionData.m_Player.IsQuickRestrain() )
18 {
20 }
21 #endif
22
23 m_ActionData.m_ActionComponent = new CAContinuousTime(time);
24 }
25};
26
28{
30 {
32 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_RESTRAINTARGET;
33 m_FullBody = true;
34 m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH;
35 m_Text = "#unrestrain";
36 }
37
38 override typename GetInputType()
39 {
41 }
42
43
44
45 override void OnStartServer(ActionData action_data)
46 {
47 super.OnStartServer(action_data);
48
49 action_data.m_Player.TryHideItemInHands(true);
50 }
51
52 override void OnEndServer(ActionData action_data)
53 {
54 super.OnEndServer(action_data);
55
56 action_data.m_Player.TryHideItemInHands(false);
57 }
58
64
65 override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
66 {
67 PlayerBase targetPlayer = PlayerBase.Cast(target.GetObject());
68 return targetPlayer && targetPlayer.IsRestrained();
69 }
70
71 override void OnFinishProgressServer( ActionData action_data )
72 {
73 PlayerBase targetPlayer = PlayerBase.Cast(action_data.m_Target.GetObject());
74
75 if (CanReceiveAction(action_data.m_Target) && targetPlayer.IsRestrained())
76 {
77 EntityAI item_in_hands = targetPlayer.GetItemInHands();
78 targetPlayer.SetRestrained(false);
79 if (item_in_hands)
80 {
81 MiscGameplayFunctions.TransformRestrainItem(item_in_hands, null, action_data.m_Player, targetPlayer);
82 }
83 else
84 {
85 ErrorEx("Failed to obtain item in target player's hands during empty handed unrestraining");
86 }
87 }
88 }
89
90 override void OnStartClient(ActionData action_data)
91 {
92 action_data.m_Player.TryHideItemInHands(true);
93 }
94
95 override void OnEndClient( ActionData action_data )
96 {
97 if ( action_data.m_Player ) action_data.m_Player.TryHideItemInHands(false);
98 }
99
100};
ActionBase ActionData
Определения ActionBase.c:30
class ActionTargets ActionTarget
int m_StanceMask
Определения ActionBase.c:62
string m_Text
Определения ActionBase.c:58
ref CCIBase m_ConditionItem
Определения ActionBase.c:64
bool CanReceiveAction(ActionTarget target)
Определения ActionBase.c:793
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 void OnEndServer(ActionData action_data)
Определения ActionUnrestrainTargetEmpty.c:52
override void OnEndClient(ActionData action_data)
Определения ActionUnrestrainTargetEmpty.c:95
override void OnStartClient(ActionData action_data)
Определения ActionUnrestrainTargetEmpty.c:90
override void OnStartServer(ActionData action_data)
Определения ActionUnrestrainTargetEmpty.c:45
override void OnFinishProgressServer(ActionData action_data)
Определения ActionUnrestrainTargetEmpty.c:71
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionUnrestrainTargetEmpty.c:65
override void CreateConditionComponents()
Определения ActionUnrestrainTargetEmpty.c:59
const float DEFAULT_STRUGGLE_TIME
Определения ActionUnrestrainTargetEmpty.c:3
const float UNRESTRAIN_STRUGGLE_MULTIPLIER
Определения ActionUnrestrainTargetEmpty.c:4
override void CreateActionComponent()
Определения ActionUnrestrainTargetEmpty.c:6
int m_CommandUID
Определения AnimatedActionBase.c:143
Определения CCINone.c:2
Определения CCTObject.c:2
Определения Building.c:6
Определения InventoryItem.c:731
Определения PlayerBaseClient.c:2
const float DEFAULT
Определения ActionConstants.c:112
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
enum ShapeType ErrorEx
const float DEBUG_QUICK_UNRESTRAIN_TIME
Определения constants.c:645