class CfgSkeletons
{
    class Default
    {
        isDiscrete = 1;
        skeletonInherit = "";
        skeletonBones[] = {};
    };
    class ColtSkeleton : Default
    {
        skeletonBones[] =
            {
                "Magazine", "",
                "topround", "Magazine",
                "Aperture", "",
                "Rear_adjust", "",
                "Bolt", "",
                "Bolt_lmg", "",
                "laddersight", "",
                "mount", "",
                "magrelease", "",
                "boltcatch", "",
                "Trigger", "",
                "Selector", "",
                "zarelho", "",
                "zarelho_2", "",
                "alsa", "",
                "upper", "",
                "trilho_frontal", "",
                "Break", "",
                "zasleh", "",
                "moyeu", "",
                "optc", "",
                "alca_transp", "",

                "branch_l", "moyeu",
                "branch_r", "moyeu"};
    };
};

class CfgModels
{
    class Default
    {
        selections[] = {};
        selectionsInherit = "";
        skeletonName = "";
    };

    class Colt : Default
    {
        sections[] =
            {
        "zasleh", "Magazine", "Bolt", "Trigger", "Break", "mount", "trilho_frontal", "upper", "lower", "Barrel", "Stock", "Camo", "Camo1", "Camo2", "Camo3","Camo4" };
        skeletonName = "ColtSkeleton";
        sectionsInherit = "";
        class Animations
        {

            class toprail_hide
            {
                type = "hide";
                source = "hasOptics";
                selection = "mount";
                minValue = 0;
                maxvalue = 1;
                hideValue = 0;
                unhidevalue = 0.5;
            };
            class acessory_rail
            {
                type = "hide";
                source = "hasAccessory";
                selection = "trilho_frontal";
                minValue = 0;
                maxValue = 1;
                hideValue = -1.0;
                unhideValue = 0.5;
            };
            class muzzlebreak_hide
            {
                type = "hide";
                source = "hasSuppressor";
                selection = "Break";
                minValue = 0.0;
                maxvalue = 0.25;
                hideValue = 0.01;
            };
            class magazine_hide
            {
                type = "hide";
                source = "reloadMagazine";
                selection = "Magazine";
                minValue = 0.0;
                maxValue = 1;
                hideValue = 0.15;
                unhideValue = 0.49;
            };
            class Aperture_knob_adjust
            {
                type = "rotation";
                source = "zeroing1";
                selection = "rear_adjust";
                axis = "apadjust_axis";
                minValue = 0.333;
                maxValue = 1;
                angle1 = rad 180;
                angle0 = 0;
            };
            //All the angles in here are all Reyhards work
            //#define RANGE_CH_100
            //    minValue = 0.166 - 0.01;
            //    maxValue = 0.166 * 1;
            //#define RANGE_CH_200
            //    minValue = 0.166 * 2 - 0.01;
            //    maxValue = 0.166 * 2;
            //#define RANGE_CH_300
            //    minValue = 0.166 * 3 - 0.01;
            //    maxValue = 0.166 * 3;
            //#define RANGE_CH_400
            //    minValue = 0.166 * 4 - 0.01;
            //    maxValue = 0.166 * 4;
            //#define RANGE_CH_500
            //    minValue = 0.166 * 5 - 0.01;
            //    maxValue = 0.166 * 5;
            //#define RANGE_CH_600
            //    minValue = 0.166 * 6 - 0.01;
            //    maxValue = 0.166 * 6;
            class Range_100_move : Aperture_knob_adjust
            {
                type = translation;
                selection = "aperture";
                axis = "aperture_axis";
                minValue = 0.166 - 0.01;
                maxValue = 0.166 * 1;
                offset0 = 0.02;
                offset1 = -0.005;
            };
            class Range_200_move : Range_100_move
            {
                minValue = 0.166 * 2 - 0.01;
                maxValue = 0.166 * 2;
                offset1 = 0.009;
            };
            class Range_300_move : Range_200_move
            {
                    minValue = 0.166 * 3 - 0.01;
                    maxValue = 0.166 * 3;
                    offset1 = -0.012;
            };
            class Range_400_move : Range_200_move
            {
                    minValue = 0.166 * 4 - 0.01;
                    maxValue = 0.166 * 4;
                    offset1 = -0.035;
            };
            class Range_500_move : Range_200_move
            {
                    minValue = 0.166 * 5 - 0.01;
                    maxValue = 0.166 * 5;
                    offset1 = -0.055;
            };
            class Range_600_move : Range_400_move
            {
                    minValue = 0.166 * 6 - 0.01;
                    maxValue = 0.166 * 6;
                    offset1 = -0.06;
            };

