DayZ Scripts
v1.21.156300 ยท Jun 20, 2023
 
Loading...
Searching...
No Matches
ActionCoverHeadTarget.c
Go to the documentation of this file.
2{
3 override void CreateActionComponent()
4 {
6 }
7};
8
10{
12 {
14 m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_COVERHEAD_TARGET;
15 m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT | DayZPlayerConstants.STANCEMASK_CROUCH;
16 //m_Animation = "INJECTEPIPENS";
18 m_Text = "#put_on_targets_head";
19 }
20
22 {
23
26 }
27
28 override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
29 {
30 PlayerBase targetPlayer;
31 Class.CastTo(targetPlayer, target.GetObject());
32 if ( !IsWearingHeadgear(targetPlayer) )
33 {
34 return true;
35 }
36
37 return false;
38 }
39
40 override void OnFinishProgressServer( ActionData action_data )
41 {
42 //setaperture will be called from here, or from statemachine
43 PlayerBase ntarget;
44 Class.CastTo(ntarget, action_data.m_Target.GetObject());
45
46 if (CanReceiveAction(action_data.m_Target))
47 {
48 CoverHeadOfTargetPlayerLambda lambda = new CoverHeadOfTargetPlayerLambda(action_data.m_MainItem, "BurlapSackCover", ntarget);
49 action_data.m_Player.ServerReplaceItemInHandsWithNewElsewhere(lambda);
50
51 action_data.m_Player.GetSoftSkillsManager().AddSpecialty( m_SpecialtyWeight );
52 }
53 }
54
55 /*
56 override void OnFinishProgressServer( ActionData action_data )
57 {
58 //setaperture will be called from here, or from statemachine
59 GetInventory().UnlockInventory(LOCK_FROM_SCRIPT);
60 PlayerBase ntarget;
61 Class.CastTo(ntarget, action_data.m_Target.GetObject());
62 ntarget.GetInventory().CreateInInventory("BurlapSackCover");
63 //ntarget.CreateInInventory("BurlapSackCover","cargo_headgear");
64 action_data.m_MainItem.TransferModifiers(ntarget);
65 action_data.m_MainItem.Delete();
66 GetInventory().LockInventory(LOCK_FROM_SCRIPT);
67 action_data.m_Player.GetSoftSkillsManager().AddSpecialty( m_SpecialtyWeight );
68 }
69*/
71 {
72 if ( player.GetInventory().FindAttachment(InventorySlots.HEADGEAR) )
73 {
74 return true;
75 }
76 return false;
77 }
78};
79
81{
83
84 void CoverHeadOfTargetPlayerLambda (EntityAI old_item, string new_item_type, PlayerBase player)
85 {
86 m_TargetPlayer = player;
87
89 targetAtt.SetAttachment(m_TargetPlayer, NULL, InventorySlots.HEADGEAR);
90 OverrideNewLocation(targetAtt);
91 }
92
93 override void OnSuccess(EntityAI entity)
94 {
95 super.OnSuccess(new_item);
96
97 //m_TargetPlayer.SetRestrained(true);
98 }
99};
protected float m_SpecialtyWeight
Definition ActionBase.c:68
ref CCIBase m_ConditionItem
Definition ActionBase.c:55
ref CCTBase m_ConditionTarget
Definition ActionBase.c:56
bool CanReceiveAction(ActionTarget target)
Definition ActionBase.c:637
protected string m_Text
Definition ActionBase.c:49
protected int m_StanceMask
Definition ActionBase.c:53
class ActionTargets ActionTarget
protected ActionData m_ActionData
override void CreateActionComponent()
override void OnFinishProgressServer(ActionData action_data)
bool IsWearingHeadgear(PlayerBase player)
override void CreateConditionComponents()
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
ItemBase m_MainItem
Definition ActionBase.c:28
PlayerBase m_Player
Definition ActionBase.c:33
ref CABase m_ActionComponent
Definition ActionBase.c:30
ref ActionTarget m_Target
Definition ActionBase.c:32
Definition CCTMan.c:2
Super root of all classes in Enforce script.
Definition EnScript.c:11
void CoverHeadOfTargetPlayerLambda(EntityAI old_item, string new_item_type, PlayerBase player)
override void OnSuccess(EntityAI entity)
InventoryLocation.
proto native void SetAttachment(notnull EntityAI parent, EntityAI e, int slotId)
sets current inventory location type to Attachment with slot id set to <slotId>
provides access to slot configuration
const float DEFAULT
const float COVER_HEAD
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.