Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
actionunmountbarbedwire.c
Go to the documentation of this file.
2{
3 override void CreateActionComponent()
4 {
5 m_ActionData.m_ActionComponent = new CAContinuousTime(UATimeSpent.DEFAULT_CONSTRUCT);
6 }
7};
8
10{
12 {
14 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_INTERACT;
15 m_FullBody = true;
16 m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT;
17
18 m_SpecialtyWeight = UASoftSkillsWeight.ROUGH_HIGH;
19 m_Text = "#unmount_barbed_wire";
20 }
21
22 override void CreateConditionComponents()
23 {
26 }
27
28 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
29 {
30 BaseBuildingBase base_building = BaseBuildingBase.Cast(target.GetObject());
31 if (base_building && base_building.CanUseConstruction() && base_building.CanUseConstructionBuild())
32 {
33 if (!base_building.IsPlayerInside(player,""))
34 return false;
35
36 BarbedWire barbed_wire = GetBarbedWire(target);
37 return (barbed_wire && barbed_wire.IsMounted());
38 }
39
40 return false;
41 }
42
43 override void OnFinishProgressServer(ActionData action_data)
44 {
45 BarbedWireActionData actionDataBW = BarbedWireActionData.Cast(action_data);
46 BaseBuildingBase base_building = BaseBuildingBase.Cast(actionDataBW.m_Target.GetObject());
47
48 //unmount and refresh parent
49 BarbedWire wire = BarbedWire.Cast(base_building.FindAttachmentBySlotName(actionDataBW.m_SlotName));
50 wire.SetMountedState(false);
51 }
52
53 override string GetZoneSelection(ActionTarget target)
54 {
55 BaseBuildingBase base_building = BaseBuildingBase.Cast(target.GetObject());
56 string selection = base_building.GetActionComponentName(target.GetComponentIndex());
57
58 if (selection.Length() > 0)
59 {
60 int delimiter_index = selection.IndexOfFrom(0, "_mounted");
61 if (delimiter_index > -1)
62 {
63 selection = selection.Substring(0, delimiter_index);
64 }
65 /*else if (!selection.Contains("_barbedwire_") && selection.Contains("_wall_"))
66 {
67 selection.Insert(selection.Length(),"_barbedwire_1");
68 }*/
69 }
70 //Print(selection);
71 return selection;
72 }
73
74 override string GetAdminLogMessage(ActionData action_data)
75 {
76 string message = string.Format("Player %1 Unmounted BarbedWire from %2", action_data.m_Player, action_data.m_Target.GetObject().ClassName());
77 return message;
78 }
79}
int m_StanceMask
Definition actionbase.c:33
ActionData m_ActionData
float m_SpecialtyWeight
Definition actionbase.c:77
string m_Text
Definition actionbase.c:58
ref CCIBase m_ConditionItem
Definition actionbase.c:64
bool m_FullBody
Definition actionbase.c:61
ref CCTBase m_ConditionTarget
Definition actionbase.c:65
override bool IsPlayerInside(PlayerBase player, string selection)
Definition fence.c:615
override bool CanUseConstructionBuild()
Definition fence.c:718
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602