Dayz Explorer  1.24.157551 (v105080)
Dayz Code Explorer by Zeroy
craftsplint.c
Go to the documentation of this file.
1 class CraftSplint extends RecipeBase
2 {
3  override void Init()
4  {
5  m_Name = "#STR_CraftSplint0";
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 
11  //conditions
12  m_MinDamageIngredient[0] = -1;//-1 = disable check
13  m_MaxDamageIngredient[0] = 3;//-1 = disable check
14 
15  //In the context of this recipe Check CanDo method as Rags can be stacked but bandages can't
16  m_MinQuantityIngredient[0] = 1;//-1 = disable check
17  m_MaxQuantityIngredient[0] = -1;//-1 = disable check
18 
19  m_MinDamageIngredient[1] = -1;//-1 = disable check
20  m_MaxDamageIngredient[1] = 3;//-1 = disable check
21 
22  m_MinQuantityIngredient[1] = 2;//-1 = disable check
23  m_MaxQuantityIngredient[1] = -1;//-1 = disable check
24  //----------------------------------------------------------------------------------------------------------------------
25 
26  //INGREDIENTS
27  //ingredient 1
28  InsertIngredient(0,"BandageDressing");//you can insert multiple ingredients this way
29  InsertIngredient(0,"Rag");//you can insert multiple ingredients this way
30  InsertIngredient(0,"DuctTape");//you can insert multiple ingredients this way
31 
32  m_IngredientAddHealth[0] = 0;// 0 = do nothing
33  m_IngredientSetHealth[0] = -1; // -1 = do nothing
34  m_IngredientAddQuantity[0] = 0;// 0 = do nothing
35  m_IngredientDestroy[0] = false;//true = destroy, false = do nothing
36  m_IngredientUseSoftSkills[0] = false;// set 'true' to allow modification of the values by softskills on this ingredient
37 
38  //ingredient 2
39  InsertIngredient(1,"WoodenStick");//you can insert multiple ingredients this way
40 
41  m_IngredientAddHealth[1] = 0;// 0 = do nothing
42  m_IngredientSetHealth[1] = -1; // -1 = do nothing
43  m_IngredientAddQuantity[1] = -2;// 0 = do nothing
44  m_IngredientDestroy[1] = false;// false = do nothing
45  m_IngredientUseSoftSkills[1] = false;// set 'true' to allow modification of the values by softskills on this ingredient
46  //----------------------------------------------------------------------------------------------------------------------
47 
48  //result1
49  AddResult("Splint");//add results here
50 
51  m_ResultSetFullQuantity[0] = false;//true = set full quantity, false = do nothing
52  m_ResultSetQuantity[0] = -1;//-1 = do nothing
53  m_ResultSetHealth[0] = -1;//-1 = do nothing
54  m_ResultInheritsHealth[0] = -2;// (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)
55  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)
56  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)
57  m_ResultUseSoftSkills[0] = false;// set 'true' to allow modification of the values by softskills on this result
58  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
59  }
60 
61  override bool CanDo(ItemBase ingredients[], PlayerBase player)//final check for recipe's validity
62  {
63  ItemBase ingredient1 = ingredients[0];
64  if (ingredient1.Type() == BandageDressing)
65  {
66  if (ingredient1.GetQuantity() == ingredient1.GetQuantityMax())
67  {
68  return true;
69  }
70  return false;
71  }
72 
73  if (ingredient1.Type() == Rag)
74  {
75  if (ingredient1.GetQuantity() >= 4)
76  return true;
77 
78  return false;
79  }
80 
81  if (ingredient1.Type() == DuctTape)
82  {
83  if (ingredient1.GetQuantity() >= (ingredient1.GetQuantityMax()/2))
84  return true;
85 
86  return false;
87  }
88 
89  return true;
90  }
91 
92  override void Do(ItemBase ingredients[], PlayerBase player,array<ItemBase> results, float specialty_weight)//gets called upon recipe's completion
93  {
94  Debug.Log("Recipe Do method called","recipes");
95 
96  ItemBase ingredient1 = ingredients[0];
97 
98  if (ingredients[0].Type() == Rag)
99  {
100  //Print("Are we getting here?");
101  ingredient1.AddQuantity(-4);
102  }
103 
104  if (ingredients[0].Type() == BandageDressing)
105  {
106  //Print("We also get here then");
107  ingredient1.AddQuantity(-ingredient1.GetQuantityMax());
108  }
109 
110  if (ingredients[0].Type() == DuctTape)
111  {
112  //Print("We also get here then");
113  ingredient1.AddQuantity(-ingredient1.GetQuantityMax()/2);
114  }
115  }
116 };
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
DuctTape
Definition: consumables.c:82
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 >
Debug
Definition: debug.c:13
Type
string Type
Definition: jsondatacontaminatedarea.c:11