class braf_HK416_long_base : Rifle_Base_F { magazines[] = { "braf_30Rnd_556x45", "braf_20Rnd_556x45", "braf_30Rnd_556x45_red", "braf_30Rnd_556x45_green", "braf_30Rnd_556x45_yellow", "braf_30Rnd_556x45_Blank", "30Rnd_556x45_Stanag", "30Rnd_556x45_Stanag_green", "30Rnd_556x45_Stanag_red", "30Rnd_556x45_Stanag_Tracer_Red", "30Rnd_556x45_Stanag_Tracer_Green", "30Rnd_556x45_Stanag_Tracer_Yellow", }; /// original custom made magazines and a group of several standardized mags magazineWell[]= { "BRAF_Stanag_556", "STANAG_556x45", "STANAG_556x45_Large" }; reloadAction = "GestureReloadSPAR_01"; /// MX hand animation actually fits this rifle well magazineReloadSwitchPhase = 0.4; /// part of reload animation when new magazine ammo count should affect "revolving" animation source discreteDistanceInitIndex = 0; /// Ironsight zeroing is the lowest value by default recoil = "recoil_spar"; maxRecoilSway = 0.0125; swayDecaySpeed = 1.25; inertia = 0.5; initSpeed = -1; /// this means that initSpeed of magazine is used class GunParticles : GunParticles { class SecondEffect { positionName = "Nabojnicestart"; directionName = "Nabojniceend"; effectName = "CaselessAmmoCloud"; }; }; class WeaponSlotsInfo : WeaponSlotsInfo { mass = 92; class MuzzleSlot : MuzzleSlot { linkProxy="\A3\data_f\proxies\weapon_slots\MUZZLE"; compatibleItems[]= { "muzzle_snds_M" }; iconPosition[]={0.12,0.43099999}; iconScale=0.15000001; }; class CowsSlot : asdg_OpticRail1913 /// default accessories for this slot { }; class PointerSlot : asdg_FrontSideRail /// default accessories for this slot { }; class UnderBarrelSlot : UnderBarrelSlot /// using AMF bipod { iconPosition[] = {0.2, 0.7}; iconScale = 0.2; compatibleItems[] = {}; }; }; opticsZoomMin = 0.375; opticsZoomMax = 1.1; opticsZoomInit = 0.75; distanceZoomMin = 300; distanceZoomMax = 300; descriptionShort = "AMF HK 416 F Long"; /// displayed on mouseOver in Inventory handAnim[] = {"OFP2_ManSkeleton", "\braf\braf_weapons_anim\animations\556mm_HK416\amf_hand_nogrip.rtm"}; /// hand animation actually fits this rifle well dexterity = 1.8; selectionFireAnim = "muzzleFlash"; /// are we able to get rid of all the zaslehs? 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\5_56\Shellcase_556_Dirt_01", 0.562341, 1, 15}; bullet6[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Dirt_02", 0.562341, 1, 15}; bullet7[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Dirt_03", 0.562341, 1, 15}; bullet8[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Dirt_04", 0.562341, 1, 15}; bullet9[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Grass_01", 0.562341, 1, 15}; bullet10[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Grass_02", 0.562341, 1, 15}; bullet11[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_Grass_03", 0.562341, 1, 15}; bullet12[] = {"A3\sounds_f\weapons\shells\5_56\Shellcase_556_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; class StandardSound : BaseSoundModeType { soundSetShot[] = {"SPAR01_Shot_SoundSet", "SPAR01_Tail_SoundSet", "SPAR01_InteriorTail_SoundSet"}; }; class SilencedSound : BaseSoundModeType { SoundSetShot[] = {"SPAR01_silencerShot_SoundSet", "SPAR01_silencerTail_SoundSet", "SPAR01_silencerInteriorTail_SoundSet"}; }; reloadTime = 0.070; 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[] = {"SPAR01_Shot_SoundSet", "SPAR01_Tail_SoundSet", "SPAR01_InteriorTail_SoundSet"}; }; class SilencedSound : BaseSoundModeType { SoundSetShot[] = {"SPAR01_silencerShot_SoundSet", "SPAR01_silencerTail_SoundSet", "SPAR01_silencerInteriorTail_SoundSet"}; }; reloadTime = 0.070; 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; }; class HK269_F : UGL_F /// Some grenade launcher to have some more fun { displayName = "AMF HK269"; descriptionShort = "AMF HK269"; author = "LKDSG & AMF TEAM"; useModelOptics = false; useExternalOptic = false; /// Doesn't use optics from the attachment, has it's own cameraDir = "OP_look"; discreteDistance[] = {100, 200, 300, 400}; discreteDistanceCameraPoint[] = {"OP_eye", "OP_eye2", "OP_eye3", "OP_eye4"}; /// the angle of gun changes with zeroing discreteDistanceInitIndex = 1; /// 200 is the default zero }; 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_HK416_short_base : Rifle_Base_F { magazines[] = { "braf_30Rnd_556x45", "braf_20Rnd_556x45", "braf_30Rnd_556x45_red", "braf_30Rnd_556x45_green", "braf_30Rnd_556x45_yellow", "braf_30Rnd_556x45_Blank", "30Rnd_556x45_Stanag", "30Rnd_556x45_Stanag_green", "30Rnd_556x45_Stanag_red", "30Rnd_556x45_Stanag_Tracer_Red", "30Rnd_556x45_Stanag_Tracer_Green", "30Rnd_556x45_Stanag_Tracer_Yellow", }; /// original custom made magazines and a group of several standardized mags magazineWell[]= { "BRAF_Stanag_556", "STANAG_556x45", "STANAG_556x45_Large" }; reloadAction = "GestureReloadSPAR_01"; magazineReloadSwitchPhase = 0.4; /// part of reload animation when new magazine ammo count should affect "revolving" animation source discreteDistanceInitIndex = 0; /// Ironsight zeroing is the lowest value by default handAnim[] = {"OFP2_ManSkeleton", \braf\braf_weapons_anim\animations\556mm_HK416\amf_hand_nogrip.rtm}; dexterity = 3.1; maxRecoilSway = 0.0125; swayDecaySpeed = 1.25; inertia = 0.5; initSpeed = -1; /// this means that initSpeed of magazine is used class GunParticles : GunParticles { class SecondEffect { positionName = "Nabojnicestart"; directionName = "Nabojniceend"; effectName = "CaselessAmmoCloud"; }; }; class WeaponSlotsInfo : WeaponSlotsInfo { mass = 92; class MuzzleSlot : MuzzleSlot { linkProxy="\A3\data_f\proxies\weapon_slots\MUZZLE"; compatibleItems[]= { "muzzle_snds_M" }; iconPosition[]={0.12,0.43099999}; iconScale=0.15000001; }; class CowsSlot : asdg_OpticRail1913 {}; class PointerSlot : asdg_FrontSideRail {}; class UnderBarrelSlot : UnderBarrelSlot { iconPosition[] = {0.2, 0.7}; iconScale = 0.2; compatibleItems[] = {}; }; }; opticsZoomMin = 0.375; opticsZoomMax = 1.1; opticsZoomInit = 0.75; distanceZoomMin = 300; distanceZoomMax = 300; descriptionShort = "AMF HK 416 Short"; /// displayed on mouseOver in Inventory selectionFireAnim = "muzzleFlash"; /// are we able to get rid of all the zaslehs? 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}; class SemiAuto : Mode_SemiAuto { sounds[] = {"StandardSound", "SilencedSound"}; class BaseSoundModeType; class StandardSound : BaseSoundModeType { soundSetShot[] = {"SPAR01_Shot_SoundSet", "SPAR01_Tail_SoundSet", "SPAR01_InteriorTail_SoundSet"}; }; class SilencedSound : BaseSoundModeType { SoundSetShot[] = {"SPAR01_silencerShot_SoundSet", "SPAR01_silencerTail_SoundSet", "SPAR01_silencerInteriorTail_SoundSet"}; }; reloadTime = 0.070; 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[] = {"SPAR01_Shot_SoundSet", "SPAR01_Tail_SoundSet", "SPAR01_InteriorTail_SoundSet"}; }; class SilencedSound : BaseSoundModeType { SoundSetShot[] = {"SPAR01_silencerShot_SoundSet", "SPAR01_silencerTail_SoundSet", "SPAR01_silencerInteriorTail_SoundSet"}; }; reloadTime = 0.070; 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; }; 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_HK416_long : braf_HK416_long_base { scope = 2; /// should be visible and useable in game author = "ARNIE & AMF TEAM"; displayName = "HK 416 D16.5"; /// some name model = "\braf\braf_weapons_assault_rifles\556mm_HK416\amf_416_long.p3d"; /// path to model picture = "\braf\braf_weapons_assault_rifles\556mm_HK416\Data\UI\gear_amf_614_long_01_x_ca.paa"; /// different accessories have M, S, T instead of X UiPicture = "\braf\braf_weapons_assault_rifles\556mm_HK416\Data\UI\gear_amf_614_long_01_x_ca.paa"; /// weapon should be marked such way handAnim[] = {"OFP2_ManSkeleton", "\braf\braf_weapons_anim\animations\556mm_HK416\amf_hand_nogrip.rtm"}; weaponInfoType = "RscWeaponZeroing"; /// display with zeroing is good for iron sights rhs_grip2_change = "amf_614_gripv_01_f"; rhs_grip3_change = "amf_614_gript_01_f"; class WeaponSlotsInfo : WeaponSlotsInfo { mass = 92; allowedSlots[] = {901}; class MuzzleSlot : MuzzleSlot { }; class CowsSlot : asdg_OpticRail1913 /// default accessories for this slot { }; class PointerSlot : asdg_FrontSideRail /// default accessories for this slot { }; }; }; class braf_HK416_short : braf_HK416_short_base { scope = 2; author = "ARNIE & AMF TEAM"; displayName = "HK 416 D10"; dexterity = 3.1; model = "\braf\braf_weapons_assault_rifles\556mm_HK416\AMF_416_short.p3d"; picture = "\braf\braf_weapons_assault_rifles\556mm_HK416\Data\UI\gear_AMF_614_short_X_CA.paa"; UiPicture = "\A3\Weapons_F\Data\UI\icon_gl_CA.paa"; handAnim[] = {"OFP2_ManSkeleton", "\a3\weapons_f_exp\rifles\spar_01\data\anim\spar_01.rtm"}; weaponInfoType = "RscWeaponZeroing"; rhs_grip2_change = "amf_614s_gripv_01_f"; rhs_grip3_change = "amf_614s_gript_01_f"; class WeaponSlotsInfo : WeaponSlotsInfo { mass = 92; allowedSlots[] = {901}; class MuzzleSlot : MuzzleSlot { }; class CowsSlot : asdg_OpticRail1913 { }; class PointerSlot : asdg_FrontSideRail { }; }; };