Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
cacontinuoustimecooking.c
Go to the documentation of this file.
1
class
CAContinuousTimeCooking
:
CAContinuousBase
2
{
3
const
float
TIME_DAMAGE_THRESHOLD
= 5.0;
4
5
protected
float
m_LocalTimeElpased
;
6
protected
float
m_TimeElapsed
;
7
protected
float
m_TimeElapsedRepeat
;
8
protected
float
m_TimeElapsedDamage
;
9
protected
ref Param1<float>
m_SpentUnits
;
10
11
protected
float
m_TimeToCook
;
12
protected
float
m_AdjustedTimeToCook
;
13
protected
Cooking
m_CookingProcess
;
14
protected
Edible_Base
m_ItemToCook
;
15
protected
float
m_CookingUpdateTime
;
16
protected
float
m_AdjustedCookingUpdateTime
;
17
18
protected
float
m_MinTempToCook
;
19
20
void
CAContinuousTimeCooking
(
float
cooking_update_time)
21
{
22
m_CookingUpdateTime
= cooking_update_time;
23
}
24
25
override
void
Setup
(
ActionData
action_data)
26
{
27
m_TimeElapsedRepeat
= 0;
28
m_TimeElapsedDamage
= 0;
29
30
if
(!
m_SpentUnits
)
31
{
32
m_SpentUnits
=
new
Param1<float>(0);
33
}
34
else
35
{
36
m_SpentUnits
.param1 = 0;
37
}
38
39
//fireplace & cooking process
40
FireplaceBase
fireplace =
FireplaceBase
.Cast(action_data.m_Target.GetObject());
41
m_CookingProcess
= fireplace.GetCookingProcess();
42
m_ItemToCook
=
m_CookingProcess
.GetFoodOnStick(action_data.m_MainItem);
43
m_TimeToCook
=
m_CookingProcess
.GetTimeToCook(
m_ItemToCook
,
CookingMethodType
.BAKING);
44
m_MinTempToCook
=
m_CookingProcess
.GetMinTempToCook(
m_ItemToCook
,
CookingMethodType
.BAKING);
45
46
//update elapsed time
47
m_TimeElapsed
=
m_ItemToCook
.GetFoodStage().GetCookingTime();
48
49
m_AdjustedCookingUpdateTime
=
m_CookingUpdateTime
;
50
m_AdjustedTimeToCook
=
m_TimeToCook
;
51
}
52
53
override
int
Execute
(
ActionData
action_data)
54
{
55
if
( !action_data.m_Player )
56
{
57
return
UA_ERROR
;
58
}
59
60
int
cooking_state_update = 0;
61
float
cooking_time =
m_ItemToCook
.GetFoodStage().GetCookingTime();
62
if
(
m_AdjustedTimeToCook
> cooking_time)
63
{
64
m_TimeElapsed
+= action_data.m_Player.GetDeltaT();
65
m_TimeElapsedRepeat
+= action_data.m_Player.GetDeltaT();
66
67
if
(
m_ItemToCook
.GetTemperature() <
m_MinTempToCook
)
68
m_AdjustedTimeToCook
+= action_data.m_Player.GetDeltaT();
69
70
if
(
m_TimeElapsedRepeat
>=
m_AdjustedCookingUpdateTime
)
71
{
72
cooking_state_update =
m_CookingProcess
.CookOnStick(
m_ItemToCook
,
m_CookingUpdateTime
);
73
74
if
(
g_Game
.IsServer() &&
m_ItemToCook
.GetTemperature() >=
m_MinTempToCook
)
75
{
76
m_TimeElapsedDamage
+=
m_TimeElapsedRepeat
;
77
78
if
(
m_TimeElapsedDamage
>=
TIME_DAMAGE_THRESHOLD
)
79
{
80
m_TimeElapsedDamage
= 0;
81
action_data.m_MainItem.DecreaseHealth(
GameConstants
.
FIRE_ATTACHMENT_DAMAGE_PER_SECOND
*
TIME_DAMAGE_THRESHOLD
,
false
);
82
}
83
}
84
85
if
(cooking_state_update == 1)
86
{
87
Setup
(action_data);
88
89
if
(!
g_Game
.IsServer())
90
{
91
if
(
m_ItemToCook
.IsMeat() &&
m_ItemToCook
.GetFoodStage().GetFoodStageType() ==
FoodStageType
.BAKED)
92
{
93
g_Game
.GetAnalyticsClient().OnActionCookedSteak();
94
}
95
}
96
}
97
98
m_TimeElapsedRepeat
= 0;
99
}
100
101
return
UA_PROCESSING
;
102
}
103
else
104
{
105
if
(
m_SpentUnits
)
106
{
107
m_SpentUnits
.param1 =
m_TimeElapsed
;
108
SetACData
(
m_SpentUnits
);
109
}
110
OnCompletePogress
(action_data);
111
return
UA_FINISHED
;
112
}
113
}
114
115
override
float
GetProgress
()
116
{
117
if
(
m_AdjustedTimeToCook
!= 0)
118
{
119
return
m_TimeElapsed
/
m_AdjustedTimeToCook
;
120
}
121
122
return
1;
123
}
124
};
ActionData
ActionBase ActionData
Definition
actionbase.c:30
CABase::SetACData
void SetACData(Param units)
Definition
cabase.c:40
CAContinuousBase
Definition
cacontinuousbase.c:2
CAContinuousBase::OnCompletePogress
void OnCompletePogress(ActionData action_data)
Definition
cacontinuousbase.c:8
CAContinuousTimeCooking::m_MinTempToCook
float m_MinTempToCook
Definition
cacontinuoustimecooking.c:18
CAContinuousTimeCooking::m_TimeToCook
float m_TimeToCook
Definition
cacontinuoustimecooking.c:11
CAContinuousTimeCooking::TIME_DAMAGE_THRESHOLD
const float TIME_DAMAGE_THRESHOLD
Definition
cacontinuoustimecooking.c:3
CAContinuousTimeCooking::m_TimeElapsedRepeat
float m_TimeElapsedRepeat
Definition
cacontinuoustimecooking.c:7
CAContinuousTimeCooking::m_ItemToCook
Edible_Base m_ItemToCook
Definition
cacontinuoustimecooking.c:14
CAContinuousTimeCooking::m_LocalTimeElpased
float m_LocalTimeElpased
Definition
cacontinuoustimecooking.c:5
CAContinuousTimeCooking::m_AdjustedCookingUpdateTime
float m_AdjustedCookingUpdateTime
Definition
cacontinuoustimecooking.c:16
CAContinuousTimeCooking::Execute
override int Execute(ActionData action_data)
Definition
cacontinuoustimecooking.c:53
CAContinuousTimeCooking::CAContinuousTimeCooking
void CAContinuousTimeCooking(float cooking_update_time)
Definition
cacontinuoustimecooking.c:20
CAContinuousTimeCooking::GetProgress
override float GetProgress()
Definition
cacontinuoustimecooking.c:115
CAContinuousTimeCooking::m_TimeElapsed
float m_TimeElapsed
Definition
cacontinuoustimecooking.c:6
CAContinuousTimeCooking::m_TimeElapsedDamage
float m_TimeElapsedDamage
Definition
cacontinuoustimecooking.c:8
CAContinuousTimeCooking::m_CookingProcess
Cooking m_CookingProcess
Definition
cacontinuoustimecooking.c:13
CAContinuousTimeCooking::m_AdjustedTimeToCook
float m_AdjustedTimeToCook
Definition
cacontinuoustimecooking.c:12
CAContinuousTimeCooking::m_SpentUnits
ref Param1< float > m_SpentUnits
Definition
cacontinuoustimecooking.c:9
CAContinuousTimeCooking::m_CookingUpdateTime
float m_CookingUpdateTime
Definition
cacontinuoustimecooking.c:15
CAContinuousTimeCooking::Setup
override void Setup(ActionData action_data)
Definition
cacontinuoustimecooking.c:25
Edible_Base
Definition
edible_base.c:2
FireplaceBase
Definition
barrelholes_colorbase.c:2
GameConstants
Definition
constants.c:664
CookingMethodType
CookingMethodType
Definition
cooking.c:2
g_Game
DayZGame g_Game
Definition
dayzgame.c:3942
FoodStageType
FoodStageType
Definition
foodstage.c:2
GameConstants::FIRE_ATTACHMENT_DAMAGE_PER_SECOND
const float FIRE_ATTACHMENT_DAMAGE_PER_SECOND
various damage per second constants
Definition
constants.c:804
Setup
class Test Setup
Stage definition used in conjunction with Step attribute.
UA_FINISHED
const int UA_FINISHED
Definition
constants.c:469
UA_ERROR
const int UA_ERROR
Definition
constants.c:488
UA_PROCESSING
const int UA_PROCESSING
Definition
constants.c:467
Games
Dayz
scripts
4_world
classes
useractionscomponent
actioncomponents
cacontinuoustimecooking.c
Generated by
1.17.0