16 m_player.RequestHandAnimationStateRefresh();
58 itemInHands.GetTransform(m4);
208 for (
int i = 0; i < count; i++)
237 for (
int i = 0; i < count; ++i)
284 m_Player.GetHumanInventory().CreateInHands(
"SurrenderDummyItem");
331 bool uiGesture =
false;
332 if (!
GetGame().IsDedicatedServer())
438 m_Player.GetItemInHands().DeleteSafe();
495 if (!
m_Player.IsShootingFromCamera())
496 m_Player.OverrideShootFromCamera(
true);
508 if (ctx.
Read(gestureID))
511 if (ctx.
Read(random))
521 pCtx.
Write(gestureID);
538 pCtx.
Read(gesture_id);
582 if (
m_Player.GetItemInHands() && SurrenderDummyItem.Cast(
m_Player.GetItemInHands()))
623 ErrorEx(
"EmoteManager | DetermineEmoteData failed!");
646 else if (
m_Player.IsPlayerInStance(mask))
692 if (weapon.CanFire())
696 weapon.ProcessWeaponEvent(weapon_event);
701 if (helm &&
GetGame().IsServer())
703 float damage = helm.GetMaxHealth(
"",
"");
704 helm.AddHealth(
"",
"", -damage/2);
715 if (!weapon.IsDamageDestroyed())
717 weapon.ProcessWeaponEvent(weapon_event);
722 else if (
m_Player.GetItemInHands() &&
m_Player.GetItemInHands().ConfigIsExisting(
"suicideAnim"))
825 bool canProceed =
true;
851 else if (!
GetGame().IsMultiplayer())
901 SurrenderDummyItem sda;
909 if ((
m_Player.GetWeaponManager() &&
m_Player.GetWeaponManager().IsRunning()) || (
m_Player.GetActionManager() &&
m_Player.GetActionManager().GetRunningAction()))
943 if (
m_Player.GetDayZPlayerInventory().IsProcessing())
1019 m_Player.SetInventorySoftLock(state);
1044 m_Player.GetActionManager().EnableActions(
true);
1052 m_Player.GetActionManager().EnableActions(
false);
1059 if (!
m_Player.GetItemInHands() || (
m_Player.GetItemInHands() && !SurrenderDummyItem.Cast(
m_Player.GetItemInHands())))
1075 m_Player.GetItemInHands().DeleteSafe();
1123 float waterLevel =
m_Player.GetCurrentWaterLevel();
1151 switch (Callback_ID)
1154 m_Player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection(
"Neck");
1158 m_Player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection(
"LeftForeArmRoll");
1162 m_Player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection(
"Spine2");
1166 m_Player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection(
"Spine2");
1170 m_Player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection(
"Head");
1174 m_Player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection(
"LeftForeArmRoll");
1209 old_item.GetTransform(mtx);
1212 OverrideNewLocation(gnd);
1217 if (PrepareLocations())
InventoryMode
NOTE: PREDICTIVE is not to be used at all in multiplayer.
override void OnCallbackEnd()
void ChainedDropAndKillPlayerLambda(EntityAI old_item, string new_item_type, PlayerBase player)
ref Timer m_ReservationTimer
ref array< int > m_EmoteInputIDs
const int CALLBACK_CMD_END
ref array< UAInput > m_InterruptInputDirect
void RequestCommitSuicide()
int m_InterruptInputsCount
void CheckEmoteLockedState()
void EmoteManager(PlayerBase player)
void CreateEmoteCBFromMenu(int id, bool interrupts_same=false)
const int CALLBACK_CMD_INVALID
ref array< string > m_InterruptInputs
bool CanPlayEmoteClientCheck(int id)
ref array< int > m_EmoteIDs
bool CanPlayEmote(int id)
int m_DeferredEmoteExecution
PluginAdminLog m_AdminLog
ref InventoryLocation m_HandInventoryLocation
void InterruptCallbackCommand()
void PlaySurrenderInOut(bool state)
int DetermineGestureIndex()
void CreateBleedingEffect(int Callback_ID)
map< int, ref EmoteBase > GetNameEmoteMap()
bool m_GestureInterruptInput
bool m_InventoryAccessLocked
bool OnInputUserDataProcess(int userDataType, ParamsReadContext ctx)
const int CALLBACK_CMD_INSTACANCEL
void ServerRequestEmoteCancel()
void EndSurrenderRequest(SurrenderData data=null)
directly force-ends surrender state from outside of normal flow
void SetEmoteLockState(bool state)
ref EmoteLauncher m_MenuEmote
void CreateEmoteCallback(typename callbacktype, int id, int mask, bool fullbody)
bool InterruptGestureCheck()
bool InterruptWaterCheck()
void OnSyncJuncture(int pJunctureID, ParamsReadContext pCtx)
void PickEmote(int gestureslot)
Deprecated.
bool DetermineEmoteData(EmoteBase emote, out int callback_ID, out int stancemask, out bool is_fullbody)
Also includes a stance check for FB callbacks.
SHumanCommandSwimSettings m_HumanSwimSettings
override void Execute(HumanInventoryWithFSM fsm_to_notify=null)
const int CALLBACK_CMD_GESTURE_INTERRUPT
ref map< int, ref EmoteBase > m_NameEmoteMap
HumanInputController m_HIC
ref array< ref EmoteBase > m_EmoteClassArray
void EndCallbackCommand()
bool m_MouseButtonPressed
bool m_InstantCancelEmote
EmoteLauncher GetEmoteLauncher()
bool m_bEmoteIsRequestPending
void SendEmoteRequestSync(int id)
void hndDebugPrint(string s)
PluginBase GetPlugin(typename plugin_type)
proto native UIManager GetUIManager()
override ScriptCallQueue GetCallQueue(int call_category)
drops weapon in hands to ground and then calls kill
Super root of all classes in Enforce script.
static const int SJ_GESTURE_REQUEST
bool EmoteFBStanceCheck(int stancemask)
Checks for valid stance mask.
bool CanBeCanceledNormally(notnull EmoteCB callback)
bool DetermineOverride(out int callback_ID, out int stancemask, out bool is_fullbody)
int GetAdditiveCallbackUID()
int GetFullbodyCallbackUID()
int GetStanceMaskAdditive()
bool EmoteStartOverride(typename callbacktype, int id, int mask, bool fullbody)
int GetStanceMaskFullbody()
bool EmoteCondition(int stancemask)
void OnBeforeStandardCallbackCreated(int callback_ID, int stancemask, bool is_fullbody)
bool GetHideItemInHands()
override void OnAnimationEvent(int pEventID)
override bool IsGestureCallback()
bool ConstructEmotes(PlayerBase player, out map< int, ref EmoteBase > emoteMap)
static const int FORCE_ALL
static const int FORCE_NONE
bool m_InterruptsSameIDEmote
static const int FORCE_DIFFERENT
void EmoteLauncher(int emoteID, bool interrupts_same)
const int c_InventoryReservationTimeoutMS
reservations
script counterpart to engine's class Inventory
proto native bool IsOnBack()
return true if prone is on back
proto native bool IsChangingStance()
returns true if character is changing stance
HumanInventory... with FSM (synchronous, no anims)
proto native void SetGround(EntityAI e, vector mat[4])
sets current inventory location type to Ground with transformation mat
static bool IsInventoryHFSMLogEnable()
The class that will be instanced (moddable)
base class for transformation operations (creating one item from another)
proto void Call(func fn, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL)
adds call into the queue with given parameters and arguments (arguments are held in memory until the ...
proto bool Write(void value_out)
proto bool Read(void value_in)
void End()
called on surrender end request end
bool IsMenuOpen(int id)
Returns true if menu with specific ID is opened (see MenuID)
signalize mechanism manipulation
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
DayZPlayerConstants
defined in C++
Serializer ParamsReadContext
proto native CGame GetGame()
const int EMOTE_SUICIDE_SIMULATION_END
const int EMOTE_SUICIDE_BLEED
const int EMOTE_SUICIDE_DEATH
const int ID_EMOTE_SURRENDER
const int ID_EMOTE_SUICIDE
const int ID_EMOTE_THUMBDOWN
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
static proto int RandomInt(int min, int max)
Returns a random int number between and min [inclusive] and max [exclusive].