class VSS_Base : RifleBoltFree_Base { override RecoilBase SpawnRecoilObject() { return new VSSRecoil(this); } override void OnDebugSpawn() { EntityAI entity; if ( Class.CastTo(entity, this) ) { entity.GetInventory().CreateInInventory( "PSO1Optic" ); SpawnAttachedMagazine("Mag_Vikhr_30Rnd"); } } }; class VSS : VSS_Base { override bool CanEnterIronsights() { ItemOptics optic = GetAttachedOptics(); if (optic && PSO1Optic.Cast(optic) || PSO11Optic.Cast(optic) || KazuarOptic.Cast(optic)) return true; return super.CanEnterIronsights(); } }; class ASVAL : VSS_Base {}; class Vikhr : VSS_Base { override bool CanEnterIronsights() { ItemOptics optic = GetAttachedOptics(); if (optic && PSO1Optic.Cast(optic) || PSO11Optic.Cast(optic) || KazuarOptic.Cast(optic)) return true; return super.CanEnterIronsights(); } };