mapbase-model-src/modelsrc/CitizenActivityFixes.qci

237 lines
13 KiB
Plaintext

// ================================================================
//
// 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"