Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
cleanrags.c
Go to the documentation of this file.
1
class
CleanRags
extends
RecipeBase
2
{
3
override
void
Init
()
4
{
5
m_Name
=
"#clean"
;
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
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,
"Rag"
);
//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] =
false
;
//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,
"Pot"
);
//you can insert multiple ingredients this way
37
InsertIngredient
(1,
"CanisterGasoline"
);
//you can insert multiple ingredients this way
38
InsertIngredient
(1,
"Canteen"
);
//you can insert multiple ingredients this way
39
InsertIngredient
(1,
"WaterBottle"
);
//you can insert multiple ingredients this way
40
InsertIngredient
(1,
"FilteringBottle"
);
//you can insert multiple ingredients this way
41
InsertIngredient
(1,
"GlassBottle"
);
//you can insert multiple ingredients this way
42
InsertIngredient
(1,
"WaterPouch_ColorBase"
);
//you can insert multiple ingredients this way
43
InsertIngredient
(1,
"Barrel_ColorBase"
);
//you can insert multiple ingredients this way
44
45
m_IngredientAddHealth
[1] = 0;
// 0 = do nothing
46
m_IngredientSetHealth
[1] = -1;
// -1 = do nothing
47
m_IngredientAddQuantity
[1] = 0;
// 0 = do nothing
48
m_IngredientDestroy
[1] =
false
;
// false = do nothing
49
m_IngredientUseSoftSkills
[1] =
false
;
// set 'true' to allow modification of the values by softskills on this ingredient
50
}
51
52
override
bool
CanDo
(
ItemBase
ingredients[],
PlayerBase
player)
//final check for recipe's validity
53
{
54
ItemBase
rags;
55
Class
.
CastTo
(rags, ingredients[0]);
56
ItemBase
container;
57
Class
.
CastTo
(container, ingredients[1]);
58
59
if
((container.GetLiquidType() &
LIQUID_WATER
) && container.GetQuantity() > 0 && !container.GetIsFrozen() && rags.GetHealthLevel() > 1)
60
{
61
return
true
;
62
}
63
else
64
{
65
return
false
;
66
}
67
}
68
69
override
void
Do
(
ItemBase
ingredients[],
PlayerBase
player,
array<ItemBase>
results,
float
specialty_weight)
//gets called upon recipe's completion
70
{
71
ItemBase
rags = ingredients[0];
72
ItemBase
container = ingredients[1];
73
74
float
rags_health = rags.GetHealth(
""
,
""
);
75
int
rags_quantity = rags.GetQuantity();
76
77
float
rags_combined_damage = (100 - rags_health) * rags_quantity;
78
79
int
liquid_quantity = container.GetQuantity();
80
int
liquid_required = rags_combined_damage * 2;
81
82
float
used_ratio = 0;
83
float
heal = 0;
84
85
if
( liquid_quantity > liquid_required )
86
{
87
container.AddQuantity(-liquid_required);
88
heal = rags_combined_damage / rags_quantity;
89
}
90
else
91
{
92
container.
SetQuantity
(0);
93
used_ratio = liquid_quantity / liquid_required;
94
heal = (rags_combined_damage / rags_quantity) * used_ratio;
95
96
}
97
heal =
Math
.
Clamp
(heal, 0, (70 - rags_health));
98
rags.AddHealth(
""
,
""
,heal);
99
}
100
};
m_Name
string m_Name
Definition
inventoryitemtype.c:34
Class
Super root of all classes in Enforce script.
Definition
enscript.c:11
ItemBase
Definition
inventoryitem.c:742
ItemBase::SetQuantity
override bool SetQuantity(float value, bool destroy_config=true, bool destroy_forced=false, bool allow_client=false, bool clamp_to_stack_max=true)
Definition
pileofwoodenplanks.c:88
Math
Definition
enmath.c:7
PlayerBase
Definition
playerbaseclient.c:2
RecipeBase
Definition
attachholster.c:2
RecipeBase::CanDo
override bool CanDo(ItemBase ingredients[], PlayerBase player)
Definition
cleanrags.c:52
RecipeBase::Init
override void Init()
Definition
cleanrags.c:3
RecipeBase::Do
override void Do(ItemBase ingredients[], PlayerBase player, array< ItemBase > results, float specialty_weight)
Definition
cleanrags.c:69
array
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Definition
isboxcollidinggeometryproxyclasses.c:28
Class::CastTo
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
LIQUID_WATER
const int LIQUID_WATER
Definition
constants.c:544
Math::Clamp
static proto float Clamp(float value, float min, float max)
Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.
m_IngredientUseSoftSkills
bool m_IngredientUseSoftSkills[MAX_NUMBER_OF_INGREDIENTS]
Definition
recipebase.c:48
m_IngredientAddHealth
float m_IngredientAddHealth[MAX_NUMBER_OF_INGREDIENTS]
Definition
recipebase.c:49
m_IsInstaRecipe
bool m_IsInstaRecipe
Definition
recipebase.c:40
m_IngredientSetHealth
float m_IngredientSetHealth[MAX_NUMBER_OF_INGREDIENTS]
Definition
recipebase.c:51
m_Specialty
float m_Specialty
Definition
recipebase.c:39
m_MinDamageIngredient
float m_MinDamageIngredient[MAX_NUMBER_OF_INGREDIENTS]
Definition
recipebase.c:45
m_MaxQuantityIngredient
float m_MaxQuantityIngredient[MAX_NUMBER_OF_INGREDIENTS]
Definition
recipebase.c:44
InsertIngredient
void InsertIngredient(int index, string ingredient, DayZPlayerConstants uid=BASE_CRAFT_ANIMATION_ID, bool showItem=false)
Definition
recipebase.c:159
m_AnimationLength
float m_AnimationLength
Definition
recipebase.c:38
m_MaxDamageIngredient
float m_MaxDamageIngredient[MAX_NUMBER_OF_INGREDIENTS]
Definition
recipebase.c:46
m_IngredientAddQuantity
float m_IngredientAddQuantity[MAX_NUMBER_OF_INGREDIENTS]
Definition
recipebase.c:50
m_MinQuantityIngredient
float m_MinQuantityIngredient[MAX_NUMBER_OF_INGREDIENTS]
Definition
recipebase.c:43
m_IngredientDestroy
bool m_IngredientDestroy[MAX_NUMBER_OF_INGREDIENTS]
Definition
recipebase.c:52
Games
Dayz
scripts
4_world
classes
recipes
recipes
cleanrags.c
Generated by
1.17.0