DayZ 1.28
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 строка 2810

2811 {
2812 super.EEItemIntoHands(item);
2813
2814 if (item)
2815 {
2816 MiscGameplayFunctions.RemoveAllAttachedChildrenByTypename(item, {Bolt_Base});
2817
2818 Weapon_Base w;
2819 if (Class.CastTo(w, item))
2820 {
2821 w.ResetWeaponAnimState();
2822
2823 HumanCommandMove cm = GetCommand_Move();
2824 if (cm)
2825 {
2826 cm.SetMeleeBlock(false);
2827 GetMeleeFightLogic().SetBlock(false);
2828 }
2829 }
2830
2832 if (item.IsHeavyBehaviour() && IsRaised())
2833 {
2834 HumanCommandMove cm2 = GetCommand_Move();
2835 if (cm2)
2836 {
2837 cm2.ForceStance(DayZPlayerConstants.STANCEIDX_ERECT);
2838 }
2839 }
2840
2841 SurrenderDummyItem dummyItem;
2842 if (Class.CastTo(dummyItem, item) && GetEmoteManager())
2843 GetEmoteManager().ForceSurrenderState(true);
2844
2846 }
2847 }
proto native void ForceStance(int pStanceIdx)
proto native void SetMeleeBlock(bool pBlock)
this enables/disables block
EmoteManager GetEmoteManager()
Определения PlayerBase.c:1704
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(), GetEmoteManager(), OnItemInHandsChanged() и HumanCommandMove::SetMeleeBlock().