16 m_player.RequestHandAnimationStateRefresh();
228 for (
int i = 0; i < count; i++)
257 for (
int i = 0; i < count; ++i)
309 m_Player.GetHumanInventory().CreateInHands(
"SurrenderDummyItem");
378 if (forcedEmoteQueuedClient)
384 bool uiGesture =
false;
385 if (!
g_Game.IsDedicatedServer())
491 m_Player.GetItemInHands().DeleteSafe();
544 if (!
m_Player.IsShootingFromCamera())
545 m_Player.OverrideShootFromCamera(
true);
557 bool guaranteed =
false;
559 if (!ctx.
Read(gestureID))
566 ctx.
Read(guaranteed);
567 if (ctx.
Read(random))
579 pCtx.
Write(gestureID);
580 pCtx.
Write(cancelID);
582 pCtx.
Write(guaranteed);
601 pCtx.
Read(gestureID);
604 pCtx.
Read(guaranteed);
669 if (
m_Player.GetItemInHands() && SurrenderDummyItem.Cast(
m_Player.GetItemInHands()))
713 ErrorEx(
"EmoteManager | DetermineEmoteData failed!");
736 else if (
m_Player.IsPlayerInStance(mask))
782 if (weapon.CanFire())
786 weapon.ProcessWeaponEvent(weapon_event);
791 if (helm &&
g_Game.IsServer())
793 float damage = helm.GetMaxHealth(
"",
"");
794 helm.AddHealth(
"",
"", -damage/2);
805 if (!weapon.IsDamageDestroyed())
807 weapon.ProcessWeaponEvent(weapon_event);
812 else if (
m_Player.GetItemInHands() &&
m_Player.GetItemInHands().ConfigIsExisting(
"suicideAnim"))
900 bool guaranteedLaunch =
false;
925 bool canProceed =
true;
937 ctx.
Write(guaranteedLaunch);
952 else if (!
g_Game.IsMultiplayer())
976 int id = launcher.GetID();
977 int forced = launcher.GetForced();
978 bool guaranteedLaunch = launcher.IsStartGuaranteed();
1003 bool canProceed =
true;
1015 ctx.
Write(guaranteedLaunch);
1021 launcher.VerifySyncRequest();
1033 else if (!
g_Game.IsMultiplayer())
1080 SurrenderDummyItem sda;
1087 if ((
m_Player.GetWeaponManager() &&
m_Player.GetWeaponManager().IsRunning()) || (
m_Player.GetActionManager() &&
m_Player.GetActionManager().GetRunningAction()))
1117 if (
m_Player.GetDayZPlayerInventory().IsProcessing())
1172 if (
g_Game.IsMultiplayer())
1179 m_Player.PhysicalPredictiveDropItem(item);
1209 m_Player.SetInventorySoftLock(state);
1237 m_Player.GetActionManager().EnableActions(
true);
1245 m_Player.GetActionManager().EnableActions(
false);
1252 if (!
m_Player.GetItemInHands() || (
m_Player.GetItemInHands() && !SurrenderDummyItem.Cast(
m_Player.GetItemInHands())))
1288 SurrenderDummyItem dummyItem = SurrenderDummyItem.Cast(
m_Player.GetItemInHands());
1290 dummyItem.DeleteSafe();
1356 float waterLevel =
m_Player.GetCurrentWaterLevel();
1384 switch (Callback_ID)
1387 m_Player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection(
"Neck");
1391 m_Player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection(
"LeftForeArmRoll");
1395 m_Player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection(
"Spine2");
1399 m_Player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection(
"Spine2");
1403 m_Player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection(
"Head");
1407 m_Player.GetBleedingManagerServer().AttemptAddBleedingSourceBySelection(
"LeftForeArmRoll");
1442 old_item.GetTransform(mtx);
1445 OverrideNewLocation(gnd);
1450 if (PrepareLocations())
InventoryMode
NOTE: PREDICTIVE is not to be used at all in multiplayer.
void DayZPlayerUtils()
cannot be instantiated
override void OnCallbackEnd()
void ChainedDropAndKillPlayerLambda(EntityAI old_item, string new_item_type, PlayerBase player)
bool m_DisconnectEmoteQueued
ref Timer m_ReservationTimer
ref array< int > m_EmoteInputIDs
bool ClearDeferredExecution()
const int CALLBACK_CMD_END
void ForceSurrenderState(bool state)
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
bool m_DeferredEmoteLauncherCleanup
int m_DeferredGuaranteedEmoteId
PluginAdminLog m_AdminLog
ref InventoryLocation m_HandInventoryLocation
void InterruptCallbackCommand()
void SetPending(bool state)
void PostSurrenderRequestServer()
server only
void PlaySurrenderInOut(bool state)
int DetermineGestureIndex()
void CreateBleedingEffect(int Callback_ID)
void SendEmoteRequestSyncEx(notnull EmoteLauncher launcher)
To avoid mixing m_MenuEmote with exceptional sync commands.
map< int, ref EmoteBase > GetNameEmoteMap()
bool m_GestureInterruptInput
void ClearSurrenderState()
Queues item deletion only, surrender state cleared from item event directly.
bool m_InventoryAccessLocked
bool OnInputUserDataProcess(int userDataType, ParamsReadContext ctx)
const int CALLBACK_CMD_INSTACANCEL
void SetClientLoggingOut(bool state)
void ServerRequestEmoteCancel()
void EndSurrenderRequest(SurrenderData data=null)
directly force-ends surrender state AND requests hard cancel
void SetEmoteLockState(bool state)
bool ClearEmoteLauncher(bool forced=false)
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)
ref array< UAIDWrapper > m_InterruptInputDirect
void hndDebugPrint(string s)
PluginBase GetPlugin(typename plugin_type)
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
void SetStartGuaranteed(bool guaranted)
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 bool Write(void value_out)
proto bool Read(void value_in)
void End()
called on surrender end request end
signalize mechanism manipulation
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
DayZPlayerConstants
defined in C++
Serializer ParamsReadContext
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].