            class magazine_move1
            {
                type = "translation";
                source = "reloadMagazine";
                selection = "Magazine";
                axis = "Magazine_axis";
                minValue = 0.12;
                maxValue = 0.15; //0.09; //"1";
                offset0 = "0";
                offset1 = "1";
            };
            class magazine_move2
            {
                type = "translation";
                source = "reloadMagazine";
                selection = "Magazine";
                axis = "Magazine_axis";
                minValue = 0.51666;
                maxValue = 0.57; //0.09; //"1";
                offset0 = "0";
                offset1 = "-1";
            };
            class magrelease_move1
            {
                type = "translation";
                source = "reloadMagazine";
                selection = "Magrelease";
                axis = "Magrelease_axis";
                minValue = 0.1;
                maxValue = 0.11; //0.09; //"1";
                offset0 = "0";
                offset1 = "1";
            };
            class magrelease_move2
            {
                type = "translation";
                source = "reloadMagazine";
                selection = "Magrelease";
                axis = "Magrelease_axis";
                minValue = 0.15;
                maxValue = 0.17; //0.09; //"1";
                offset0 = "0";
                offset1 = "-1";
            };
            class bolt
            {
                type = "translation";
                source = "reload";
                selection = "Bolt";
                axis = "bolt_axis";
                begin = "bolt_axis_end";
                end = "bolt_axis_begin";
                minValue = 0;
                maxValue = 0.5; //0.09; //"1";
                offset0 = "0";
                offset1 = "1";
            };
            class bolt2
            {
                type = "translation";
                source = "reload";
                selection = "Bolt";
                axis = "bolt_axis";
                begin = "bolt_axis_end";
                end = "bolt_axis_begin";
                minValue = 0.5;
                maxValue = 1; //0.09; //"1";
                offset0 = "0";
                offset1 = "-1";
            };
            class bolt_reload1
            {
                type = "translation";
                source = "reloadmagazine";
                selection = "Bolt";
                axis = "bolt_axis";
                begin = "bolt_axis_end";
                end = "bolt_axis_begin";
                minValue = 0;
                maxValue = 0.0001; //0.09; //"1";
                offset0 = "0";
                offset1 = "1";
            };
            class bolt2_reload
            {
                type = "translation";
                source = "reloadmagazine";
                selection = "Bolt";
                axis = "bolt_axis";
                begin = "bolt_axis_end";
                end = "bolt_axis_begin";
                minValue = 0.7333;
                maxValue = 0.75;
                offset0 = "0";
                offset1 = "-1";
            };
            class bolt_empty
            {
                type = "translationx";
                source = "isEmptyNoReload";
                selection = "Bolt";
                axis = "";
                animPeriod = 0;
                minValue = 0;
                maxValue = 0.09; //10;
                offset0 = "0";
                offset1 = "1";
            };
            class boltlock_empty
            {
                type = "rotation";
                source = "isEmpty";
                selection = "Boltcatch";
                axis = "boltcatch_axis";
                animPeriod = 0;
                minValue = 0;
                maxValue = 1; //10;
                angle1 = rad 12;
                angle0 = 0;
            };
            class bolt_Lmg
            {
                type = "translation";
                source = "reload";
                selection = "Bolt_lmg";
                axis = "bolt_axis";
                begin = "bolt_axis_end";
                end = "bolt_axis_begin";
                minValue = 0;
                maxValue = 0.5; //0.09; //"1";
                offset0 = "1";
                offset1 = "0";

