Dayz Explorer  1.24.157551 (v105080)
Dayz Code Explorer by Zeroy
opencan.c
Go to the documentation of this file.
1 class OpenCan extends RecipeBase
2 {
3  override void Init()
4  {
5  m_Name = "#STR_OpenCan0";
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  m_AnywhereInInventory = false;//is this recipe valid even when neither of the items is in hands
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  InsertIngredientEx(0,"BakedBeansCan", "openBeanCan");//you can insert multiple ingredients this way
28  InsertIngredientEx(0,"PeachesCan", "openBeanCan");//you can insert multiple ingredients this way
29  InsertIngredientEx(0,"TacticalBaconCan", "openBeanCan");//you can insert multiple ingredients this way
30  InsertIngredientEx(0,"SpaghettiCan", "openBeanCan");//you can insert multiple ingredients this way
31  InsertIngredientEx(0,"SardinesCan", "openBeanCan");//you can insert multiple ingredients this way
32  InsertIngredientEx(0,"UnknownFoodCan", "openBeanCan");//you can insert multiple ingredients this way
33 
34  m_IngredientAddHealth[0] = 0;// 0 = do nothing
35  m_IngredientSetHealth[0] = -1; // -1 = do nothing
36  m_IngredientAddQuantity[0] = 0;// 0 = do nothing
37  m_IngredientDestroy[0] = false;//true = destroy, false = do nothing
38  m_IngredientUseSoftSkills[0] = false;// set 'true' to allow modification of the values by softskills on this ingredient
39 
40  //ingredient 2
41  InsertIngredient(1,"Sickle");//you can insert multiple ingredients this way
42  InsertIngredient(1,"KukriKnife");
43  InsertIngredient(1,"FangeKnife");
44  InsertIngredient(1,"Hacksaw");
45  InsertIngredient(1,"KitchenKnife");
46  InsertIngredient(1,"SteakKnife");
47  InsertIngredient(1,"StoneKnife");
48  InsertIngredient(1,"CombatKnife");
49  InsertIngredient(1,"HuntingKnife");
50  InsertIngredient(1,"Machete");
51  InsertIngredient(1,"CrudeMachete");
52  InsertIngredient(1,"OrientalMachete");
53  InsertIngredient(1,"AK_Bayonet");
54  InsertIngredient(1,"M9A1_Bayonet");
55  InsertIngredient(1,"Mosin_Bayonet");
56  InsertIngredient(1,"SKS_Bayonet");
57  InsertIngredient(1,"CanOpener");
58  InsertIngredient(1,"FarmingHoe");
59  InsertIngredient(1,"Shovel");
60  InsertIngredient(1,"FieldShovel");
61  InsertIngredient(1,"Crowbar");
62  InsertIngredient(1,"Hammer");
63  InsertIngredient(1,"Mace");
64  InsertIngredient(1,"Wrench");
65  InsertIngredient(1,"LugWrench");
66  InsertIngredient(1,"Screwdriver");
67  InsertIngredient(1,"SledgeHammer");
68  InsertIngredient(1,"BaseballBat");
69  InsertIngredient(1,"NailedBaseballBat");
70  InsertIngredient(1,"BarbedBaseballBat");
71  InsertIngredient(1,"PipeWrench");
72  InsertIngredient(1,"Pickaxe");
73  InsertIngredient(1,"WoodAxe");
74  InsertIngredient(1,"FirefighterAxe");
75  InsertIngredient(1,"Hatchet");
76  InsertIngredient(1,"HandSaw");
77  InsertIngredient(1,"Pliers");
78  InsertIngredient(1,"Spear");
79  InsertIngredient(1,"Pitchfork");
80  InsertIngredient(1,"BoneKnife");
81  InsertIngredient(1,"MeatTenderizer");
82  InsertIngredient(1,"Cleaver");
83  InsertIngredient(1,"Sword");
84 
85  m_IngredientAddHealth[1] = -0.5;// 0 = do nothing
86  m_IngredientSetHealth[1] = -1; // -1 = do nothing
87  m_IngredientAddQuantity[1] = 0;// 0 = do nothing
88  m_IngredientDestroy[1] = false;// false = do nothing
89  m_IngredientUseSoftSkills[1] = true;// set 'true' to allow modification of the values by softskills on this ingredient
90  //----------------------------------------------------------------------------------------------------------------------
91 
92  //result1
93  //AddResult("");//add results here
94 
95  m_ResultSetFullQuantity[0] = false;//true = set full quantity, false = do nothing
96  m_ResultSetQuantity[0] = 0;//-1 = do nothing
97  m_ResultSetHealth[0] = -1;//-1 = do nothing
98  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)
99  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)
100  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)
101  m_ResultUseSoftSkills[0] = false;// set 'true' to allow modification of the values by softskills on this result
102  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
103 
104  //----------------------------------------------------------------------------------------------------------------------
105  }
106 
107  override bool CanDo(ItemBase ingredients[], PlayerBase player)//final check for recipe's validity
108  {
109  if ( player.IsPlacingLocal() )
110  return false;
111 
112  return true;
113  }
114 
115  override void Do(ItemBase ingredients[], PlayerBase player,array<ItemBase> results, float specialty_weight)//gets called upon recipe's completion
116  {
117  ItemBase can;
118  Class.CastTo(can, ingredients[0]);
119  ItemBase tool;
120  Class.CastTo(tool, ingredients[1]);
121  PlayerBase playerPB;
122  Class.CastTo(playerPB, player);
123  OpenItem.OpenAndSwitch(tool, can, playerPB, specialty_weight);
124  //DamageTool(tool,player);
125  }
126 
127  /*void DamageTool(ItemBase tool,PlayerBase player)
128  {
129  float health_delta = -(tool.GetMaxHealth("","Health") / 40);
130  health_delta = Math.Clamp(health_delta,-10,-0.5);
131 
132  if(health_delta <0) health_delta = player.GetSoftSkillsManager().SubtractSpecialtyBonus(health_delta, m_Specialty);
133  else health_delta = player.GetSoftSkillsManager().AddSpecialtyBonus(health_delta, m_Specialty);
134  tool.AddHealth("","",health_delta);
135  }*/
136 };
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
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
OpenItem
Definition: openitem.c:1
array< ItemBase >
Class
Super root of all classes in Enforce script.
Definition: enscript.c:10