DayZ 1.24
Loading...
Searching...
No Matches
CraftSplint.c
Go to the documentation of this file.
1class 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 {
64 if (ingredient1.Type() == BandageDressing)
65 {
66 if (ingredient1.GetQuantity() == ingredient1.GetQuantityMax())
67 return true;
68 return false;
69 }
70
71 if (ingredient1.Type() == Rag)
72 {
73 if (ingredient1.GetQuantity() >= 4)
74 return true;
75
76 return false;
77 }
78
79 if (ingredient1.Type() == DuctTape)
80 {
81 if (ingredient1.GetQuantity() >= (ingredient1.GetQuantityMax() / 2))
82 return true;
83
84 return false;
85 }
86
87 return true;
88 }
89
90 override void Do(ItemBase ingredients[], PlayerBase player, array<ItemBase> results, float specialty_weight) //gets called upon recipe's completion
91 {
92 Debug.Log("Recipe Do method called", "recipes");
93
95
96 if (ingredients[0].Type() == Rag)
97 {
98 //Print("Are we getting here?");
99 ingredient1.AddQuantity(-4);
100 }
101
102 if (ingredients[0].Type() == BandageDressing)
103 {
104 //Print("We also get here then");
105 ingredient1.AddQuantity(-ingredient1.GetQuantityMax());
106 }
107
108 if (ingredients[0].Type() == DuctTape)
109 {
110 //Print("We also get here then");
111 ingredient1.AddQuantity(-ingredient1.GetQuantityMax() / 2);
112 }
113 }
114};
string m_Name
string Type
Definition Debug.c:14
static void Log(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
Prints debug message with normal prio.
Definition Debug.c:133
override bool CanDo(ItemBase ingredients[], PlayerBase player)
Definition CraftSplint.c:61
override void Do(ItemBase ingredients[], PlayerBase player, array< ItemBase > results, float specialty_weight)
Definition CraftSplint.c:90
override void Init()
Definition CraftSplint.c:3