class CfgSkeletons { class Default { isDiscrete = 1; skeletonInherit = ""; skeletonBones[] = {}; }; class HK33Skeleton: Default { skeletonBones[]= { "Magazine", "", "Diopter", "", "bolt_oprod", "", "Bolt", "bolt_oprod", "Bolthandle", "bolt_oprod", "magrelease", "", "laddersight", "", "M203_tube","", "M203_round","M203_tube", "M203_warhead","M203_round", "Trigger", "", "rail", "", "Selector","", "Break","", "zasleh","", "optic_rail", "", "trilho_frontal", "" }; }; }; class CfgModels { class Default { selections[] = {}; selectionsInherit = ""; skeletonName = ""; }; class HK33M: Default { sections[]= { "zasleh","Magazine","Bolt","Trigger","Break","Diopter","Main","Stock","FCG","M203" }; skeletonName="HK33Skeleton"; sectionsInherit = ""; class Animations { class optic_rail { type="hide"; source="hasOptics"; selection="optic_rail"; minValue=0; maxValue=1; hideValue=-1.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 muzzlebrake_hide { type="hide"; source="hasSuppressor"; selection="break"; minValue = 0.0; maxvalue = 0.25; hideValue = 0.01; }; class Zeroing100m { type = "rotation"; source="zeroing1"; selection="Diopter"; axis = "drum_rot"; minValue = 0; maxValue = 1; angle0=rad 0; angle1=rad -270; }; class magazine_hide { type="hide"; source="reloadMagazine"; selection="Magazine"; minValue=0.0; maxValue=1; hideValue=0.23; unhideValue=0.65; }; class magazine_move1 { type = "translation"; source="reloadMagazine"; selection="Magazine"; axis = "Magazine_axis"; minValue = 0.2138; maxValue = 0.225; //0.09; //"1"; offset0 = "0"; offset1 = "1"; }; class magazine_move2 { type = "translation"; source="reloadMagazine"; selection="Magazine"; axis = "Magazine_axis"; minValue = 0.664; maxValue = 0.693; //0.09; //"1"; offset0 = "0"; offset1 = "-1"; }; class bolthandle_rot1 { type = "rotation"; source="reloadMagazine"; selection="Bolthandle"; axis = "bhaxis"; minValue = 0.034; maxValue = 0.046; //0.09; //"1"; angle1=rad 90; angle0=rad 0; }; class bolthandle_rot2 { type = "rotation"; source="reloadMagazine"; selection="Bolthandle"; axis = "bhaxis"; minValue = 0.87; maxValue = 0.895; //0.09; //"1"; angle1=rad -90; angle0=rad 0; }; class bolthandle_rot3 { type = "rotation"; source="reloadMagazine"; selection="bolt_oprod"; axis = "bolt_axis"; minValue = 0.0924; maxValue = 0.104; //0.09; //"1"; angle1=rad 45; angle0=rad 0; }; class bolthandle_rot4 { type = "rotation"; source="reloadMagazine"; selection="bolt_oprod"; axis = "bolt_axis"; minValue = 0.821; maxValue = 0.8497; angle1=rad -45; angle0=rad 0; }; //moves charging handle back to rear class bolthandle_move1 { type = "translation"; source = "reloadMagazine"; selection = "bolt_oprod"; axis = "bolt_axis"; begin = "bolt_axis_end"; end = "bolt_axis_begin"; minValue = 0.052; maxValue = 0.075; //0.09; //"1"; offset0 = "0"; offset1 = "1"; }; class bolthandle_move2 { type = "translation"; source = "reloadMagazine"; selection = "bolt_oprod"; axis = "bolt_axis"; begin = "bolt_axis_end"; end = "bolt_axis_begin"; minValue = 0.867; maxValue = 0.878; offset0 = "0"; offset1 = "-1"; }; class magrelease_rot1 { type = "rotation"; source="reloadMagazine"; selection="Magrelease"; axis = "Magrelease_axis"; minValue = 0.1888; maxValue = 0.2; //0.09; //"1"; angle1=rad 10; angle0=rad 0; }; class magrelease_rot2 { type ="rotation"; source="reloadMagazine"; selection="Magrelease"; axis = "Magrelease_axis"; minValue = 0.2111111; maxValue = 0.22222222; //0.09; //"1"; angle1=rad -10; angle0=rad 0; }; 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 bolt1 { 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 unloaded_magazine_hide { type = "hide"; source = "hasMagazine"; selection = "Magazine"; hideValue = 0.1; }; class FireModeSwitch { type="rotationZ"; source="weaponMode"; memory=1; selection="Selector"; animPeriod=0; axis="Selector_axis"; minValue=0.0; maxValue=0.42; angle1=rad 45; angle0=rad -60; }; class MuzzleFlashROT { type="rotationX"; source="ammoRandom"; //use ammo count as phase for animation sourceAddress="loop"; //loop when phase out of bounds selection="zasleh"; //selection we want to rotate axis="barrelaxis"; //no own axis - center of rotation is computed from selection centerFirstVertex=true; //use first vertex of selection as center of rotation minValue=0; maxValue=4; //rotation angle will be 360/4 = 90 degrees angle0="rad 7"; angle1="rad -7"; }; class mflash2 { type="hide"; source="ammoRandom"; selection="zasleh"; sourceAddress="loop"; minValue=0; maxValue=1; hideValue=0.25; }; 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 magazine_gl_reload_move_1 { type="translation"; source="reloadMagazine.1"; selection="M203_TUBE"; axis = "bolt_axis"; minValue = 0.099291;//rad 5.688955 maxValue = 0.141844;//rad 8.127063 offset0 = 0.0; offset1 = -1.0; animPeriod = 0.0; initPhase = 0.0; }; class magazine_gl_reload_move_2: magazine_gl_reload_move_1 { minValue = 0.758511; maxValue = 0.786879; offset1 = 1.0; }; class grenade_reload_move_1_h { type="translation"; source="reloadMagazine.1"; selection="m203_round"; axis="bolt_axis"; minValue = 0.205674;//rad 11.784252 maxValue = 0.22695;//rad 13.003278 offset0 = -0.02; offset1 = 2.0; }; class grenade_reload_move_1_v: grenade_reload_move_1_h { type="translation"; axis="gl_vert_axis"; minValue = 0.212766;//rad 12.190595 maxValue = 0.22695;//rad 13.003278 offset0 = 0.0; offset1 = 6.3; }; class grenade_reload_move_2: grenade_reload_move_1_h { minValue = 0.333333;//rad 19.098574 maxValue = 0.496454;//rad 28.44472 offset0 = 0.0; offset1 = -1.3; }; class grenade_reload_move_3: grenade_reload_move_2 { type="translation"; axis="gl_vert_axis"; minValue = 0.503546;//rad 28.85106 maxValue = 0.553191;//rad 31.69551 offset0 = 0.0; offset1 = -6.3; }; class grenade_reload_move_4: grenade_reload_move_2 { minValue = 0.595745;//rad 34.133675 maxValue = 0.64539;//rad 36.978123 offset0 = 0.0; offset1 = -0.68; }; class magazine_gl_reload_hide { type="hide"; source="reloadMagazine.1"; selection="m203_round"; minValue = 0.0;//rad 0.0 maxValue = 1.0;//rad 57.29578 hideValue = 0.22695; unHideValue = 0.496454; }; class grenade_fired { type="hide"; source="revolving.1"; selection="m203_warhead"; minValue=0.0; maxValue=1.0; hideValue=-1.0; unhideValue=0.5; }; }; }; class hk33A3: HK33M { class Animations: Animations { class FireModeSwitch { type="rotationZ"; source="weaponMode"; memory=1; selection="Selector"; animPeriod=0; axis="Selector_axis"; minValue=0.0; maxValue=0.33; angle1=rad 100; angle0=rad 30; }; }; }; class hk33a2: HK33M {}; class hk33ka3: HK33M { class Animations : Animations { class FireModeSwitch { type="rotationZ"; source="weaponMode"; memory=1; selection="Selector"; animPeriod=0; axis="Selector_axis"; minValue=0.0; maxValue=0.33; angle1=rad 100; angle0=rad 30; }; }; }; class hk33_rails: HK33M {}; class hk33_rails_GL: HK33M {}; };