Dayz Explorer  1.24.157551 (v105080)
Dayz Code Explorer by Zeroy
drainliquid.c
Go to the documentation of this file.
1 class DrainLiquid extends RecipeBase
2 {
3  override void Init()
4  {
5  m_Name = "#STR_DrainLiquid0";
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.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] = 0;//-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] = 0;//-1 = disable check
22  m_MaxQuantityIngredient[1] = -1;//-1 = disable check
23  //----------------------------------------------------------------------------------------------------------------------
24 
25  //INGREDIENTS
26  //ingredient 1
27  InsertIngredient(0,"Pot");//you can insert multiple ingredients this way
28  InsertIngredient(0,"CanisterGasoline");//you can insert multiple ingredients this way
29  InsertIngredient(0,"Canteen");//you can insert multiple ingredients this way
30  InsertIngredient(0,"WaterBottle");//you can insert multiple ingredients this way
31  InsertIngredient(0,"Vodka");//you can insert multiple ingredients this way
32  InsertIngredient(0,"WaterPouch_ColorBase");//you can insert multiple ingredients this way
33  InsertIngredient(0,"Barrel_ColorBase");//you can insert multiple ingredients this way
34 
35  m_IngredientAddHealth[0] = 0;// 0 = do nothing
36  m_IngredientSetHealth[0] = -1; // -1 = do nothing
37  m_IngredientAddQuantity[0] = 0;// 0 = do nothing
38  m_IngredientDestroy[0] = false;//true = destroy, false = do nothing
39  m_IngredientUseSoftSkills[0] = false;// set 'true' to allow modification of the values by softskills on this ingredient
40 
41  //ingredient 2
42  InsertIngredient(1,"Pot");//you can insert multiple ingredients this way
43  InsertIngredient(1,"CanisterGasoline");//you can insert multiple ingredients this way
44  InsertIngredient(1,"Canteen");//you can insert multiple ingredients this way
45  InsertIngredient(1,"WaterBottle");//you can insert multiple ingredients this way
46  InsertIngredient(1,"Vodka");//you can insert multiple ingredients this way
47  InsertIngredient(1,"WaterPouch_ColorBase");//you can insert multiple ingredients this way
48  InsertIngredient(1,"Barrel_ColorBase");//you can insert multiple ingredients this way
49 
50  m_IngredientAddHealth[1] = 0;// 0 = do nothing
51  m_IngredientSetHealth[1] = -1; // -1 = do nothing
52  m_IngredientAddQuantity[1] = 0;// 0 = do nothing
53  m_IngredientDestroy[1] = false;// false = do nothing
54  m_IngredientUseSoftSkills[1] = false;// set 'true' to allow modification of the values by softskills on this ingredient
55  //----------------------------------------------------------------------------------------------------------------------
56 
57  //result1
58  //AddResult("");//add results here
59 
60  m_ResultSetFullQuantity[0] = false;//true = set full quantity, false = do nothing
61  m_ResultSetQuantity[0] = -1;//-1 = do nothing
62  m_ResultSetHealth[0] = -1;//-1 = do nothing
63  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)
64  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)
65  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)
66  m_ResultUseSoftSkills[0] = false;// set 'true' to allow modification of the values by softskills on this result
67  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
68  }
69 
70  override bool CanDo(ItemBase ingredients[], PlayerBase player)//final check for recipe's validity
71  {
72  ItemBase ingredient1;
73  Class.CastTo(ingredient1, ingredients[0]);
74  ItemBase ingredient2;
75  Class.CastTo(ingredient2, ingredients[1]);
76 
77  ItemBase source = NULL;
78  ItemBase target = NULL;
79 
80  ItemBase entity_in_hands = ItemBase.Cast(player.GetHumanInventory().GetEntityInHands());
81 
82  //condition always true for any bottle, another recipe needed for pouring TO handheld bottle
83  if( entity_in_hands == ingredient1 )
84  {
85  return Liquid.CanTransfer(ingredient2,ingredient1);
86  }
87  else
88  {
89  return Liquid.CanTransfer(ingredient1,ingredient2);
90  }
91  }
92 
93  override void Do(ItemBase ingredients[], PlayerBase player,array<ItemBase> results, float specialty_weight)//gets called upon recipe's completion
94  {
95  ItemBase ingredient1 = ingredients[0];
96  ItemBase ingredient2 = ingredients[1];
97 
98  ItemBase entity_in_hands = ItemBase.Cast(player.GetHumanInventory().GetEntityInHands());
99 
100  if( entity_in_hands == ingredient1 )
101  {
102  Liquid.Transfer(ingredient2,ingredient1);
103  }
104  else
105  {
106  Liquid.Transfer(ingredient1,ingredient2);
107  }
108  }
109 };
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
array< ItemBase >
Liquid
Definition: liquid.c:1
Class
Super root of all classes in Enforce script.
Definition: enscript.c:10