FirearmActionMechanicManipulate.c
class FirearmActionMechanicManipulate : FirearmActionBase
{
void FirearmActionLoadBulletQuick()
{
}
override bool HasTarget()
{
return false;
}
override typename GetInputType()
{
return WeaponManipulationActionInput;
}
override void CreateConditionComponents()
{
m_ConditionItem = new CCINonRuined();
m_ConditionTarget = new CCTSelf;
}
override bool HasProgress()
{
return false;
}
override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item ) //condition for action
{
if (!super.ActionCondition( player, target, item ))
return false;
bool result = false;
Weapon_Base wpn = Weapon_Base.Cast(item);
if ( player.GetWeaponManager().CanEjectBullet(wpn))
{
if( g_Game.IsServer() && g_Game.IsMultiplayer() )
{
result = true;
}
else
{
if( player.GetWeaponManager().CanEjectBulletVerified() )
{
result = true;
}
player.GetWeaponManager().SetEjectBulletTryTimestamp();
}
}
return result;
}
override void Start( ActionData action_data )
{
super.Start( action_data );
action_data.m_Player.GetWeaponManager().EjectBulletVerified( this );
}
};