                //minValue = 0;
                //maxValue = 0.5; //0.09; //"1";
                //offset0 = "0";
                //offset1 = "1";
            };
            class bolt2_Lmg
            {
                type = "translation";
                source = "reload";
                selection = "Bolt_lmg";
                axis = "bolt_axis";
                begin = "bolt_axis_end";
                end = "bolt_axis_begin";
                minValue = 0.5;
                maxValue = 1; //0.09; //"1";
                offset0 = "-1";
                offset1 = "0";

                //minValue = 0.5;
                //maxValue = 1; //0.09; //"1";
                //offset0 = "0";
                //offset1 = "-1";
            };
            //class bolt_reload1_Lmg
            //{
            //    type = "translation";
            //    source = "reloadmagazine";
            //    selection = "Bolt_lmg";
            //    axis = "bolt_axis";
            //    begin = "bolt_axis_end";
            //    end = "bolt_axis_begin";
            //    minValue = 0;
            //    maxValue = 0.0001; //0.09; //"1";
            //    offset0 = "1";
            //    offset1 = "0";
            //};
            //class bolt2_reload_Lmg
            //{
            //    type = "translation";
            //    source = "reloadmagazine";
            //    selection = "Bolt_lmg";
            //    axis = "bolt_axis";
            //    begin = "bolt_axis_end";
            //    end = "bolt_axis_begin";
            //    minValue = 0.7333;
            //    maxValue = 0.75;
            //    offset0 = "-1";
            //    offset1 = "0";
            //};
            //class bolt_empty_Lmg
            //{
            //    type="translationx";
            //	source = "isEmptyNoReload";
            //    selection="Bolt_lmg";
            //    axis="";
            //    animPeriod=0;
            //    minValue=-0.07;
            //    maxValue=0; //10;
            //    offset0 = "1";
            //    offset1 = "0";
            //};
            class bolt_empty_Lmg
            {
                type = "translation";
                source = "isEmpty";
                selection = "Bolt_lmg";
                axis = "bolt_axis";
                minValue = 0.5;
                maxValue = 1; //0.09; //"1";
                offset0 = "0";
                offset1 = "-1";
                //minValue=-0.07;
                //maxValue=0; //10;
                //offset0 = "1";
                //offset1 = "0";
            };
            class backsight_hide
            {
                type = "rotationZ";
                source = "weaponMuzzle";
                selection = "laddersight";
                axis = "ladder_axis";
                animPeriod = 0;
                minValue = 0.0;
                maxValue = 1;
                minPhase = 0.0;
                maxPhase = 1;
                angle0 = 0;
                angle1 = rad 90;
            };

