Dayz Explorer  1.24.157551 (v105080)
Dayz Code Explorer by Zeroy
preparerabbit.c
Go to the documentation of this file.
1 class PrepareRabbit extends RecipeBase
2 {
3  override void Init()
4  {
5  m_Name = "#skin";
6  m_IsInstaRecipe = false;//should this recipe be performed instantly without animation
7  m_AnimationLength = 1.5;//animation length in relative time units
8  m_Specialty = 0.02;// 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,"DeadRabbit");//you can insert multiple ingredients this way
28 
29  m_IngredientAddHealth[0] = 0;// 0 = do nothing
30  m_IngredientSetHealth[0] = -1; // -1 = do nothing
31  m_IngredientAddQuantity[0] = 0;// 0 = do nothing
32  m_IngredientDestroy[0] = true;//true = destroy, false = do nothing
33  m_IngredientUseSoftSkills[0] = false;// set 'true' to allow modification of the values by softskills on this ingredient
34 
35  //ingredient 2
36  InsertIngredient(1,"Sickle");//you can insert multiple ingredients this way
37  InsertIngredient(1,"KukriKnife");
38  InsertIngredient(1,"FangeKnife");
39  InsertIngredient(1,"Hacksaw");
40  InsertIngredient(1,"HandSaw");
41  InsertIngredient(1,"KitchenKnife");
42  InsertIngredient(1,"SteakKnife");
43  InsertIngredient(1,"StoneKnife");
44  InsertIngredient(1,"Cleaver");
45  InsertIngredient(1,"CombatKnife");
46  InsertIngredient(1,"HuntingKnife");
47  InsertIngredient(1,"Machete");
48  InsertIngredient(1,"CrudeMachete");
49  InsertIngredient(1,"OrientalMachete");
50  InsertIngredient(1,"WoodAxe");
51  InsertIngredient(1,"Hatchet");
52  InsertIngredient(1,"FirefighterAxe");
53  InsertIngredient(1,"Sword");
54  InsertIngredient(1,"AK_Bayonet");
55  InsertIngredient(1,"M9A1_Bayonet");
56  InsertIngredient(1,"SKS_Bayonet");
57  InsertIngredient(1,"BoneKnife");
58  InsertIngredient(1,"Screwdriver");
59 
60  m_IngredientAddHealth[1] = -12;// 0 = do nothing
61  m_IngredientSetHealth[1] = -1; // -1 = do nothing
62  m_IngredientAddQuantity[1] = 0;// 0 = do nothing
63  m_IngredientDestroy[1] = false;// false = do nothing
64  m_IngredientUseSoftSkills[1] = true;// set 'true' to allow modification of the values by softskills on this ingredient
65  //----------------------------------------------------------------------------------------------------------------------
66 
67  //result3
68  AddResult("Bone");//add results here
69 
70  m_ResultSetFullQuantity[0] = false;//true = set full quantity, false = do nothing
71  m_ResultSetQuantity[0] = -1;// -1 = do nothing
72  m_ResultSetHealth[0] = -1;// -1 = do nothing
73  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)
74  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)
75  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)
76  m_ResultUseSoftSkills[0] = false;// set 'true' to allow modification of the values by softskills on this result
77  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
78 
79  //result4
80  AddResult("RabbitPelt");//add results here
81 
82  m_ResultSetFullQuantity[1] = false;//true = set full quantity, false = do nothing
83  m_ResultSetQuantity[1] = -1;// -1 = do nothing
84  m_ResultSetHealth[1] = -1;// -1 = do nothing
85  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)
86  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)
87  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)
88  m_ResultUseSoftSkills[1] = false;// set 'true' to allow modification of the values by softskills on this result
89  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
90 
91  //----------------------------------------------------------------------------------------------------------------------
92  }
93 
94  override bool CanDo(ItemBase ingredients[], PlayerBase player)//final check for recipe's validity
95  {
96  return true;
97  }
98 
99  override void Do(ItemBase ingredients[], PlayerBase player,array<ItemBase> results, float specialty_weight)//gets called upon recipe's completion
100  {
101  ItemBase deadRabbit = ingredients[0];
102  ItemBase resultBones = results[0];
103 
104  int legCount = Math.RandomIntInclusive(2,4);
105  for (int i=0; i < legCount; i++)
106  {
107  ItemBase result = ItemBase.Cast(player.SpawnEntityOnGroundOnCursorDir("RabbitLegMeat", DEFAULT_SPAWN_DISTANCE));
108  MiscGameplayFunctions.TransferItemProperties(deadRabbit, result);
109  result.SetQuantityNormalized(Math.RandomFloatInclusive(0.8,1));
110  }
111 
112 
113  MiscGameplayFunctions.TransferItemProperties(deadRabbit, resultBones);
114  resultBones.SetQuantity(Math.RandomIntInclusive(2,5));
115 
116 
118  lifespan.UpdateBloodyHandsVisibility( player, true );
119  }
120 };
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
GetPlugin
PluginBase GetPlugin(typename plugin_type)
Definition: pluginmanager.c:316
PlayerBase
Definition: playerbaseclient.c:1
Init
class InventoryGridController extends ScriptedWidgetEventHandler Init
Definition: uihintpanel.c:46
PluginLifespan
void PluginLifespan()
Definition: pluginlifespan.c:45
CanDo
override protected bool CanDo(PlayerBase player, TStringVectorMap surfaceTypes)
Definition: spookyareamisc.c:8
DEFAULT_SPAWN_DISTANCE
const float DEFAULT_SPAWN_DISTANCE
Definition: recipebase.c:3
array< ItemBase >
Math
Definition: enmath.c:6