59 if ( constrution_part )
61 return "#dismantle" +
" " + constrution_part.
GetName();
80 if ( player.IsPlacingLocal() )
84 if (player.GetBrokenLegs() ==
eBrokenLegs.BROKEN_LEGS)
92 return DismantleCondition( action_data.m_Player, action_data.m_Target, action_data.m_MainItem ,
false ) && action_data.m_Player.m_MovementState.m_iStanceIdx !=
DayZPlayerConstants.STANCEIDX_PRONE;
98 Construction construction = base_building.GetConstruction();
102 if ( construction.CanDismantlePart( construction_part.
GetPartName(), action_data.m_MainItem ) )
115 if ( super.SetupAction( player, target, item, action_data, extra_data ) )
127 switch ( item.Type() )
146 if (player && !player.IsPlacingLocal() && !player.IsPlacingServer())
148 Object targetObject = target.GetObject();
150 if (targetObject && targetObject.CanUseConstruction())
153 if (
Class.
CastTo(targetEntity, targetObject) && (targetEntity.FindAttachmentBySlotName(
"Att_CombinationLock") || targetEntity.FindAttachmentBySlotName(
"Material_FPole_Flag")) )
156 string partName = targetObject.GetActionComponentName(target.GetComponentIndex());
159 Construction construction = baseBuilding.GetConstruction();
160 ConstructionPart constructionPart = construction.GetConstructionPartToDismantle(partName, item);
162 if (constructionPart)
170 bool checked =
false;
172 if (constructionPart.
IsBase())
209 string message =
string.Format(
"Dismantled %1 from %2 with %3", construction_part.
GetName(), action_data.m_Target.GetObject().GetDisplayName(), action_data.m_MainItem.GetDisplayName() );
const int AT_DISMANTLE_PART
class ActionTargets ActionTarget
void Construction(BaseBuildingBase parent)
ref CCIBase m_ConditionItem
ref CCTBase m_ConditionTarget
void ActionContinuousBase()
override void OnActionInfoUpdate(PlayerBase player, ActionTarget target, ItemBase item)
bool DismantleCondition(PlayerBase player, ActionTarget target, ItemBase item, bool camera_check)
override bool SetupAction(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=NULL)
void SetBuildingAnimation(ItemBase item)
override bool CanBeUsedLeaning()
override void OnFinishProgressServer(ActionData action_data)
override void CreateConditionComponents()
override bool CanBeUsedInFreelook()
override string GetAdminLogMessage(ActionData action_data)
override bool ActionConditionContinue(ActionData action_data)
override string GetText()
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
void ActionDismantlePart()
float SetCallbackDuration(ItemBase item)
override void CreateActionComponent()
override bool IsPlayerInside(PlayerBase player, string selection)
override bool IsFacingCamera(string selection)
Super root of all classes in Enforce script.
ConstructionPart GetTargetPart()
void SetTargetPart(ConstructionPart target_part)
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
const float BASEBUILDING_DECONSTRUCT_SLOW
DayZPlayerConstants
defined in C++
proto native CGame GetGame()
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.