ActionUseUndergroundPanel.c
class ActionUseUndergroundPanel: ActionSingleUseBase
{
void ActionUseUndergroundPanel()
{
m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_OPENDOORFW;
m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT;
m_Text = "#use";
}
override void CreateConditionComponents()
{
m_ConditionItem = new CCINone;
m_ConditionTarget = new CCTCursor;
}
override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
{
if (item.IsDamageDestroyed())
return false;
Land_Underground_Panel trgt = Land_Underground_Panel.Cast(target.GetObject());
if ( !trgt )
return false;
if (trgt.ClassName() != "Land_Underground_Panel")
return false;
return (trgt.CanInteract());
}
override void OnStartServer( ActionData action_data )
{
super.OnStartServer(action_data);
Land_Underground_Panel target = Land_Underground_Panel.Cast(action_data.m_Target.GetObject());
if (!target)
return;
target.Interact();
PunchedCard.Cast(action_data.m_MainItem).OnUse();
}
override bool IsLockTargetOnUse()
{
return false;
}
};