DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionUnrestrainSelf.c
См. документацию.
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 {
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
49{
51 {
53 m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_RESTRAINEDSTRUGGLE;
54 m_CommandUIDProne = DayZPlayerConstants.CMD_ACTIONFB_RESTRAINEDSTRUGGLE;
55 m_Text = "#struggle";
56 }
57
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
ActionBase ActionData
Определения ActionBase.c:30
class ActionTargets ActionTarget
string m_Text
Определения ActionBase.c:58
ref CCIBase m_ConditionItem
Определения ActionBase.c:64
ref CCTBase m_ConditionTarget
Определения ActionBase.c:65
bool m_Canceled
Определения AnimatedActionBase.c:5
void SetCommand(int command_uid)
Определения AnimatedActionBase.c:54
ActionData m_ActionData
Определения AnimatedActionBase.c:3
void ActionContinuousBase()
Определения ActionContinuousBase.c:124
override void CreateConditionComponents()
Определения ActionUnrestrainSelf.c:58
override void OnEndAnimationLoopServer(ActionData action_data)
Определения ActionUnrestrainSelf.c:79
override bool HasTarget()
Определения ActionUnrestrainSelf.c:74
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionUnrestrainSelf.c:64
override void OnFinishProgressServer(ActionData action_data)
Определения ActionUnrestrainSelf.c:85
override bool CanBeUsedInRestrain()
Определения ActionUnrestrainSelf.c:105
override bool HasProneException()
Определения ActionUnrestrainSelf.c:69
void ActionUnrestrainSelf()
Определения ActionUnrestrainSelf.c:50
override void CreateActionComponent()
Определения ActionUnrestrainSelf.c:5
const float DEFAULT_STRUGGLE_TIME
Определения ActionUnrestrainSelf.c:3
override void EndActionComponent()
Определения ActionUnrestrainSelf.c:24
int m_CommandUID
Определения AnimatedActionBase.c:143
int m_CommandUIDProne
Определения AnimatedActionBase.c:144
Определения CCINonRuined.c:2
Определения CCTSelf.c:2
Определения Building.c:6
Определения constants.c:659
Определения InventoryItem.c:731
Определения EnMath.c:7
Определения PlayerBaseClient.c:2
void ReplaceItemWithNewLambdaBase(EntityAI old_item, string new_item_type)
Определения ReplaceItemWithNewLambdaBase.c:13
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
const float CLEAN_UNRESTRAIN_DAMAGE
Определения constants.c:984
const float DEBUG_QUICK_UNRESTRAIN_TIME
Определения constants.c:645
static proto int RandomInt(int min, int max)
Returns a random int number between and min [inclusive] and max [exclusive].
const int UA_FINISHED
Определения constants.c:464
const int UA_CANCEL
Определения constants.c:465