DayZ 1.24
Loading...
Searching...
No Matches
OpenCan.c
Go to the documentation of this file.
1class 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 {
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};
string m_Name
Super root of all classes in Enforce script.
Definition EnScript.c:11
static void OpenAndSwitch(ItemBase item_tool, ItemBase item_target, PlayerBase player, float specialty_weight=0)
WIll open the 'item_target' by spawning a new entity and transferring item variables to the new one.
Definition OpenItem.c:4
override bool CanDo(ItemBase ingredients[], PlayerBase player)
Definition OpenCan.c:107
override void Do(ItemBase ingredients[], PlayerBase player, array< ItemBase > results, float specialty_weight)
Definition OpenCan.c:115
override void Init()
Definition OpenCan.c:3
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.