class CfgPatches
{
    class braf_weapons_muzzle
    {
        name = "braf_weapons_muzzle";
        units[] = {};
        weapons[] = {
            "braf_msr_silencer",
            "braf_fal_bayonet",
        };
        requiredVersion = 2.10;
        requiredAddons[] = {"braf_main","braf_weapons_core"};
        author = "BRAF Team";
        authors[] = {"BRAF Team"};
        url = "https://www.brafmod.com.br";
    };
};

class SlotInfo;
class MuzzleSlot : SlotInfo
{
    compatibleItems[] = {"braf_msr_silencer", "braf_fal_bayonet"};
};

class MuzzleSlot_MSR_Remington : MuzzleSlot
{
    class compatibleItems
    {
        braf_msr_silencer = 1;
    };
};

class MuzzleSlot_FAL : MuzzleSlot
{
    class compatibleItems
    {
        braf_fal_bayonet = 1;
    };
};

class cfgWeapons
{
    class ItemCore;
    class InventoryMuzzleItem_Base_F;
    class muzzle_snds_H;
    class MuzzleCoef;

    class braf_fal_bayonet : ItemCore
    {
        author = "BRAF Team";
        _generalMacro = "braf_fal_bayonet";
        scope = 2;
        inertia = 0.1;
        displayName = "$STR_braf_weapons_attach_fal_bayonet_displayname";
        picture = "\braf\braf_weapons_muzzle\fal_bayonet\data\ui\fal_bayonet_ui.paa";
        model = "\braf\braf_weapons_muzzle\fal_bayonet\braf_fal_bayonet.p3d";
        descriptionShort = "$STR_braf_weapons_attach_fal_bayonet_desc";
        HiddenSelections[] = {};
        class Library
        {
            libTextDesc = "$STR_braf_weapons_attach_fal_bayonet_desc";
        };
        HiddenSelectionTextures[] = {};
        dlc = "BRAF";
        htMin = 1;
        htMax = 600;
        afMax = 0;
        mfMax = 0;
        mFact = 1;
        tBody = 100;
        class ItemInfo : InventoryMuzzleItem_Base_F
        {
            mass = 5;
            class AmmoCoef
            {
                hit = 1;
                visibleFire = 0;
                audibleFire = 1;
                visibleFireTime = 0;
                audibleFireTime = 0.5;
                cost = 1;
                typicalSpeed = 1;
                airFriction = 1;
            };
            soundTypeIndex = 0;
            muzzleEnd = "zaslehPoint";
            alternativeFire = "Zasleh2";
            class MuzzleCoef
            {
                dispersionCoef = "1.0f";
                artilleryDispersionCoef = "1.0f";
                fireLightCoef = "1.0f";
                recoilCoef = "1.0f";
                recoilProneCoef = "1.0f";
                minRangeCoef = "1.0f";
                minRangeProbabCoef = "1.0f";
                midRangeCoef = "1.0f";
                midRangeProbabCoef = "1.0f";
                maxRangeCoef = "1.0f";
                maxRangeProbabCoef = "1.0f";
            };
        };
    };

    class braf_msr_silencer : ItemCore
    {
        author = "BRAF Team";
        _generalMacro = "braf_msr_silencer";
        scope = 2;
        inertia = 0.1;
        displayName = "AAC Titan";
        picture = "\braf\braf_weapons_muzzle\msr_silencer\AAC_TITAN_UI.paa";
        model = "\braf\braf_weapons_muzzle\msr_silencer\msr_silencer.p3d";
        descriptionShort = "AAC Titan silencer for the Modular Sniper Rifle(MSR)";
        HiddenSelections[] = {"camo"};
        HiddenSelectionTextures[] = {"\braf\braf_weapons_muzzle\msr_silencer\AAC_TITAN_CO.paa"};
        class ItemInfo : InventoryMuzzleItem_Base_F
        {
            mass = 5;
            class MagazineCoef
            {
                initSpeed = 1.05;
            };
            class AmmoCoef
            {
                hit = 1;
                visibleFire = 0.5;
                audibleFire = 0.3;
                visibleFireTime = 0.5;
                audibleFireTime = 0.5;
                cost = 1;
                typicalSpeed = 1;
                airFriction = 1;
            };
            soundTypeIndex = 1;
            muzzleEnd = "zaslehPoint";
            alternativeFire = "Zasleh2";
            class MuzzleCoef
            {
                dispersionCoef = "0.8f";
                artilleryDispersionCoef = "1.0f";
                fireLightCoef = "0.1f";
                recoilCoef = "1.0f";
                recoilProneCoef = "1.0f";
                minRangeCoef = "1.0f";
                minRangeProbabCoef = "1.0f";
                midRangeCoef = "1.0f";
                midRangeProbabCoef = "1.0f";
                maxRangeCoef = "1.0f";
                maxRangeProbabCoef = "1.0f";
            };
        };
    };
};
