// ================================================================ // // New Pistol Animations for Combine Soldiers // // Author: Blixibon // // (Metrocop animations were decompiled by Crowbar 0.71) // // ================================================================ // // This QCI file implements full pistol idle, walk, run, aim, and crouch animations based on decompiled metrocop animations. // These are combined with other soldier animations to help make them fit in with the soldier's existing posture/animation set // and differentiate them from metrocops. They also use soldier walk/run blends and "NPC_CombineS" footstep animation events. // // Due to the limitations of my animation skills, this uses no custom SMD animations. // Instead, most of these sequences involve complex QC commands applied on directly decompiled // animations. This can produce surprisingly good results, but it's still very crude and has a few caveats which require // a lot of work to iron out. As a result, this technique didn't always turn out perfectly and there are a few flaws in these // sequences if you look hard enough. Fortunately, the animations are mostly passable otherwise. // // If you would like to contribute actual animatons to replace some of these sequences, please contact Blixibon. // // ================================================================ // ================================================================ // Metrocop Base Animations // ================================================================ $include "NewPistolAnimations_MetrocopBase.qci" // ================================================================ // New Weightlists // ================================================================ $weightlist "weights_pistol_new_arms" { "ValveBiped.Bip01_Pelvis" 0 "ValveBiped.Bip01_Spine4" 1 "ValveBiped.Bip01_L_Clavicle" 1 "ValveBiped.Bip01_L_UpperArm" 1 "ValveBiped.Bip01_L_Forearm" 1 "ValveBiped.Bip01_L_Hand" 1 "ValveBiped.Bip01_R_Clavicle" 1 "ValveBiped.Bip01_R_UpperArm" 1 "ValveBiped.Bip01_R_Forearm" 1 "ValveBiped.Bip01_R_Hand" 1 } $weightlist "weights_pistol_new_arms2" { "ValveBiped.Bip01_Pelvis" 0 "ValveBiped.Bip01_Spine4" 0.5 "ValveBiped.Bip01_L_Clavicle" 0.5 "ValveBiped.Bip01_L_UpperArm" 0.5 "ValveBiped.Bip01_L_Forearm" 0.5 "ValveBiped.Bip01_L_Hand" 0.5 "ValveBiped.Bip01_R_Clavicle" 0.5 "ValveBiped.Bip01_R_UpperArm" 0.5 "ValveBiped.Bip01_R_Forearm" 0.5 "ValveBiped.Bip01_R_Hand" 0.5 } $weightlist "weights_pistol_new_arms3" { "ValveBiped.Bip01_Pelvis" 0 "ValveBiped.Bip01_Spine4" 0 "ValveBiped.Bip01_L_Clavicle" 1 "ValveBiped.Bip01_L_UpperArm" 1 "ValveBiped.Bip01_L_Forearm" 1 "ValveBiped.Bip01_L_Hand" 1 "ValveBiped.Bip01_R_Clavicle" 1 "ValveBiped.Bip01_R_UpperArm" 1 "ValveBiped.Bip01_R_Forearm" 1 "ValveBiped.Bip01_R_Hand" 1 } $weightlist "weights_pistol_new_arms4" { "ValveBiped.Bip01_Pelvis" 0 "ValveBiped.Bip01_Spine4" 0.5 "ValveBiped.Bip01_L_Clavicle" 0.5 "ValveBiped.Bip01_L_UpperArm" 0 "ValveBiped.Bip01_L_Forearm" 0 "ValveBiped.Bip01_L_Hand" 0 "ValveBiped.Bip01_R_Clavicle" 0.5 "ValveBiped.Bip01_R_UpperArm" 0.5 "ValveBiped.Bip01_R_Forearm" 0.5 "ValveBiped.Bip01_R_Hand" 0.5 } $weightlist "weights_larm_only" { "ValveBiped.Bip01_Pelvis" 0 "ValveBiped.Bip01_L_UpperArm" 1 "ValveBiped.Bip01_L_Forearm" 1 "ValveBiped.Bip01_L_Hand" 1 } $weightlist "weights_legs_only" { "ValveBiped.Bip01_Spine" 0 "ValveBiped.Bip01_Pelvis" 1 "ValveBiped.Bip01_L_Thigh" 1 "ValveBiped.Bip01_R_Thigh" 1 } // ================================================================ // // The layers below are combined with existing soldier animations to create believable-looking pistol animations. // // 'layer_pistolangryidle2' is the most important layer, although due to weightlists and the soldier combat stance differing // so much from metrocops, many existing soldier animations do not align the layer with the soldier's actual forward direction. // As a result, we have to have "nudged" versions of this layer which use aiming animations to slightly offset the direction // to a point where the aiming animations are facing properly. // // This should be phased out if full pistol animation SMDs are added. // // ================================================================ $sequence "layer_pistolangryidle2_up_left" "a_pistol_aim_up_left" weightlist "weights_pistol_new_arms2" delta hidden $sequence "layer_pistolangryidle2_up_mid" "a_pistol_aim_up_center" weightlist "weights_pistol_new_arms2" delta hidden $sequence "layer_pistolangryidle2_mid_left" "a_pistol_aim_mid_left" weightlist "weights_pistol_new_arms4" delta hidden $sequence "layer_pistolangryidle2_mid_right" "a_pistol_aim_mid_right" weightlist "weights_pistol_new_arms4" delta hidden $sequence "layer_pistolangryidle2_down" "a_pistol_aim_down_center" weightlist "weights_pistol_new_arms3" delta hidden $sequence "layer_pistolangryidle2" { "police_animations_anims\pistolangryidle2.smd" weightlist "weights_pistol_new_arms" addlayer "layer_pistolangryidle2_up_mid" hidden } $sequence "layer_pistolangryidle2_nudgeright" { "police_animations_anims\pistolangryidle2.smd" weightlist "weights_pistol_new_arms" addlayer "layer_pistolangryidle2_up_mid" addlayer "layer_pistolangryidle2_up_mid" // Need to layer this twice addlayer "layer_pistolangryidle2_mid_right" hidden } $sequence "layer_pistolangryidle2_nudgeleft" { "police_animations_anims\pistolangryidle2.smd" weightlist "weights_pistol_new_arms" addlayer "layer_pistolangryidle2_up_mid" addlayer "layer_pistolangryidle2_mid_left" hidden } $sequence "layer_pistolangryidle2_armsonly" { "police_animations_anims\pistolangryidle2.smd" weightlist "weights_pistol_new_arms2" hidden } $sequence "layer_shootp1" "police_animations_anims\shootp1.smd" subtract "layer_shootp1" 4 delta hidden $sequence "layer_reload_pistol" "police_animations_anims\reload_pistol.smd" weightlist "weights_pistol_new_arms" addlayer "layer_pistolangryidle2_up_mid" hidden $sequence "layer_reload_combine" "combine_soldier_anims_anims\reload.smd" weightlist "weights_legs_only" hidden $sequence "layer_reload_combine_low" "combine_soldier_anims_anims\reload_low.smd" weightlist "weights_legs_only" hidden // ================================================================ // Combat Animations // ================================================================ $sequence "CombatIdle1_Pistol" { // pistolangryidle2 $Blend_SMD_Rifle$ blendlayer "layer_pistolangryidle2" 0 0 0 0 local addlayer "Aim_stand_delta_all" //snap //"police_animations_anims\pistolangryidle2.smd" activity "ACT_IDLE_ANGRY_PISTOL" 1 //addlayer "layer_pistolangryidle2_up" //node "shooting_pistol" fadein 0.2 fadeout 0.2 fps 30 loop ikrule "lfoot" footstep contact 0 fakeorigin 18 4.61 0 fakerotate 0 0 0 floor 0 height 20 radius 2.5 range 0 0 30 30 target 3 ikrule "rfoot" footstep contact 0 fakeorigin -14.07 -4.91 0 fakerotate 0 0 0 floor 0 height 20 radius 2.5 range 0 0 30 30 target 2 ikrule "lhand" release contact 0 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 0 0 30 30 target 1 ikrule "rhand" release contact 0 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 0 0 30 30 target 0 } $sequence "Crouch_idle_pistol" { "police_animations_anims\Crouch_idle_pistol.smd" activity "ACT_COVER_PISTOL_LOW" 1 fadein 0.2 fadeout 0.2 //node "crouching_pistol" fps 30 loop ikrule "lfoot" footstep contact 0 fakeorigin 5.77 8.81 0 fakerotate 0 0 0 floor 0 height 20 radius 2.5 range 0 0 80 80 target 3 ikrule "rfoot" footstep contact 0 fakeorigin -11.36 9.68 0 fakerotate 0 0 0 floor 0 height 20 radius 2.5 range 0 0 80 80 target 2 ikrule "rhand" release contact 0 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 0 0 80 80 target 0 ikrule "lhand" release contact 0 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 0 0 80 80 target 1 } $sequence "shootp1" { $Blend_SMD_Rifle$ blendlayer "layer_pistolangryidle2" 0 0 0 0 local addlayer "layer_shootp1" //blendlayer "layer_shootp1" 0 2 4 4 addlayer "Aim_stand_delta_all" numframes 5 //snap //"police_animations_anims\shootp1.smd" activity "ACT_RANGE_ATTACK_PISTOL" 1 fadein 0.2 fadeout 0.2 //addlayer "pistol_Aim_all" //node "shooting_pistol" fps 30 ikrule "lfoot" footstep contact 0 fakeorigin 18 4.61 0 fakerotate 0 0 0 floor 0 height 20 radius 2.5 range 0 0 4 4 target 3 ikrule "rfoot" footstep contact 0 fakeorigin -14.07 -4.91 0 fakerotate 0 0 0 floor 0 height 20 radius 2.5 range 0 0 4 4 target 2 ikrule "lhand" release contact 0 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 0 0 4 4 target 1 ikrule "rhand" release contact 0 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 0 0 4 4 target 0 } $sequence "gesture_shoot_pistol" { "police_animations_anims\gesture_shoot_pistol.smd" activity "ACT_GESTURE_RANGE_ATTACK_PISTOL" 1 delta // Crowbar writes this subtract option to prevent jigglebone and poseparameter problems when delta sequences are recompiled. subtract "@gesture_shoot_pistol_corrective_animation" 0 fadein 0.2 fadeout 0.2 fps 30 } $sequence "reload_pistol" { $Blend_SMD_Rifle$ blendlayer "layer_pistolangryidle2" 0 0 1 5 local blendlayer "layer_pistolangryidle2" 33 39 41 41 local blendlayer "layer_reload_pistol" 0 5 33 39 blendlayer "layer_reload_combine" 0 5 35 40 //blendlayer "Aim_stand_delta_all" 0 0 0 15 spline //blendlayer "Aim_stand_delta_all" 30 41 41 41 spline numframes 41 //"police_animations_anims\reload_pistol.smd" activity "ACT_RELOAD_PISTOL" 1 { event 3017 0 "" } { event 3018 34 "" } fadein 0.2 fadeout 0.2 //blendlayer "pistol_Aim_all" 0 0 0 15 spline //blendlayer "pistol_Aim_all" 30 41 41 41 spline //node "shooting_pistol" fps 30 ikrule "lfoot" footstep contact 0 fakeorigin 11.95 7.22 0 fakerotate 0 0 0 floor 0 height 20 radius 2.5 range 0 0 40 40 target 3 ikrule "rfoot" footstep contact 0 fakeorigin -9.2 -3.23 0 fakerotate 0 0 0 floor 0 height 20 radius 2.5 range 0 0 40 40 target 2 //ikrule "lhand" touch "ValveBiped.Bip01_R_Hand" contact 29 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 26 29 30 31 target 1 //ikrule "lhand" touch "ValveBiped.Bip01_Spine" contact 13 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 10 13 16 18 target 1 //ikrule "lhand" touch "ValveBiped.Bip01_R_Hand" contact 40 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 38 40 10 10 target 1 usesequence //ikrule "rhand" release contact 0 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 0 0 40 40 target 0 } $sequence "reload_pistol_low" { // crouch_reload_pistol $Blend_SMD_Rifle_Crouched$ blendlayer "layer_pistolangryidle2" 0 0 1 5 local blendlayer "layer_pistolangryidle2" 33 39 41 41 local blendlayer "layer_reload_pistol" 0 5 33 39 blendlayer "layer_reload_combine_low" 0 5 35 40 numframes 41 //"police_animations_anims\crouch_reload_pistol.smd" activity "ACT_RELOAD_PISTOL_LOW" 1 { event 3017 0 "" } { event 3018 34 "" } //{ event 3017 0 "" } //{ event 3018 56 "" } fadein 0.2 fadeout 0.2 //node "crouching_pistol" fps 30 ikrule "lfoot" footstep contact 0 fakeorigin 18 5.59 0 fakerotate 0 0 0 floor 0 height 20 radius 2.5 range 0 0 30 30 target 3 ikrule "rfoot" footstep contact 0 fakeorigin -10.25 -3.4 0 fakerotate 0 0 0 floor 0 height 20 radius 2.5 range 0 0 30 30 target 2 ikrule "rhand" release contact 0 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 0 0 60 60 target 0 ikrule "lhand" release contact 0 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 0 0 60 60 target 1 } $sequence "gesture_reload_pistolspine" { "police_animations_anims\gesture_reload_pistolspine.smd" delta // Crowbar writes this subtract option to prevent jigglebone and poseparameter problems when delta sequences are recompiled. subtract "@gesture_reload_pistolspine_corrective_animation" 0 fadein 0.2 fadeout 0.2 hidden fps 30 weightlist "weights_neck_trans_x" } $sequence "gesture_reload_pistolarms" { "police_animations_anims\gesture_reload_pistolarms.smd" fadein 0.2 fadeout 0.2 hidden fps 30 //ikrule "rhand" release contact 0 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 0 0 40 40 target 0 //ikrule "lhand" release contact 0 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 0 0 40 40 target 1 weightlist "weights_gesture_reload_pistolarms" } $sequence "gesture_reload_pistol" { "police_animations_anims\gesture_reload_pistol.smd" activity "ACT_GESTURE_RELOAD_PISTOL" 1 { event 3017 0 "" } { event 3018 37 "" } fadein 0.2 fadeout 0.2 iklock "rfoot" 1 0 iklock "lfoot" 1 0 blendlayer "gesture_reload_pistolarms" 0 5 32 40 spline blendlayer "gesture_reload_pistolspine" 0 5 32 40 spline //node "standing_pistol" fps 30 //ikrule "lhand" touch "ValveBiped.Bip01_Pelvis" contact 8 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 1 8 16 20 target 1 usesequence //ikrule "lhand" touch "ValveBiped.Bip01_R_Hand" contact 22 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 18 22 38 39 target 1 usesequence weightlist "weights_gesture_reload_pistol" } $sequence "crouch_aim_pistol" { $Blend_SMD_Rifle_Crouched$ blendlayer "layer_pistolangryidle2" 0 0 0 0 local addlayer "Aim_stand_delta_all" //addlayer "Aim_crouch_delta_all" //"combine_soldier_anims_anims\crouch_aim_sm1.smd" activity "ACT_RANGE_AIM_PISTOL_LOW" 1 fadein 0.2 fadeout 0.2 fps 18 loop ikrule "lfoot" footstep contact 0 fakeorigin 18 5.59 0 fakerotate 0 0 0 floor 0 height 20 radius 2.5 range 0 0 30 30 target 3 ikrule "rfoot" footstep contact 0 fakeorigin -10.25 -3.4 0 fakerotate 0 0 0 floor 0 height 20 radius 2.5 range 0 0 30 30 target 2 //ikrule "lhand" touch "ValveBiped.Bip01_R_Hand" contact 0 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 0 0 30 30 target 1 ikrule "lhand" release contact 0 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 0 0 30 30 target 0 ikrule "rhand" release contact 0 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 0 0 30 30 target 0 } $sequence "shootp1c" { $Blend_SMD_Rifle_Crouched$ blendlayer "layer_pistolangryidle2" 0 0 0 0 local addlayer "layer_shootp1" //blendlayer "layer_shootp1" 0 2 4 4 addlayer "Aim_stand_delta_all" //addlayer "Aim_crouch_delta_all" numframes 5 //snap //"combine_soldier_anims_anims\shootSMG1c.smd" //blendlayer "layer_pistolangryidle2" 0 0 0 0 local //addlayer "Aim_crouch_delta_all" ////snap activity "ACT_RANGE_ATTACK_PISTOL_LOW" 1 { event 4 0 "" } fadein 0.2 fadeout 0.2 fps 30 ikrule "lfoot" footstep contact 0 fakeorigin 18 5.59 0 fakerotate 0 0 0 floor 0 height 20 radius 2.5 range 0 0 4 4 target 3 ikrule "rfoot" footstep contact 0 fakeorigin -10.25 -3.4 0 fakerotate 0 0 0 floor 0 height 20 radius 2.5 range 0 0 4 4 target 2 //ikrule "lhand" touch "ValveBiped.Bip01_R_Hand" contact 0 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 0 0 4 4 target 1 ikrule "lhand" release contact 0 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 0 0 4 4 target 0 ikrule "rhand" release contact 0 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 0 0 4 4 target 0 } // ================================================================ // Aim Animations // ================================================================ $sequence "pistol_Aim_all" { "a_pistol_aim_straight_up" "a_pistol_aim_straight_up" "a_pistol_aim_straight_up" "a_pistol_aim_up_right" "a_pistol_aim_up_center" "a_pistol_aim_up_left" "a_pistol_aim_mid_right" "a_pistol_aim_mid_center" "a_pistol_aim_mid_left" "a_pistol_aim_down_right" "a_pistol_aim_down_center" "a_pistol_aim_down_left" blend "aim_yaw" -43.47391 45.51665 blend "aim_pitch" -82.85746 45.59517 blendwidth 3 delta fadein 0.2 fadeout 0.2 hidden iklock "rfoot" 1 0 iklock "lfoot" 1 0 } $sequence "WalkN_pistol_Aim_all" { "a_WalkN_pistol_aim_straight_up" "a_WalkN_pistol_aim_straight_up" "a_WalkN_pistol_aim_straight_up" "a_WalkN_pistol_aim_up_right" "a_WalkN_pistol_aim_up_center" "a_WalkN_pistol_aim_up_left" "a_WalkN_pistol_aim_mid_right" "a_WalkN_pistol_aim_mid_center" "a_WalkN_pistol_aim_mid_left" "a_WalkN_pistol_aim_down_right" "a_WalkN_pistol_aim_down_center" "a_WalkN_pistol_aim_down_left" blend "aim_yaw" -45.59397 44.46127 blend "aim_pitch" -78.71045 43.57745 blendwidth 3 delta fadein 0.2 fadeout 0.2 hidden iklock "rfoot" 1 0 iklock "lfoot" 1 0 } // ================================================================ // Walk Animations // ================================================================ $sequence "walk_aiming_pistol_all" { "a_SoldierWalkS" "a_SoldierWalkSE" "a_SoldierWalkE" "a_SoldierWalkNE" "a_SoldierWalkN" "a_SoldierWalkNW" "a_SoldierWalkW" "a_SoldierWalkSW" "a_SoldierWalkS" activity "ACT_WALK_AIM_PISTOL" 1 blend "move_yaw" -180 180 blendwidth 9 fadein 0.2 fadeout 0.2 blendlayer "layer_pistolangryidle2_nudgeleft" 0 0 0 0 local addlayer "Aim_stand_delta_all" //addlayer "WalkN_pistol_Aim_all" //blendlayer "layer_walk_aiming_pistol" 0 0 0 0 local } $sequence "layer_walk_hold_pistol" { "police_animations_anims\layer_walk_hold_pistol.smd" fadein 0.2 fadeout 0.2 hidden addlayer "WalkN_pistol_Aim_all" fps 30 loop ikrule "rhand" release contact 0 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 0 0 30 30 target 0 ikrule "lhand" release contact 0 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 0 0 30 30 target 1 weightlist "weights_pistol_new_arms" } $sequence "walk_hold_pistol" { "a_SoldierWalkS" "a_SoldierWalkSE" "a_SoldierWalkE" "a_SoldierWalkNE" "a_SoldierWalkN" "a_SoldierWalkNW" "a_SoldierWalkW" "a_SoldierWalkSW" "a_SoldierWalkS" activity "ACT_WALK_PISTOL" 1 blend "move_yaw" -180 180 blendwidth 9 { event 6004 9 "NPC_CombineS" } { event 6005 25 "NPC_CombineS" } fadein 0.2 fadeout 0.2 //addlayer "layer_walk_hold_pistol" blendlayer "layer_pistolangryidle2_armsonly" 0 0 0 0 local //node "standing_pistol" } $sequence "walk_hold_pistol_easy" { "a_SoldierWalkEasyS" "a_SoldierWalkEasySE" "a_SoldierWalkEasyE" "a_SoldierWalkEasyNE" "a_SoldierWalkEasyN" "a_SoldierWalkEasyNW" "a_SoldierWalkEasyW" "a_SoldierWalkEasySW" "a_SoldierWalkEasyS" activity "ACT_WALK_EASY_PISTOL" 1 blend "move_yaw" -180 180 blendwidth 9 { event 6004 9 "NPC_CombineS" } { event 6005 25 "NPC_CombineS" } fadein 0.2 fadeout 0.2 blendlayer "layer_walk_hold_pistol" 0 0 0 0 local //addlayer "layer_pistolangryidle2_armsonly" //node "standing_pistol" } // ================================================================ // Run Animations // ================================================================ $sequence "run_hold_pistol" { "a_SoldierRunS" "a_SoldierRunSE" "a_SoldierRunE" "a_SoldierRunNE" "a_SoldierRunN" "a_SoldierRunNW" "a_SoldierRunW" "a_SoldierRunSW" "a_SoldierRunS" activity "ACT_RUN_PISTOL" 1 blend "move_yaw" -180 180 blendwidth 9 { event 6004 7 "NPC_CombineS" } { event 6005 16 "NPC_CombineS" } fadein 0.2 fadeout 0.2 blendlayer "layer_pistolangryidle2_armsonly" 0 0 0 0 local } $sequence "run_aiming_pistol_all" { "a_SoldierRunS" "a_SoldierRunSE" "a_SoldierRunE" "a_SoldierRunNE" "a_SoldierRunN" "a_SoldierRunNW" "a_SoldierRunW" "a_SoldierRunSW" "a_SoldierRunS" activity "ACT_RUN_AIM_PISTOL" 1 blend "move_yaw" -180 180 blendwidth 9 { event 6004 7 "NPC_CombineS" } { event 6005 16 "NPC_CombineS" } fadein 0.2 fadeout 0.2 blendlayer "layer_pistolangryidle2_nudgeright" 0 0 0 0 local addlayer "Aim_stand_delta_all" } // ================================================================ // Idle Animations // ================================================================ $sequence "Idle1_Pistol_armlayer" { "combine_soldier_anims_anims\Idle_Unarmed.smd" weightlist "weights_larm_only" hidden } $weightlist "weights_pistol_idle_layer2" { "ValveBiped.Bip01_Pelvis" 0 "ValveBiped.Bip01_Spine4" 0.5 "ValveBiped.Bip01_Neck1" 0 "ValveBiped.Bip01_L_Clavicle" 1 "ValveBiped.Bip01_L_UpperArm" 0 "ValveBiped.Bip01_L_Forearm" 0.5 "ValveBiped.Bip01_L_Hand" 1 "ValveBiped.Bip01_R_Clavicle" 0.5 "ValveBiped.Bip01_R_UpperArm" 0 "ValveBiped.Bip01_R_Forearm" 1 "ValveBiped.Bip01_R_Hand" 1 "ValveBiped.Bip01_R_Finger0" 0 "ValveBiped.Bip01_R_Finger1" 0 "ValveBiped.Bip01_R_Finger2" 0 "ValveBiped.Bip01_R_Finger3" 0 "ValveBiped.Bip01_R_Finger4" 0 } $weightlist "weights_pistol_idle_layer2a" { "ValveBiped.Bip01_Pelvis" 0 "ValveBiped.Bip01_L_Clavicle" 0 "ValveBiped.Bip01_L_UpperArm" 0.25 "ValveBiped.Bip01_L_Forearm" 0.5 "ValveBiped.Bip01_L_Hand" 1 "ValveBiped.Bip01_R_Clavicle" 0.5 "ValveBiped.Bip01_R_UpperArm" 0.25 "ValveBiped.Bip01_R_Forearm" 0.5 } // "Lowered" animation $sequence "Idle_Pistol_Layer2a" { "police_animations_anims\a_walkN_hold_pistol.smd" frame 0 0 numframes 30 weightlist "weights_pistol_idle_layer2a" loop hidden } // "Raised" animation combined with the lowered one $sequence "Idle1_Pistol_Layer2" { "police_animations_anims\Crouch_idle_pistol.smd" frame 0 0 numframes 30 addlayer "Idle_Pistol_Layer2a" weightlist "weights_pistol_idle_layer2" loop hidden } // Idle animation which blends the raised/lowered combo. // This is an attempt to create an animation akin to the soldier's other Idle1 animations. // The left hand isn't quite aligned, so it could still use some work. $sequence "Idle1_Pistol" { "combine_soldier_anims_anims\Idle1.smd" activity "ACT_IDLE_PISTOL" 1 addlayer "Idle1_Pistol_Layer2" fadein 0.2 fadeout 0.2 fps 30 loop ikrule "lfoot" footstep contact 0 fakeorigin 0.78 6.48 0 fakerotate 0 0 0 floor 0 height 20 radius 2.5 range 0 0 341 341 target 3 ikrule "rfoot" footstep contact 0 fakeorigin -1.99 -1.78 0 fakerotate 0 0 0 floor 0 height 20 radius 2.5 range 0 0 341 341 target 2 ikrule "lhand" release contact 0 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 0 0 341 341 target 1 ikrule "rhand" release contact 0 fakeorigin 0 0 0 fakerotate 0 0 0 floor 0 height 0 radius 0 range 0 0 341 341 target 0 }