class CfgSkeletons
{
    class Default {
        isDiscrete = 1;
        skeletonInherit = "";
        skeletonBones[] = {};
    };
    class MSRSkeleton: Default
    {
        skeletonBones[]=
        {
			"Bolt",	"",
			"bipod_pivot", "",
			"bipodleg_r", "bipod_pivot",
			"bipodleg_l", "bipod_pivot",
			"bipodfoot_l", "bipodleg_l", 
			"bipodfoot_r", "bipodleg_r", 
			"Bolthandle",	"Bolt",
			"Magazine",	"",
			"casing", "Bolt",
			"Bullet1", "Magazine",
			"Bullet2", "Magazine",
			"Bullet3", "Magazine",
			"Bullet4", "Magazine",
			"Bullet5", "Magazine",
			"ironsights", 	"",
			"Striker", "Bolthandle",
			"Trigger",	"",
			"zasleh",""
        };
    };
};

class CfgModels
{
    class Default {
        selections[] = {};
        selectionsInherit = "";
        skeletonName = "";
    };
    
    class 338_MSR: Default
    {
        sections[]=
        {
            "zasleh","Magazine","Bolt","Trigger","camo","camo2","camo3"
        };
        skeletonName="MSRSkeleton";
	    sectionsInherit = "";
        class Animations
        {
            class muzzleflash_hide
            {
                type="hide";
                source="hasSuppressor";
                selection="zasleh";
                minValue = 0.0;
                maxvalue = 1;
                hideValue = 0.01;
            };
            class bullet1_hide
            {
                type="hide";
                source="revolving";
                selection="bullet1";
                minValue = 0.0;
                maxvalue = 1;
                hideValue = 0.00;
                unhideValue = 0.9;
            };
            class bullet2_hide
            {
                type="hide";
                source="revolving";
                selection="bullet2";
                minValue = 0.0;
                maxvalue = 1;
                hideValue = 0.00;
                unhideValue = 0.8;
            };
            class bullet3_hide
            {
                type="hide";
                source="revolving";
                selection="bullet3";
                minValue = 0.0;
                maxvalue = 1;
                hideValue = 0.00;
                unhideValue = 0.6;
            };
            class bullet4_hide
            {
                type="hide";
                source="revolving";
                selection="bullet4";
                minValue = 0.0;
                maxvalue = 1;
                hideValue = 0.00;
                unhideValue = 0.4;
            };
            class bullet5_hide
            {
                type="hide";
                source="revolving";
                selection="bullet5";
                minValue = 0.0;
                maxvalue = 1;
                hideValue = 0.00;
                unhideValue = 0.2;
            };
            class casing_hide
            {
                type="hide";
                source="isEmpty";
                selection="casing";
                minValue = 0.0;
                maxvalue = 1;
                hideValue = 0.01;
            };
            class bullet1_reload
            {
                type = "translation";
                source = "reload";
                selection = "bullet5";
	            memory=1;
	            axis = "bulletlift_axis";
                minValue = 0.48;
                maxValue = 0.5;
                offset0 = -1;
                offset1 = 0;
            };
            class bullet1_reload2
            {
                type = "translation";
                source = "reload";
                selection = "bullet5";
	            memory=1;
	            axis = "bolt_axis";
                minValue = 0.46;
                maxValue = 0.54;
                offset0 = -1;
                offset1 = 0;
            };
            class bullet1_reload_reset
            {
                type = "translation";
                source = "reload";
                selection = "bullet5";
	            memory=1;
	            axis = "bulletlift_axis";
                minValue = 0.01;
                maxValue = 0.02;
                offset0 = 1;
                offset1 = 0;
            };
            class bullet1_reload2_reset
            {
                type = "translation";
                source = "reload";
                selection = "bullet5";
	            memory=1;
	            axis = "bolt_axis";
                minValue = 0.01;
                maxValue = 0.02;
                offset0 = 1;
                offset1 = 0;
            };
            class bullet1_reload3
            {
                type = "rotation";
                source = "reload";
                selection = "bullet5";
	            memory=1;
	            axis = "bulletrot_axis";
                minValue = 0.49;
                maxValue = 0.50;
	            angle0=0;
                angle1="rad -10";
            };
            class bullet1_reload4
            {
                type = "rotation";
                source = "reload";
                selection = "bullet5";
	            memory=1;
	            axis = "bulletrot_axis";
                minValue = 0.51;
                maxValue = 0.53;
	            angle0=0;
                angle1="rad 10";
            };
            class bolt1
            {
                type = "translation";
                source = "reload";
                selection = "Bolt";
	            memory=1;
	            axis = "bolt_axis";
                begin = "bolt_axis_end";
                end = "bolt_axis_begin";
                minValue = 0.4;
                maxValue = 0.46; //0.09; //"1";
                offset0 = "0";
                offset1 = 0.05;
            };

