DayZ 1.30
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 строка 3133

3134 {
3135 super.EEItemIntoHands(item);
3136
3137 if (item)
3138 {
3139 MiscGameplayFunctions.RemoveAllAttachedChildrenByTypename(item, {Bolt_Base});
3140
3141 Weapon_Base w;
3142 if (Class.CastTo(w, item))
3143 {
3144 w.ResetWeaponAnimState();
3145
3146 HumanCommandMove cm = GetCommand_Move();
3147 if (cm)
3148 {
3149 cm.SetMeleeBlock(false);
3150 GetMeleeFightLogic().SetBlock(false);
3151 }
3152 }
3153
3155 if (item.IsHeavyBehaviour() && IsRaised())
3156 {
3157 HumanCommandMove cm2 = GetCommand_Move();
3158 if (cm2)
3159 {
3160 cm2.ForceStance(DayZPlayerConstants.STANCEIDX_ERECT);
3161 }
3162 }
3163
3165 }
3166 }
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:534
class HumanItemBehaviorCfg OnItemInHandsChanged(bool pInstant=false, bool pChangeAnimationInstance=true)
signalization from script to engine that item in hands changed

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