DayZ 1.29
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 строка 2931

2932 {
2933 super.EEItemIntoHands(item);
2934
2935 if (item)
2936 {
2937 MiscGameplayFunctions.RemoveAllAttachedChildrenByTypename(item, {Bolt_Base});
2938
2939 Weapon_Base w;
2940 if (Class.CastTo(w, item))
2941 {
2942 w.ResetWeaponAnimState();
2943
2944 HumanCommandMove cm = GetCommand_Move();
2945 if (cm)
2946 {
2947 cm.SetMeleeBlock(false);
2948 GetMeleeFightLogic().SetBlock(false);
2949 }
2950 }
2951
2953 if (item.IsHeavyBehaviour() && IsRaised())
2954 {
2955 HumanCommandMove cm2 = GetCommand_Move();
2956 if (cm2)
2957 {
2958 cm2.ForceStance(DayZPlayerConstants.STANCEIDX_ERECT);
2959 }
2960 }
2961
2962 SurrenderDummyItem dummyItem;
2963 if (Class.CastTo(dummyItem, item) && GetEmoteManager())
2964 GetEmoteManager().ForceSurrenderState(true);
2965
2967 }
2968 }
proto native void ForceStance(int pStanceIdx)
proto native void SetMeleeBlock(bool pBlock)
this enables/disables block
EmoteManager GetEmoteManager()
Определения PlayerBase.c:1834
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().