            class bolt2
            {
                type = "translation";
                source = "reload";
                selection = "Bolt";
	            memory=1;
                axis = "bolt_axis";
                begin = "bolt_axis_end";
                end = "bolt_axis_begin";
                minValue = 0.46;
                maxValue = 0.54; //0.09; //"1";
                offset0 = "0";
                offset1 = 0.95;
            };
            class casing_hide_rechamber
            {
                type="hide";
                source = "reload";
                selection="casing";
                minValue = 0.0;
                maxvalue = 1;
                hideValue =0.01;
                unhideValue =0.66;
            };

            class bolt3
            {
                type = "translation";
                source = "reload";
                selection = "Bolt";
	            memory=1;
	            axis = "bolt_axis";
                begin = "bolt_axis_end";
                end = "bolt_axis_begin";
                minValue = 0.66;
                maxValue = 0.72; //0.09; //"1";
                offset0 = "0";
                offset1 = -0.95;
            };

            class bolt4
            {
                type = "translation";
                source = "reload";
                selection = "Bolt";
	            memory=1;
                axis = "bolt_axis";
                begin = "bolt_axis_end";
                end = "bolt_axis_begin";
                minValue = 0.76;
                maxValue = 0.78; //0.09; //"1";
                offset0 = "0";
                offset1 = -0.05;
            };
            class striker1
            {
                type = "translation";
                source = "reload";
                selection = "striker";
	            memory=1;
                axis = "striker_axis";
                minValue=0.99;
                maxValue=1;
                offset0 = "0";
                offset1 = 1;
            };
            class striker2
            {
                type = "translation";
                source = "reload";
                selection = "striker";
	            memory=1;
                axis = "striker_axis";
                minValue=0.76;
                maxValue=0.8;
                offset0 = "0";
                offset1 = -1;
            };
            class Boltturn1
            {
                type="rotation";
                source="reload";
                selection="BoltHandle";
                axis="bolt_axis";
	            memory=1;
                minValue=0.4;
                maxValue=0.46;
                angle0=0;
                angle1="rad -60";

            };
            class Boltturn2
            {
                type="rotation";
                source="reload";
                selection="BoltHandle";
                axis="bolt_axis";
	            memory=1;
                minValue=0.76;
                maxValue=0.8;
                angle0=0;
                angle1="rad 60";
            };
            class Mag_bolt_rot1
            {
                type="rotation";
                source="reloadmagazine";
                selection="BoltHandle";
                axis="bolt_axis";
	            memory=1;
                minValue=0.70072992;
                maxValue=0.71532846;
                angle0=0;
                angle1="rad -90";

            };
            class Mag_bolt_rot2
            {
                type="rotation";
                source="reloadmagazine";
                selection="BoltHandle";
                axis="bolt_axis";
	            memory=1;
                minValue=0.82481751;
                maxValue=0.84671532;
                angle0=0;
                angle1="rad 90";
            };
    
            class Mag_striker_trans1
            {
                type = "translation";
                source = "reloadmagazine";
                selection = "Bolt";
	            memory=1;
	            axis = "bolt_axis";
                begin = "bolt_axis_end";
                end = "bolt_axis_begin";
                minValue = 0.70802919;
                maxValue = 0.71532846;
                offset0 = "0";
                offset1 = "0.05";
            };
            class Mag_striker_trans1a
            {
                type = "translation";
                source = "reloadmagazine";
                selection = "Bolt";
	            memory=1;
	            axis = "bolt_axis";
                begin = "bolt_axis_end";
                end = "bolt_axis_begin";
                minValue = 0.7299270;
                maxValue = 0.75182481;
                offset0 = "0";
                offset1 = "0.95";
            };

