DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ActionForceConsumeSingle.c
См. документацию.
8
10{
12
14 {
15 m_CallbackClass = ActionForceConsumeSingleCB;
16 m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_INJECTIONTARGET;
17 m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT | DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_PRONE;
18
19 m_FullBody = true;
20 m_Text = "#feed";
21 }
22
28
33
34 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
35 {
36 if (!super.ActionCondition(player, target, item))
37 return false;
38
39 if (item.GetQuantity() <= item.GetQuantityMin())
40 return false;
41
42 PlayerBase targetPlayer = PlayerBase.Cast(target.GetObject());
43 ConsumeConditionData dta = new ConsumeConditionData(targetPlayer,item);
44 return targetPlayer && targetPlayer.CanEatAndDrink() && targetPlayer.CanConsumeFood(dta) && item.CanBeConsumed(dta);
45 }
46
47 override void OnEndServer(ActionData action_data)
48 {
49 super.OnEndServer(action_data);
50
51 if (action_data.m_MainItem && action_data.m_MainItem.GetQuantity() <= 0)
52 action_data.m_MainItem.SetQuantity(0);
53 }
54
55 override void OnExecuteServer(ActionData action_data)
56 {
57 PlayerBase target = PlayerBase.Cast(action_data.m_Target.GetObject());
58
59 if (target && action_data.m_MainItem)
60 {
61 PlayerConsumeData consumeData = new PlayerConsumeData();
62 consumeData.m_Type = EConsumeType.ITEM_SINGLE_TIME;
63 consumeData.m_Amount = GetConsumedQuantity();
64 consumeData.m_Source = action_data.m_MainItem;
65 consumeData.m_Agents = action_data.m_Player.GetBloodyHandsPenaltyAgents();
66
67 target.Consume(consumeData);
68 }
69 }
70}
bool m_FullBody
Определения ActionBase.c:60
string m_Text
Определения ActionBase.c:57
void OnEndServer(ActionData action_data)
Определения ActionBase.c:1409
void CreateConditionComponents()
Определения ActionBase.c:245
ref CCIBase m_ConditionItem
Определения ActionBase.c:63
ref CCTBase m_ConditionTarget
Определения ActionBase.c:64
bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBase.c:441
int m_StanceMask
Определения ActionBase.c:61
const int DEFAULT_CONSUMED_QUANTITY
Определения ActionConsumeSingle.c:69
int GetConsumedQuantity()
Определения ActionConsumeSingle.c:79
override void OnExecuteServer(ActionData action_data)
Определения ActionDigOutStash.c:57
void ActionForceConsumeSingle()
Определения ActionForceConsumeSingle.c:13
void ActionTarget(Object object, Object parent, int componentIndex, vector cursorHitPos, float utility, string surfaceName="")
Определения ActionTargets.c:125
EConsumeType
Определения EConsumeType.c:2
ActionData m_ActionData
Определения AnimatedActionBase.c:3
PlayerBase m_Player
Определения ActionBase.c:40
ref ActionTarget m_Target
Определения ActionBase.c:39
ItemBase m_MainItem
Определения ActionBase.c:35
Определения ActionBase.c:22
override void CreateActionComponent()
Определения ActionForceConsumeSingle.c:3
Определения CCINonRuined.c:2
Определения CCTMan.c:2
override bool SetQuantity(float value, bool destroy_config=true, bool destroy_forced=false, bool allow_client=false, bool clamp_to_stack_max=true)
Определения PileOfBricks.c:64
Определения PlayerBaseClient.c:2
EConsumeType m_Type
Определения PlayerConsumeData.c:8
float m_Amount
Определения PlayerConsumeData.c:3
int m_Agents
Определения PlayerConsumeData.c:4
ItemBase m_Source
Определения PlayerConsumeData.c:7
const float DEFAULT
Определения ActionConstants.c:114
const float DEFAULT
Определения ActionConstants.c:5
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602