Dayz Explorer 1.28.160049
Loading...
Searching...
No Matches
actionsewtarget.c
Go to the documentation of this file.
2{
3 override void CreateActionComponent()
4 {
5 m_ActionData.m_ActionComponent = new CAContinuousRepeat(UATimeSpent.SEW_CUTS);
6 }
7}
8
10{
11 void ActionSewTarget()
12 {
13 m_CallbackClass = ActionSewTargetCB;
14 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_INTERACT;
15 m_FullBody = true;
16 m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT | DayZPlayerConstants.STANCEMASK_CROUCH;
17
18 m_Text = "#sew_targets_cuts";
19 }
20
22 {
23 m_ConditionItem = new CCINonRuined();
24 m_ConditionTarget = new CCTMan(UAMaxDistances.DEFAULT);
25 }
26
27 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
28 {
29 if (!super.ActionCondition(player, target, item))
30 return false;
31
32 PlayerBase otherPlayer = PlayerBase.Cast(target.GetObject());
33 return otherPlayer.IsBleeding();
34 }
35
36 override void OnFinishProgressServer(ActionData action_data)
37 {
38 if (CanReceiveAction(action_data.m_Target))
39 {
40 PlayerBase player = PlayerBase.Cast(action_data.m_Target.GetObject());
41 if (action_data.m_MainItem && player)
42 ApplyBandage(action_data.m_MainItem, player);
43 }
44 }
45
46 override void ApplyBandage(ItemBase item, PlayerBase player)
47 {
48 if (player.GetBleedingManagerServer())
49 player.GetBleedingManagerServer().RemoveMostSignificantBleedingSourceEx(item);
50
51 PluginTransmissionAgents transmissionAgents = PluginTransmissionAgents.Cast(GetPlugin(PluginTransmissionAgents));
52 transmissionAgents.TransmitAgents(item, player, AGT_ITEM_TO_FLESH);
53
54 if (item.HasQuantity())
55 item.AddQuantity(-20, true);
56 else
57 item.Delete();
58 }
59
60 override bool CanTargetBeInVehicle()
61 {
62 return true;
63 }
64}
int m_CommandUID
Definition actionbase.c:31
int m_StanceMask
Definition actionbase.c:33
override void ApplyBandage(ItemBase item, PlayerBase player)
ActionSewTargetCB ActionContinuousBaseCB ActionSewTarget()
ActionData m_ActionData
bool CanTargetBeInVehicle()
Definition actionbase.c:334
bool CanReceiveAction(ActionTarget target)
Definition actionbase.c:829
void CreateConditionComponents()
Definition actionbase.c:230
void OnFinishProgressServer(ActionData action_data)
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Definition cctman.c:2
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602
const int AGT_ITEM_TO_FLESH
Definition constants.c:506
PluginBase GetPlugin(typename plugin_type)