ActionMineRock.c
class ActionMineRockCB : ActionContinuousBaseCB
{
private const float TIME_BETWEEN_MATERIAL_DROPS = 8;
override void CreateActionComponent()
{
m_ActionData.m_ActionComponent = new CAContinuousMineRock(TIME_BETWEEN_MATERIAL_DROPS);
}
};
class ActionMineRock: ActionMineBase
{
void ActionMineRock()
{
m_CallbackClass = ActionMineRockCB;
m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_MINEROCK;
m_FullBody = true;
m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT;
m_SpecialtyWeight = UASoftSkillsWeight.ROUGH_HIGH;
//m_Text = "#mine";
}
override void CreateConditionComponents()
{
m_ConditionTarget = new CCTCursor(UAMaxDistances.DEFAULT);
m_ConditionItem = new CCINonRuined;
}
override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
{
//Action not allowed if player has broken legs
if (player.GetBrokenLegs() == eBrokenLegs.BROKEN_LEGS)
return false;
Object targetObject = target.GetObject();
if ( targetObject.IsRock() )
{
return true;
}
return false;
}
override string GetSoundCategory(ActionData action_data)
{
ItemBase item = action_data.m_MainItem;
if (item.IsKindOf("Hammer"))
{
return "MinningLight";
}
else if (item.IsKindOf("MeatTenderizer"))
{
return "MinningHard";
}
return "";
}
};
class ActionMineRock1H : ActionMineRock
{
void ActionMineRock1H()
{
m_CallbackClass = ActionMineRockCB;
m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_ASSEMBLE;
m_FullBody = true;
m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT;
m_SpecialtyWeight = UASoftSkillsWeight.ROUGH_HIGH;
}
}