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

◆ ActionCondition()

override bool FirearmActionLoadBullet::ActionCondition ( PlayerBase player,
ActionTarget target,
ItemBase item )
inlineprivate

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

14 {
15 if (!super.ActionCondition(player, target, item))
16 return false;
17
18 HumanCommandWeapons hcw = player.GetCommandModifier_Weapons();
19 if (!target.GetObject())
20 return false;
21
22 Magazine mag = null;
23 EntityAI entity = EntityAI.Cast(target.GetObject());
24 if (entity && entity.IsManagingArrows() && entity.IsDamageDestroyed())
25 {
26 ArrowManagerBase arrowManager = ArrowManagerBase.Cast(entity.GetArrowManager());
27 if (arrowManager)
28 mag = Magazine.Cast(arrowManager.GetFirstArrow());
29 }
30 else
31 mag = Magazine.Cast(target.GetObject());
32
33 Weapon_Base weapon = Weapon_Base.Cast(item);
34 return mag && player.GetWeaponManager().CanLoadBullet(weapon, mag) && hcw && hcw.GetRunningAction() != WeaponActions.CHAMBERING;
35 }
class LogManager EntityAI
EntityAI GetFirstArrow()
Определения ArrowManagerBase.c:82
proto native int GetRunningAction()
returns -1 when no action is running or RELOAD,MECHANISM, ....
WeaponActions
actions
Определения human.c:816
void HumanCommandWeapons()
Определения human.c:1113

Перекрестные ссылки ActionTarget и ArrowManagerBase::GetFirstArrow().