Dayz
Build 1.29.163047, Scripts Rev. 123548
Dayz Code Explorer by Zeroy
Toggle main menu visibility
Loading...
Searching...
No Matches
actioncollectbloodtarget.c
Go to the documentation of this file.
1
class
ActionCollectBloodTargetCB
:
ActionContinuousBaseCB
2
{
3
override
void
CreateActionComponent
()
4
{
5
m_ActionData
.m_ActionComponent =
new
CAContinuousTime
(
UATimeSpent
.
COLLECT_BLOOD
);
6
}
7
};
8
9
class
ActionCollectBloodTarget
:
ActionContinuousBase
10
{
11
void
ActionCollectBloodTarget
()
12
{
13
m_CallbackClass
=
ActionCollectBloodTargetCB
;
14
m_CommandUID
=
DayZPlayerConstants
.CMD_ACTIONFB_SALINEBLOODBAGTARGET;
15
m_FullBody
=
true
;
16
m_StanceMask
=
DayZPlayerConstants
.STANCEMASK_ERECT |
DayZPlayerConstants
.STANCEMASK_CROUCH;
17
m_SpecialtyWeight
= UASoftSkillsWeight.PRECISE_HIGH;
18
m_Text
=
"#collect_persons_blood"
;
19
}
20
21
override
void
CreateConditionComponents
()
22
{
23
m_ConditionItem
=
new
CCINonRuined
;
24
m_ConditionTarget
=
new
CCTMan
(
UAMaxDistances
.
DEFAULT
);
25
}
26
27
override
void
OnEndServer
(
ActionData
action_data )
28
{
29
super.OnEndServer(action_data);
30
31
PlayerBase
ntarget =
PlayerBase
.Cast( action_data.m_Target.GetObject() );
32
33
if
( !ntarget )
34
return
;
35
36
Param1<float> nacdata;
37
Class
.
CastTo
( nacdata, action_data.m_ActionComponent.GetACData() );
38
float
delta = 0;
39
if
( nacdata )
40
delta = ( nacdata.param1 /
UATimeSpent
.
COLLECT_BLOOD
);
41
42
if
( delta > 0 )
43
{
44
ActionCollectBloodTargetLambda
lambda =
new
ActionCollectBloodTargetLambda
(action_data.m_MainItem,
"BloodBagFull"
, action_data.m_Player,
m_SpecialtyWeight
, ntarget, delta);
45
action_data.m_Player.ServerReplaceItemInHandsWithNew(lambda);
46
}
47
}
48
};
49
50
class
ActionCollectBloodTargetLambda
:
ReplaceItemWithNewLambda
51
{
52
float
m_SpecialtyWeight
;
53
float
m_percentFilled
;
54
PlayerBase
m_Target
;
55
56
void
ActionCollectBloodTargetLambda
(
EntityAI
old_item,
string
new_item_type,
PlayerBase
player,
float
specialtyWeight,
PlayerBase
target,
float
delta) {
m_SpecialtyWeight
= specialtyWeight;
m_Target
= target;
m_percentFilled
= delta; }
57
58
override
void
CopyOldPropertiesToNew
(notnull
EntityAI
old_item,
EntityAI
new_item)
59
{
60
float
maxQuantity;
61
float
quantitySet;
62
super.CopyOldPropertiesToNew(old_item, new_item);
63
64
if
( new_item )
65
{
66
ItemBase
old_item_IB =
ItemBase
.Cast(old_item);
67
ItemBase
new_item_IB =
ItemBase
.Cast(new_item);
68
69
ItemBase
.Cast( old_item ).TransferModifiers(
m_Target
);
70
MiscGameplayFunctions.TransferItemProperties( old_item_IB, new_item_IB,
true
,
false
,
true
);
71
ItemBase
.Cast( new_item ).SetLiquidType(
m_Target
.GetStatBloodType().Get() );
72
73
maxQuantity =
ItemBase
.Cast( new_item ).GetQuantityMax();
74
quantitySet =
m_percentFilled
* maxQuantity;
75
ItemBase
.Cast( new_item ).
SetQuantity
( quantitySet );
76
m_Target
.AddHealth(
""
,
"Blood"
, -quantitySet );
77
78
if
(
m_Player
.HasBloodTypeVisible() )
79
BloodContainerBase
.Cast( new_item ).SetBloodTypeVisible(
true
);
80
PluginTransmissionAgents plugin = PluginTransmissionAgents.Cast(
GetPlugin
(PluginTransmissionAgents));
81
plugin.TransmitAgents(
m_Target
, new_item,
AGT_UACTION_TO_ITEM
);
82
}
83
else
84
{
85
Debug
.
LogError
(
"ActionCollectBloodTargetLambda: failed to create new item"
,
"static"
);
86
}
87
}
88
};
ActionData
ActionBase ActionData
Definition
actionbase.c:30
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
ActionCollectBloodTargetCB
Definition
actioncollectbloodtarget.c:2
ActionCollectBloodTargetCB::CreateActionComponent
override void CreateActionComponent()
Definition
actioncollectbloodtarget.c:3
ActionCollectBloodTarget::OnEndServer
override void OnEndServer(ActionData action_data)
Definition
actioncollectbloodtarget.c:27
ActionCollectBloodTarget::CreateConditionComponents
override void CreateConditionComponents()
Definition
actioncollectbloodtarget.c:21
ActionCollectBloodTarget::ActionCollectBloodTarget
void ActionCollectBloodTarget()
Definition
actioncollectbloodtarget.c:11
ActionCollectBloodTargetLambda
Definition
actioncollectbloodtarget.c:51
ActionCollectBloodTargetLambda::CopyOldPropertiesToNew
override void CopyOldPropertiesToNew(notnull EntityAI old_item, EntityAI new_item)
Definition
actioncollectbloodtarget.c:58
ActionCollectBloodTargetLambda::m_percentFilled
float m_percentFilled
Definition
actioncollectbloodtarget.c:53
ActionCollectBloodTargetLambda::ActionCollectBloodTargetLambda
void ActionCollectBloodTargetLambda(EntityAI old_item, string new_item_type, PlayerBase player, float specialtyWeight, PlayerBase target, float delta)
Definition
actioncollectbloodtarget.c:56
ActionCollectBloodTargetLambda::m_SpecialtyWeight
float m_SpecialtyWeight
Definition
actioncollectbloodtarget.c:52
ActionCollectBloodTargetLambda::m_Target
PlayerBase m_Target
Definition
actioncollectbloodtarget.c:54
ActionContinuousBaseCB
Definition
actioncontinuousbase.c:2
ActionContinuousBase::ActionContinuousBase
void ActionContinuousBase()
Definition
actioncontinuousbase.c:124
AnimatedActionBase::m_CommandUID
int m_CommandUID
Definition
animatedactionbase.c:143
AnimatedActionBase::m_CallbackClass
m_CallbackClass
Definition
animatedactionbase.c:145
BloodContainerBase
Definition
bloodbagempty.c:2
CAContinuousTime
Definition
cacontinuoustime.c:2
CCINonRuined
Definition
ccinonruined.c:2
CCTMan
Definition
cctman.c:2
Class
Super root of all classes in Enforce script.
Definition
enscript.c:11
Debug
Definition
debug.c:2
Debug::LogError
static void LogError(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
Prints debug message as error message.
Definition
debug.c:305
EntityAI
Definition
inventoryitem.c:2
ItemBase
Definition
inventoryitem.c:742
ItemBase::SetQuantity
override bool SetQuantity(float value, bool destroy_config=true, bool destroy_forced=false, bool allow_client=false, bool clamp_to_stack_max=true)
Definition
pileofwoodenplanks.c:88
PlayerBase
Definition
playerbaseclient.c:2
ReplaceItemWithNewLambda::m_Player
PlayerBase m_Player
Definition
replaceitemwithnewlambda.c:6
ReplaceItemWithNewLambda::ReplaceItemWithNewLambda
void ReplaceItemWithNewLambda(EntityAI old_item, string new_item_type, PlayerBase player)
Definition
replaceitemwithnewlambda.c:9
UAMaxDistances
Definition
actionconstants.c:110
UAMaxDistances::DEFAULT
const float DEFAULT
Definition
actionconstants.c:112
UATimeSpent
Definition
actionconstants.c:28
UATimeSpent::COLLECT_BLOOD
const float COLLECT_BLOOD
Definition
actionconstants.c:48
DayZPlayerConstants
DayZPlayerConstants
defined in C++
Definition
dayzplayer.c:602
AGT_UACTION_TO_ITEM
const int AGT_UACTION_TO_ITEM
Definition
constants.c:508
Class::CastTo
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
GetPlugin
PluginBase GetPlugin(typename plugin_type)
Definition
pluginmanager.c:325
Games
Dayz
scripts
4_world
classes
useractionscomponent
actions
continuous
medical
actioncollectbloodtarget.c
Generated by
1.17.0