Dayz Explorer  1.24.157551 (v105080)
Dayz Code Explorer by Zeroy
sharpenbroom.c
Go to the documentation of this file.
1 class SharpenBroom extends RecipeBase
2 {
3  override void Init()
4  {
5  m_Name = "#sharpen";
6  m_IsInstaRecipe = false;//should this recipe be performed instantly without animation
7  m_AnimationLength = 1;//animation length in relative time units
8  m_Specialty = 0.01;// value > 0 for roughness, value < 0 for precision
9 
10  //conditions
11  m_MinDamageIngredient[0] = -1;
12  m_MaxDamageIngredient[0] = 3;
13  m_MinQuantityIngredient[0] = 1;
14  m_MaxQuantityIngredient[0] = -1;
15 
16  m_MinDamageIngredient[1] = -1;
17  m_MaxDamageIngredient[1] = 3;
18  m_MinQuantityIngredient[1] = -1;
19  m_MaxQuantityIngredient[1] = -1;
20 
21 
22  //ingredient 1
23  InsertIngredient(0,"Broom");//you can insert multiple ingredients this way
24 
25  m_IngredientAddHealth[0] = 0;
26  m_IngredientSetHealth[0] = -1; // -1 = do nothing
27  m_IngredientAddQuantity[0] = -1;
28  m_IngredientDestroy[0] = 1;
29  m_IngredientUseSoftSkills[1] = false;// set 'true' to allow modification of the values by softskills on this ingredient
30 
31  //ingredient 2
32  InsertIngredient(1,"Sickle");//you can insert multiple ingredients this way
33  InsertIngredient(1,"KukriKnife");
34  InsertIngredient(1,"FangeKnife");
35  InsertIngredient(1,"Hacksaw");
36  InsertIngredient(1,"KitchenKnife");
37  InsertIngredient(1,"SteakKnife");
38  InsertIngredient(1,"HayHook");
39  InsertIngredient(1,"StoneKnife");
40  InsertIngredient(1,"Cleaver");
41  InsertIngredient(1,"CombatKnife");
42  InsertIngredient(1,"HuntingKnife");
43  InsertIngredient(1,"Machete");
44  InsertIngredient(1,"CrudeMachete");
45  InsertIngredient(1,"OrientalMachete");
46  InsertIngredient(1,"Screwdriver");
47  InsertIngredient(1,"Crowbar");
48  InsertIngredient(1,"Pickaxe");
49  InsertIngredient(1,"WoodAxe");
50  InsertIngredient(1,"Hatchet");
51  InsertIngredient(1,"FirefighterAxe");
52  InsertIngredient(1,"Sword");
53  InsertIngredient(1,"AK_Bayonet");
54  InsertIngredient(1,"M9A1_Bayonet");
55  InsertIngredient(1,"Mosin_Bayonet");
56  InsertIngredient(1,"SKS_Bayonet");
57  InsertIngredient(1,"BoneKnife");
58 
59  m_IngredientAddHealth[1] = -12;
60  m_IngredientSetHealth[1] = -1; // -1 = do nothing
61  m_IngredientAddQuantity[1] = 0;
62  m_IngredientDestroy[1] = 0;
63  m_IngredientUseSoftSkills[1] = true;// set 'true' to allow modification of the values by softskills on this ingredient
64 
65  // crafting multiple results
66  //AddResult("CombatKnife");//additional results, must be processed individually in Do method (as "results" parameter)
67 
68  //result1
69  AddResult("WoodenStick");//add results here
70 
71  m_ResultSetFullQuantity[0] = false;//true = set full quantity, false = do nothing
72  m_ResultSetQuantity[0] = 3;//-1 = do nothing
73  m_ResultSetHealth[0] = -1;//-1 = do nothing
74  m_ResultInheritsHealth[0] = 0;// (value) == -1 means do nothing; a (value) >= 0 means this result will inherit health from ingredient number (value);(value) == -2 means this result will inherit health from all ingredients averaged(result_health = combined_health_of_ingredients / number_of_ingredients)
75  m_ResultInheritsColor[0] = -1;// (value) == -1 means do nothing; a (value) >= 0 means this result classname will be a composite of the name provided in AddResult method and config value "color" of ingredient (value)
76  m_ResultToInventory[0] = -2;//(value) == -2 spawn result on the ground;(value) == -1 place anywhere in the players inventory, (value) >= 0 means switch position with ingredient number(value)
77  m_ResultUseSoftSkills[0] = false;// set 'true' to allow modification of the values by softskills on this result
78  m_ResultReplacesIngredient[0] = -1;// value == -1 means do nothing; a value >= 0 means this result will transfer item propertiesvariables, attachments etc.. from an ingredient value
79 
80  //result2
81  AddResult("SharpWoodenStick");//single result
82 
83  m_ResultSetFullQuantity[1] = 0;
84  m_ResultSetQuantity[1] = 1;
85  m_ResultSetHealth[1] = -1;
86  m_ResultInheritsHealth[1] = 0;// (value) == -1 means do nothing; a (value) >= 0 means this result will inherit health from ingredient number (value);(value) == -2 means this result will inherit health from all ingredients averaged(result_health = combined_health_of_ingredients / number_of_ingredients)
87  m_ResultInheritsColor[1] = -1;// (value) == -1 means do nothing; a (value) >= 0 means this result classname will be a composite of the name provided in AddResult method and config value "color" of ingredient (value)
88  m_ResultToInventory[1] = -2;
89  m_ResultUseSoftSkills[1] = false;// set 'true' to allow modification of the values by softskills on this result
90  m_ResultReplacesIngredient[1] = 0;// value == -1 means do nothing; a value >= 0 means this result will transfer item propertiesvariables, attachments etc.. from an ingredient value
91  }
92 
93  override bool CanDo(ItemBase ingredients[], PlayerBase player)
94  {
95  ItemBase broom = ingredients[0];
96 
97  if (broom.GetCompEM().IsWorking())
98  {
99  return false;
100  }
101  return true;
102  }
103 
104  override void Do(ItemBase ingredients[], PlayerBase player,array<ItemBase> results, float specialty_weight)
105  {
106  ItemBase broom = ingredients[0];
107 
108  for (int i=0; i < results.Count(); i++)
109  {
110  ItemBase item_result;
111  Class.CastTo(item_result, results.Get(i));
112 
113  MiscGameplayFunctions.TransferItemProperties(broom, item_result);
114  }
115 
116  super.Do( ingredients, player, results, specialty_weight);
117  }
118 };
ItemBase
Definition: inventoryitem.c:730
Do
override protected void Do(PlayerBase player)
Definition: spookyareamisc.c:13
m_Name
string m_Name
Definition: bioslobbyservice.c:35
RecipeBase
Definition: recipebase.c:4
PlayerBase
Definition: playerbaseclient.c:1
Init
class InventoryGridController extends ScriptedWidgetEventHandler Init
Definition: uihintpanel.c:46
CanDo
override protected bool CanDo(PlayerBase player, TStringVectorMap surfaceTypes)
Definition: spookyareamisc.c:8
array< ItemBase >
Class
Super root of all classes in Enforce script.
Definition: enscript.c:10