Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
cacontinuousdisinfectplant.c
Go to the documentation of this file.
1
class
CAContinuousDisinfectPlant
:
CAContinuousQuantity
2
{
3
protected
float
m_PlantNeededSpraying
;
4
protected
float
m_TimeToComplete
;
5
protected
float
m_SpentQuantityTotal
;
6
protected
float
m_StartQuantity
;
7
protected
PlantBase
m_Plant
;
8
9
void
CAContinuousDisinfectPlant
(
float
quantity_used_per_second )
10
{
11
m_QuantityUsedPerSecond
= quantity_used_per_second;
12
}
13
14
override
void
Setup
(
ActionData
action_data )
15
{
16
GardenBase
garden_base;
17
ActionTarget
target = action_data.m_Target;
18
if
(
Class
.
CastTo
(garden_base, target.GetObject()))
19
{
20
Slot slot;
21
22
array<string>
selections =
new
array<string>
;
23
garden_base.GetActionComponentNameList(target.GetComponentIndex(), selections);
24
string
selection;
25
26
for
(
int
s = 0; s < selections.Count(); s++)
27
{
28
selection = selections[s];
29
slot = garden_base.GetSlotBySelection( selection );
30
if
(slot)
31
break
;
32
}
33
34
if
( slot && slot.GetPlant() )
35
{
36
m_Plant
=
PlantBase
.Cast(slot.GetPlant());
37
if
(
m_Plant
)
38
{
39
m_SpentQuantity
= 0;
40
m_StartQuantity
= action_data.m_MainItem.GetQuantity();
41
if
( !
m_SpentUnits
)
42
{
43
m_SpentUnits
=
new
Param1<float>(0);
44
}
45
else
46
{
47
m_SpentUnits
.param1 = 0;
48
}
49
if
( action_data.m_MainItem )
50
{
51
m_ItemQuantity
= action_data.m_MainItem.GetQuantity();
52
}
53
if
(
m_Plant
)
54
{
55
m_PlantNeededSpraying
=
m_Plant
.GetSprayUsage() -
m_Plant
.GetSprayQuantity();
56
}
57
58
m_TimeToComplete
= (
Math
.
Min
(
m_PlantNeededSpraying
,
m_ItemQuantity
))/
m_QuantityUsedPerSecond
;
59
}
60
}
61
}
62
63
/*PlantBase target_PB;
64
if (Class.CastTo(target_PB, action_data.m_Target.GetObject()))
65
{
66
m_SpentQuantity = 0;
67
m_StartQuantity = action_data.m_MainItem.GetQuantity();
68
if ( !m_SpentUnits )
69
{
70
m_SpentUnits = new Param1<float>(0);
71
}
72
else
73
{
74
m_SpentUnits.param1 = 0;
75
}
76
if ( action_data.m_MainItem )
77
{
78
m_ItemQuantity = action_data.m_MainItem.GetQuantity();
79
}
80
if ( target_PB )
81
{
82
m_PlantNeededSpraying = target_PB.GetSprayUsage() - target_PB.GetSprayQuantity();
83
}
84
85
m_TimeToComplete = (Math.Min(m_PlantNeededSpraying,m_ItemQuantity))/m_QuantityUsedPerSecond;
86
}*/
87
}
88
89
override
int
Execute
(
ActionData
action_data )
90
{
91
Object
targetObject = action_data.m_Target.GetObject();
92
93
if
( !action_data.m_Player )
94
{
95
return
UA_ERROR
;
96
}
97
98
if
(
m_ItemQuantity
<= 0 )
99
{
100
return
UA_FINISHED
;
101
}
102
else
103
{
104
if
(
m_SpentQuantity
<
m_ItemQuantity
&&
m_SpentQuantity
<
m_PlantNeededSpraying
)
105
{
106
m_SpentQuantity
+=
m_QuantityUsedPerSecond
* action_data.m_Player.GetDeltaT();
107
m_SpentQuantityTotal
+=
m_SpentQuantity
;
108
109
if
(
m_Action
)
110
{
111
/*PlantBase plant;
112
Class.CastTo(plant, targetObject );*/
113
m_Plant
.SprayPlant(
m_SpentQuantity
);
114
//m_Action.SendMessageToClient(action_data.m_Player, plant.StopInfestation( transfered_spray ));
115
}
116
117
CalcAndSetQuantity
( action_data );
118
119
return
UA_PROCESSING
;
120
}
121
else
122
{
123
CalcAndSetQuantity
( action_data );
124
OnCompletePogress
(action_data);
125
return
UA_FINISHED
;
126
}
127
}
128
}
129
130
override
float
GetProgress
()
131
{
132
//return (m_SpentQuantity*m_QuantityUsedPerSecond)/m_TimeToComplete;
133
return
-(
m_SpentQuantityTotal
/
m_StartQuantity
);
134
}
135
};
ActionData
ActionBase ActionData
Definition
actionbase.c:30
ActionTarget
class ActionTargets ActionTarget
CABase::m_Action
ActionBase m_Action
Definition
cabase.c:3
CAContinuousBase::OnCompletePogress
void OnCompletePogress(ActionData action_data)
Definition
cacontinuousbase.c:8
CAContinuousDisinfectPlant::m_StartQuantity
float m_StartQuantity
Definition
cacontinuousdisinfectplant.c:6
CAContinuousDisinfectPlant::Execute
override int Execute(ActionData action_data)
Definition
cacontinuousdisinfectplant.c:89
CAContinuousDisinfectPlant::m_TimeToComplete
float m_TimeToComplete
Definition
cacontinuousdisinfectplant.c:4
CAContinuousDisinfectPlant::GetProgress
override float GetProgress()
Definition
cacontinuousdisinfectplant.c:130
CAContinuousDisinfectPlant::m_Plant
PlantBase m_Plant
Definition
cacontinuousdisinfectplant.c:7
CAContinuousDisinfectPlant::CAContinuousDisinfectPlant
void CAContinuousDisinfectPlant(float quantity_used_per_second)
Definition
cacontinuousdisinfectplant.c:9
CAContinuousDisinfectPlant::m_SpentQuantityTotal
float m_SpentQuantityTotal
Definition
cacontinuousdisinfectplant.c:5
CAContinuousDisinfectPlant::m_PlantNeededSpraying
float m_PlantNeededSpraying
Definition
cacontinuousdisinfectplant.c:3
CAContinuousDisinfectPlant::Setup
override void Setup(ActionData action_data)
Definition
cacontinuousdisinfectplant.c:14
CAContinuousQuantity::m_QuantityUsedPerSecond
float m_QuantityUsedPerSecond
Definition
cacontinuousquantity.c:6
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
Class
Super root of all classes in Enforce script.
Definition
enscript.c:11
GardenBase
Definition
gardenplot.c:2
Math
Definition
enmath.c:7
Object
Definition
objecttyped.c:2
array
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Definition
isboxcollidinggeometryproxyclasses.c:28
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
cacontinuousdisinfectplant.c
Generated by
1.17.0