Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
actionemptybottlebase.c
Go to the documentation of this file.
1
class
ActionEmptyBottleBaseCB
:
ActionContinuousBaseCB
2
{
3
bool
m_RPCStopAlreadySent
;
//since stopping contains a sound tail, we need to stop it only once, this bool ensures that
4
override
void
CreateActionComponent
()
5
{
6
float
EmptiedQuantity;
7
Bottle_Base
bottle =
Bottle_Base
.Cast(
m_ActionData
.m_MainItem);
8
if
(bottle)
9
EmptiedQuantity = bottle.GetLiquidEmptyRate() * bottle.GetLiquidThroughputCoef();
10
m_ActionData
.m_ActionComponent =
new
CAContinuousEmpty
(EmptiedQuantity);
11
}
12
13
override
void
EndActionComponent
()
14
{
15
ActionContinuousBase
action =
ActionContinuousBase
.Cast(
m_ActionData
.m_Action);
16
if
(action.
UseAlternativeInterrupt
(
m_ActionData
))
17
SetCommand
(
DayZPlayerConstants
.CMD_ACTIONINT_FINISH);
18
else
19
SetCommand
(
DayZPlayerConstants
.CMD_ACTIONINT_END);
20
}
21
};
22
23
class
ActionEmptyBottleBase
:
ActionContinuousBase
24
{
25
void
ActionEmptyBottleBase
()
26
{
27
m_CommandUID
=
DayZPlayerConstants
.CMD_ACTIONMOD_EMPTY_VESSEL;
28
m_SpecialtyWeight
= UASoftSkillsWeight.PRECISE_LOW;
29
30
m_CallbackClass
=
ActionEmptyBottleBaseCB
;
31
m_FullBody
=
false
;
32
m_StanceMask
=
DayZPlayerConstants
.STANCEMASK_ERECT |
DayZPlayerConstants
.STANCEMASK_CROUCH;
33
m_Text
=
"#empty"
;
34
}
35
36
override
void
CreateConditionComponents
()
37
{
38
m_ConditionItem
=
new
CCINonRuined
;
39
m_ConditionTarget
=
new
CCTNone
;
40
}
41
42
override
bool
HasTarget
()
43
{
44
return
false
;
45
}
46
47
override
bool
HasAlternativeInterrupt
()
48
{
49
return
true
;
50
}
51
52
override
bool
UseAlternativeInterrupt
(
ActionData
action_data)
53
{
54
return
HasAlternativeInterrupt
() && (action_data.m_ActionComponent.GetProgress() >= 1);
55
}
56
57
override
bool
ActionCondition
(
PlayerBase
player,
ActionTarget
target,
ItemBase
item )
58
{
59
if
(
g_Game
.IsServer() &&
g_Game
.IsMultiplayer() )
60
return
true
;
61
62
return
item.IsLiquidPresent() && item.GetQuantity() > item.GetQuantityMin() && !item.GetIsFrozen();
63
}
64
65
override
bool
ActionConditionContinue
(
ActionData
action_data )
66
{
67
return
true
;
68
}
69
70
override
void
OnStartAnimationLoop
(
ActionData
action_data )
71
{
72
SendRPC
(action_data,
true
);
73
}
74
75
override
void
OnEndAnimationLoop
(
ActionData
action_data )
76
{
77
SendRPC
(action_data,
false
);
78
}
79
80
override
void
OnEndServer
(
ActionData
action_data )
81
{
82
SendRPC
(action_data,
false
);
83
84
super.OnEndServer(action_data);
85
}
86
87
protected
void
SendRPC
(
ActionData
actionData,
bool
enable)
88
{
89
if
( !
g_Game
.IsMultiplayer() ||
g_Game
.IsServer() )
90
{
91
ActionEmptyBottleBaseCB
comp =
ActionEmptyBottleBaseCB
.Cast(actionData.m_Callback);
92
if
(comp.
m_RPCStopAlreadySent
)
93
return
;
94
95
Bottle_Base
target_vessel =
Bottle_Base
.Cast( actionData.m_MainItem );
96
Param1<bool> play =
new
Param1<bool>( enable );
97
g_Game
.RPCSingleParam( target_vessel,
SoundTypeBottle
.EMPTYING, play,
true
);
98
if
(!enable)
99
comp.
m_RPCStopAlreadySent
=
true
;
100
}
101
}
102
};
ActionData
ActionBase ActionData
Definition
actionbase.c:30
ActionTarget
class ActionTargets ActionTarget
SoundTypeBottle
SoundTypeBottle
Definition
bottle_base.c:2
ActionBaseCB::SetCommand
void SetCommand(int command_uid)
Definition
animatedactionbase.c:54
ActionBaseCB::m_ActionData
ActionData m_ActionData
Definition
animatedactionbase.c:3
ActionBase::m_FullBody
bool m_FullBody
Definition
actionbase.c:67
ActionBase::m_Text
string m_Text
Definition
actionbase.c:64
ActionBase::m_ConditionItem
ref CCIBase m_ConditionItem
Definition
actionbase.c:70
ActionBase::m_SpecialtyWeight
float m_SpecialtyWeight
Definition
actionbase.c:83
ActionBase::m_ConditionTarget
ref CCTBase m_ConditionTarget
Definition
actionbase.c:71
ActionBase::m_StanceMask
int m_StanceMask
Definition
actionbase.c:68
ActionContinuousBaseCB
Definition
actioncontinuousbase.c:2
ActionContinuousBase
Definition
actioncontinuousbase.c:121
ActionContinuousBase::UseAlternativeInterrupt
bool UseAlternativeInterrupt(ActionData action_data)
Definition
actioncontinuousbase.c:152
ActionContinuousBase::ActionContinuousBase
void ActionContinuousBase()
Definition
actioncontinuousbase.c:124
ActionEmptyBottleBaseCB
Definition
actionemptybottlebase.c:2
ActionEmptyBottleBaseCB::m_RPCStopAlreadySent
bool m_RPCStopAlreadySent
Definition
actionemptybottlebase.c:3
ActionEmptyBottleBaseCB::CreateActionComponent
override void CreateActionComponent()
Definition
actionemptybottlebase.c:4
ActionEmptyBottleBaseCB::EndActionComponent
override void EndActionComponent()
Definition
actionemptybottlebase.c:13
ActionEmptyBottleBase::ActionConditionContinue
override bool ActionConditionContinue(ActionData action_data)
Definition
actionemptybottlebase.c:65
ActionEmptyBottleBase::OnEndServer
override void OnEndServer(ActionData action_data)
Definition
actionemptybottlebase.c:80
ActionEmptyBottleBase::ActionEmptyBottleBase
void ActionEmptyBottleBase()
Definition
actionemptybottlebase.c:25
ActionEmptyBottleBase::OnStartAnimationLoop
override void OnStartAnimationLoop(ActionData action_data)
Definition
actionemptybottlebase.c:70
ActionEmptyBottleBase::SendRPC
void SendRPC(ActionData actionData, bool enable)
Definition
actionemptybottlebase.c:87
ActionEmptyBottleBase::CreateConditionComponents
override void CreateConditionComponents()
Definition
actionemptybottlebase.c:36
ActionEmptyBottleBase::HasAlternativeInterrupt
override bool HasAlternativeInterrupt()
Definition
actionemptybottlebase.c:47
ActionEmptyBottleBase::OnEndAnimationLoop
override void OnEndAnimationLoop(ActionData action_data)
Definition
actionemptybottlebase.c:75
ActionEmptyBottleBase::ActionCondition
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Definition
actionemptybottlebase.c:57
ActionEmptyBottleBase::HasTarget
override bool HasTarget()
Definition
actionemptybottlebase.c:42
ActionEmptyBottleBase::UseAlternativeInterrupt
override bool UseAlternativeInterrupt(ActionData action_data)
Definition
actionemptybottlebase.c:52
AnimatedActionBase::m_CommandUID
int m_CommandUID
Definition
animatedactionbase.c:143
AnimatedActionBase::m_CallbackClass
m_CallbackClass
Definition
animatedactionbase.c:145
Bottle_Base
Definition
canteen.c:2
CAContinuousEmpty
Definition
cacontinuousempty.c:2
CCINonRuined
Definition
ccinonruined.c:2
CCTNone
Definition
cctnone.c:2
ItemBase
Definition
inventoryitem.c:742
PlayerBase
Definition
playerbaseclient.c:2
g_Game
DayZGame g_Game
Definition
dayzgame.c:3942
DayZPlayerConstants
DayZPlayerConstants
defined in C++
Definition
dayzplayer.c:602
SendRPC
void SendRPC()
Definition
displaystatus.c:171
Games
Dayz
scripts
4_world
classes
useractionscomponent
actions
continuous
actionemptybottlebase.c
Generated by
1.17.0