Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
actionunrestrainself.c
Go to the documentation of this file.
1
class
ActionUnrestrainSelfCB
:
ActionContinuousBaseCB
2
{
3
const
float
DEFAULT_STRUGGLE_TIME
= 2;
4
5
override
void
CreateActionComponent
()
6
{
7
float
time =
DEFAULT_STRUGGLE_TIME
;
8
9
if
(
m_ActionData
.m_MainItem.ConfigIsExisting(
"StruggleLength"
) )
10
{
11
time =
m_ActionData
.m_MainItem.ConfigGetFloat(
"StruggleLength"
);
12
}
13
14
#ifdef DEVELOPER
15
if
(
m_ActionData
.m_Player.IsQuickRestrain() )
16
{
17
time =
DEBUG_QUICK_UNRESTRAIN_TIME
;
18
}
19
#endif
20
21
m_ActionData
.m_ActionComponent =
new
CAContinuousTime
(time);
22
}
23
24
override
void
EndActionComponent
()
25
{
26
// TODO for second type animation SetCommand(DayZPlayerConstants.CMD_ACTIONINT_FINISH);
27
if
(
m_ActionData
.m_State ==
UA_FINISHED
)
28
{
29
SetCommand
(
DayZPlayerConstants
.CMD_ACTIONINT_END);
30
}
31
else
if
(
m_ActionData
.m_State ==
UA_CANCEL
)
32
{
33
m_Canceled
=
true
;
34
SetCommand
(
DayZPlayerConstants
.CMD_ACTIONINT_INTERRUPT);
35
return
;
36
//Cancel();
37
}
38
else
39
{
40
m_Canceled
=
true
;
41
SetCommand
(
DayZPlayerConstants
.CMD_ACTIONINT_INTERRUPT);
42
return
;
43
}
44
m_ActionData
.m_State =
UA_FINISHED
;
45
}
46
};
47
48
class
ActionUnrestrainSelf
:
ActionContinuousBase
49
{
50
void
ActionUnrestrainSelf
()
51
{
52
m_CallbackClass
=
ActionUnrestrainSelfCB
;
53
m_CommandUID
=
DayZPlayerConstants
.CMD_ACTIONMOD_RESTRAINEDSTRUGGLE;
54
m_CommandUIDProne
=
DayZPlayerConstants
.CMD_ACTIONFB_RESTRAINEDSTRUGGLE;
55
m_Text
=
"#struggle"
;
56
}
57
58
override
void
CreateConditionComponents
()
59
{
60
m_ConditionItem
=
new
CCINonRuined
;
61
m_ConditionTarget
=
new
CCTSelf
;
62
}
63
64
override
bool
ActionCondition
(
PlayerBase
player,
ActionTarget
target,
ItemBase
item )
65
{
66
return
player.IsRestrained();
67
}
68
69
override
bool
HasProneException
()
70
{
71
return
true
;
72
}
73
74
override
bool
HasTarget
()
75
{
76
return
false
;
77
}
78
79
override
void
OnEndAnimationLoopServer
(
ActionData
action_data )
80
{
81
82
}
83
84
85
override
void
OnFinishProgressServer
(
ActionData
action_data )
86
{
87
PlayerBase
player =
PlayerBase
.Cast(action_data.m_Player);
88
EntityAI
item_in_hands = action_data.m_MainItem;
89
90
if
(item_in_hands)
91
{
92
if
(item_in_hands.IsInherited(BarbedWireLocked))
93
{
94
int
randNum =
Math
.
RandomInt
(0, 3);
// Values 0 to 3 represent fore arm and arm roll bleed sources
95
player.m_BleedingManagerServer.AttemptAddBleedingSourceBySelection(
PlayerBase
.m_BleedingSourcesUp[randNum]);
96
}
97
player.SetRestrained(
false
);
98
item_in_hands.AddHealth(-
GameConstants
.
CLEAN_UNRESTRAIN_DAMAGE
);
99
MiscGameplayFunctions.TransformRestrainItem(item_in_hands, null, null, player);
100
//string new_item_name = MiscGameplayFunctions.ObtainRestrainItemTargetClassname(item_in_hands);
101
//MiscGameplayFunctions.TurnItemInHandsIntoItemEx(player, new UnrestrainSelfPlayer(item_in_hands, new_item_name));
102
}
103
}
104
105
override
bool
CanBeUsedInRestrain
()
106
{
107
return
true
;
108
}
109
};
110
111
class
UnrestrainSelfPlayer
:
ReplaceItemWithNewLambdaBase
{ };
ActionData
ActionBase ActionData
Definition
actionbase.c:30
ActionTarget
class ActionTargets ActionTarget
ActionBaseCB::SetCommand
void SetCommand(int command_uid)
Definition
animatedactionbase.c:54
ActionBaseCB::m_ActionData
ActionData m_ActionData
Definition
animatedactionbase.c:3
ActionBaseCB::m_Canceled
bool m_Canceled
Definition
animatedactionbase.c:5
ActionBase::m_Text
string m_Text
Definition
actionbase.c:64
ActionBase::m_ConditionItem
ref CCIBase m_ConditionItem
Definition
actionbase.c:70
ActionBase::m_ConditionTarget
ref CCTBase m_ConditionTarget
Definition
actionbase.c:71
ActionContinuousBaseCB
Definition
actioncontinuousbase.c:2
ActionContinuousBase::ActionContinuousBase
void ActionContinuousBase()
Definition
actioncontinuousbase.c:124
ActionUnrestrainSelfCB
Definition
actionunrestrainself.c:2
ActionUnrestrainSelfCB::DEFAULT_STRUGGLE_TIME
const float DEFAULT_STRUGGLE_TIME
Definition
actionunrestrainself.c:3
ActionUnrestrainSelfCB::CreateActionComponent
override void CreateActionComponent()
Definition
actionunrestrainself.c:5
ActionUnrestrainSelfCB::EndActionComponent
override void EndActionComponent()
Definition
actionunrestrainself.c:24
ActionUnrestrainSelf::OnFinishProgressServer
override void OnFinishProgressServer(ActionData action_data)
Definition
actionunrestrainself.c:85
ActionUnrestrainSelf::ActionUnrestrainSelf
void ActionUnrestrainSelf()
Definition
actionunrestrainself.c:50
ActionUnrestrainSelf::CanBeUsedInRestrain
override bool CanBeUsedInRestrain()
Definition
actionunrestrainself.c:105
ActionUnrestrainSelf::CreateConditionComponents
override void CreateConditionComponents()
Definition
actionunrestrainself.c:58
ActionUnrestrainSelf::ActionCondition
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Definition
actionunrestrainself.c:64
ActionUnrestrainSelf::HasTarget
override bool HasTarget()
Definition
actionunrestrainself.c:74
ActionUnrestrainSelf::OnEndAnimationLoopServer
override void OnEndAnimationLoopServer(ActionData action_data)
Definition
actionunrestrainself.c:79
ActionUnrestrainSelf::HasProneException
override bool HasProneException()
Definition
actionunrestrainself.c:69
AnimatedActionBase::m_CommandUIDProne
int m_CommandUIDProne
Definition
animatedactionbase.c:144
AnimatedActionBase::m_CommandUID
int m_CommandUID
Definition
animatedactionbase.c:143
AnimatedActionBase::m_CallbackClass
m_CallbackClass
Definition
animatedactionbase.c:145
CAContinuousTime
Definition
cacontinuoustime.c:2
CCINonRuined
Definition
ccinonruined.c:2
CCTSelf
Definition
cctself.c:2
EntityAI
Definition
inventoryitem.c:2
GameConstants
Definition
constants.c:664
ItemBase
Definition
inventoryitem.c:742
Math
Definition
enmath.c:7
PlayerBase
Definition
playerbaseclient.c:2
ReplaceItemWithNewLambdaBase::ReplaceItemWithNewLambdaBase
void ReplaceItemWithNewLambdaBase(EntityAI old_item, string new_item_type)
Definition
replaceitemwithnewlambdabase.c:13
UnrestrainSelfPlayer
Definition
actionunrestrainself.c:111
DayZPlayerConstants
DayZPlayerConstants
defined in C++
Definition
dayzplayer.c:602
DEBUG_QUICK_UNRESTRAIN_TIME
const float DEBUG_QUICK_UNRESTRAIN_TIME
\ misc
Definition
constants.c:650
GameConstants::CLEAN_UNRESTRAIN_DAMAGE
const float CLEAN_UNRESTRAIN_DAMAGE
Definition
constants.c:989
Math::RandomInt
static proto int RandomInt(int min, int max)
Returns a random int number between and min [inclusive] and max [exclusive].
UA_FINISHED
const int UA_FINISHED
Definition
constants.c:469
UA_CANCEL
const int UA_CANCEL
Definition
constants.c:470
Games
Dayz
scripts
4_world
classes
useractionscomponent
actions
continuous
actionunrestrainself.c
Generated by
1.17.0