class CfgSkeletons { class Default { isDiscrete = 1; skeletonInherit = ""; skeletonBones[] = {}; }; class NIA_SG550Skeleton: Default { skeletonBones[]= { "Magazine", "", "Bolt", "", "bolthead", "Bolt", "bullet30", "Magazine", "bullet29", "Magazine", "bullet28", "Magazine", "bullet27", "Magazine", "bullet26", "Magazine", "bullet25", "Magazine", "bullet24", "Magazine", "bullet23", "Magazine", "bullet22", "Magazine", "bullet21", "Magazine", "bullet20", "Magazine", "bullet19", "Magazine", "bullet18", "Magazine", "bullet17", "Magazine", "bullet16", "Magazine", "bullet15", "Magazine", "bullet14", "Magazine", "bullet13", "Magazine", "bullet12", "Magazine", "bullet11", "Magazine", "bullet10", "Magazine", "bullet9", "Magazine", "bullet8", "Magazine", "bullet7", "Magazine", "bullet6", "Magazine", "bullet5", "Magazine", "bullet4", "Magazine", "bullet3", "Magazine", "bullet2", "Magazine", "bullet1", "Magazine", "follower","Magazine", "Sping_magazine" , "Magazine" , "springland1" , "Sping_magazine" , "springland2" , "springland1" , "springland3" , "springland2" , "springland4" , "springland3" , "springland5" , "springland4" , "springland6" , "springland5" , "springland7" , "springland6" , "springland8" , "springland7" , "springland9" , "springland8" , "springland10" , "springland9" , "springland11" , "springland10" , "springland12" , "springland11" , "springland13" , "springland12" , "springland14" , "springland13" , "springland15" , "springland14" , "elevator","", "Diopter","elevator", "bipod_leg_l","", "bipod_leg_r","", "sniper_bipod_mnt", "", "sniper_leg_l","sniper_bipod_mnt", "sniper_leg_r","sniper_bipod_mnt", "GL_tube","", "GL_round","GL_tube", "GL_warhead","GL_round", "GL_sightladder","", "GL_sightpost","", "GL_safety" ,"", "GL_latch","", "rearsight", "", "SOWAperture", "rearsight", "frontsight","", "nightsight", "", "magrelease", "", "boltcatch", "", "Trigger", "", "Selector","", "Break","", "trilho_frontal", "", "optic_rail", "", "zasleh","" }; }; }; class CfgModels { class Default { selections[] = {}; selectionsInherit = ""; skeletonName = ""; }; class NIA_SG550M: Default { sections[]= { "zasleh","zasleh2","Magazine","Bolt","Trigger","Break" }; skeletonName="NIA_SG550Skeleton"; sectionsInherit=""; htMin = 60; // Minimum half-cooling time (in seconds) htMax = 1800; // Maximum half-cooling time (in seconds) afMax = 200; // Maximum temperature in case the model is alive (in celsius) mfMax = 100; // Maximum temperature when the model is moving (in celsius) mFact = 0; // Metabolism factor - number from interval <0, 1> (0 - metabolism has no influence, 1 - metabolism has full influence (no other temperature source will be considered)). tBody = 0; // Metabolism temperature of the model (in celsius) class Animations { // ================================================= // Attachment Animations : Does X Slot have gear on it? // ================================================= 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 muzzlebreak_hide { type="hide"; source="hasSuppressor"; selection="Break"; minValue = 0.0; maxvalue = 0.25; hideValue = 0.01; }; class backsight_hide { type="rotationZ"; source="hasOptics"; selection="rearsight"; axis="rsgt_axis"; animPeriod=0; minValue=0.0; maxValue=1; minPhase=0.0; maxPhase=1; angle0=0; angle1=rad -90; }; class frontsight_hide { type="rotationZ"; source="hasOptics"; selection="frontsight"; axis="frntsgt_axis"; animPeriod=0; minValue=0.0; maxValue=1; minPhase=0.0; maxPhase=1; angle0=0; angle1=rad 90; }; // ================================================= // Ammorandom: When in firing, theses animate based on individual RNGs // ================================================= class MuzzleFlashROT { type="rotationX"; source="ammoRandom"; sourceAddress="loop"; selection="zasleh"; axis="barrelaxis"; centerFirstVertex=true; minValue=0; maxValue=4; angle0="rad 5"; angle1="rad -5"; }; class mflash2 { type="hide"; source="ammoRandom"; selection="zasleh"; sourceAddress="loop"; minValue=0; maxValue=1; //10; hideValue=0.15; }; // ================================================= // hasMagazine : is it currently loaded? // ================================================= class unloaded_magazine_hide { type = "hide"; source = "hasMagazine.0"; selection = "magazine"; hideValue = 0.1; }; // ================================================= // Reloadmagazine: Changing mags, Primary muzzle // ================================================= class magazinerelease_rock1 { type= "rotation"; source= "reloadmagazine.0"; selection="magrelease"; axis="magrelease_axis"; minvalue=(8/124); maxvalue=(11/124); angle0= "rad 0"; angle1= "rad 20"; }; class magazinerelease_rock2 { type= "rotation"; source= "reloadmagazine.0"; selection="magrelease"; axis="magrelease_axis"; minvalue=(15/124); maxvalue=(16.5/124); angle0= "rad 0"; angle1= "rad -20"; }; class magazinerelease_rock3 { type= "rotation"; source= "reloadmagazine.0"; selection="magrelease"; axis="magrelease_axis"; minvalue=(82/124); maxvalue=(83/124); angle0= "rad 0"; angle1= "rad 12"; }; class magazinerelease_rock4 { type= "rotation"; source= "reloadmagazine.0"; selection="magrelease"; axis="magrelease_axis"; minvalue=(83.1/124); maxvalue=(84.9/124); angle0= "rad 0"; angle1= "rad -12"; }; class magazine_hide { type="hide"; source="reloadmagazine.0"; selection="Magazine"; minValue=0.0; maxValue=1; hideValue=(20/124); unhideValue=(75/124); }; class magazine_rock1 { type= "rotation"; source= "reloadmagazine.0"; selection="magazine"; axis="magazineaxis"; minvalue=(12/124); maxvalue=(15/124); angle0= "rad 0"; angle1= "rad 25"; }; class magazine_rock2 { type= "rotation"; source= "reloadmagazine.0"; selection="magazine"; axis="magazineaxis"; minvalue=(82/124); maxvalue=(84/124); angle0= "rad 0"; angle1= "rad -25"; }; class magazine_move1 { type = "translation"; source= "reloadmagazine.0"; selection="magazine"; axis = "magazine_axis"; minvalue=(16/124); maxvalue=(19/124); offset0 = "0"; offset1 = "1"; }; class magazine_move2 { type = "translation"; source= "reloadmagazine.0"; selection="magazine"; axis = "magazine_axis"; minvalue=(76/124); maxvalue=(81/124); offset0 = "0"; offset1 = "-1"; }; class bolt_reload1 { type = "translation"; source = "reloadmagazine.0"; 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_reload2 { type = "translation"; source = "reloadmagazine.0"; selection = "Bolt"; axis = "bolt_axis"; begin = "bolt_axis_end"; end = "bolt_axis_begin"; minvalue=(99/124); maxvalue=(101/124); offset0 = "0"; offset1 = "-1"; }; class bolthead_reload2 { type = "translation"; source = "reloadmagazine.0"; selection = "Bolthead"; axis = "bolt_axis"; begin = "bolt_axis_end"; end = "bolt_axis_begin"; minValue = 0; maxValue = 0.0001; offset0 = "0"; offset1 = "-0.175"; }; class bolthead2_reload2 { type = "translation"; source = "reloadmagazine.0"; selection = "Bolthead"; axis = "bolt_axis"; begin = "bolt_axis_end"; end = "bolt_axis_begin"; minvalue=(100.5/124); maxvalue=(101/124); offset0 = "0"; offset1 = "0.175"; }; class boltheadrot_reload2 { type = "rotation"; source = "reloadmagazine.0"; selection = "Bolthead"; axis = "barrelaxis"; minValue = 0; maxValue = 0.0001; angle0=0; angle1=rad-45; }; class boltheadrot2_reload2 { type = "rotation"; source = "reloadmagazine.0"; selection = "Bolthead"; axis = "barrelaxis"; minvalue=(100.5/124); maxvalue=(101/124); angle0=0; angle1=rad 45; }; class boltlock_reload { type="rotation"; source="reloadmagazine.0"; selection="Boltcatch"; axis="boltcatch_axis"; animPeriod=0; minValue = 0; maxValue = 0.0001; angle1=rad -12; angle0=0; }; class boltlock_reload2 { type="rotation"; source="reloadmagazine.0"; selection="Boltcatch"; axis="boltcatch_axis"; animPeriod=0; minvalue=(98/124); maxvalue=(99/124); angle1=rad 12; angle0=0; }; // ================================================= // Zeroing: Primary Muzzle based zeroing animation // ================================================= class Zeroing100m { type = "rotation"; source="zeroing.0"; selection="Diopter"; axis = "drum_rot"; minValue = 0; maxValue = 1; angle0=rad 0; angle1=rad 360; }; class Elevator_tweak1 { type = "rotation"; source="zeroing.0"; selection="elevator"; axis = "elevator_axis"; minValue = 0; maxValue = 0.25; angle0=rad -4.5; angle1=rad 0; }; class Elevator_tweak2 { type = "rotation"; source="zeroing.0"; selection="elevator"; axis = "elevator_axis"; minValue = 0.26; maxValue = 0.5; angle0=rad 0; angle1=rad 0; }; class Elevator_tweak3 { type = "rotation"; source="zeroing.0"; selection="elevator"; axis = "elevator_axis"; minValue = 0.51; maxValue = 0.75; angle0=rad 0; angle1=rad 0; }; class Elevator_tweak4 { type = "rotation"; source="zeroing.0"; selection="elevator"; axis = "elevator_axis"; minValue = 0.76; maxValue = 1; angle0=rad 0; angle1=rad 0; }; class SOW_Tweak { type = "translation"; source="zeroing.0"; selection="SOWAperture"; axis = "SOW_axis"; minValue = 0; maxValue = 0.5; offset0 = "0"; offset1 = "1"; }; class SOW_Tweak2 { type = "translation"; source="zeroing.0"; selection="SOWAperture"; axis = "SOW_axis"; minValue = 0.5; maxValue = 1; offset0 = "0"; offset1 = "1"; }; class Zeroing100m_night { type = "rotation"; source="zeroing.0"; selection="nightsight"; axis = "frntsgt_axis"; minValue = 0.8; maxValue = 1; angle0=rad 0; angle1=rad 125; }; // ================================================= // Reload: Primary muzzle- The actual cycling between shots. // ================================================= class bolt { type = "translation"; source = "reload.0"; 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.0"; 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 bolthead { type = "translation"; source = "reload.0"; selection = "Bolthead"; axis = "bolt_axis"; begin = "bolt_axis_end"; end = "bolt_axis_begin"; minValue = 0; maxValue = 0.15; //0.09; //"1"; offset0 = "0"; offset1 = "-0.175"; }; class bolthead2 { type = "translation"; source = "reload.0"; selection = "Bolthead"; axis = "bolt_axis"; begin = "bolt_axis_end"; end = "bolt_axis_begin"; minValue = 0.85; maxValue = 1; //0.09; //"1"; offset0 = "0"; offset1 = "0.175"; }; class boltheadrot { type = "rotation"; source = "reload.0"; selection = "Bolthead"; axis = "barrelaxis"; minValue = 0; maxValue = 0.1; //0.09; //"1"; angle0=rad 45; angle1=0; }; class boltheadrot2 { type = "rotation"; source = "reload.0"; selection = "Bolthead"; axis = "barrelaxis"; minValue = 0.9; maxValue = 1; //0.09; //"1"; angle0=0; angle1=rad 45; }; // ================================================= // isEmptyNoreload: When gun is empty, but animation pose doesnt interp to reloadmagazine // ================================================= class bolt_empty { type="translationx"; source = "isEmptyNoreload.0"; selection="Bolt"; axis=""; animPeriod=0; minValue=0; maxValue=0.09; //10; offset0 = "0"; offset1 = "1"; }; class boltlock_empty { type="rotation"; source="isEmptyNoreload.0"; selection="Boltcatch"; axis="boltcatch_axis"; animPeriod=0; minValue=0; maxValue=1; //10; angle1=rad -12; angle0=0; }; // ================================================= // weaponMode: PrimaryMuzzle Fire mode // ================================================= class FireModeSwitch { type="rotationZ"; source="weaponMode.0"; memory=1; selection="Selector"; animPeriod=0; axis="Selector_axis"; minValue=0.0; maxValue=(3/6); minPhase=0.0; maxPhase=1.0; angle1=rad 120; angle0=rad 20; }; // ================================================= // revolving: basically too indicate how much ammo is in a magazine. // Hold onto your butts, this section is massive for this weapon. // ================================================= // For starters: Hide bullets class bullet30_hide { type="hide"; hideValue=(0.5/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet30"; }; class bullet29_hide { type="hide"; hideValue=(1/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet29"; }; class bullet28_hide { type="hide"; hideValue=(2/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet28"; }; class bullet27_hide { type="hide"; hideValue=(3/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet27"; }; class bullet26_hide { type="hide"; hideValue=(4/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet26"; }; class bullet25_hide { type="hide"; source="revolving.0"; selection="Bullet25"; sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; hideValue=(5/30); }; class bullet24_hide { type="hide"; hideValue=(6/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet24"; }; class bullet23_hide { type="hide"; hideValue=(7/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet23"; }; class bullet22_hide { type="hide"; hideValue=(8/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet22"; }; class bullet21_hide { type="hide"; hideValue=(9/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet21"; }; class bullet20_hide { type="hide"; hideValue=(10/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet20"; }; class bullet19_hide { type="hide"; hideValue=(11/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet19"; }; class bullet18_hide { type="hide"; hideValue=(12/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet18"; }; class bullet17_hide { type="hide"; hideValue=(13/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet17"; }; class bullet16_hide { type="hide"; hideValue=(14/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet16"; }; class bullet15_hide { type="hide"; hideValue=(15/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet15"; }; class bullet14_hide { type="hide"; hideValue=(16/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet14"; }; class bullet13_hide { type="hide"; hideValue=(17/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet13"; }; class bullet12_hide { type="hide"; hideValue=(18/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet12"; }; class bullet11_hide { type="hide"; hideValue=(19/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet11"; }; class bullet10_hide { type="hide"; hideValue=(20/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet10"; }; class bullet9_hide { type="hide"; hideValue=(21/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet9"; }; class bullet8_hide { type="hide"; hideValue=(22/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet8"; }; class bullet7_hide { type="hide"; hideValue=(23/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet7"; }; class bullet6_hide { type="hide"; hideValue=(24/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet6"; }; class bullet5_hide { type="hide"; hideValue=(25/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet5"; }; class bullet4_hide { type="hide"; hideValue=(26/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet4"; }; class bullet3_hide { type="hide"; hideValue=(27/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet3"; }; class bullet2_hide { type="hide"; hideValue=(28/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet2"; }; class bullet1_hide { type="hide"; hideValue=(29/30); sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="bullet1"; }; //Next- Animate the magazine spring. class magspring_tensioner1 { type="rotation"; sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="springland1"; axis="Spring_axis"; angle0=0; angle1=rad 1.7; }; class magspring_tensioner2 { type="rotation"; sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="springland2"; axis="Spring_axis"; angle0=0; angle1=rad 1.7; }; class magspring_tensioner3 { type="rotation"; sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="springland3"; axis="Spring_axis"; angle0=0; angle1=rad 1.7; }; class magspring_tensioner4 { type="rotation"; sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="springland4"; axis="Spring_axis"; angle0=0; angle1=rad 1.7; }; class magspring_tensioner5 { type="rotation"; sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="springland5"; axis="Spring_axis"; angle0=0; angle1=rad 1.7; }; class magspring_tensioner6 { type="rotation"; sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="springland6"; axis="Spring_axis"; angle0=0; angle1=rad 1.7; }; class magspring_tensioner7 { type="rotation"; sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="springland7"; axis="Spring_axis"; angle0=0; angle1=rad 1.7; }; class magspring_tensioner8 { type="rotation"; sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="springland8"; axis="Spring_axis"; angle0=0; angle1=rad 1.7; }; class magspring_tensioner9 { type="rotation"; sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="springland9"; axis="Spring_axis"; angle0=0; angle1=rad 1.7; }; class magspring_tensioner10 { type="rotation"; sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="springland10"; axis="Spring_axis2"; angle0=0; angle1=rad 2.3; }; class magspring_tensioner11 { type="rotation"; sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="springland11"; axis="Spring_axis2"; angle0=0; angle1=rad 2.3; }; class magspring_tensioner12 { type="rotation"; sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="springland12"; axis="Spring_axis2"; angle0=0; angle1=rad 2.3; }; class magspring_tensioner13 { type="rotation"; sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="springland13"; axis="Spring_axis2"; angle0=0; angle1=rad 2.3; }; class magspring_tensioner14 { type="rotation"; sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="springland14"; axis="Spring_axis2"; angle0=0; angle1=rad 2.3; }; class magspring_tensioner15 { type="rotation"; sourceAddress="mirror"; minValue = -1; maxValue = 0; minphase = -1; maxphase = 0; source="revolving.0"; selection="springland15"; axis="Spring_axis2"; angle0=0; angle1=rad 2; }; //Lastly- Move the magazine follower class follower_revolving1 { type = "translation"; source="revolving.0"; selection = "follower"; axis = "follower_axis1"; minValue = 0.0; maxValue = 0.5; offset0 = "0"; offset1 = "1"; }; class follower_revolving2 { type = "translation"; source="revolving.0"; selection = "follower"; axis = "follower_axis2"; minValue = 0.5; maxValue = 1; offset0 = "0"; offset1 = "1"; }; class follower_revolving3 { type = "rotation"; source="revolving.0"; selection = "follower"; axis = "bullets_axis_correct"; minValue = 0.033; maxValue = 1; angle0="rad 0"; angle1="rad -15"; }; // ================================================= // bipod: Animate the goddamn bipod. // Two separate bipods to animations in 1 config, be aware. // ================================================= class legsL { type = rotation; source = bipod; /// this one is for an attachment, weapon itself would have just bipod sourceAddress = clamp; selection = "bipod_leg_l"; axis = "bipod_legaxis_l"; minValue = 0; maxValue = 1; angle0 = (rad 0); angle1 = (rad 90); }; class legsR { type = rotation; source = bipod; /// this one is for an attachment, weapon itself would have just bipod sourceAddress = clamp; selection = "bipod_leg_R"; axis = "bipod_legaxis_r"; minValue = 0; maxValue = 1; angle0 = (rad 0); angle1 = (rad -90); }; class sniper_bipod_depl { type = rotation; source = bipod; /// this one is for an attachment, weapon itself would have just bipod sourceAddress = clamp; selection = "sniper_bipod_mnt"; axis = "bipod_axis1"; minValue = 0; maxValue = 1; angle1 = (rad 0); angle0 = (rad 90); }; class sniper_legsL { type = rotation; source = bipod; /// this one is for an attachment, weapon itself would have just bipod sourceAddress = clamp; selection = "sniper_leg_l"; axis = "bipod_feet_axis"; minValue = 0; maxValue = 1; angle1 = (rad 0); angle0 = (rad 25); }; class sniper_legsR { type = rotation; source = bipod; /// this one is for an attachment, weapon itself would have just bipod sourceAddress = clamp; selection = "sniper_leg_R"; axis = "bipod_feet_axis"; minValue = 0; maxValue = 1; angle1 = (rad 0); angle0 = (rad -25); }; // ================================================= // weaponMuzzle: Animate based on which weapon muzzle is active. // Safeties off GL, safeties on Main rifle, GL sights flip up. // ================================================= class GL_sight { type="rotationZ"; source="weaponMuzzle"; selection="GL_sightladder"; axis="ladder_axis"; animPeriod=0; minValue=0.0; maxValue=1; minPhase=0.0; maxPhase=1; angle0=rad -90; angle1=0; }; class GL_post { type="rotation"; source="weaponMuzzle"; selection="GL_sightpost"; axis="GL_postaxis"; animPeriod=0; minValue=0.0; maxValue=1; minPhase=0.0; maxPhase=1; angle1=0; angle0=rad -90; }; class safety_mode_safe_rot: FireModeSwitch { source="weaponMuzzle"; minValue=0.99; maxValue=1; angle0=0; angle1=(rad -20); }; class GLsafety_mode_safe_rot: safety_mode_safe_rot { source="weaponMuzzle"; selection="GL_safety"; axis="GL_safety_axis"; minValue=0.99; maxValue=1; angle0=0; angle1=(rad 45); }; // ================================================= // reloadMagazine.1: Animate Second muzzle on mag change. // GL. // ================================================= class magazine_gl_reload_move_1 { type="translation"; source="reloadMagazine.1"; selection="GL_TUBE"; axis = "bolt_axis"; minValue = (9/107); maxValue = (12/107); offset0 = 0.0; offset1 = -1.0; animPeriod = 0.0; initPhase = 0.0; }; class magazine_gl_reload_move_2: magazine_gl_reload_move_1 { minValue = (73/107); maxValue = (76/107); offset1 = 1.0; }; class grenade_reload_move_1 { type="translation"; source="reloadMagazine.1"; selection="GL_round"; memory=1; axis="bolt_axis"; minValue = (9/107);//rad 11.784252 maxValue = (12/107);//rad 13.003278 offset0 = 0; offset1 = 1.0; }; class grenade_reload_move_2: grenade_reload_move_1 { type="translation"; axis="gl_vert_axis"; minValue = (14/107);//rad 12.190595 maxValue = (17/107);//rad 13.003278 offset0 = 0.0; offset1 = 1; }; class grenade_reload_move_3: grenade_reload_move_2 { type="translation"; axis="gl_vert_axis2"; minValue = (48/107);//rad 12.190595 maxValue = (51/107);//rad 13.003278 offset0 = 0.0; offset1 = 1; }; class grenade_reload_move_4 { type="translation"; source="reloadMagazine.1"; selection="GL_round"; axis="bolt_axis"; memory=1; minValue = (55/107);//rad 11.784252 maxValue = (62/107);//rad 13.003278 offset0 = 0; offset1 = -0.7; }; class LGlatch_reload_rot_1: safety_mode_safe_rot { type="rotation"; source="reloadMagazine.1"; selection="GL_latch"; axis="GL_latch_axis"; memory=1; minValue=(7/107); maxValue=(10/107); angle0=0; angle1=(rad 7); }; class LGlatch_reload_rot_2: LGlatch_reload_rot_1 { axis="GL_latch_axis"; memory=1; minValue=(13/107); maxValue=(15/107); angle0=0; angle1=(rad -7); }; class grenade_reload_rot_1: safety_mode_safe_rot { source="reloadMagazine.1"; selection="GL_round"; axis="GL_rot_axis"; memory=1; minValue=(11.5/107); maxValue=(17/107); angle0=0; angle1=(rad -45); }; class grenade_reload_rot_3: grenade_reload_rot_1 { axis="GL_recorrect_axis"; minValue=(30/107); maxValue=(49/107); angle0=0; angle1=(rad 100); }; class grenade_reload_rot_4: grenade_reload_rot_1 { axis="GL_rot_axis2"; minValue=(50/107); maxValue=(54/107); angle0=0; angle1=(rad -25); }; class grenade_reload_rot_4a: grenade_reload_rot_1 { axis="GL_rot_axis2"; minValue=(55/107); maxValue=(58/107); angle0=0; angle1=(rad -30); }; class magazine_gl_reload_hide { type="hide"; source="reloadMagazine.1"; selection="GL_round"; minValue = 0.0;//rad 0.0 maxValue = 1.0;//rad 57.29578 hideValue = (18/107); unHideValue = (49/107); }; class AG36_RL_warhead { type="hide"; source = "reloadMagazine.1"; selection="GL_warhead"; animPeriod=0; minValue=0; maxValue=1; hidevalue=0.0001; unhidevalue=(45/107); }; /* class grenade_fired { type="hide"; source="isEmpty.1"; selection="GL_warhead"; sourceAddress="mirror"; hideValue=0.5; }; class AG36_mag_warhead { type="hide"; source="hasMagazine.1"; selection="GL_round"; sourceAddress="mirror"; hideValue=0.1; }; */ }; }; // ================================================= // Delcare weapons and conditional alterations. // ================================================= class sg550: NIA_SG550M {}; class sg550_RIS: NIA_SG550M {}; class sg550_TAC: NIA_SG550M {}; class sg5501: NIA_SG550M {}; class sg5501_RIS: NIA_SG550M {}; class sg551_LB: NIA_SG550M {}; class sg551_LB_RIS: sg551_LB {}; class sg551_LB_TAC: sg551_LB {}; class sg551: NIA_SG550M { class Animations:Animations { class mflash2:mflash2 { type="hide"; source="ammoRandom"; selection="zasleh"; sourceAddress="loop"; minValue=0; maxValue=1; hideValue=0.25; }; }; }; class sg551_RIS: NIA_SG550M { class Animations:Animations { class mflash2:mflash2 { type="hide"; source="ammoRandom"; selection="zasleh"; sourceAddress="loop"; minValue=0; maxValue=1; hideValue=0.25; }; }; }; class sg551_TAC: NIA_SG550M { class Animations:Animations { class mflash2:mflash2 { type="hide"; source="ammoRandom"; selection="zasleh"; sourceAddress="loop"; minValue=0; maxValue=1; hideValue=0.25; }; }; }; class sg553_LB: sg551 {}; class sg553_LB_RIS: sg551 {}; class sg553_LB_TAC: sg551 {}; class sg553: NIA_SG550M { class Animations:Animations { class mflash2:mflash2 { type="hide"; source="ammoRandom"; selection="zasleh"; sourceAddress="loop"; minValue=0; maxValue=1; hideValue=0.4; }; }; }; class sg553_RIS: NIA_SG550M { class Animations:Animations { class mflash2:mflash2 { type="hide"; source="ammoRandom"; selection="zasleh"; sourceAddress="loop"; minValue=0; maxValue=1; hideValue=0.4; }; }; }; class sg553_TAC: NIA_SG550M { class Animations:Animations { class mflash2:mflash2 { type="hide"; source="ammoRandom"; selection="zasleh"; sourceAddress="loop"; minValue=0; maxValue=1; hideValue=0.4; }; }; }; class sg550_GL:NIA_SG550M {}; class sg550_TAC_GL: NIA_SG550M {}; class sg551_tac_GL : sg551_TAC {}; class sg551_LB_tac_GL : sg551_TAC {}; };