DayZ 1.24
Loading...
Searching...
No Matches
SplitBroom.c
Go to the documentation of this file.
1class SplitBroom extends RecipeBase
2{
3 override void Init()
4 {
5 m_Name = "#STR_split0";
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 m_MinQuantityIngredient[0] = -1;//-1 = disable check
16 m_MaxQuantityIngredient[0] = -1;//-1 = disable check
17
18 m_MinDamageIngredient[1] = -1;//-1 = disable check
19 m_MaxDamageIngredient[1] = 3;//-1 = disable check
20
21 m_MinQuantityIngredient[1] = -1;//-1 = disable check
22 m_MaxQuantityIngredient[1] = -1;//-1 = disable check
23 //----------------------------------------------------------------------------------------------------------------------
24
25 //INGREDIENTS
26 //ingredient 1
27 InsertIngredient(0, "Broom"); //you can insert multiple ingredients this way
28 InsertIngredient(0, "Broom_Birch"); //you can insert multiple ingredients this way
29
30 m_IngredientAddHealth[0] = 0;// 0 = do nothing
31 m_IngredientSetHealth[0] = -1; // -1 = do nothing
32 m_IngredientAddQuantity[0] = 0;// 0 = do nothing
33 m_IngredientDestroy[0] = true;//true = destroy, false = do nothing
34 m_IngredientUseSoftSkills[0] = false;// set 'true' to allow modification of the values by softskills on this ingredient
35
36 //ingredient 2
37 InsertIngredient(1, "Sickle"); //you can insert multiple ingredients this way
38 InsertIngredient(1, "KukriKnife");
39 InsertIngredient(1, "FangeKnife");
40 InsertIngredient(1, "Hacksaw");
41 InsertIngredient(1, "HandSaw");
42 InsertIngredient(1, "KitchenKnife");
43 InsertIngredient(1, "SteakKnife");
44 InsertIngredient(1, "HayHook");
45 InsertIngredient(1, "StoneKnife");
46 InsertIngredient(1, "Cleaver");
47 InsertIngredient(1, "CombatKnife");
48 InsertIngredient(1, "HuntingKnife");
49 InsertIngredient(1, "Machete");
50 InsertIngredient(1, "CrudeMachete");
51 InsertIngredient(1, "OrientalMachete");
52 InsertIngredient(1, "Crowbar");
53 InsertIngredient(1, "Pickaxe");
54 InsertIngredient(1, "WoodAxe");
55 InsertIngredient(1, "Hatchet");
56 InsertIngredient(1, "FirefighterAxe");
57 InsertIngredient(1, "Sword");
58 InsertIngredient(1, "AK_Bayonet");
59 InsertIngredient(1, "M9A1_Bayonet");
60 InsertIngredient(1, "Mosin_Bayonet");
61 InsertIngredient(1, "SKS_Bayonet");
62 InsertIngredient(1, "BoneKnife");
63
64 m_IngredientAddHealth[1] = -4;// 0 = do nothing
65 m_IngredientSetHealth[1] = -1; // -1 = do nothing
66 m_IngredientAddQuantity[1] = 0;// 0 = do nothing
67 m_IngredientDestroy[1] = false;// false = do nothing
68 m_IngredientUseSoftSkills[1] = true;// set 'true' to allow modification of the values by softskills on this ingredient
69
70 //----------------------------------------------------------------------------------------------------------------------
71
72 //result1
73 AddResult("WoodenStick");//add results here
74
75 m_ResultSetFullQuantity[0] = false;//true = set full quantity, false = do nothing
76 m_ResultSetQuantity[0] = 3;//-1 = do nothing
77 m_ResultSetHealth[0] = -1;//-1 = do nothing
78 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)
79 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)
80 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)
81 m_ResultUseSoftSkills[0] = false;// set 'true' to allow modification of the values by softskills on this result
82 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
83
84
85 //result2
86 AddResult("LongWoodenStick");//add results here
87
88 m_ResultSetFullQuantity[1] = true;//true = set full quantity, false = do nothing
89 m_ResultSetQuantity[1] = -1;//-1 = do nothing
90 m_ResultSetHealth[1] = -1;//-1 = do nothing
91 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)
92 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)
93 m_ResultToInventory[1] = -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)
94 m_ResultUseSoftSkills[1] = true;// set 'true' to allow modification of the values by softskills on this result
95 m_ResultReplacesIngredient[1] = -1;// value == -1 means do nothing; a value >= 0 means this result will transfer item propertiesvariables, attachments etc.. from an ingredient value
96 //----------------------------------------------------------------------------------------------------------------------
97 }
98
99 override bool CanDo(ItemBase ingredients[], PlayerBase player)//final check for recipe's validity
100 {
102
103
104 if (broom.GetCompEM().IsWorking())
105 return false;
106
107 if (broom.IsEmpty())
108 return true;
109 return false;
110
111 }
112
113 override void Do(ItemBase ingredients[], PlayerBase player, array<ItemBase> results, float specialty_weight) //gets called upon recipe's completion
114 {
116
117 for (int i = 0; i < results.Count(); i++)
118 {
121
122 MiscGameplayFunctions.TransferItemProperties(broom, item_result);
123 }
124
126 }
127};
string m_Name
Super root of all classes in Enforce script.
Definition EnScript.c:11
override bool CanDo(ItemBase ingredients[], PlayerBase player)
Definition SplitBroom.c:99
override void Do(ItemBase ingredients[], PlayerBase player, array< ItemBase > results, float specialty_weight)
Definition SplitBroom.c:113
override void Init()
Definition SplitBroom.c:3
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.