Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
cacontinuouswaterplant.c
Go to the documentation of this file.
1
class
CAContinuousWaterPlant
:
CAContinuousQuantity
2
{
3
protected
float
m_PlantThirstyness
;
4
protected
float
m_TimeToComplete
;
5
6
void
CAContinuousWaterPlant
(
float
quantity_used_per_second )
7
{
8
m_QuantityUsedPerSecond
= quantity_used_per_second;
9
}
10
11
override
void
Setup
(
ActionData
action_data )
12
{
13
PlantBase
target_PB;
14
if
(
Class
.
CastTo
(target_PB, action_data.m_Target.GetObject()))
15
{
16
m_SpentQuantity
= 0;
17
if
( !
m_SpentUnits
)
18
{
19
m_SpentUnits
=
new
Param1<float>(0);
20
}
21
else
22
{
23
m_SpentUnits
.param1 = 0;
24
}
25
if
( action_data.m_MainItem )
26
{
27
m_ItemQuantity
= action_data.m_MainItem.GetQuantity();
28
}
29
if
( target_PB )
30
{
31
m_PlantThirstyness
= target_PB.GetWaterMax() - target_PB.GetWater();
32
}
33
34
m_TimeToComplete
= (
Math
.
Min
(
m_PlantThirstyness
,
m_ItemQuantity
))/
m_QuantityUsedPerSecond
;
35
}
36
}
37
38
override
int
Execute
(
ActionData
action_data )
39
{
40
if
( !action_data.m_Player )
41
{
42
return
UA_ERROR
;
43
}
44
45
if
(
m_ItemQuantity
<= 0 )
46
{
47
return
UA_FINISHED
;
48
}
49
else
50
{
51
if
(
m_SpentQuantity
<
m_ItemQuantity
&&
m_SpentQuantity
<
m_PlantThirstyness
)
52
{
53
m_AdjustedQuantityUsedPerSecond
=
m_QuantityUsedPerSecond
;
//removed softskills
54
m_SpentQuantity
+=
m_QuantityUsedPerSecond
* action_data.m_Player.GetDeltaT();
55
56
if
(
m_Action
)
57
{
58
PlantBase
plant;
59
Class
.
CastTo
(plant, action_data.m_Target.GetObject() );
60
Slot slot = plant.GetSlot();
61
slot.GiveWater(
m_SpentQuantity
);
62
}
63
return
UA_PROCESSING
;
64
}
65
else
66
{
67
CalcAndSetQuantity
( action_data );
68
OnCompletePogress
(action_data);
69
return
UA_FINISHED
;
70
}
71
}
72
}
73
74
override
float
GetProgress
()
75
{
76
//float progress = (m_SpentQuantity*m_QuantityUsedPerSecond)/m_TimeToComplete;
77
return
(
m_SpentQuantity
*
m_QuantityUsedPerSecond
)/
m_TimeToComplete
;
78
}
79
};
ActionData
ActionBase ActionData
Definition
actionbase.c:30
CABase::m_Action
ActionBase m_Action
Definition
cabase.c:3
CAContinuousBase::OnCompletePogress
void OnCompletePogress(ActionData action_data)
Definition
cacontinuousbase.c:8
CAContinuousQuantity::m_QuantityUsedPerSecond
float m_QuantityUsedPerSecond
Definition
cacontinuousquantity.c:6
CAContinuousQuantity::m_AdjustedQuantityUsedPerSecond
float m_AdjustedQuantityUsedPerSecond
Definition
cacontinuousquantity.c:7
CAContinuousQuantity::m_SpentQuantity
float m_SpentQuantity
Definition
cacontinuousquantity.c:4
CAContinuousQuantity::m_ItemQuantity
float m_ItemQuantity
Definition
cacontinuousquantity.c:3
CAContinuousQuantity::m_SpentUnits
ref Param1< float > m_SpentUnits
Definition
cacontinuousquantity.c:8
CAContinuousQuantity::CAContinuousQuantity
void CAContinuousQuantity(float quantity_used_per_second)
Definition
cacontinuousquantity.c:10
CAContinuousWaterPlant::CAContinuousWaterPlant
void CAContinuousWaterPlant(float quantity_used_per_second)
Definition
cacontinuouswaterplant.c:6
CAContinuousWaterPlant::Execute
override int Execute(ActionData action_data)
Definition
cacontinuouswaterplant.c:38
CAContinuousWaterPlant::m_TimeToComplete
float m_TimeToComplete
Definition
cacontinuouswaterplant.c:4
CAContinuousWaterPlant::GetProgress
override float GetProgress()
Definition
cacontinuouswaterplant.c:74
CAContinuousWaterPlant::m_PlantThirstyness
float m_PlantThirstyness
Definition
cacontinuouswaterplant.c:3
CAContinuousWaterPlant::Setup
override void Setup(ActionData action_data)
Definition
cacontinuouswaterplant.c:11
Class
Super root of all classes in Enforce script.
Definition
enscript.c:11
Math
Definition
enmath.c:7
CalcAndSetQuantity
void CalcAndSetQuantity()
Definition
fireplacebase.c:2659
Class::CastTo
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
Math::Min
static proto float Min(float x, float y)
Returns smaller of two given values.
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
PlantBase
void PlantBase()
Definition
plantbase.c:54
Games
Dayz
scripts
4_world
classes
useractionscomponent
actioncomponents
cacontinuouswaterplant.c
Generated by
1.17.0