42 if (!action_data.m_MainItem)
52 Class.
CastTo(targetObject, action_data.m_Target.GetObject());
58 if ( (action_data.m_MainItem && action_data.m_MainItem.IsDamageDestroyed()) || targetObject.IsDamageDestroyed() )
76 targetObject.DecreaseHealth(
"",
"", damage, targetObject.CanBeAutoDeleted());
78 if (action_data.m_MainItem)
85 if ( targetObject.IsDamageDestroyed() )
97 if (target_woodbase.GetSecondaryOutput() !=
"")
98 CreateSecondaryItems(action_data,target_woodbase.GetSecondaryOutput(),target_woodbase.GetSecondaryDropsAmount());
101 if (action_data.m_MainItem)
103 targetObject.OnTreeCutDown( action_data.m_MainItem );
107 targetObject.OnTreeCutDown( action_data.m_Player );
137 if (
Class.
CastTo(ntarget, action_data.m_Target.GetObject()) )
173 increment -= stack_max -
m_MinedItem[i].GetQuantity();
174 if (increment >= 1.0)
195 if (material_secondary ==
"" || quantity_secondary <= 0)
207 int increment = quantity_secondary;
211 stacks_amount =
Math.
Ceil(increment/stack_max);
213 for (
int i = 0; i < stacks_amount; i++)
215 if (increment > stack_max)
218 increment -= stack_max;
231 if ( gloves && !gloves.IsDamageDestroyed() )
241 if ( rand == 0 && !player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection(
"LeftForeArmRoll") )
243 player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection(
"RightForeArmRoll");
245 else if ( rand == 1 && !player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection(
"RightForeArmRoll") )
247 player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection(
"LeftForeArmRoll");
const int ECE_PLACE_ON_SURFACE
override bool HasQuantity()
void SetACData(Param units)
void OnCompletePogress(ActionData action_data)
override float GetProgress()
void CreateSecondaryItems(ActionData action_data, string material_secondary="", int quantity_secondary=-1)
override int Execute(ActionData action_data)
ref map< string, int > m_MaterialAndQuantityMap
float m_TimeBetweenMaterialDrops
void DamagePlayersHands(PlayerBase player)
float m_AdjustedTimeBetweenMaterialDrops
void CAContinuousMineWood(float time_between_drops)
override void Setup(ActionData action_data)
ref Param1< float > m_SpentUnits
bool GetMiningData(ActionData action_data)
void CreatePrimaryItems(ActionData action_data)
float m_DamageToMiningItemEachDrop
float m_AdjustedDamageToMiningItemEachDrop
int m_CurrentAssumedDrops
float m_CycleTimeOverride
ItemBase m_MinedItem[MINEDITEM_MAX]
Super root of all classes in Enforce script.
EHarvestType m_HarvestType
proto native CGame GetGame()
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
static proto float Ceil(float f)
Returns ceil of value.
static int RandomIntInclusive(int min, int max)
Returns a random int number between and min [inclusive] and max [inclusive].