            class unloaded_magazine_hide
            {
                type = "hide";
                source = "hasMagazine";
                selection = "Magazine";
                hideValue = 0.1;
            };
            class FireModeSwitch
            {
                type = "rotation";
                source = "weaponMode";
                memory = true;
                selection = "Selector";
                animPeriod = 0;
                axis = "Selector_axis";
                minValue = 0.0;
                maxValue = 1;
                minPhase = 0.0;
                maxPhase = 1.0;
                angle1 = rad 90;
                angle0 = rad 0;
            };
            class mflash1
            {
                type = "hide";
                source = "ammoRandom";
                selection = "zasleh";
                sourceAddress = "loop";
                minValue = 0;
                maxValue = 2; //10;
                hideValue = 0.03;
            };
            class rounds_empty
            {
                type = "hide";
                source = "isEmpty";
                selection = "topround";
                animPeriod = 0;
                minValue = 0;
                maxValue = 1; //10;
                hideValue = 0.1;
            };
            class optic_rail
            {
                type = "hide";
                source = "hasOptics";
                selection = "optc";
                minValue = 0;
                maxValue = 1;
                hideValue = -1.0;
                unhideValue = 0.5;
            };
            class alca_transp_rail
            {
                type = "hide";
                source = "hasOptics";
                selection = "alca_transp";
                minValue = 0;
                maxValue = 1;
                hideValue = 1.0;
                unhideValue = -0.5;
            };
            class upper_shake
            {
                type = "rotationX";
                source = "reload";
                selection = "upper";
                sourceAddress = "mirror";
                axis = "upper_axis";
                minPhase = 0;
                maxPhase = 0.5;
                minValue = 0;
                maxValue = 0.5;
                memory = 0;
                angle0 = -0.008726646;
                angle1 = 0.2;
            };
            class bipod_hide
            {
                type = "hide";
                source = "hasUnderbarrel";
                selection = "bipod";
                minValue = 0;
                maxValue = 1;
                hideValue = 1;
                // unHideValue = 0.5;
                animPeriod = 0.0;
                initPhase = 0.0;
            };
            class bipod_set
            {
                type = "rotation";
                source = "bipod";
                selection = "moyeu";
                sourceAddress = "clamp";
                axis = "axis_moyeu"; //*probably*
                minValue = 0.0;
                maxValue = 0.9;
                angle0 = 0;
                angle1 = "rad 90";
                animPeriod = 0.0;
                initPhase = 0.0;
                memory = 0; //(default assumed)
            };
            class bipod_set2
            {
                type = "rotationy";
                source = "bipod";
                selection = "branch_l";
                sourceAddress = "clamp";
                axis = "branch_axis"; //*probably*
                minValue = 0.9;       //rad 0.0
                maxValue = 1.0;       //rad 57.29578
                angle0 = 0;
                angle1 = "rad -35";
                animPeriod = 0.0;
                initPhase = 0.0;
                memory = 0; //(default assumed)
            };
            class bipod_set3
            {
                type = "rotationy";
                source = "bipod";
                selection = "branch_r";
                sourceAddress = "clamp";
                axis = "branch_axis";
                minValue = 0.9;
                maxValue = 1.0;
                angle0 = 0;
                angle1 = "rad 35";
                animPeriod = 0.0;
                initPhase = 0.0;
                memory = 0; //(default assumed)
            };
            //class zarelho
            //{
            //	type="rotation";
            //	source="reload";
            //	selection="zarelho";
            //	axis="zarelho_axis";
            //	minValue=-1;
            //	maxValue="1";
            //	angle0="rad -50";
            //	angle1="rad 50";
            //};
            class zarelho_2
            {
                type = "rotation";
                source = "reload";
                selection = "zarelho_2";
                axis = "zarelho_2_axis";
                minValue = -1;
                maxValue = "1";
                angle0 = "rad -50";
                angle1 = "rad 50";
            };
            class alsa_shake
            {
                type = "rotationX";
                source = "reload";
                selection = "alsa";
                sourceAddress = "mirror";
                axis = "alsa_axis";
                minPhase = 0;
                maxPhase = 0.5;
                minValue = 0;
                maxValue = 0.5;
                memory = 0;
                angle0 = -0.05;
                angle1 = 0.05;
            };
        };
    };
    class lmga2 : Colt
    {
    };
    class lmga4 : Colt
    {
    };
    class m4a1 : Colt
    {
    };
    class m4a1_ris : Colt
    {
    };
    class m16a1_carbine_9mm : Colt
    {
    };
    class m16a1_carbine : Colt
    {
    };
    class m16a1 : Colt
    {
    };
    class m16a1e1 : Colt
    {
    };
    class m16a2 : Colt
    {
    };
    class m16a2mod : Colt
    {
    };
    class m16a4 : Colt
    {
    };
    class m16a4mod : Colt
    {
    };
};