class braf_HK417_base: Rifle_Base_F {
	magazines[] = {"20Rnd_762x51_HK417_mag","20Rnd_762x51_HK417_Tracer_yellow_mag","20Rnd_762x51_HK417_Tracer_green_mag","20Rnd_762x51_HK417_Tracer_red_mag"}; /// original custom made magazines and a group of several standardized mags
	reloadAction = "GestureReloadSPAR_01";
	magazineReloadSwitchPhase = 0.4;
	discreteDistanceInitIndex = 0;
	recoil = "recoil_spar";
	maxRecoilSway=0.0125;
    swayDecaySpeed=1.25;
	inertia = 0.5;
	initSpeed = -1;
	class GunParticles : GunParticles
	{
		class SecondEffect
		{
			positionName = "Nabojnicestart";
			directionName = "Nabojniceend";
			effectName = "CaselessAmmoCloud";
		};
	};
	class WeaponSlotsInfo: WeaponSlotsInfo
	{
		mass = 94;
		class MuzzleSlot: MuzzleSlot
		{
			linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE";
			compatibleItems[] = {"muzzle_snds_B"};
			iconPosition[] = {0.0, 0.45};
			iconScale = 0.2;
			iconPicture = "\A3\Weapons_F\Data\UI\attachment_muzzle.paa";
			iconPinpoint = "Center";
		};
		class CowsSlot: asdg_OpticRail1913
		{
		};
		class PointerSlot: asdg_FrontSideRail
		{
		};
		class UnderBarrelSlot: UnderBarrelSlot
		{
			iconPosition[] = {0.2, 0.7};
			iconScale = 0.2;
			compatibleItems[] = {"bipod_01_F_blk","bipod_02_F_blk","bipod_03_F_blk","bipod_01_F_khk","bipod_01_F_snd","bipod_01_F_mtp","bipod_02_F_tan","bipod_02_F_hex","bipod_03_F_oli"};
		};
	};
	opticsZoomMin=0.375;
	opticsZoomMax=1.1;
	opticsZoomInit=0.75;
	distanceZoomMin = 300;
	distanceZoomMax = 300;
	descriptionlong = "AMF HK 417 F-S Long";
	handAnim[] = {"OFP2_ManSkeleton", "\A3\Weapons_F\Rifles\MX\data\Anim\MX_cqc.rtm"};
	dexterity = 1.8;
	selectionFireAnim = "muzzleFlash";
	bullet1[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Metal_01", 0.446684, 1, 15};
	bullet2[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Metal_02", 0.446684, 1, 15};
	bullet3[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Metal_03", 0.446684, 1, 15};
	bullet4[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Metal_04", 0.446684, 1, 15};
	bullet5[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Dirt_01", 0.562341, 1, 15};
	bullet6[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Dirt_02", 0.562341, 1, 15};
	bullet7[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Dirt_03", 0.562341, 1, 15};
	bullet8[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Dirt_04", 0.562341, 1, 15};
	bullet9[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Grass_01", 0.562341, 1, 15};
	bullet10[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Grass_02", 0.562341, 1, 15};
	bullet11[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Grass_03", 0.562341, 1, 15};
	bullet12[] = {"A3\sounds_f\weapons\shells\7_62\Shellcase_762_Grass_04", 0.562341, 1, 15};
	soundBullet[] = {"bullet1", 0.087, "bullet2", 0.083, "bullet3", 0.083, "bullet4", 0.083, "bullet5", 0.083, "bullet6", 0.083, "bullet7", 0.083, "bullet8", 0.083, "bullet9", 0.083, "bullet10", 0.083, "bullet11", 0.083, "bullet12", 0.083};
	drySound[]                       = {"A3\Sounds_F_Exp\arsenal\weapons\Rifles\SPAR01\SPAR01_dry",0.63095737,1,30};
    changeFiremodeSound[]            = {"A3\Sounds_F_Exp\arsenal\weapons\Rifles\SPAR01\SPAR01_firemode",0.25118864,1,5};
    reloadMagazineSound[]            = {"A3\Sounds_F_Exp\arsenal\weapons\Rifles\SPAR01\SPAR01_reload",1.0,1,10};
    modes[]                          = {"SemiAuto","Fullauto","single_medium_optics1","single_far_optics2"};
    class SemiAuto : Mode_SemiAuto
    {
        sounds[]                     = {"StandardSound","SilencedSound"};
       	class BaseSoundModeType;	// External class reference
		class StandardSound : BaseSoundModeType {
			soundSetShot[] = {"SPAR_17_Shot_SoundSet", "SPAR_17_Tail_SoundSet", "SPAR_17_interiorTail_SoundSet"};
		};
		class SilencedSound : BaseSoundModeType {
			soundSetShot[] = {"SPAR_17_silencerShot_SoundSet", "SPAR_17_silencerTail_SoundSet", "SPAR_17_silencerInteriorTail_SoundSet"};
		};
        reloadTime                   = 0.090;
        recoil                       = "recoil_single_primary_3outof10";
        recoilProne                  = "recoil_single_primary_prone_3outof10";
        dispersion                   = 0.0002;
        minRange                     = 2;
        minRangeProbab               = 0.3;
        midRange                     = 350;
        midRangeProbab               = 0.7;
        maxRange                     = 500;
        maxRangeProbab               = 0.05;
    };
    class FullAuto : Mode_FullAuto
    {
        sounds[]                     = {"StandardSound","SilencedSound"};
        class BaseSoundModeType;
		class StandardSound : BaseSoundModeType {
			soundSetShot[] = {"SPAR_17_Shot_SoundSet", "SPAR_17_Tail_SoundSet", "SPAR_17_interiorTail_SoundSet"};
		};
		class SilencedSound : BaseSoundModeType {
			soundSetShot[] = {"SPAR_17_silencerShot_SoundSet", "SPAR_17_silencerTail_SoundSet", "SPAR_17_silencerInteriorTail_SoundSet"};
		};
        reloadTime                   = 0.090;
        recoil                       = "recoil_auto_primary_3outof10";
        recoilProne                  = "recoil_auto_primary_prone_3outof10";
        dispersion                   = 0.0002;
        minRange                     = 0;
        minRangeProbab               = 0.9;
        midRange                     = 15;
        midRangeProbab               = 0.7;
        maxRange                     = 30;
        maxRangeProbab               = 0.05;
        aiRateOfFire                 = 1e-006;
    };
	
	class single_medium_optics1: SemiAuto /// Pew for AI with collimator sights
	{
		requiredOpticType = 1;
		showToPlayer = 0;
		minRange = 2; minRangeProbab = 0.2;
		midRange = 450; midRangeProbab = 0.7;
		maxRange = 600; maxRangeProbab = 0.2;
		aiRateOfFire = 6;
		aiRateOfFireDistance = 600;
	};
	class single_far_optics2: single_medium_optics1	/// Pew for AI with better sights
	{
		requiredOpticType = 2;
		showToPlayer = 0;
		minRange = 100; minRangeProbab = 0.1;
		midRange = 500; midRangeProbab = 0.6;
		maxRange = 700; maxRangeProbab = 0.05;
		aiRateOfFire = 8;
		aiRateOfFireDistance = 700;
	};
		 
	aiDispersionCoefY=6.0; /// AI should have some degree of greater dispersion for initial shoots
	aiDispersionCoefX=4.0; /// AI should have some degree of greater dispersion for initial shoots
};

class braf_HK417: braf_HK417_base
{
	scope = 2;
	author = "Haxxerd & AMF TEAM";
	displayName = "HK 417A2";
	model = "\braf\braf_weapons_sniper_rifles\762mm_HK417\AMF_417_long.p3d";
	picture = "\braf\braf_weapons_sniper_rifles\762mm_HK417\Data\UI\gear_AMF_714_Long_01_x_ca.paa";
	UiPicture = "\braf\braf_weapons_sniper_rifles\762mm_HK417\Data\UI\gear_AMF_714_Long_01_x_ca.paa";
	handAnim[] = {"OFP2_ManSkeleton", "\A3\Weapons_F_Exp\Rifles\SPAR_01\Data\Anim\SPAR_01.rtm"};
	weaponInfoType = "RscWeaponZeroing";
	rhs_grip2_change = "amf_714_long_gripv_01_f";
	rhs_grip3_change = "amf_714_long_gript_01_f";
	rhs_grip4_change = "amf_714_long_gripv_tan_f";
	rhs_grip5_change = "amf_714_long_gript_tan_f";
	class WeaponSlotsInfo: WeaponSlotsInfo
	{
		mass = 94;
		allowedSlots[] = {901};
		class MuzzleSlot: MuzzleSlot
		{
			linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE";
			compatibleItems[] = {"muzzle_snds_M"};
			iconPosition[] = {0.0, 0.45};
			iconScale = 0.2;
			iconPicture = "\A3\Weapons_F\Data\UI\attachment_muzzle.paa";
			iconPinpoint = "Center";
		};
		class CowsSlot: asdg_OpticRail1913
		{
		};
		class PointerSlot: asdg_FrontSideRail
		{
		};
		class UnderBarrelSlot: UnderBarrelSlot
		{
			iconPosition[] = {0.2, 0.7};
			iconScale = 0.2;
			compatibleItems[] = {"bipod_01_F_blk","bipod_02_F_blk","bipod_03_F_blk","bipod_01_F_khk","bipod_01_F_snd","bipod_01_F_mtp","bipod_02_F_tan","bipod_02_F_hex","bipod_03_F_oli"};
		};
	};
};