PP19.c
/**@class PP19_Base
* @brief basic PP19 submachine gun
**/
class PP19_Base : RifleBoltFree_Base
{
void PP19_Base()
{
}
override RecoilBase SpawnRecoilObject()
{
return new PP19Recoil(this);
}
//some command is different for this weapon
override int GetWeaponSpecificCommand(int weaponAction ,int subCommand)
{
if ( weaponAction == WeaponActions.CHAMBERING)
{
switch (subCommand)
{
case WeaponActionChamberingTypes.CHAMBERING_ONEBULLET_UNIQUE_CLOSED:
return WeaponActionChamberingTypes.CHAMBERING_ONEBULLET_OPENED;
default:
return subCommand;
}
}
return subCommand;
}
override bool CanEnterIronsights()
{
ItemOptics optic = GetAttachedOptics();
if (optic && PSO1Optic.Cast(optic) || PSO11Optic.Cast(optic) || PSO6Optic.Cast(optic) || KazuarOptic.Cast(optic))
return true;
return super.CanEnterIronsights();
}
//Debug menu Spawn Ground Special
override void OnDebugSpawn()
{
GameInventory inventory = GetInventory();
inventory.CreateInInventory( "PistolSuppressor" );
inventory.CreateInInventory( "PP19_Bttstck" );
inventory.CreateInInventory( "KobraOptic" );
inventory.CreateInInventory( "Battery9V" );
SpawnAttachedMagazine("Mag_PP19_64Rnd");
}
};