Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
cutoutseeds.c
Go to the documentation of this file.
1
class
CutOutSeeds
extends
RecipeBase
2
{
4
override
bool
CanDo
(
ItemBase
ingredients[],
PlayerBase
player)
5
{
6
return
!ingredients[0].GetIsFrozen();
7
}
8
9
override
void
Do
(
ItemBase
ingredients[],
PlayerBase
player,
array<ItemBase>
results,
float
specialty_weight)
//gets called upon recipe's completion
10
{
11
// Adjusts quantity of results to the quantity of the 1st ingredient
12
Edible_Base
item_ingredient =
Edible_Base
.Cast(ingredients[0]);
13
14
float
MaxQuantity = item_ingredient.GetQuantityMax();
15
float
CurrentQuantity = item_ingredient.GetQuantity();
16
float
qtPercentage = CurrentQuantity / MaxQuantity;
17
18
FoodStageType
stage = item_ingredient.
GetFoodStageType
();
19
20
float
seedMultiplier =
Math
.
RandomFloat
(0.5, 1);
21
22
//Set seeds amount proportional to ingredient quantity. No seeds if the is less that 30% of ingredient
23
if
(qtPercentage < 0.3)
24
seedMultiplier = 0;
25
else
26
seedMultiplier *= qtPercentage;
27
28
//Set seeds amount based on the stage of the ingredient
29
switch
(stage)
30
{
31
case
FoodStageType
.BURNED:
32
case
FoodStageType
.BOILED:
33
case
FoodStageType
.BAKED:
34
seedMultiplier *= 0;
35
break
;
36
case
FoodStageType
.DRIED:
37
case
FoodStageType
.ROTTEN:
38
seedMultiplier *= 0.5;
39
break
;
40
case
FoodStageType
.RAW:
41
default
:
42
seedMultiplier *= 1;
43
break
;
44
}
45
46
ItemBase
result = results[0];
47
float
maxQuantity = result.GetQuantityMax();
48
float
resultQty =
m_ResultSetQuantity
[0]/ maxQuantity;
49
resultQty *= seedMultiplier * maxQuantity;
50
51
resultQty =
Math
.
Ceil
(resultQty);
52
53
result.
SetQuantity
(resultQty);
54
}
55
}
CutOutSeeds
Definition
cutoutpepperseeds.c:2
Edible_Base
Definition
edible_base.c:2
Edible_Base::GetFoodStageType
FoodStageType GetFoodStageType()
Definition
edible_base.c:531
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)
final check for recipe's validity
Definition
cutoutseeds.c:4
RecipeBase::Do
override void Do(ItemBase ingredients[], PlayerBase player, array< ItemBase > results, float specialty_weight)
Definition
cutoutseeds.c:9
array
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Definition
isboxcollidinggeometryproxyclasses.c:28
FoodStageType
FoodStageType
Definition
foodstage.c:2
Math::RandomFloat
static proto float RandomFloat(float min, float max)
Returns a random float number between and min[inclusive] and max[exclusive].
Math::Ceil
static proto float Ceil(float f)
Returns ceil of value.
m_ResultSetQuantity
float m_ResultSetQuantity[MAXIMUM_RESULTS]
Definition
recipebase.c:56
Games
Dayz
scripts
4_world
classes
recipes
recipes
cutoutseeds.c
Generated by
1.17.0