91 if (
g_Game.IsMultiplayer() )
192 if (action && ( !action.
UseMainItem() || action_data.m_MainItem ) && ( !action.
HasTarget() || action_data.m_Target ))
201 action_data.m_WasExecuted =
true;
202 action_data.m_WasActionStarted =
true;
215 if (action_data.m_DelayedAnimationEventID !=
UA_NONE)
217 #ifdef ENABLE_LOGGING
221 Debug.
ActionLog(
"STS: " + action_data.m_Player.GetSimulationTimeStamp() +
" Event: " + action_data.m_DelayedAnimationEventID, action_data.m_Action.ToString() ,
"n/a",
"OnAnimationEvent", action_data.m_Player.ToString() );
225 action_data.m_DelayedAnimationEventID =
UA_NONE;
231 super.OnUpdate(action_data);
237 return ActionCondition(action_data.m_Player,action_data.m_Target,action_data.m_MainItem);
248 if (stanceOverride != -1)
249 return stanceOverride;
257 if (commandOverride != -1)
258 return commandOverride;
277 if (!actionData.m_MainItem)
328 if (
IsFullBodyEx(action_data.m_Player, action_data.m_Target, action_data.m_MainItem) )
341 action_data.m_Callback = callback;
350 super.Start( action_data );
366 if ( action_data.m_Callback )
368 action_data.m_Callback.Cancel();
384 if ( state ==
UA_ERROR || !action_data.m_Callback || !action_data.m_Player || !action_data.m_ActionComponent )
389 Debug.
ActionLog(
"ABRUPT CANCEL, CONDITIONS NOT MET", this.
ToString() ,
"n/a",
"Do", action_data.m_Player.ToString() );
392 if ( action_data.m_Callback && action_data.m_Player )
394 action_data.m_Callback.Interrupt();
408 action_data.m_Callback.ProgressActionComponent();
413 action_data.m_Callback.Interrupt();
421 action_data.m_Callback.EndActionComponent();
426 action_data.m_Callback.EndActionComponent();
432 action_data.m_Callback.Interrupt();
437 Debug.
ActionLog(
"Action component returned wrong value", this.
ToString() ,
"n/a",
"Do", action_data.m_Player.ToString() );
438 action_data.m_Callback.Interrupt();
447 if ( action_data.m_Player )
452 action_data.m_Player.SetSoundCategoryHash(0);
461 if ( action_data.m_WasActionStarted )
465 g_Game.GetAnalyticsClient().OnActionEat();
469 g_Game.GetAnalyticsClient().OnActionDrink();
472 action_data.m_WasActionStarted =
false;
475 action_data.m_Player.GetActionManager().OnActionEnd();
483 Debug.
ActionLog(
"Ation could not be finished right at the end", this.
ToString() ,
"n/a",
"End", action_data.m_Player.ToString() );
485 action_data.m_Callback.Interrupt();
491 super.OnStartServer(action_data);
494 action_data.m_Player.SetPerformedActionID(
GetID());
499 action_data.m_Player.SetPerformedActionID(-1);
500 super.OnEndServer(action_data);
505 if ( action_data.m_ActionComponent )
507 return action_data.m_ActionComponent.GetProgress();
514 if ( action_data.m_ActionComponent )
515 return action_data.m_ActionComponent.GetProgressWidgetMultiplier();
class ActionTargets ActionTarget
override void OnAnimationEvent(int pEventID)
void SetCommand(int command_uid)
void InitActionComponent()
SoundOnVehicle m_SoundObject
void ProgressActionComponent()
void EndActionComponent()
override bool IsUserActionCallback()
void CreateActionComponent()
override void OnFinish(bool pCanceled)
float GetActionComponentProgress()
void SetActionData(ActionData action_data)
int GetPossileStanceMask()
bool HasTarget()
Action is performed on target, not with item itself, when set to true.
void InformPlayers(PlayerBase player, ActionTarget target, int state)
DEPRECATED delivers message ids to clients based on given context.
bool CanContinue(ActionData action_data)
bool IsFullBodyEx(PlayerBase player, ActionTarget target, ItemBase item)
void OnEndClient(ActionData action_data)
void OnAlternativeEndServer(PlayerBase player)
void CheckAnimationEvent(ActionData action_data)
int GetActionCommand(PlayerBase player)
override bool ActionConditionContinue(ActionData action_data)
GetCallbackClassTypename()
override void Interrupt(ActionData action_data)
override void OnUpdate(ActionData action_data)
override void OnEndServer(ActionData action_data)
override float GetProgress(ActionData action_data)
void OnExecuteClient(ActionData action_data)
override float GetProgressWidgetMultiplier(ActionData action_data)
override void Start(ActionData action_data)
void CreateAndSetupActionCallback(ActionData action_data)
void AnimatedActionBase()
void OnInterruptClient(PlayerBase player)
void OnAnimationEvent(ActionData action_data)
void OnInterruptServer(PlayerBase player)
void Do(ActionData action_data, int state)
void OnExecute(ActionData action_data)
int GetCommandOverride(ActionData actionData)
int GetStanceMaskEx(PlayerBase player, ActionTarget target, ItemBase item)
int GetActionCommandEx(ActionData actionData)
void OnExecuteServer(ActionData action_data)
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
bool HasMultipleExecution(ActionData action_data)
override void End(ActionData action_data)
void OnAlternativeEndClient(PlayerBase player)
override bool HasProneException()
override void OnStartServer(ActionData action_data)
int GetStanceMaskOverride(ItemBase item)
Super root of all classes in Enforce script.
static void SendActionInterrupt(DayZPlayer pPlayer)
Action interrupt.
static void ActionLog(string message=LOG_DEFAULT, string plugin=LOG_DEFAULT, string author=LOG_DEFAULT, string label=LOG_DEFAULT, string entity=LOG_DEFAULT)
static bool IsActionLogEnable()
proto bool Write(void value_out)
DayZPlayerConstants
defined in C++
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
proto native void InternalCommand(int pInternalCommandId)
calls internal command pInternalCommandId is one of CMD_ACTIONINT_ ...
map< typename, ref ActionOverrideData > TActionAnimOverrideMap
proto static native void End()
Finalizes the testing process.