1class FirearmActionLoadBullet : FirearmActionBase
13 override bool ActionCondition(PlayerBase player, ActionTarget target,
ItemBase item)
15 if (!super.ActionCondition(player, target, item))
18 HumanCommandWeapons hcw = player.GetCommandModifier_Weapons();
19 if (!target.GetObject())
24 if (entity && entity.IsManagingArrows() && entity.IsDamageDestroyed())
26 ArrowManagerBase arrowManager = ArrowManagerBase.Cast(entity.GetArrowManager());
31 mag = Magazine.Cast(target.GetObject());
33 Weapon_Base weapon = Weapon_Base.Cast(item);
34 return mag && player.GetWeaponManager().CanLoadBullet(weapon, mag) && hcw && hcw.GetRunningAction() != WeaponActions.CHAMBERING;
39 super.Start(action_data);
43 if (entity && entity.IsManagingArrows() && entity.IsDamageDestroyed())
45 ArrowManagerBase arrowManager = ArrowManagerBase.Cast(entity.GetArrowManager());
49 mag.SetPosition(action_data.m_Player.GetPosition());
53 mag = Magazine.Cast(action_data.m_Target.GetObject());
55 action_data.m_Player.GetWeaponManager().LoadBullet(mag,
this);
58 override Object GetDisplayInteractObject(PlayerBase player, ActionTarget target)
61 if (!entity || (entity && entity.IsManagingArrows() && !entity.IsDamageDestroyed()))
64 ArrowManagerBase arrowManager = entity.GetArrowManager();
94 m_ConditionTarget =
new CCTSelf();
104 if (!super.ActionCondition(player, target, item))
107 HumanCommandWeapons hcw = player.GetCommandModifier_Weapons();
108 Weapon_Base weapon = Weapon_Base.Cast(item);
110 return player.GetWeaponManager().CanLoadBullet(weapon, player.GetWeaponManager().GetPreparedMagazine(),
true) && hcw && hcw.GetRunningAction() != WeaponActions.CHAMBERING;
115 if (super.SetupAction(player, target, item, action_data, extra_data))
118 ActionTarget newTarget =
new ActionTarget(player.GetWeaponManager().GetPreparedMagazine(), null, -1,
vector.Zero, -1);
119 action_data.m_Target = newTarget;
130 super.Start(action_data);
132 Magazine mag = Magazine.Cast(action_data.m_Target.GetObject());
133 action_data.m_Player.GetWeaponManager().LoadBullet(mag,
this);
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
bool HasProgress()
For UI: hiding of progress bar.
bool CanBePerformedFromInventory()
bool CanBePerformedFromQuickbar()
bool SetupAction(PlayerBase player, ActionTarget target, ItemBase item, out ActionData action_data, Param extra_data=NULL)
void CreateConditionComponents()
EntityAI AcquireFirstArrow(bool keepTransform=false)
Base Param Class with no parameters. Used as general purpose parameter overloaded with Param1 to Para...
void Start()
Plays all elements this effects consists of.
void FirearmActionLoadBullet()
FirearmActionLoadBullet FirearmActionBase FirearmActionLoadBulletQuick()
class GP5GasMask extends MaskBase ItemBase