27 if (player.GetBrokenLegs() ==
eBrokenLegs.BROKEN_LEGS)
31 if (!
GetGame().IsDedicatedServer())
33 if (player.IsPlacingLocal())
35 if (!player.GetHologramLocal().IsColliding())
37 if (item.
CanBePlaced(player, player.GetHologramLocal().GetProjectionEntity().GetPosition()))
55 if (
GetGame().IsDedicatedServer())
57 if (action_data.
m_Player.IsPlacingServer())
62 if (!action_data.
m_Player.GetHologramServer().IsColliding())
76 if (super.SetupAction(player, target, item, action_data, extra_data))
81 if (!
GetGame().IsDedicatedServer())
83 player.GetHologramLocal().SetUpdatePosition(
false);
85 Hologram hologram = player.GetHologramLocal();
88 poActionData.
m_Position = player.GetHologramLocal().GetProjectionPosition();
89 poActionData.
m_Orientation = player.GetHologramLocal().GetProjectionOrientation();
100 if (!action_data.m_MainItem)
118 action_data.
m_Player.PlacingCompleteLocal();
140 action_data.
m_MainItem.SetIsBeingPlaced(
true);
147 action_data.
m_MainItem.SetIsBeingPlaced(
true);
160 vector position = action_data.
m_Player.GetLocalProjectionPosition();
161 vector orientation = action_data.
m_Player.GetLocalProjectionOrientation();
165 entity_for_placing.OnPlacementComplete(action_data.
m_Player, position, orientation);
174 action_data.
m_Player.PlacingCancelLocal();
177 poActionData.
m_Player.GetActionManager().RequestEndAction();
178 if (action_data.
m_Player.GetHologramLocal())
179 action_data.
m_Player.GetHologramLocal().SetUpdatePosition(
true);
199 action_data.
m_MainItem.SetIsBeingPlaced(
false);
203 action_data.
m_Player.PlacingCancelServer();
204 action_data.
m_MainItem.SoundSynchRemoteReset();
209 action_data.
m_Player.PlacingCancelLocal();
210 action_data.
m_Player.PlacingCancelServer();
215 action_data.
m_MainItem.SetIsDeploySound(
false);
216 action_data.
m_MainItem.SetIsPlaceSound(
false);
217 action_data.
m_MainItem.SoundSynchRemoteReset();
232 if (!
GetGame().IsDedicatedServer())
234 if (action_data.
m_Player.GetItemInHands())
235 ActiondeployObjectCB.Cast(action_data.
m_Callback).DropDuringPlacing();
248 super.WriteToContext(ctx, action_data);
259 if (!action_recive_data)
263 super.ReadFromContext(ctx, action_recive_data);
266 vector entity_position =
"0 0 0";
267 vector entity_orientation =
"0 0 0";
268 if (!ctx.
Read(entity_position))
270 if (!ctx.
Read(entity_orientation))
281 super.HandleReciveData(action_recive_data, action_data);
294 if (item.IsHeavyBehaviour())
298 else if (item.IsOneHandedBehaviour())
302 else if (item.IsTwoHandedBehaviour())
308 Debug.
Log(
"Error: check " + item +
" behaviour");
313 if (item.IsHeavyBehaviour())
317 else if (item.IsOneHandedBehaviour())
321 else if (item.IsTwoHandedBehaviour())
327 Debug.
Log(
"Error: check " + item +
" behaviour");
void OnEndServer(ActionData action_data)
void OnStartClient(ActionData action_data)
void OnStartServer(ActionData action_data)
bool SetupAction(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=NULL)
void HandleReciveData(ActionReciveData action_recive_data, ActionData action_data)
bool IsDeploymentAction()
Is an action directly related to deployment/advanced placing.
protected int m_StanceMask
void OnEndClient(ActionData action_data)
void DropDuringPlacing()
DEPRECATED.
PlaceObjectActionReciveData ActionReciveData ActionDeployObject()
void SetupAnimation(ItemBase item)
class ActionTargets ActionTarget
void ReadFromContext(ParamsReadContext ctx)
void WriteToContext(ParamsWriteContext ctx)
InventoryLocationType
types of Inventory Location
void OnStartAnimationLoop(ActionData action_data)
bool HasAlternativeInterrupt()
protected void OnFinishProgressClient(ActionData action_data)
protected void OnExecuteServer(ActionData action_data)
override bool ActionConditionContinue(ActionData action_data)
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
proto native bool AddActionJuncture(Man player, notnull EntityAI item, int timeout_ms)
bool ClearJunctureEx(Man player, notnull EntityAI item)
static void Log(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
Prints debug message with normal prio.
proto native int GetType()
returns type of InventoryLocation
override bool IsBasebuildingKit()
override bool CanBePlaced(Man player, vector position)
override bool IsDeployable()
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
Serialization general interface. Serializer API works with:
proto bool Write(void value_out)
proto bool Read(void value_in)
DayZPlayerConstants
defined in C++
proto native CGame GetGame()