Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
actiondrinkpondcontinuous.c
Go to the documentation of this file.
1
class
ActionDrinkPondContinuousCB
:
ActionContinuousBaseCB
2
{
3
override
void
CreateActionComponent
()
4
{
5
m_ActionData
.m_ActionComponent =
new
CAContinuousRepeat
(
UATimeSpent
.
DRINK_POND
);
6
}
7
}
8
9
class
ActionDrinkPondContinuous
:
ActionContinuousBase
10
{
11
private
const
float
WATER_DRANK_PER_SEC
= 35;
12
protected
const
string
ALLOWED_WATER_SURFACES
=
string
.Format(
"%1|%2"
,
UAWaterType
.
FRESH
,
UAWaterType
.
STILL
);
13
14
void
ActionDrinkPondContinuous
()
15
{
16
m_CallbackClass =
ActionDrinkPondContinuousCB
;
17
m_CommandUID
=
DayZPlayerConstants
.CMD_ACTIONFB_DRINKPOND;
18
m_FullBody =
true
;
19
m_StanceMask
=
DayZPlayerConstants
.STANCEMASK_CROUCH;
20
m_Text =
"#drink"
;
21
}
22
23
override
bool
IsDrink
()
24
{
25
return
true
;
26
}
27
28
override
typename
GetInputType
()
29
{
30
return
ContinuousInteractActionInput
;
31
}
32
33
override
bool
CanBeUsedInFreelook
()
34
{
35
return
false
;
36
}
37
38
override
void
CreateConditionComponents
()
39
{
40
m_ConditionItem =
new
CCINone
();
41
m_ConditionTarget =
new
CCTWaterSurfaceEx
(
UAMaxDistances
.
DEFAULT
,
LIQUID_GROUP_DRINKWATER
-
LIQUID_SNOW
-
LIQUID_HOTWATER
);
42
}
43
44
override
bool
ActionCondition
(
PlayerBase
player,
ActionTarget
target,
ItemBase
item)
45
{
46
if
(item && item.IsHeavyBehaviour())
47
return
false
;
48
49
return
player.CanEatAndDrink();
50
}
51
52
override
void
OnStart
(
ActionData
action_data)
53
{
54
super.OnStart(action_data);
55
56
action_data.m_Player.TryHideItemInHands(
true
);
57
}
58
59
override
void
OnEnd
(
ActionData
action_data)
60
{
61
action_data.m_Player.TryHideItemInHands(
false
);
62
}
63
64
override
void
OnFinishProgressServer
(
ActionData
action_data)
65
{
66
Param1<float> nacdata = Param1<float>.Cast(action_data.m_ActionComponent.GetACData());
67
if
(nacdata)
68
{
69
EConsumeType
consumeType;
70
int
liquidSource =
GetLiquidSource
(action_data.m_Target);
71
switch
(liquidSource)
72
{
73
case
LIQUID_CLEANWATER
:
74
consumeType =
EConsumeType
.ENVIRO_WELL;
75
break
;
76
77
default
:
78
consumeType =
EConsumeType
.ENVIRO_POND;
79
break
;
80
}
81
82
PlayerConsumeData
consumeData =
new
PlayerConsumeData
();
83
84
consumeData.
m_Type
= consumeType;
85
consumeData.
m_Amount
=
UAQuantityConsumed
.
DRINK
;
86
consumeData.
m_Source
= null;
87
consumeData.
m_Agents
= action_data.m_Player.GetBloodyHandsPenaltyAgents();
88
consumeData.
m_LiquidType
= liquidSource;
89
90
action_data.m_Player.Consume(consumeData);
91
}
92
}
93
94
override
void
WriteToContext
(
ParamsWriteContext
ctx,
ActionData
action_data)
95
{
96
super.WriteToContext(ctx, action_data);
97
98
if
(
HasTarget
())
99
{
100
ctx.
Write
(action_data.m_Target.GetCursorHitPos());
101
return
;
102
}
103
104
ctx.
Write
(
vector
.
Zero
);
105
}
106
107
override
bool
ReadFromContext
(
ParamsReadContext
ctx, out ActionReciveData action_recive_data)
108
{
109
super.ReadFromContext(ctx, action_recive_data);
110
111
if
(
HasTarget
())
112
{
113
vector
cursorPosition;
114
if
(!ctx.
Read
(cursorPosition))
115
return
false
;
116
117
action_recive_data.m_Target.SetCursorHitPos(cursorPosition);
118
}
119
120
return
true
;
121
}
122
123
protected
int
GetLiquidSource
(
ActionTarget
target)
124
{
125
vector
hitPosition = target.GetCursorHitPos();
126
string
surfaceType;
127
int
liquidSource;
128
129
g_Game
.SurfaceGetType3D(hitPosition[0], hitPosition[1], hitPosition[2], surfaceType);
130
string
path
=
"CfgSurfaces "
+ surfaceType +
" liquidType"
;
131
liquidSource =
g_Game
.ConfigGetInt(
path
);
132
133
return
liquidSource;
134
}
135
}
OnFinishProgressServer
override void OnFinishProgressServer(ActionData action_data)
Definition
actionactivatetrap.c:131
CreateConditionComponents
override void CreateConditionComponents()
Definition
actionactivatetrap.c:30
ActionCondition
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Definition
actionactivatetrap.c:46
m_CommandUID
int m_CommandUID
Definition
actionbase.c:31
m_StanceMask
int m_StanceMask
Definition
actionbase.c:33
ActionData
ActionBase ActionData
Definition
actionbase.c:30
CanBeUsedInFreelook
override bool CanBeUsedInFreelook()
Definition
actionbuildpart.c:260
GetLiquidSource
int GetLiquidSource(ActionTarget target)
Definition
actiondrinkpondcontinuous.c:123
ActionDrinkPondContinuous
void ActionDrinkPondContinuous()
Definition
actiondrinkpondcontinuous.c:14
WATER_DRANK_PER_SEC
ActionDrinkPondContinuousCB WATER_DRANK_PER_SEC
IsDrink
override bool IsDrink()
Definition
actiondrinkpondcontinuous.c:23
ALLOWED_WATER_SURFACES
const string ALLOWED_WATER_SURFACES
Definition
actiondrinkpondcontinuous.c:12
HasTarget
override bool HasTarget()
Definition
actioninput.c:473
GetInputType
override GetInputType()
Definition
actionsequentialbase.c:32
ActionTarget
class ActionTargets ActionTarget
CCTWaterSurfaceEx
void CCTWaterSurfaceEx(float maximal_target_distance, int allowedLiquidSource)
Definition
cctwatersurface.c:62
ActionBaseCB::m_ActionData
ActionData m_ActionData
Definition
animatedactionbase.c:3
ActionContinuousBaseCB
Definition
actioncontinuousbase.c:2
ActionContinuousBase
Definition
actioncontinuousbase.c:121
ActionDrinkPondContinuousCB
Definition
actiondrinkpondcontinuous.c:2
ActionDrinkPondContinuousCB::CreateActionComponent
override void CreateActionComponent()
Definition
actiondrinkpondcontinuous.c:3
CAContinuousRepeat
Definition
cacontinuousrepeat.c:2
CCINone
Definition
ccinone.c:2
ContinuousInteractActionInput
Definition
actioninput.c:523
ItemBase
Definition
inventoryitem.c:742
PlayerBase
Definition
playerbaseclient.c:2
PlayerConsumeData
Definition
playerconsumedata.c:2
PlayerConsumeData::m_LiquidType
int m_LiquidType
Definition
playerconsumedata.c:5
PlayerConsumeData::m_Type
EConsumeType m_Type
Definition
playerconsumedata.c:8
PlayerConsumeData::m_Amount
float m_Amount
Definition
playerconsumedata.c:3
PlayerConsumeData::m_Agents
int m_Agents
Definition
playerconsumedata.c:4
PlayerConsumeData::m_Source
ItemBase m_Source
Definition
playerconsumedata.c:7
Serializer::Write
proto bool Write(void value_out)
Serializer::Read
proto bool Read(void value_in)
UAMaxDistances
Definition
actionconstants.c:110
UAMaxDistances::DEFAULT
const float DEFAULT
Definition
actionconstants.c:112
UAQuantityConsumed
Definition
actionconstants.c:4
UAQuantityConsumed::DRINK
const float DRINK
Definition
actionconstants.c:14
UATimeSpent
Definition
actionconstants.c:28
UATimeSpent::DRINK_POND
const float DRINK_POND
Definition
actionconstants.c:74
UAWaterType
Definition
actionconstants.c:161
UAWaterType::STILL
const string STILL
Definition
actionconstants.c:164
UAWaterType::FRESH
const string FRESH
fake
Definition
actionconstants.c:163
vector
Definition
enconvert.c:119
vector::Zero
static const vector Zero
Definition
enconvert.c:123
g_Game
DayZGame g_Game
Definition
dayzgame.c:3942
DayZPlayerConstants
DayZPlayerConstants
defined in C++
Definition
dayzplayer.c:602
EConsumeType
EConsumeType
Definition
econsumetype.c:2
ParamsReadContext
Serializer ParamsReadContext
Definition
gameplay.c:15
ParamsWriteContext
Serializer ParamsWriteContext
Definition
gameplay.c:16
LIQUID_HOTWATER
const int LIQUID_HOTWATER
Definition
constants.c:556
LIQUID_GROUP_DRINKWATER
const int LIQUID_GROUP_DRINKWATER
Definition
constants.c:559
LIQUID_CLEANWATER
const int LIQUID_CLEANWATER
Definition
constants.c:557
LIQUID_SNOW
const int LIQUID_SNOW
Definition
constants.c:552
OnEnd
void OnEnd()
Definition
sound.c:226
ReadFromContext
void ReadFromContext(ParamsReadContext ctx)
Definition
hand_events.c:70
WriteToContext
void WriteToContext(ParamsWriteContext ctx)
Definition
hand_events.c:72
path
string path
Definition
optionselectormultistate.c:142
OnStart
void OnStart(Param par=null)
Definition
pperequestplatformsbase.c:787
Games
Dayz
scripts
4_world
classes
useractionscomponent
actions
continuous
actiondrinkpondcontinuous.c
Generated by
1.17.0