ActionDismantleGardenPlot.c
class ActionDismantleGardenPlotCB : ActionContinuousBaseCB
{
override void CreateActionComponent()
{
m_ActionData.m_ActionComponent = new CAContinuousTime( UATimeSpent.DIG_GARDEN );
}
};
class ActionDismantleGardenPlot: ActionContinuousBase
{
//GardenPlot m_GardenPlot;
override void CreateConditionComponents()
{
m_ConditionItem = new CCINonRuined;//new CCINone;
m_ConditionTarget = new CCTCursorNoRuinCheck;
}
void ActionDismantleGardenPlot()
{
m_CallbackClass = ActionDismantleGardenPlotCB;
m_FullBody = true;
m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT;
m_SpecialtyWeight = UASoftSkillsWeight.ROUGH_LOW;
m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_DIGMANIPULATE;
m_Text = "#remove_garden_plot";
}
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;
if (!CfgGameplayHandler.GetDisableColdAreaPlacementCheck() && player.GetInColdArea())
return false;
GardenPlot targetPlot = GardenPlot.Cast( target.GetObject() );
if ( targetPlot && !player.IsPlacingLocal() )
return true;
else
return false;
}
void SetupAnimation( ItemBase item )
{
if ( item )
{
m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_DIG;
}
}
override void OnFinishProgressServer( ActionData action_data )
{
GardenPlot targetPlot = GardenPlot.Cast( action_data.m_Target.GetObject() );
targetPlot.Delete();
if ( g_Game.IsServer() )
MiscGameplayFunctions.DealAbsoluteDmg( action_data.m_MainItem, 10 );
}
};