            class Mag_striker_trans2
            {
                type = "translation";
                source = "reloadmagazine";
                selection = "Bolt";
	            memory=1;
                axis = "bolt_axis";
                begin = "bolt_axis_end";
                end = "bolt_axis_begin";
                minValue = 0.79562043;
                maxValue = 0.82481751;
                offset0 = "0";
                offset1 = -0.95;
            };
            class Mag_striker_trans3
            {
                type = "translation";
                source = "reloadmagazine";
                selection = "Bolt";
	            memory=1;
                axis = "bolt_axis";
                begin = "bolt_axis_end";
                end = "bolt_axis_begin";
                minValue = 0.82481751;
                maxValue = 0.84671532;
                offset0 = "0";
                offset1 = -0.05;
            };
            class mag_bullet1_reload
            {
                type = "translation";
                source ="reloadmagazine";
                selection = "bullet5";
	            memory=1;
	            axis = "bulletlift_axis";
                minValue = 0.8;
                maxValue = 0.81;
                offset0 = 0;
                offset1 = -1;
            };
            class mag_bullet1_reload2
            {
                type = "translation";
                source = "reloadmagazine";
                selection = "bullet5";
	            memory=1;
	            axis = "bolt_axis";
                minValue = 0.798;
                maxValue = 0.82481751;
                offset0 = 0;
                offset1 = -1;
            };
            class mag_bullet1_reload3
            {
                type = "rotation";
                source = "reloadmagazine";
                selection = "bullet5";
	            memory=1;
	            axis = "bulletrot_axis";
                minValue = 0.798;
                maxValue = 0.8;
	            angle0=0;
                angle1="rad -10";
            };
            class mag_bullet1_reload4
            {
                type = "rotation";
                source = "reloadmagazine";
                selection = "bullet5";
	            memory=1;
	            axis = "bulletrot_axis";
                minValue = 0.805;
                maxValue = 0.81;
	            angle0=0;
                angle1="rad 10";
            };
            class casing_hide_reload
            {
                type="hide";
                source = "reloadmagazine";
                selection="casing";
                minValue = 0.0;
                maxvalue = 1;
                hideValue =0.75182481;
                unhideValue =0.999;
            };
            class Magmagazine_out
            {
                type = "translation";
                source = "reloadmagazine";
                selection = "magazine";
	            memory=1;
	            axis = "magazine_axis";
                minValue = 0.1459854;
                maxValue = 0.16788321;
                offset0 = "0";
                offset1 = "1";
            };

            class magazine_in1
            {
                type = "translation";
                source = "reloadmagazine";
                selection = "magazine";
	            memory=1;
                axis = "magazine_axis";
                minValue = 0.5109489;
                maxValue = 0.53284671;
                offset0 = "0";
                offset1 = -0.5;
            };
            class magazine_in2
            {
                type = "translation";
                source = "reloadmagazine";
                selection = "magazine";
	            memory=1;
                axis = "magazine_axis";
                minValue = 0.55474452;
                maxValue = 0.57664233;
                offset0 = "0";
                offset1 = -0.5;
            };
            class magazine_hide
            {
                type="hide";
                source="reloadMagazine";
                selection="Magazine";
                minValue=0;
                maxValue=1;
                hideValue=0.16788321;
	            unhideValue=0.50364963;
            };

            class unloaded_magazine_hide {
                type = "hide";
                source = "hasMagazine";
                selection = "Magazine";
                hideValue = 0.1;
			};
            class toprail_hide
            {
                type="hide";
                source="hasOptics";
                selection="ironsights";
                minValue = 0;
                maxvalue = 1;
                hideValue = 0.5;
            };
	   		class legspivot
            {
               type            = rotation;
               source          = bipod;        /// this one is for an attachment, weapon itself would have just bipod
               sourceAddress   = clamp;
               selection       = "bipod_pivot";
               axis            = "bipod_axis1";
               minValue        = 0;
               maxValue        = 1;
               angle0          = (rad -90);
               angle1          = (rad 0);
            };
		    class bipodranslate
            {
               type            = translation;
               source          = bipod;        /// this one is for an attachment, weapon itself would have just bipod
               sourceAddress   = clamp;
               selection       = "bipod_pivot";
               axis            = "bipod_axis2";
               minValue        = 0;
               maxValue        = 0.2;
                offset0 = "0";
                offset1 = "-1";
            };
		    class bipodranslate2
            {
               type            = translation;
               source          = bipod;        /// this one is for an attachment, weapon itself would have just bipod
               sourceAddress   = clamp;
               selection       = "bipod_pivot";
               axis            = "bipod_axis2";
               minValue        = 0.2;
               maxValue        = 1;
                offset0 = "0";
                offset1 = "1";
            };
		   	class legsL
            {
               type            = rotation;
               source          = bipod;        /// this one is for an attachment, weapon itself would have just bipod
               sourceAddress   = clamp;
               selection       = "Bipodleg_L";
               axis            = "bipod_axis2";
               minValue        = 0.2;
               maxValue        = 1;
               angle0          = (rad 25);
               angle1	= rad 0;
            };
		   	class legsR
            {
               type            = rotation;
               source          = bipod;        /// this one is for an attachment, weapon itself would have just bipod
               sourceAddress   = clamp;
               selection       = "bipodleg_R";
               axis            = "bipod_axis2";
               minValue        = 0.2;
               maxValue        = 1;
               angle0          = (rad -25);
               angle1	= rad 0;
			};
        };
    };
};