vss.c 862 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. class VSS_Base : RifleBoltFree_Base
  2. {
  3. override RecoilBase SpawnRecoilObject()
  4. {
  5. return new VSSRecoil(this);
  6. }
  7. override void OnDebugSpawn()
  8. {
  9. EntityAI entity;
  10. if ( Class.CastTo(entity, this) )
  11. {
  12. entity.GetInventory().CreateInInventory( "PSO1Optic" );
  13. SpawnAttachedMagazine("Mag_Vikhr_30Rnd");
  14. }
  15. }
  16. };
  17. class VSS : VSS_Base
  18. {
  19. override bool CanEnterIronsights()
  20. {
  21. ItemOptics optic = GetAttachedOptics();
  22. if (optic && PSO1Optic.Cast(optic) || PSO11Optic.Cast(optic) || KazuarOptic.Cast(optic))
  23. return true;
  24. return super.CanEnterIronsights();
  25. }
  26. };
  27. class ASVAL : VSS_Base {};
  28. class Vikhr : VSS_Base
  29. {
  30. override bool CanEnterIronsights()
  31. {
  32. ItemOptics optic = GetAttachedOptics();
  33. if (optic && PSO1Optic.Cast(optic) || PSO11Optic.Cast(optic) || KazuarOptic.Cast(optic))
  34. return true;
  35. return super.CanEnterIronsights();
  36. }
  37. };