Dayz Explorer
1.28.160049
Loading...
Searching...
No Matches
cacontinuousquantityedible.c
Go to the documentation of this file.
1
class
CAContinuousQuantityEdible
:
CAContinuousQuantityRepeat
2
{
3
protected
float
m_InitItemQuantity
;
4
protected
float
m_SpentQuantityTotal
;
5
protected
float
m_QuantityUsedPerSecondStart
;
6
7
void
CAContinuousQuantityEdible
(
float
quantity_used_per_second,
float
time_to_repeat)
8
{
9
m_QuantityUsedPerSecondStart
= quantity_used_per_second;
10
11
m_DefaultTimeToRepeat
= time_to_repeat;
12
m_InitItemQuantity
= -1;
13
m_SpentQuantityTotal
= 0;
14
}
15
16
override
void
Setup
(ActionData action_data)
17
{
18
super.Setup(action_data);
19
20
if
(
m_InitItemQuantity
< 0)
21
m_InitItemQuantity
= action_data.m_MainItem.GetQuantity();
22
23
m_QuantityUsedPerSecond
=
m_QuantityUsedPerSecondStart
;
24
//qty adjustments based on item properties:
25
if
(action_data.m_MainItem.GetTemperature() >
PlayerConstants
.CONSUMPTION_DAMAGE_TEMP_THRESHOLD)
26
m_QuantityUsedPerSecond
=
m_QuantityUsedPerSecondStart
/
UAMisc
.CONSUMPTION_SLOWDOWN_COEF_HOT;
27
}
28
29
override
void
CalcAndSetQuantity
(ActionData action_data)
30
{
31
if
(
m_SpentUnits
)
32
{
33
m_SpentUnits
.param1 =
m_SpentQuantity
;
34
SetACData
(
m_SpentUnits
);
35
36
m_SpentQuantityTotal
+=
m_SpentQuantity
;
37
}
38
39
PlayerConsumeData
consumeData =
new
PlayerConsumeData
();
40
consumeData.m_Type =
EConsumeType
.ITEM_CONTINUOUS;
41
consumeData.m_Amount =
m_SpentQuantity
;
42
consumeData.m_Source = action_data.m_MainItem;
43
44
consumeData.m_Agents = 0;
45
Edible_Base
edibleItem;
46
if
(
Edible_Base
.CastTo(edibleItem, action_data.m_MainItem))
47
{
48
if
(edibleItem.
GetConsumptionPenaltyContext
() & (
EConsumptionPenaltyContext
.DRINK|
EConsumptionPenaltyContext
.EAT) !=
EConsumptionPenaltyContext
.NONE)
49
consumeData.m_Agents = action_data.m_Player.GetBloodyHandsPenaltyAgents();
50
}
51
52
if
(
GetGame
().IsServer())
53
{
54
PlayerBase
ntarget =
PlayerBase
.Cast(action_data.m_Target.GetObject());
55
if
(ntarget)
56
ntarget.Consume(consumeData);
57
else
58
action_data.m_Player.Consume(consumeData);
59
}
60
}
61
62
override
float
GetProgress
()
63
{
64
if
(
m_SpentQuantity
> 0)
65
return
Math
.Clamp((1 - (
m_InitItemQuantity
-
m_SpentQuantity
-
m_SpentQuantityTotal
) /
m_InitItemQuantity
), 0, 1);
66
else
67
return
Math
.Clamp((1 - (
m_InitItemQuantity
-
m_SpentQuantityTotal
) /
m_InitItemQuantity
), 0, 1);
68
}
69
}
CABase::SetACData
void SetACData(Param units)
Definition
cabase.c:40
CAContinuousQuantityEdible
Definition
cacontinuousquantityedible.c:2
CAContinuousQuantityEdible::CAContinuousQuantityEdible
void CAContinuousQuantityEdible(float quantity_used_per_second, float time_to_repeat)
Definition
cacontinuousquantityedible.c:7
CAContinuousQuantityEdible::m_SpentQuantityTotal
float m_SpentQuantityTotal
Definition
cacontinuousquantityedible.c:4
CAContinuousQuantityEdible::Setup
override void Setup(ActionData action_data)
Definition
cacontinuousquantityedible.c:16
CAContinuousQuantityEdible::CalcAndSetQuantity
override void CalcAndSetQuantity(ActionData action_data)
Definition
cacontinuousquantityedible.c:29
CAContinuousQuantityEdible::GetProgress
override float GetProgress()
Definition
cacontinuousquantityedible.c:62
CAContinuousQuantityEdible::m_InitItemQuantity
float m_InitItemQuantity
Definition
cacontinuousquantityedible.c:3
CAContinuousQuantityEdible::m_QuantityUsedPerSecondStart
float m_QuantityUsedPerSecondStart
Definition
cacontinuousquantityedible.c:5
CAContinuousQuantityRepeat
Definition
cacontinuousquantityrepeat.c:2
CAContinuousQuantityRepeat::m_SpentQuantity
float m_SpentQuantity
Definition
cacontinuousquantityrepeat.c:4
CAContinuousQuantityRepeat::m_SpentUnits
ref Param1< float > m_SpentUnits
Definition
cacontinuousquantityrepeat.c:10
CAContinuousQuantityRepeat::m_DefaultTimeToRepeat
float m_DefaultTimeToRepeat
Definition
cacontinuousquantityrepeat.c:9
CAContinuousQuantityRepeat::m_QuantityUsedPerSecond
float m_QuantityUsedPerSecond
Definition
cacontinuousquantityrepeat.c:7
Edible_Base
Definition
edible_base.c:2
Edible_Base::GetConsumptionPenaltyContext
int GetConsumptionPenaltyContext()
Definition
edible_base.c:692
Math
Definition
enmath.c:7
PlayerBase
Definition
playerbaseclient.c:2
PlayerConstants
Definition
playerconstants.c:2
PlayerConsumeData
Definition
playerconsumedata.c:2
UAMisc
Definition
actionconstants.c:173
EConsumeType
EConsumeType
Definition
econsumetype.c:2
EConsumptionPenaltyContext
EConsumptionPenaltyContext
Definition
econsumptionpenaltycontext.c:2
GetGame
proto native CGame GetGame()
Daten
4_world
classes
useractionscomponent
actioncomponents
cacontinuousquantityedible.c
Generated by
1.12.0