49 if ( player.GetLiquidTendencyDrain() )
50 return "#drain_liquid";
52 return "#pour_liquid";
59 if ( target_item && item )
61 bool can_drain = Liquid.CanTransfer(target_item,item);
62 bool can_pour = Liquid.CanTransfer(item,target_item);
64 if (can_drain && can_pour)
68 else if (!can_pour && can_drain)
70 if ( (!
GetGame().IsDedicatedServer()) && !player.GetLiquidTendencyDrain() )
72 player.SetLiquidTendencyDrain(
true);
80 else if (!can_drain && can_pour)
82 if ( (!
GetGame().IsDedicatedServer()) && player.GetLiquidTendencyDrain() )
84 player.SetLiquidTendencyDrain(
false);
98 TransferLiquidActionData.Cast(action_data).m_Tendency = action_data.m_Player.GetLiquidTendencyDrain();
103 super.OnStartServer(action_data);
105 if (!
GetGame().IsMultiplayer())
106 TransferLiquidActionData.Cast(action_data).m_Tendency = action_data.m_Player.GetLiquidTendencyDrain();
111 TransferLiquidActionData action_data =
new TransferLiquidActionData;
117 super.WriteToContext(ctx, action_data);
119 ctx.
Write(action_data.m_Player.GetLiquidTendencyDrain());
124 if(!action_recive_data)
130 super.ReadFromContext(ctx, action_recive_data);
133 if ( !ctx.
Read(tendency_drain) )
141 super.HandleReciveData(action_recive_data, action_data);
144 TransferLiquidActionData.Cast(action_data).m_Tendency = recive_data_transfer.
m_TendencyRecived;
152 Param1<bool> play =
new Param1<bool>(
true );
153 if (TransferLiquidActionData.Cast(action_data))
155 if (TransferLiquidActionData.Cast(action_data).m_Tendency ==
true)
157 else if (!TransferLiquidActionData.Cast(action_data).m_Tendency ==
false)
168 Param1<bool> play =
new Param1<bool>(
false );
169 if (TransferLiquidActionData.Cast(action_data).m_Tendency)
class ActionTargets ActionTarget
TransferLiquidActionReciveData m_Tendency
ref CCIBase m_ConditionItem
ref CCTBase m_ConditionTarget
void ActionContinuousBase()
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
override bool ReadFromContext(ParamsReadContext ctx, out ActionReciveData action_recive_data)
override void OnStartAnimationLoop(ActionData action_data)
override void CreateConditionComponents()
override void OnEndAnimationLoop(ActionData action_data)
override void OnStartServer(ActionData action_data)
void ActionTransferLiquid()
override bool HasProneException()
override string GetText()
override void WriteToContext(ParamsWriteContext ctx, ActionData action_data)
override void OnStartClient(ActionData action_data)
override ActionData CreateActionData()
override void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
const float TIME_TO_REPEAT
override void CreateActionComponent()
proto native void RPCSingleParam(Object target, int rpc_type, Param param, bool guaranteed, PlayerIdentity recipient=null)
see CGame.RPC
proto bool Write(void value_out)
proto bool Read(void value_in)
DayZPlayerConstants
defined in C++
Serializer ParamsReadContext
proto native CGame GetGame()
Serializer ParamsWriteContext