50 {
52 Class.CastTo(targetObject, action_data.m_Target.GetObject());
54 {
56 }
57
58 if ( (action_data.m_MainItem && action_data.m_MainItem.IsDamageDestroyed()) || targetObject.IsDamageDestroyed() )
59 {
61 }
62 else
63 {
65 {
67 }
68 else
69 {
71 {
72 float damage = 0;
75
76 targetObject.DecreaseHealth("", "", damage, targetObject.CanBeAutoDeleted());
78 if (action_data.m_MainItem)
80 else
81 {
83 }
84
85 if ( targetObject.IsDamageDestroyed() )
86 {
88 {
91 }
92
94 {
96
97 if (target_woodbase.GetSecondaryOutput() != "")
98 CreateSecondaryItems(action_data,target_woodbase.GetSecondaryOutput(),target_woodbase.GetSecondaryDropsAmount());
99 }
100
101 if (action_data.m_MainItem)
102 {
103 targetObject.OnTreeCutDown( action_data.m_MainItem );
104 }
105 else
106 {
107 targetObject.OnTreeCutDown( action_data.m_Player );
108 }
109 }
110 }
111
114 {
117 }
118
121 }
123 }
124 }
void SetACData(Param units)
void OnCompletePogress(ActionData action_data)
void CreateSecondaryItems(ActionData action_data, string material_secondary="", int quantity_secondary=-1)
void DamagePlayersHands(PlayerBase player)
float m_AdjustedTimeBetweenMaterialDrops
ref Param1< float > m_SpentUnits
void CreatePrimaryItems(ActionData action_data)
float m_AdjustedDamageToMiningItemEachDrop
int m_CurrentAssumedDrops
proto native CGame GetGame()