Dayz Explorer  1.24.157551 (v105080)
Dayz Code Explorer by Zeroy
woodbase.c
Go to the documentation of this file.
2 {
5 }
6 
7 class WoodBase extends Plant
8 {
9 
10  static bool m_IsCuttable;
11  static int m_PrimaryDropsAmount = -1;
12  static int m_SecondaryDropsAmount = -1;
13  static float m_ToolDamage = -1.0;
14  static float m_CycleTimeOverride = -1.0;
15  static string m_PrimaryOutput = ""; //some nonsensical item for debugging purposes
16  static string m_SecondaryOutput = ""; //some nonsensical item for debugging purposes
17  static string m_BarkType = "";
18 
19  /*
20  bool m_IsCuttable;
21  int m_PrimaryDropsAmount = -1;
22  int m_SecondaryDropsAmount = -1;
23  float m_ToolDamage = -1.0;
24  float m_CycleTimeOverride = -1.0;
25  string m_PrimaryOutput = ""; //some nonsensical item for debugging purposes
26  string m_SecondaryOutput = ""; //some nonsensical item for debugging purposes
27  string m_BarkType = "";
28  */
29 
30  void WoodBase()
31  {
32  //InitMiningValues();
33  }
34 
35 
37  {
38  //m_IsCuttable = false;
39  };
40 
41  override bool IsWoodBase()
42  {
43  return true;
44  }
45 
46  override bool IsCuttable()
47  {
48  return ConfigGetBool("isCuttable");
49  }
50 
52  {
53  return ConfigGetInt("primaryDropsAmount");
54  }
55 
57  {
58  return ConfigGetInt("secondaryDropsAmount");
59  }
60 
61  float GetToolDamage()
62  {
63  return ConfigGetFloat("toolDamage");
64  }
65 
67  {
68  return ConfigGetFloat("cycleTimeOverride");
69  }
70 
72  {
73  return ConfigGetString("primaryOutput");
74  }
75 
77  {
78  return ConfigGetString("secondaryOutput");
79  }
80 
81  string GetBarkType()
82  {
83  return ConfigGetString("barkType");
84  }
85 
86 
87 
89  {
90  if ( GetPrimaryDropsAmount() > 0 )
91  {
92  if ( IsTree() && item && ( item.KindOf("Knife") || item.IsInherited(Screwdriver) ) )
93  {
94  return -1;
95  }
96  else
97  {
98  return GetPrimaryDropsAmount();
99  }
100  }
101  else
102  {
103  if ( item && ( item.KindOf("Knife") || item.IsInherited(Screwdriver) ) )
104  {
105  return -1;
106  }
107  else if ( item && item.KindOf("Axe") )
108  {
109  return 3;
110  }
111  else
112  {
113  return 100;
114  }
115  }
116  }
117 
119  {
120  if ( GetPrimaryDropsAmount() > 0 )
121  {
122  if ( IsTree() && item && type == EHarvestType.BARK )
123  {
124  return -1;
125  }
126  else
127  {
128  return GetPrimaryDropsAmount();
129  }
130  }
131  else
132  {
133  if ( item && type == EHarvestType.BARK )
134  {
135  return -1;
136  }
137  else if ( item && type == EHarvestType.NORMAL )
138  {
139  return 3;
140  }
141  else
142  {
143  return 100;
144  }
145  }
146  }
147 
149  {
150  if ( IsTree() && item && ( item.KindOf("Knife") || item.IsInherited(Screwdriver) ) && GetBarkType() != "" )
151  {
152  output_map.Insert(GetBarkType(),1);
153  }
154  else
155  {
156  output_map.Insert(GetPrimaryOutput(),1);
157  }
158  }
159 
161  {
162  if ( IsTree() && item && type == EHarvestType.BARK && GetBarkType() != "" )
163  {
164  output_map.Insert(GetBarkType(),1);
165  }
166  else
167  {
168  output_map.Insert(GetPrimaryOutput(),1);
169  }
170  }
171 
173  {
174  if (GetToolDamage() > -1)
175  return GetToolDamage();
176 
177  if ( IsTree() )
178  {
179  if ( item && item.KindOf("Knife") )
180  {
181  return 20;
182  }
183  else if ( item && item.KindOf("Axe") )
184  {
185  return 20;
186  }
187  else
188  {
189  return 0;
190  }
191  }
192  else
193  {
194  if ( item && item.KindOf("Knife") )
195  {
196  return 30;
197  }
198  else if ( item && item.KindOf("Axe") )
199  {
200  return 30;
201  }
202  else
203  {
204  return 0;
205  }
206  }
207  }
208 
210  {
211  if (GetToolDamage() > -1)
212  return GetToolDamage();
213 
214  if ( IsTree() )
215  {
216  if ( item && type == EHarvestType.BARK )
217  {
218  return 20;
219  }
220  else if ( item && type == EHarvestType.NORMAL )
221  {
222  return 20;
223  }
224  else
225  {
226  return 0;
227  }
228  }
229  else
230  {
231  if ( item && type == EHarvestType.BARK )
232  {
233  return 30;
234  }
235  else if ( item && type == EHarvestType.NORMAL )
236  {
237  return 30;
238  }
239  else
240  {
241  return 0;
242  }
243  }
244  }
245 
246  override bool CanBeActionTarget()
247  {
248  return super.CanBeActionTarget() && !IsDamageDestroyed();
249  }
250 
251 };
ItemBase
Definition: inventoryitem.c:730
CanBeActionTarget
override bool CanBeActionTarget()
Definition: woodbase.c:246
NORMAL
@ NORMAL
Definition: woodbase.c:3
GetAmountOfDrops
int GetAmountOfDrops(ItemBase item)
Definition: woodbase.c:88
GetMaterialAndQuantityMap
void GetMaterialAndQuantityMap(ItemBase item, out map< string, int > output_map)
Definition: woodbase.c:148
IsDamageDestroyed
protected bool IsDamageDestroyed(ActionTarget target)
Definition: actionbase.c:913
WoodBase
void WoodBase()
Definition: woodbase.c:30
GetDamageToMiningItemEachDrop
float GetDamageToMiningItemEachDrop(ItemBase item)
Definition: woodbase.c:172
GetBarkType
string GetBarkType()
Definition: woodbase.c:81
m_IsCuttable
enum EHarvestType m_IsCuttable
EHarvestType
EHarvestType
Definition: woodbase.c:1
map
map
Definition: controlsxboxnew.c:3
IsWoodBase
override bool IsWoodBase()
Definition: woodbase.c:41
GetAmountOfDropsEx
int GetAmountOfDropsEx(ItemBase item, EHarvestType type)
Definition: woodbase.c:118
GetMaterialAndQuantityMapEx
void GetMaterialAndQuantityMapEx(ItemBase item, out map< string, int > output_map, EHarvestType type)
Definition: woodbase.c:160
GetToolDamage
float GetToolDamage()
Definition: woodbase.c:61
BARK
@ BARK
Definition: woodbase.c:4
GetSecondaryDropsAmount
int GetSecondaryDropsAmount()
Definition: woodbase.c:56
GetCycleTimeOverride
float GetCycleTimeOverride()
Definition: woodbase.c:66
GetSecondaryOutput
string GetSecondaryOutput()
Definition: woodbase.c:76
IsCuttable
override bool IsCuttable()
Definition: woodbase.c:46
GetPrimaryOutput
string GetPrimaryOutput()
Definition: woodbase.c:71
GetDamageToMiningItemEachDropEx
float GetDamageToMiningItemEachDropEx(ItemBase item, EHarvestType type)
Definition: woodbase.c:209
InitMiningValues
void InitMiningValues()
Definition: woodbase.c:36
GetPrimaryDropsAmount
int GetPrimaryDropsAmount()
Definition: woodbase.c:51