Dayz 1.25
Dayz Code Explorer by KGB
Загрузка...
Поиск...
Не найдено
Класс ActionGiveBloodSelf
+ Граф наследования:ActionGiveBloodSelf:

Закрытые члены

void ActionGiveBloodSelf ()
 
override void CreateConditionComponents ()
 
override bool HasTarget ()
 
override ActionData CreateActionData ()
 
override bool SetupAction (PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=NULL)
 
override void OnEndAnimationLoopServer (ActionData action_data)
 
override void OnEndServer (ActionData action_data)
 
- Закрытые члены унаследованные от ActionContinuousBase
void OnStartAnimationLoopServer (ActionData action_data)
 
void OnStartAnimationLoopClient (ActionData action_data)
 
void OnEndAnimationLoopServer (ActionData action_data)
 
void OnEndAnimationLoopClient (ActionData action_data)
 
void OnFinishProgressServer (ActionData action_data)
 
void OnFinishProgressClient (ActionData action_data)
 

Закрытые данные

const float CHEM_AGENT_BLOOD_REMOVAL_MODIFIER = 0.25
 

Подробное описание

Конструктор(ы)

◆ ActionGiveBloodSelf()

void ActionGiveBloodSelf ( )
inlineprivate
20 {
23
24 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_SALINEBLOODBAG;
25 m_FullBody = true;
26 m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT | DayZPlayerConstants.STANCEMASK_CROUCH;
27 m_Text = "#give_blood";
28 }
bool m_FullBody
Definition ActionBase.c:52
string m_Text
Definition ActionBase.c:49
float m_SpecialtyWeight
Definition ActionBase.c:68
int m_StanceMask
Definition ActionBase.c:53
int m_CommandUID
Definition AnimatedActionBase.c:135
m_CallbackClass
Definition AnimatedActionBase.c:137
Definition EntityAI.c:95
Definition ActionConstants.c:119
const float PRECISE_HIGH
Definition ActionConstants.c:125
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:602

Перекрестные ссылки AnimatedActionBase::m_CallbackClass, AnimatedActionBase::m_CommandUID, m_FullBody, m_SpecialtyWeight, m_StanceMask, m_Text и UASoftSkillsWeight::PRECISE_HIGH.

Методы

◆ CreateActionData()

override ActionData CreateActionData ( )
inlineprivate
42 {
44 return action_data;
45 }
Definition ActionGiveBloodSelf.c:2

◆ CreateConditionComponents()

override void CreateConditionComponents ( )
inlineprivate
31 {
34 }
ref CCIBase m_ConditionItem
Definition ActionBase.c:55
ref CCTBase m_ConditionTarget
Definition ActionBase.c:56
Definition CCINotRuinedAndEmpty.c:2
Definition CCTSelf.c:2

Перекрестные ссылки m_ConditionItem и m_ConditionTarget.

◆ HasTarget()

override bool HasTarget ( )
inlineprivate
37 {
38 return false;
39 }

◆ OnEndAnimationLoopServer()

override void OnEndAnimationLoopServer ( ActionData action_data)
inlineprivate
61 {
62 //OnFinishProgressServer(action_data);
63
64 if ( action_data.m_MainItem.IsKindOf("BloodSyringe") )
65 {
66 SyringeLambda lambda = new SyringeLambda(action_data.m_MainItem, "Syringe", action_data.m_Player);
67 lambda.SetTransferParams(true, true, true);
68 MiscGameplayFunctions.TurnItemIntoItemEx(action_data.m_Player, lambda);
69 }
70
71 action_data.m_Player.GetSoftSkillsManager().AddSpecialty( m_SpecialtyWeight );
72 }
Definition ActionGiveBloodSelf.c:118

Перекрестные ссылки m_SpecialtyWeight.

◆ OnEndServer()

override void OnEndServer ( ActionData action_data)
inlineprivate
75 {
76
78 float blood_obtained = action_data_b.m_BloodAmount - action_data_b.m_MainItem.GetQuantity();
79
80 PluginTransmissionAgents plugin = PluginTransmissionAgents.Cast(GetPlugin(PluginTransmissionAgents));
81 plugin.TransmitAgentsEx(action_data.m_MainItem, action_data.m_Player, AGT_UACTION_TO_PLAYER,blood_obtained ,action_data_b.m_Agents);
82
83
84 int bloodtypetarget = action_data_b.m_Player.GetStatBloodType().Get();
86
87 if ( !bloodmatch )
88 {
89
90
92 {
93 action_data_b.m_Player.m_UnconsciousEndTime = -60;
94 action_data_b.m_Player.SetHealth("","Shock",0);
95
97 {
98 action_data_b.m_Player.m_ModifiersManager.ActivateModifier(eModifiers.MDF_HEMOLYTIC_REACTION);
99 }
100 }
101 }
102
103 if ( action_data_b.m_MainItem && action_data_b.m_MainItem.GetQuantity() <= 0.01 )
104 {
105 action_data_b.m_MainItem.SetQuantity(0);
106 }
107
108 if (!(action_data_b.m_Agents & eAgents.CHEMICAL_POISON))//does bloodbag NOT contain nerve agent ?
109 {
111 action_data.m_Player.InsertAgent(eAgents.CHEMICAL_POISON, -remove_count_agents);
112
113 }
114 }
eAgents
Definition EAgents.c:3
PluginBase GetPlugin(typename plugin_type)
Definition PluginManager.c:316
const float CHEM_AGENT_BLOOD_REMOVAL_MODIFIER
Definition ActionGiveBloodSelf.c:18
Definition BloodType.c:2
static bool MatchBloodCompatibility(int bloodtypetarget, int bloodtype)
Definition BloodType.c:39
Definition PlayerConstants.c:2
static const float HEMOLYTIC_RISK_SHOCK_THRESHOLD
Definition PlayerConstants.c:108
static const float HEMOLYTIC_REACTION_THRESHOLD
Definition PlayerConstants.c:109
eModifiers
Definition eModifiers.c:2
const int AGT_UACTION_TO_PLAYER
Definition constants.c:473

Перекрестные ссылки AGT_UACTION_TO_PLAYER, CHEM_AGENT_BLOOD_REMOVAL_MODIFIER, GetPlugin(), PlayerConstants::HEMOLYTIC_REACTION_THRESHOLD, PlayerConstants::HEMOLYTIC_RISK_SHOCK_THRESHOLD и BloodTypes::MatchBloodCompatibility().

◆ SetupAction()

override bool SetupAction ( PlayerBase player,
ActionTarget target,
ItemBase item,
out ActionData action_data,
Param extra_data = NULL )
inlineprivate
48 {
49 if ( super.SetupAction(player, target, item, action_data, extra_data ) )
50 {
52 action_data_b.m_ItemBloodType = action_data.m_MainItem.GetLiquidType();
53 action_data_b.m_BloodAmount = action_data.m_MainItem.GetQuantity();
54 action_data_b.m_Agents = action_data.m_MainItem.GetAgents();
55 return true;
56 }
57 return false;
58 }

Поля

◆ CHEM_AGENT_BLOOD_REMOVAL_MODIFIER

const float CHEM_AGENT_BLOOD_REMOVAL_MODIFIER = 0.25
private

Используется в OnEndServer() и ActionGiveBloodTarget::OnEndServer().


Объявления и описания членов класса находятся в файле: