// ================================================================ // // Citizen Activity Fixes // // This overwrites existing citizen sequences // (note: both male_shared and female_shared include this and should $pushd before including) // // ================================================================ // ---------------------------------------------------------------- // // REPLACEMENTS // // ---------------------------------------------------------------- // Crouch_idleD holds a SMG while crouchidlehide holds nothing, but the former used ACT_COVER_LOW instead of ACT_COVER_SMG1_LOW and crouchidlehide // did not have an activity at all, despite having its own transitions. // This has been changed so that Crouch_idleD uses ACT_COVER_LOW_SMG1 and crouchidlehide uses ACT_COVER_LOW. $sequence "Crouch_idleD" { "Crouch_idleD.smd" activity "ACT_COVER_SMG1_LOW" 1 node "crouching" loop cmdlist lockfeetandlefthand } $sequence "crouchidlehide" { "crouchidlehide.smd" activity "ACT_COVER_LOW" 1 node "crouchhide" loop cmdlist lockfeet } // These transitions do not match any existing animations. The "crouching" node contains crouching combat animations, but these transitions make // that look weird when they're standing up and down. There's also already a transition for going from crouching to standing in combat, which happen // to use the same nodes as these. // In order to give that transition precedent, these transitions no longer transition any nodes. $sequence "Stand_to_crouch" { "Stand_to_crouch.smd" } // activity "ACT_TRANSITION" 1 transition "standing" "crouching" $sequence "Crouch_to_stand" { "Crouch_to_stand.smd" } // activity "ACT_TRANSITION" 1 transition "crouching" "standing" // ---------------------------------------------------------------- // // NEW // // ---------------------------------------------------------------- // New Idles $GenericIdle "Idle_Angry_Crossbow" "custom\Idle_Angry_Crossbow.smd" "ACT_IDLE_CROSSBOW" $GenericCombatIdle "Idle_Crossbow_Aim" "custom\Idle_Crossbow_Aim.smd" "ACT_IDLE_ANGRY_CROSSBOW" "soldier_Aim_9_directions" $GenericShoot "shoot_crossbow" "custom\shoot_crossbow.smd" "ACT_RANGE_ATTACK_CROSSBOW" "soldier_Aim_9_directions" $GenericShootFromIdle "crouch_shoot_crossbow" "crouch_shoot_smg1.smd" "ACT_RANGE_ATTACK_CROSSBOW_LOW" "soldier_Aim_9_directions" "gesture_shoot_crossbow" 10 $GenericReload "reload_crossbow" "custom\reload_crossbow.smd" "ACT_RELOAD_CROSSBOW" "soldier_Aim_9_directions" 10 25 40 20 $append reload_crossbow { fps 25 } $GenericReloadFromIdle "crouch_reload_crossbow" "Crouch_idleD.smd" "ACT_RELOAD_CROSSBOW_LOW" "soldier_Aim_9_directions" "gesture_reload_crossbow" 10 25 40 20 $append crouch_reload_crossbow { fps 25 } $GenericIdle "crouch_idle_crossbow" "Crouch_idleD.smd" "ACT_COVER_CROSSBOW_LOW" $append crouch_idle_crossbow { blendlayer "relaxed_smg1_to_crossbow" 0 0 0 0 local } $sequence "gesture_shoot_crossbow" "custom\shoot_crossbow.smd" subtract "gesture_shoot_crossbow" 0 delta activity "ACT_GESTURE_RANGE_ATTACK_CROSSBOW" 1 $makeweapongesturep "gesture_reload_crossbow" "custom\reload_crossbow.smd" 10 25 40 $append gesture_reload_crossbow { fps 25 activity "ACT_GESTURE_RELOAD_CROSSBOW" 1 { event 3018 20 "" } } $sequence "layer_relaxed_smg1" { "Idle_SMG1_Relaxed.smd" frame 0 0 ikrule "lhand" touch "ValveBiped.Bip01_R_Hand" hidden } $sequence "relaxed_smg1_to_crossbow" "custom\Idle_Crossbow_Relaxed.smd" frame 0 0 subtract "layer_relaxed_smg1" 0 delta hidden $sequence "relaxed_crossbow_full_arms" "custom\Idle_Crossbow_Relaxed.smd" frame 0 0 weightlist "weapongesture_armsonly" hidden $GenericIdleHands "Idle_Relaxed_Crossbow_1" "Idle_Relaxed_SMG1_1.smd" "ACT_IDLE_CROSSBOW_RELAXED" "relaxed_crossbow_full_arms" $GenericIdleHands "Idle_Relaxed_Crossbow_2" "Idle_Relaxed_SMG1_2.smd" "ACT_IDLE_CROSSBOW_RELAXED" "relaxed_smg1_to_crossbow" $GenericIdleHands "Idle_Relaxed_Crossbow_3" "Idle_Relaxed_SMG1_3.smd" "ACT_IDLE_CROSSBOW_RELAXED" "relaxed_crossbow_full_arms" $GenericIdleHands "Idle_Relaxed_Crossbow_4" "Idle_Relaxed_SMG1_4.smd" "ACT_IDLE_CROSSBOW_RELAXED" "relaxed_crossbow_full_arms" $GenericIdleHands "Idle_Relaxed_Crossbow_5" "Idle_Relaxed_SMG1_5.smd" "ACT_IDLE_CROSSBOW_RELAXED" "relaxed_crossbow_full_arms" //$GenericIdleHands "Idle_Relaxed_Crossbow_6" "Idle_Relaxed_SMG1_6.smd" "ACT_IDLE_CROSSBOW_RELAXED" "relaxed_crossbow_full_arms" //$GenericIdleHands "Idle_Relaxed_Crossbow_7" "Idle_Relaxed_SMG1_7.smd" "ACT_IDLE_CROSSBOW_RELAXED" "relaxed_crossbow_full_arms" //$GenericIdleHands "Idle_Relaxed_Crossbow_8" "Idle_Relaxed_SMG1_8.smd" "ACT_IDLE_CROSSBOW_RELAXED" "relaxed_crossbow_full_arms" //$GenericIdleHands "Idle_Relaxed_Crossbow_9" "Idle_Relaxed_SMG1_9.smd" "ACT_IDLE_CROSSBOW_RELAXED" "relaxed_crossbow_full_arms" $GenericIdleHands "Idle_Alert_Crossbow_1" "Idle_Alert_SMG1_1.smd" "ACT_IDLE_CROSSBOW_STIMULATED" "relaxed_smg1_to_crossbow" $GenericIdleHands "Idle_Alert_Crossbow_2" "Idle_Alert_SMG1_2.smd" "ACT_IDLE_CROSSBOW_STIMULATED" "relaxed_smg1_to_crossbow" $GenericIdleHands "Idle_Alert_Crossbow_3" "Idle_Alert_SMG1_3.smd" "ACT_IDLE_CROSSBOW_STIMULATED" "relaxed_smg1_to_crossbow" $GenericIdleHands "Idle_Alert_Crossbow_4" "Idle_Alert_SMG1_4.smd" "ACT_IDLE_CROSSBOW_STIMULATED" "relaxed_smg1_to_crossbow" $GenericIdleHands "Idle_Alert_Crossbow_5" "Idle_Alert_SMG1_5.smd" "ACT_IDLE_CROSSBOW_STIMULATED" "relaxed_smg1_to_crossbow" $GenericIdleHands "Idle_Alert_Crossbow_6" "Idle_Alert_SMG1_6.smd" "ACT_IDLE_CROSSBOW_STIMULATED" "relaxed_smg1_to_crossbow" //$GenericIdleHands "Idle_Alert_Crossbow_7" "Idle_Alert_SMG1_7.smd" "ACT_IDLE_CROSSBOW_STIMULATED" "relaxed_smg1_to_crossbow" //$GenericIdleHands "Idle_Alert_Crossbow_8" "Idle_Alert_SMG1_8.smd" "ACT_IDLE_CROSSBOW_STIMULATED" "relaxed_smg1_to_crossbow" //$GenericIdleHands "Idle_Alert_Crossbow_9" "Idle_Alert_SMG1_9.smd" "ACT_IDLE_CROSSBOW_STIMULATED" "relaxed_smg1_to_crossbow" // ---------------------------------------------------------------- $definemacro ReadinessMoveLayer LayerName FileName \\ $GenericMoveLayer $LayerName$ $FileName$ "weights_relaxed_1" \\ $weightlist "weights_relaxed_1" { "ValveBiped.Bip01_Pelvis" 0.1 "ValveBiped.Bip01_Spine" 0.2 "ValveBiped.Bip01_Spine1" 0.4 "ValveBiped.Bip01_Spine2" 0.6 "ValveBiped.Bip01_Spine4" 1 "ValveBiped.Bip01_L_Clavicle" 1 "ValveBiped.Bip01_R_Clavicle" 1 "ValveBiped.Bip01_R_Thigh" 0 "ValveBiped.Bip01_L_Thigh" 0 } $GenericIdle "Idle_Crossbow_Relaxed" "custom\Idle_Crossbow_Relaxed.smd" "ACT_NEUTRAL_CROSSBOW_RELAXED" // ---------------------------------------------------------------- $ReadinessMoveLayer "layer_walk_holding_crossbow_relaxed" "layer_walk_holding_SMG1_Relaxed.smd" $append layer_walk_holding_crossbow_relaxed { blendlayer "relaxed_smg1_to_crossbow" 0 0 0 0 local } $GenericWalkLayered "walk_crossbow_relaxed_all" "ACT_WALK_CROSSBOW_RELAXED" "layer_walk_holding_crossbow_relaxed" "ACT_NEUTRAL_CROSSBOW_RELAXED" // ---------------------------------------------------------------- $ReadinessMoveLayer "layer_run_holding_crossbow_relaxed" "layer_run_holding_SMG1_Relaxed.smd" $append layer_run_holding_crossbow_relaxed { blendlayer "relaxed_smg1_to_crossbow" 0 0 0 0 local } $GenericRunLayered "run_crossbow_relaxed_all" "ACT_RUN_CROSSBOW_RELAXED" "layer_run_holding_crossbow_relaxed" "ACT_NEUTRAL_CROSSBOW_RELAXED" // ---------------------------------------------------------------- $ReadinessMoveLayer "layer_walk_holding_crossbow" "layer_walk_holding.smd" $append layer_walk_holding_crossbow { blendlayer "relaxed_smg1_to_crossbow" 0 0 0 0 local } $ReadinessMoveLayer "layer_walk_alert_holding_crossbow" "layer_walk_alert_holding.smd" $append layer_walk_alert_holding_crossbow { blendlayer "relaxed_smg1_to_crossbow" 0 0 0 0 local } $GenericWalkLayered "walk_hold_crossbow" "ACT_WALK_CROSSBOW" "layer_walk_holding_crossbow" "ACT_NEUTRAL_CROSSBOW_RELAXED" $GenericWalkLayered "walk_alert_hold_crossbow" "ACT_WALK_CROSSBOW_STIMULATED" "layer_walk_holding_crossbow" "ACT_NEUTRAL_CROSSBOW_RELAXED" // ---------------------------------------------------------------- $ReadinessMoveLayer "layer_run_holding_crossbow" "layer_run_holding.smd" $append layer_run_holding_crossbow { blendlayer "relaxed_smg1_to_crossbow" 0 0 0 0 local } $ReadinessMoveLayer "layer_run_alert_holding_crossbow" "layer_run_alert_holding.smd" $append layer_run_alert_holding_crossbow { blendlayer "relaxed_smg1_to_crossbow" 0 0 0 0 local } $GenericRunLayered "run_hold_crossbow" "ACT_RUN_CROSSBOW" "layer_run_holding_crossbow" "ACT_NEUTRAL_CROSSBOW_RELAXED" $GenericRunLayered "run_alert_hold_crossbow" "ACT_RUN_CROSSBOW_STIMULATED" "layer_run_alert_holding_crossbow" "ACT_NEUTRAL_CROSSBOW_RELAXED" // ---------------------------------------------------------------- $weightlist "weights_stimulated_aim" { "ValveBiped.Bip01_Pelvis" 0.1 "ValveBiped.Bip01_Spine" 0.1 "ValveBiped.Bip01_Spine1" 0.2 "ValveBiped.Bip01_Spine2" 0.3 "ValveBiped.Bip01_Spine4" 0.4 "ValveBiped.Bip01_L_Clavicle" 1 "ValveBiped.Bip01_R_Clavicle" 1 "ValveBiped.Bip01_R_Thigh" 0 "ValveBiped.Bip01_L_Thigh" 0 } // Stronger and doesn't care about the pelvis (for non-worldspace layers) $weightlist "weights_stimulated_aim_2" { "ValveBiped.Bip01_Pelvis" 0 "ValveBiped.Bip01_Spine" 0.2 "ValveBiped.Bip01_Spine1" 0.4 "ValveBiped.Bip01_Spine2" 0.6 "ValveBiped.Bip01_Spine4" 0.8 "ValveBiped.Bip01_L_Clavicle" 1 "ValveBiped.Bip01_R_Clavicle" 1 "ValveBiped.Bip01_R_Thigh" 0 "ValveBiped.Bip01_L_Thigh" 0 } // Stronger worldspace blend (for keeping citizen posture) $weightlist "weights_stimulated_aim_3" { "ValveBiped.Bip01_Pelvis" 0.1 "ValveBiped.Bip01_Spine" 0.2 "ValveBiped.Bip01_Spine1" 0.4 "ValveBiped.Bip01_Spine2" 0.6 "ValveBiped.Bip01_Spine4" 0.8 "ValveBiped.Bip01_L_Clavicle" 1 "ValveBiped.Bip01_R_Clavicle" 1 "ValveBiped.Bip01_R_Thigh" 0 "ValveBiped.Bip01_L_Thigh" 0 } $sequence "layer_walk_alert_aim_noise" { "layer_walk_alert_aiming.smd" weightlist "weights_stimulated_aim_2" subtract "layer_walk_alert_aim_noise" 0 delta hidden } $sequence "layer_walk_aim_crossbow" { "custom\Idle_Crossbow_Aim.smd" weightlist "weights_stimulated_aim_3" addlayer "soldier_Aim_9_directions" addlayer "layer_walk_alert_aim_noise" ikrule "lhand" touch "ValveBiped.Bip01_R_Hand" worldspace hidden } $sequence "layer_stimulated_aim_crossbow" { "custom\Idle_Crossbow_Aim.smd" weightlist "weights_stimulated_aim" addlayer "soldier_Aim_9_directions" ikrule "lhand" touch "ValveBiped.Bip01_R_Hand" worldspace hidden } $sequence "layer_walk_alert_aim_crossbow" { "custom\Idle_Crossbow_Aim.smd" weightlist "weights_stimulated_aim" addlayer "soldier_Aim_9_directions" addlayer "layer_walk_alert_aim_noise" ikrule "lhand" touch "ValveBiped.Bip01_R_Hand" worldspace hidden } $GenericCombatIdle_NoHandIK "Idle_Crossbow_Aim_Alert" "Idle_SMG1_Aim_Alert.smd" "ACT_IDLE_AIM_CROSSBOW_STIMULATED" "soldier_Aim_9_directions" $append Idle_Crossbow_Aim_Alert { blendlayer "layer_stimulated_aim_crossbow" 0 0 0 0 local } $sequence "walk_aiming_crossbow_all" { $a_WalkBlends activity "ACT_WALK_AIM_CROSSBOW" 1 addlayer "layer_walk_aim_crossbow" node "walking" } $sequence "run_aiming_crossbow_all" { $a_RunBlends activity "ACT_RUN_AIM_CROSSBOW" 1 addlayer "layer_walk_aim_crossbow" node "running" } $sequence "walk_aiming_crossbow_alert_all" { $a_WalkBlends activity "ACT_WALK_AIM_CROSSBOW_STIMULATED" 1 addlayer "layer_walk_alert_aim_crossbow" node "walking" } $sequence "run_aiming_crossbow_alert_all" { $a_RunBlends activity "ACT_RUN_AIM_CROSSBOW_STIMULATED" 1 addlayer "layer_walk_alert_aim_crossbow" node "running" } // ---------------------------------------------------------------- // // Nodes for all of the above animations // // ---------------------------------------------------------------- $definemacro AddNodeToSequence SeqName NodeName \\ $append $SeqName$ { node $NodeName$ } $AddNodeToSequence "Idle_Crossbow_Relaxed" "standing" $AddNodeToSequence "Idle_Angry_Crossbow" "standing" $AddNodeToSequence "Idle_Crossbow_Aim" "shooting" $AddNodeToSequence "shoot_crossbow" "shooting" $AddNodeToSequence "reload_crossbow" "shooting" $AddNodeToSequence "crouch_reload_crossbow" "crouching" $AddNodeToSequence "crouch_idle_crossbow" "crouching" $AddNodeToSequence "crouch_shoot_crossbow" "crouchShooting" $AddNodeToSequence "walk_crossbow_relaxed_all" "walking" $AddNodeToSequence "walk_hold_crossbow" "walking" $AddNodeToSequence "walk_alert_hold_crossbow" "walking" $AddNodeToSequence "run_crossbow_relaxed_all" "running" $AddNodeToSequence "run_hold_crossbow" "running" $AddNodeToSequence "run_alert_hold_crossbow" "running" //$AddNodeToSequence "Idle_Crossbow_Aim_Alert" "shooting" $AddNodeToSequence "Idle_Relaxed_Crossbow_1" "standing" $AddNodeToSequence "Idle_Relaxed_Crossbow_2" "standing" $AddNodeToSequence "Idle_Relaxed_Crossbow_3" "standing" $AddNodeToSequence "Idle_Relaxed_Crossbow_4" "standing" $AddNodeToSequence "Idle_Relaxed_Crossbow_5" "standing" $AddNodeToSequence "Idle_Alert_Crossbow_1" "standing" $AddNodeToSequence "Idle_Alert_Crossbow_2" "standing" $AddNodeToSequence "Idle_Alert_Crossbow_3" "standing" $AddNodeToSequence "Idle_Alert_Crossbow_4" "standing" $AddNodeToSequence "Idle_Alert_Crossbow_5" "standing" $AddNodeToSequence "Idle_Alert_Crossbow_6" "standing"