DayZ Scripts
v1.21.156300 ยท Jun 20, 2023
 
Loading...
Searching...
No Matches
ActionGagTarget.c
Go to the documentation of this file.
2{
4 {
6 m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_COVERHEAD_TARGET;
7 //m_FullBody = true;
8 m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT | DayZPlayerConstants.STANCEMASK_CROUCH;
10 m_Text = "#gag_person";
11 }
12
14 {
15
18 }
19
20 override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
21 {
22 if (item.GetQuantity() > 1)
23 return false;
24
25 PlayerBase targetPlayer;
26 Class.CastTo(targetPlayer, target.GetObject());
27 if ( !IsWearingMask(targetPlayer) )
28 {
29 ItemBase headgear = ItemBase.Cast(targetPlayer.FindAttachmentBySlotName( "Headgear" ));
30 if ( headgear )
31 {
32 bool headgear_restricted;
33 headgear_restricted = headgear.ConfigGetBool( "noMask" );
34 if (headgear_restricted)
35 {
36 return false;
37 }
38 }
39 return true;
40 }
41
42 return false;
43 }
44
45 override void OnFinishProgressServer( ActionData action_data )
46 {
47 PlayerBase ntarget;
48 Class.CastTo(ntarget, action_data.m_Target.GetObject());
49
50 if (CanReceiveAction(action_data.m_Target))
51 {
52 MouthRag m_Gag = MouthRag.Cast(ntarget.GetInventory().CreateAttachmentEx("MouthRag",InventorySlots.MASK));
53
54 if (m_Gag)
55 {
56 m_Gag.SetHealth01("", "", action_data.m_MainItem.GetHealth01("", ""));
57 ntarget.CheckForGag();
58
59 action_data.m_MainItem.TransferModifiers(ntarget);
60 action_data.m_MainItem.Delete();
61 }
62 }
63 }
64
66 {
67 if ( player.GetInventory().FindAttachment(InventorySlots.MASK) )
68 {
69 return true;
70 }
71 return false;
72 }
73};
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
ItemBase m_MainItem
Definition ActionBase.c:28
ref ActionTarget m_Target
Definition ActionBase.c:32
override void OnFinishProgressServer(ActionData action_data)
override void CreateConditionComponents()
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
bool IsWearingMask(PlayerBase player)
Definition CCTMan.c:2
Super root of all classes in Enforce script.
Definition EnScript.c:11
provides access to slot configuration
const float DEFAULT
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.