DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ EEItemIntoHands()

override void ManBase::EEItemIntoHands ( EntityAI item)
inlineprotected

fixes situation where raise is canceling some manipulation with heavy item(ex. TakeItemToHands), forces normal stance

См. определение в файле PlayerBase.c строка 2812

2813 {
2814 super.EEItemIntoHands(item);
2815
2816 if (item)
2817 {
2818 MiscGameplayFunctions.RemoveAllAttachedChildrenByTypename(item, {Bolt_Base});
2819
2820 Weapon_Base w;
2821 if (Class.CastTo(w, item))
2822 {
2823 w.ResetWeaponAnimState();
2824
2825 HumanCommandMove cm = GetCommand_Move();
2826 if (cm)
2827 {
2828 cm.SetMeleeBlock(false);
2829 GetMeleeFightLogic().SetBlock(false);
2830 }
2831 }
2832
2834 if (item.IsHeavyBehaviour() && IsRaised())
2835 {
2836 HumanCommandMove cm2 = GetCommand_Move();
2837 if (cm2)
2838 {
2839 cm2.ForceStance(DayZPlayerConstants.STANCEIDX_ERECT);
2840 }
2841 }
2842
2844 }
2845 }
proto native void ForceStance(int pStanceIdx)
proto native void SetMeleeBlock(bool pBlock)
this enables/disables block
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
void HumanCommandMove()
Определения human.c:514
class HumanItemBehaviorCfg OnItemInHandsChanged(bool pInstant=false)
signalization from script to engine that item in hands changed

Перекрестные ссылки Class::CastTo(), HumanCommandMove::ForceStance(), OnItemInHandsChanged() и HumanCommandMove::SetMeleeBlock().