DayZ 1.24
Loading...
Searching...
No Matches
CraftBaseBallBatBarbed.c
Go to the documentation of this file.
2{
3 override void Init()
4 {
5 m_Name = "#STR_CraftBaseBallBatBarbed0";
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.02;// 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] = 12;
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, "BarbedWire"); //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] = true;
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, "BaseballBat"); //you can insert multiple ingredients this way
33
34 m_IngredientAddHealth[1] = 0;
35 m_IngredientSetHealth[1] = -1; // -1 = do nothing
36 m_IngredientAddQuantity[1] = 0;
37 m_IngredientDestroy[1] = true;
38 m_IngredientUseSoftSkills[1] = false;// set 'true' to allow modification of the values by softskills on this ingredient
39
40 // crafting multiple results
41 //AddResult("CombatKnife");//additional results, must be processed individually in Do method (as "results" parameter)
42
43
44 AddResult("BarbedBaseballBat");//single result
45 m_ResultSetFullQuantity[0] = 0;
46 m_ResultSetQuantity[0] = -1;
47 m_ResultSetHealth[0] = -1;
48 m_ResultInheritsHealth[0] = 1;// (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)
49 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)
50 m_ResultToInventory[0] = 1; //(value) == -2 spawn result on the ground;(value) == -1 place anywhere in the players inventory, (value) >= 0 means switch position with ingredient number(value)
51 m_ResultUseSoftSkills[0] = false;// set 'true' to allow modification of the values by softskills on this result
52 m_ResultReplacesIngredient[0] = 0;// value == -1 means do nothing; a value >= 0 means this result will transfer item propertiesvariables, attachments etc.. from an ingredient value
53 }
54
55
56 override void Do(ItemBase ingredients[], PlayerBase player, array<ItemBase> results, float specialty_weight) //gets called upon recipe's completion
57 {
58 ItemBase gloves = ItemBase.Cast(player.FindAttachmentBySlotName("Gloves"));
59 if (gloves && !gloves.IsDamageDestroyed())
60 return;
61
62 int rand = Math.RandomIntInclusive(0, 9);
63 if (rand == 0)
64 {
66 if (rand == 0 && !player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection("LeftForeArmRoll"))
67 player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection("RightForeArmRoll");
68 else if (rand == 1 && !player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection("RightForeArmRoll"))
69 player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection("LeftForeArmRoll");
70 }
71 }
72};
string m_Name
Definition EnMath.c:7
override void Do(ItemBase ingredients[], PlayerBase player, array< ItemBase > results, float specialty_weight)
override void Init()
static int RandomIntInclusive(int min, int max)
Returns a random int number between and min [inclusive] and max [inclusive].
Definition EnMath.c:54