1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 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 ( GetGame().IsServer() )
- MiscGameplayFunctions.DealAbsoluteDmg( action_data.m_MainItem, 10 );
- }
- };
|