7 if ( (dst && dst.GetParent() && !dst.GetParent().GetHierarchyRootPlayer()) || (src && src.GetParent() && !src.GetParent().GetHierarchyRootPlayer()) )
26 if ( invloc1.GetItem() && invloc1.GetItem().GetInventoryHandAnimation(invloc1,val) )
34 switch (invloc1.GetSlot())
38 if (invloc1.GetItem() && invloc1.GetItem().IsWeapon())
40 return WeaponHideShowTypes.HIDESHOW_SLOT_RFLLEFTBACK;
42 else if (invloc1.GetItem() && invloc1.GetItem().IsOneHandedBehaviour())
44 return WeaponHideShowTypes.HIDESHOW_SLOT_1HDLEFTBACK;
46 return WeaponHideShowTypes.HIDESHOW_SLOT_2HDLEFTBACK;
50 if (invloc1.GetItem() && invloc1.GetItem().IsWeapon())
52 return WeaponHideShowTypes.HIDESHOW_SLOT_RFLRIGHTBACK;
54 else if (invloc1.GetItem() && invloc1.GetItem().IsOneHandedBehaviour())
56 return WeaponHideShowTypes.HIDESHOW_SLOT_1HDRIGHTBACK;
58 return WeaponHideShowTypes.HIDESHOW_SLOT_2HDRIGHTBACK;
62 EntityAI parent_item = invloc1.GetParent();
65 owner = parent_item.GetHierarchyRootPlayer();
70 EntityAI item2 = parent_item.GetHierarchyParent();
71 if (owner && item1 == item2)
73 return WeaponHideShowTypes.HIDESHOW_SLOT_PISTOLBELT;
75 return WeaponHideShowTypes.HIDESHOW_SLOT_PISTOLCHEST;
78 return WeaponHideShowTypes.HIDESHOW_SLOT_KNIFEBACK;
90 return WeaponHideShowTypes.HIDESHOW_SLOT_INVENTORY;
98 if ( invloc1.GetItem() && (invloc1.GetItem().GetInventory().HasInventorySlot(
InventorySlots.SHOULDER) || invloc1.GetItem().GetInventory().HasInventorySlot(
InventorySlots.MELEE)) )
101 if (invloc1.GetItem() && invloc1.GetItem().IsWeapon())
103 return WeaponHideShowTypes.HIDESHOW_SLOT_RFLRIGHTBACK;
105 else if (invloc1.GetItem() && invloc1.GetItem().IsOneHandedBehaviour())
107 return WeaponHideShowTypes.HIDESHOW_SLOT_1HDRIGHTBACK;
109 return WeaponHideShowTypes.HIDESHOW_SLOT_2HDRIGHTBACK;
112 return WeaponHideShowTypes.HIDESHOW_SLOT_INVENTORY;
157 if (player.IsInTransport())
162 if (old_src.GetItem().GetHierarchyRootPlayer() == player || new_src.GetItem().GetHierarchyRootPlayer() == player)
168 if (animType1 != -1 && animType2 != -1)
170 if (
LogManager.IsInventoryHFSMLogEnable())
hndDebugPrint(
"[hndfsm] SelectAnimationOfForceSwapInHands guard - selected animType1=" + animType1 +
" animType2=" + animType2 +
" for old_item=" + old_src.GetItem() +
" for new_item=" + new_src.GetItem());
180 if (
LogManager.IsInventoryHFSMLogEnable())
hndDebugPrint(
"[hndfsm] SelectAnimationOfForceSwapInHands - no animation");
261 HandEventForceSwap es = HandEventForceSwap.Cast(e);
266 hndDebugPrint(
"[hndfsm] HandSelectAnimationOfForceSwapInHandsEvent FSwap e=" + e.DumpToString());
269 if (!es.m_Src2.IsValid() || !es.m_Src.IsValid())
271 Error(
"[hndfsm] HandSelectAnimationOfForceSwapInHandsEvent - invalid item source");
275 bool allow = e.m_IsJuncture || e.m_IsRemote;
286 Error(
"[hndfsm] HandSelectAnimationOfForceSwapInHandsEvent - no room at dst=" +
InventoryLocation.DumpToStringNullSafe(es.m_Dst2));
299 if (ProcessSwapEvent(e, animType1, animType2))
301 e.m_AnimationID = animType1;
302 es.m_Animation2ID = animType2;
308 Error(
"[hndfsm] HandSelectAnimationOfForceSwapInHandsEvent - m_HasRoomGuard.GuardCondition failed");
313 Error(
"[hndfsm] HandSelectAnimationOfForceSwapInHandsEvent - not a swap event");
static proto native bool LocationCanMoveEntity(notnull InventoryLocation src, notnull InventoryLocation dst)
queries if the entity contained in inv_loc.m_item can be moved to another location This is a shorthan...
bool SelectAnimationOfForceSwapInHands(notnull Man player, notnull InventoryLocation old_src, notnull InventoryLocation new_src, notnull InventoryLocation old_dst, notnull InventoryLocation new_dst, out int animType1, out int animType2)