DayZ 1.24
Loading...
Searching...
No Matches
ActionSplintSelf.c
Go to the documentation of this file.
8
10{
12 {
14 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_CRAFTING;
15 m_FullBody = true;
16 m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH;
18 m_Text = "#apply_splint";
19 }
20
26
27 override bool HasTarget()
28 {
29 return false;
30 }
31
33 {
34 action_data.m_MainItem.TransferModifiers(action_data.m_Player);
35 action_data.m_Player.ApplySplint();
36
37 //Double check to not enter splinted state if legs are not broken
38 if (action_data.m_Player.GetBrokenLegs() == eBrokenLegs.BROKEN_LEGS)
39 {
40 action_data.m_Player.SetBrokenLegs(eBrokenLegs.BROKEN_LEGS_SPLINT);
41
42 ItemBase new_item = ItemBase.Cast(action_data.m_Player.GetInventory().CreateInInventory("Splint_Applied"));
43 if (new_item)
44 {
45 MiscGameplayFunctions.TransferItemProperties(action_data.m_MainItem, new_item, true, false, true);
46 action_data.m_MainItem.Delete();
47 action_data.m_Player.GetSoftSkillsManager().AddSpecialty(m_SpecialtyWeight);
48 }
49 }
50 }
51
52 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
53 {
54 if (player.GetBrokenLegs() != eBrokenLegs.BROKEN_LEGS || IsWearingSplint(player))
55 return false;
56 return super.ActionCondition(player, target, item);
57
58 }
59
61 {
62 if (player.GetItemOnSlot("Splint_Right"))
63 return true;
64 return false;
65 }
66};
bool m_FullBody
Definition ActionBase.c:52
string m_Text
Definition ActionBase.c:49
ref CCIBase m_ConditionItem
Definition ActionBase.c:55
float m_SpecialtyWeight
Definition ActionBase.c:68
ref CCTBase m_ConditionTarget
Definition ActionBase.c:56
int m_StanceMask
Definition ActionBase.c:53
eBrokenLegs
Definition EBrokenLegs.c:2
ActionData m_ActionData
ref CABase m_ActionComponent
Definition ActionBase.c:30
override void CreateActionComponent()
override void OnFinishProgressServer(ActionData action_data)
bool IsWearingSplint(PlayerBase player)
override bool HasTarget()
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
override void CreateConditionComponents()
const float APPLY_SPLINT
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:597