Animation List: Difference between revisions

From The DarkMod Wiki
Jump to navigationJump to search
No edit summary
m (adding missing categories)
 
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This is a placeholder list of animations, so mappers know what is available.
This is a placeholder list of animations, so mappers know what is available.


This is the list used for all regular, humanoid characters.  It does not apply to undead, monsters, or the like.  This list can be found in tdm_ai_guard_proguard_devel.def.
This is the list used for all regular, humanoid characters.  It does not apply to undead, monsters, or the like.  The most up-to-date list can be found in tdm_ai_guard_proguard_devel.def (in tdm_ai_humanoid_guards01.pk4 ).  You can also use that file to find that actual animation filename, if necessary.


Some animations have been "replaced" for individual characters.  For example, it is not generally appropriate for nobleman characters to spit on the floor, so when that animation is called randomly on a nobleman character, it is replaced with a different idle animation (specified in the nobleman def file).  If an animation is not working as expected, check the .def file for the character in question.
Some animations have been "replaced" for individual characters.  For example, it is not generally appropriate for nobleman characters to spit on the floor, so when that animation is called randomly on a nobleman character, it is replaced with a different idle animation (specified in the nobleman def file).  If an animation is not working as expected, check the .def file for the character in question.


This list may not apply to all AI and may not be complete as new animations are added to Dark Mod.
== Movement Animations ==


 
'''walk1'''                --- generic walk cycle 
//****************************
// Movement animations
//****************************
 
    anim walk1                   models/md5/chars/guards/proguard/walk.md5anim
    {
        frame 1    footstep
        frame 19    footstep
    }
 
    anim walk2                  models/md5/chars/guards/proguard/walk.md5anim
    {
        frame 1    footstep
        frame 19    footstep
    }
 
    anim walk_torch            models/md5/chars/guards/proguard/walk_torch.md5anim
    {
        frame 1    footstep
        frame 19    footstep
    }
      
      
    anim walk_cautious_ready      models/md5/chars/guards/proguard/walk_cautious_ready.md5anim
'''walk2'''                --- generic walk cycle 
    {
        frame 1    footstep
'''walk_torch'''          --- generic walk cycle, carrying an object in left hand 
        frame 29    footstep
    }
'''walk_cautious_ready'''  --- generic walk cycle, slower     


    // don't these need footstep sounds?
'''walk_blind'''     --- staggering forward with arm covering face
    anim walk_blind models/md5/chars/guards/proguard/walk_blind.md5anim
    anim walk_alerted models/md5/chars/guards/proguard/walk_alerted.md5anim


    anim run                    models/md5/chars/guards/proguard/run.md5anim
'''walk_alerted'''         -- patrolling with weapon out
    {
         frame 1    footstep
        frame 10    footstep
    }


    anim run_torch                    models/md5/chars/guards/proguard/run_torch.md5anim
'''run'''                  --- generic run cycle 
    {
        frame 1    footstep
        frame 10    footstep
    }


    anim run_charge              models/md5/chars/guards/proguard/run_charge.md5anim
'''run_torch'''            --- generic run cycle, carrying object in left hand       
    {
        frame 1    footstep
        frame 10    footstep
    }


    //check that footsteps sync up
'''run_charge'''           
    anim search1                models/md5/chars/guards/proguard/search.md5anim
    
    {
'''search1'''          --- hunched over, slowly walking, with open hand     
        frame 1    footstep
        frame 30   footstep
    }
      
      
    anim search1_sword                 models/md5/chars/guards/proguard/search_sword.md5anim
'''search1_sword'''   --- hunched over, slowly walking, with closed fist           
    {
        frame 1    footstep
        frame 30   footstep
    }


'''search2'''               


'''search_torch1'''         
   
'''search_torch2'''         
   
'''turn_left''' -- turn left, ninety degrees


    anim search2                models/md5/chars/guards/proguard/search2.md5anim
'''turn_right''' -- turn right, ninety degrees
    {
        frame 1    footstep
        frame 21    footstep
    }
 
    anim search_torch1          models/md5/chars/guards/proguard/search_torch.md5anim
    {
        frame 1    footstep
        frame 30    footstep
    }
    anim search_torch2          models/md5/chars/guards/proguard/search2_torch.md5anim
    {
        frame 1    footstep
        frame 21    footstep
    }
 
anim turn_left models/md5/chars/guards/proguard/idle_turn_90_lft.md5anim
 
anim turn_right models/md5/chars/guards/proguard/idle_turn_90_rgt.md5anim
 
anim idle_turn_180_lft models/md5/chars/guards/proguard/idle_turn_180_lft.md5anim


anim idle_turn_180_rgt models/md5/chars/guards/proguard/idle_turn_180_rgt.md5anim
'''idle_turn_180_lft''' -- turn left, 180 degrees


'''idle_turn_180_rgt''' -- turn right, 180 degrees
      
      
anim combat_turn_left models/md5/chars/guards/proguard/combat_turn_90_lft.md5anim
'''combat_turn_left''' -- turn left, ninety degrees, from combat pose


anim combat_turn_right models/md5/chars/guards/proguard/combat_turn_90_rgt.md5anim
'''combat_turn_right''' -- turn right, ninety degrees, from combat pose


== idle animations ==


//******************************************
'''idle'''    -- regular standing             
//  idle animations:
// ******************************************


    anim idle                  models/md5/chars/guards/proguard/idle.md5anim
'''idle_drunk''' -- standing, swaying a bit because drunk


    anim idle_drunk models/md5/chars/guards/proguard/idle_drunk.md5anim
'''idle_torch'''  -- regular standing, holding left hand out in torch position


    anim idle_torch            models/md5/chars/guards/proguard/idle_torch.md5anim
== randomly called idle animations ==


//******************************************
'''idle_armwipe'''    -- brushes dirt off left arm     
// randomly called idle animations:
   
// ******************************************
'''idle_arm_scratch'''  -- scratches left arm      
     anim idle_armwipe          models/md5/chars/guards/proguard/idle_armwipe.md5anim
      
     {
'''idle_stretch'''  -- stretches with right arm above head       
        frame 32    sound tdm_brush01
      
     }
'''idle_adjusting_belt'''  -- grab belt with both hands and twist it slightly 


    anim idle_arm_scratch      models/md5/chars/guards/proguard/idle_arm_scratch.md5anim
'''idle_scuff''' -- 
    {
            
        frame 17    sound tdm_brush01
'''idle_scuff_torch'''           
    }
    anim idle_stretch           models/md5/chars/guards/proguard/idle_stretch.md5anim
    {
        frame 30    sound_voice tdm_stretch
    }


'''idle_standontoes'''    -- bounce up on toes


    anim idle_adjusting_belt   models/md5/chars/guards/proguard/idle_adjusting_belt.md5anim
'''idle_check_hand'''   -- hold left hand up and check hand


    anim idle_scuff            models/md5/chars/guards/proguard/idle_scuff.md5anim
'''idle_stretch02'''  -- stretches both arms out behind   


    anim idle_scuff_torch            models/md5/chars/guards/proguard/idle_scuff_torch.md5anim


     anim idle_standontoes      models/md5/chars/guards/proguard/idle_standontoes.md5anim
idle_shifting1 
     
idle_shifting2 
     
idle_sneeze   
       
idle_nose_wipe 
     
idle_nosewipe_short 
      
idle_spit   
       
idle_cough 
       
idle_cough02 
         
idle_eat             


    anim idle_check_hand    models/md5/chars/guards/proguard/idle_check_hand.md5anim


    anim idle_stretch02    models/md5/chars/guards/proguard/idle_stretch02.md5anim
    {
        frame 80    sound_voice tdm_stretch
    }
    anim idle_shifting1        models/md5/chars/guards/proguard/idle_shifting1.md5anim
    {
        frame 15    footstep
        frame 127    footstep
    }
    anim idle_shifting2        models/md5/chars/guards/proguard/idle_shifting2.md5anim


    anim idle_sneeze            models/md5/chars/guards/proguard/idle_sneeze.md5anim
//***************************************
    {
        no_random_headturning
        frame 20    sound_voice tdm_male_sneeze
    }
    anim idle_nose_wipe        models/md5/chars/guards/proguard/idle_nose_wipe.md5anim
    {
        no_random_headturning
        frame 28    sound_voice tdm_sniff
    }
    anim idle_nosewipe_short      models/md5/chars/guards/proguard/idle_nosewipe_short.md5anim
    {
        no_random_headturning
        frame 28    sound_voice tdm_sniff
    }
    anim idle_spit              models/md5/chars/guards/proguard/idle_spit.md5anim
    {
        no_random_headturning
        frame 20    sound_voice tdm_spit
    }
    anim idle_cough            models/md5/chars/guards/proguard/idle_cough.md5anim
    {
        no_random_headturning
        frame 13    sound_voice snd_cough
    }
    anim idle_cough02            models/md5/chars/guards/proguard/idle_cough02.md5anim
    {
        no_random_headturning
        frame 13    sound_voice snd_cough
    }
    anim idle_eat              models/md5/chars/guards/proguard/idle_eat.md5anim
    {
        no_random_headturning
        frame 90    sound_voice tdm_chew
    }


 
== Conversation animations ==
 
//***************************************
//  Conversation animations
//***************************************


     anim idle_talk1            models/md5/chars/guards/proguard/idle_talk1.md5anim
     anim idle_talk1            models/md5/chars/guards/proguard/idle_talk1.md5anim
Line 203: Line 108:
     anim idle_talk4            models/md5/chars/guards/proguard/idle_talk4.md5anim
     anim idle_talk4            models/md5/chars/guards/proguard/idle_talk4.md5anim


==  Combat animations ==




//***************************************
     anim pain  
//  Combat animations
             
//***************************************
     anim cower1                 
 
     anim pain                   models/md5/chars/guards/proguard/pain.md5anim
 
    {frame 1 call overrideLegs}
     anim cower1                models/md5/chars/guards/proguard/cower1.md5anim


     anim cower2                models/md5/chars/guards/proguard/cower2.md5anim
     anim cower2                models/md5/chars/guards/proguard/cower2.md5anim


     anim pain_torch            models/md5/chars/guards/proguard/pain_torch.md5anim
     anim pain_torch             
    {
    frame 1 call overrideLegs
    }


     anim throw                  models/md5/chars/guards/proguard/throw.md5anim
     anim throw                   
{
frame 21 launch_missile RightHand
}


     anim draw                   models/md5/chars/guards/proguard/drawsword.md5anim
     anim draw
    {
               
        frame 16    reattach        melee_weapon hand_r
     anim sheath  
        frame 16    sound_weapon    snd_drawsword
                  
        frame 16    set_combat_flag melee  // enable melee combat now
     anim draw_hammer  
    }
              
     anim sheath                models/md5/chars/guards/proguard/sheathe_sword.md5anim
     anim sheathe_hammer        
    {
      frame 19    clear_combat_flag  melee // disable melee attacks now
      frame 19    reattach        melee_weapon hip_sheath_l
      frame 16    sound_weapon snd_sheathesword
    }
     anim draw_hammer              models/md5/chars/guards/proguard/draw_hammer.md5anim
    {
        frame 15    reattach        melee_weapon hand_r
        frame 15    set_combat_flag melee  // enable melee combat now
    }
     anim sheathe_hammer           models/md5/chars/guards/proguard/sheathe_hammer.md5anim
    {
      frame 15    clear_combat_flag  melee // disable melee attacks now
      frame 15    reattach        melee_weapon slung_across_back_rl
    }


     anim drawBow                 models/md5/chars/guards/proguard/combat_bow_draw.md5anim
     anim drawBow              
    {
        frame 16    reattach        missile_weapon hand_l_bow
        frame 16    set_combat_flag ranged  // enable ranged combat now
    }


     anim sheathBow                 models/md5/chars/guards/proguard/combat_bow_holster.md5anim
     anim sheathBow              
    {
      frame 19    clear_combat_flag  ranged // disable ranged attacks now
      frame 19    reattach        missile_weapon bow_holster_pos_rl
    }


     anim combat_idle_sword      models/md5/chars/guards/proguard/combat_sword_idle.md5anim
     anim combat_idle_sword      models/md5/chars/guards/proguard/combat_sword_idle.md5anim
Line 267: Line 139:
     anim combat_idle_bow        models/md5/chars/guards/proguard/combat_bow_idle.md5anim
     anim combat_idle_bow        models/md5/chars/guards/proguard/combat_bow_idle.md5anim


     anim ranged_attack          models/md5/chars/guards/proguard/combat_bow_aim_fire_reload.md5anim
     anim ranged_attack           
{
frame 18 launch_missile LeftHand
}
      
      
     anim melee_attack_RL       models/md5/chars/guards/proguard/combat_sword_attack_left.md5anim
     anim melee_attack_RL
    {
     
        prevent_idle_override
     anim melee_attack_LR
        frame 15    melee_hold
     
        frame 16    melee_attack_start melee_weapon slash_rl       
     anim melee_attack_Over  
        frame 19    sound snd_swing
   
        frame 27    melee_attack_stop melee_weapon
     anim melee_attack_Thrust    
    }
     anim melee_attack_LR       models/md5/chars/guards/proguard/combat_sword_attack_right.md5anim
    {
        prevent_idle_override
        frame 15    melee_hold
        frame 16    melee_attack_start melee_weapon slash_lr
        frame 19    sound snd_swing
        frame 25    melee_attack_stop melee_weapon
    }
     anim melee_attack_Over       models/md5/chars/guards/proguard/combat_sword_attack_overhead.md5anim
    {
        prevent_idle_override
        frame 15    melee_hold
        frame 16    melee_attack_start melee_weapon overhead
        frame 19    sound snd_swing
        frame 25    melee_attack_stop melee_weapon
    }
     anim melee_attack_Thrust       models/md5/chars/guards/proguard/combat_sword_attack_thrust.md5anim
    {
        prevent_idle_override
        frame 19    melee_hold
        frame 24    melee_attack_start melee_weapon thrust
        frame 29    sound snd_swing
        frame 34    melee_attack_stop melee_weapon
    }
      
      
     anim melee_parry_RL         models/md5/chars/guards/proguard/combat_sword_parry_left.md5anim
     anim melee_parry_RL
    {
     
        prevent_idle_override
     anim melee_parry_LR
        frame 6 melee_hold
     
        frame 5 melee_parry_start melee_weapon left
     anim melee_parry_Over  
        frame 7 melee_parry_stop melee_weapon
          
    }
     anim melee_parry_Thrust      
     anim melee_parry_LR         models/md5/chars/guards/proguard/combat_sword_parry_right.md5anim
    {
        prevent_idle_override
        frame 6 melee_hold
        frame 5 melee_parry_start melee_weapon right
        frame 7 melee_parry_stop melee_weapon
    }
     anim melee_parry_Over         models/md5/chars/guards/proguard/combat_sword_parry_overhead.md5anim
    {
        prevent_idle_override
        frame 6 melee_hold
        frame 5 melee_parry_start melee_weapon overhead
         frame 7 melee_parry_stop melee_weapon
    }
     anim melee_parry_Thrust         models/md5/chars/guards/proguard/combat_sword_parry_thrust.md5anim
    {
        prevent_idle_override
        frame 6 melee_hold
        frame 5 melee_parry_start melee_weapon thrust
        frame 7 melee_parry_stop melee_weapon
    }


     anim failed_ko                  models/md5/chars/guards/proguard/failed_ko.md5anim
     anim failed_ko                  models/md5/chars/guards/proguard/failed_ko.md5anim


== Sitting Animations ==
//************************
// Sitting Animations
//**************************


     anim sit_down              models/md5/chars/guards/proguard/sit_down.md5anim
     anim sit_down               
    {
        frame 1        disableWalkIK
    }


     anim sit_up                models/md5/chars/guards/proguard/sit_up.md5anim
     anim sit_up                 
    {
        frame 40        enableWalkIK
    }


     anim idle_sit              models/md5/chars/guards/proguard/sit_idle.md5anim
     anim idle_sit              models/md5/chars/guards/proguard/sit_idle.md5anim
Line 356: Line 170:
     anim idle_sit_2              models/md5/chars/guards/proguard/sit_idle2.md5anim
     anim idle_sit_2              models/md5/chars/guards/proguard/sit_idle2.md5anim


     anim idle_sit_shift1               models/md5/chars/guards/proguard/sit_idle2.md5anim
     anim idle_sit_shift1            
    {
frame 1                call overrideLegs
}
 


     anim idle_sit_cough01             models/md5/chars/guards/proguard/sit_idle_cough01.md5anim
     anim idle_sit_cough01     
     {
       
no_random_headturning
     anim idle_sit_tap01    
        frame 27    sound_voice snd_cough
       
    }
     anim idle_sit_tap01               models/md5/chars/guards/proguard/sit_idle_tap01.md5anim
    {
frame 1 call overrideLegs
    frame 6 sound bullet_impact_wood
    frame 13    sound bullet_impact_wood
    frame 21    sound bullet_impact_wood
    }
     anim idle_sit_armdrop01            models/md5/chars/guards/proguard/sit_idle_armdrop01.md5anim
     anim idle_sit_armdrop01            models/md5/chars/guards/proguard/sit_idle_armdrop01.md5anim
     anim idle_sit_neckscratch            models/md5/chars/guards/proguard/sit_idle_neckscratch.md5anim
     anim idle_sit_neckscratch            models/md5/chars/guards/proguard/sit_idle_neckscratch.md5anim
   


//************************
== other ==
// other
//**************************
//**************************


Line 545: Line 346:


//***************************************
//***************************************
// Specific character animations
== Specific character animations ==
//***************************************


anim idle_beggar                   models/md5/chars/guards/proguard/idle_beggar.md5anim
anim idle_beggar   -- standing with head down, slouched 
anim idle_nosewipe_beggar       models/md5/chars/guards/proguard/idle_nosewipe_beggar.md5anim
             
    {
anim idle_nosewipe_beggar -- nosewipe from slouched position     
        no_random_headturning
    
        frame 28   sound_voice tdm_sniff
      
     }
      
      
     // revenant 'sleep' animations
     anim rev_sleep_lft -- sleep animation with no breathing, for revenant  
    anim rev_sleep_lft    models/md5/chars/guards/proguard/rev_sleep_lft.md5anim
 
     anim rev_sleep_rght   models/md5/chars/guards/proguard/rev_sleep_rght.md5anim
     anim rev_sleep_rght -- sleep animation with no breathing, for revenant






//***************************************************
 
// flavour animations to be called by scripts or triggers:
 
//***************************************************
== flavour animations to be called by scripts or triggers: ==
 


     anim idle_warmhands        models/md5/chars/guards/proguard/idle_warmhands.md5anim
     anim idle_warmhands        models/md5/chars/guards/proguard/idle_warmhands.md5anim
Line 596: Line 396:
         }
         }
}
}
==How to replace an animation with another==
To substitute one animation for another, put the spawnarg "replace_anim_*" on the AI, where * is the name of the animation to replace, then provide the replacement animation name that you want to play instead.  IE, "replace_anim_walk" "search1"
[[Category:Animation]]

Latest revision as of 05:31, 20 October 2018

This is a placeholder list of animations, so mappers know what is available.

This is the list used for all regular, humanoid characters. It does not apply to undead, monsters, or the like. The most up-to-date list can be found in tdm_ai_guard_proguard_devel.def (in tdm_ai_humanoid_guards01.pk4 ). You can also use that file to find that actual animation filename, if necessary.

Some animations have been "replaced" for individual characters. For example, it is not generally appropriate for nobleman characters to spit on the floor, so when that animation is called randomly on a nobleman character, it is replaced with a different idle animation (specified in the nobleman def file). If an animation is not working as expected, check the .def file for the character in question.

Movement Animations

walk1 --- generic walk cycle

walk2 --- generic walk cycle

walk_torch --- generic walk cycle, carrying an object in left hand

walk_cautious_ready --- generic walk cycle, slower

walk_blind --- staggering forward with arm covering face

walk_alerted -- patrolling with weapon out

run --- generic run cycle

run_torch --- generic run cycle, carrying object in left hand

run_charge

search1 --- hunched over, slowly walking, with open hand

search1_sword --- hunched over, slowly walking, with closed fist

search2

search_torch1

search_torch2

turn_left -- turn left, ninety degrees

turn_right -- turn right, ninety degrees

idle_turn_180_lft -- turn left, 180 degrees

idle_turn_180_rgt -- turn right, 180 degrees

combat_turn_left -- turn left, ninety degrees, from combat pose

combat_turn_right -- turn right, ninety degrees, from combat pose

idle animations

idle -- regular standing

idle_drunk -- standing, swaying a bit because drunk

idle_torch -- regular standing, holding left hand out in torch position

randomly called idle animations

idle_armwipe -- brushes dirt off left arm

idle_arm_scratch -- scratches left arm

idle_stretch -- stretches with right arm above head

idle_adjusting_belt -- grab belt with both hands and twist it slightly

idle_scuff --

idle_scuff_torch

idle_standontoes -- bounce up on toes

idle_check_hand -- hold left hand up and check hand

idle_stretch02 -- stretches both arms out behind


idle_shifting1

idle_shifting2

idle_sneeze

idle_nose_wipe

idle_nosewipe_short

idle_spit

idle_cough

idle_cough02

idle_eat


//***************************************

Conversation animations

   anim idle_talk1             models/md5/chars/guards/proguard/idle_talk1.md5anim
   anim idle_talk2             models/md5/chars/guards/proguard/idle_talk2.md5anim
   anim idle_talk3             models/md5/chars/guards/proguard/idle_talk3.md5anim
   anim idle_talk4             models/md5/chars/guards/proguard/idle_talk4.md5anim

Combat animations

   anim pain   
              
   anim cower1                 
   anim cower2                 models/md5/chars/guards/proguard/cower2.md5anim
   anim pain_torch             
   anim throw                  
   anim draw  
                
   anim sheath 
               
   anim draw_hammer 
            
   anim sheathe_hammer          
   anim drawBow                
   anim sheathBow               
   anim combat_idle_sword       models/md5/chars/guards/proguard/combat_sword_idle.md5anim
   anim combat_idle_sword_torch models/md5/chars/guards/proguard/combat_sword_idle_torch.md5anim
   anim combat_idle_bow         models/md5/chars/guards/proguard/combat_bow_idle.md5anim
   anim ranged_attack           
   
   anim melee_attack_RL  
     
   anim melee_attack_LR  
     
   anim melee_attack_Over 
    
   anim melee_attack_Thrust      
   
   anim melee_parry_RL  
     
   anim melee_parry_LR  
     
   anim melee_parry_Over 
       
   anim melee_parry_Thrust        
   anim failed_ko                  models/md5/chars/guards/proguard/failed_ko.md5anim

Sitting Animations

   anim sit_down               
   anim sit_up                 
   anim idle_sit               models/md5/chars/guards/proguard/sit_idle.md5anim


   anim idle_sit_2               models/md5/chars/guards/proguard/sit_idle2.md5anim
   anim idle_sit_shift1              
   anim idle_sit_cough01     
        
   anim idle_sit_tap01      
        
   anim idle_sit_armdrop01            models/md5/chars/guards/proguard/sit_idle_armdrop01.md5anim
   anim idle_sit_neckscratch            models/md5/chars/guards/proguard/sit_idle_neckscratch.md5anim

other

//**************************

   anim use_righthand          models/md5/chars/guards/proguard/use_righthand.md5anim
   anim kneel_down             models/md5/chars/guards/proguard/kneel_down.md5anim 
   {

ai_no_turn // should keep ai from spinning around during animation

   }


   anim sit_2_sleep_lft        models/md5/chars/guards/proguard/sit_2_sleep_lft.md5anim

{ frame 1 disableClip }

   anim sit_2_sleep_rgt        models/md5/chars/guards/proguard/sit_2_sleep_rgt.md5anim  

{ frame 1 disableClip }


   anim sleep_2_sit_lft        models/md5/chars/guards/proguard/sleep_2_sit_lft.md5anim

{ frame 50 enableClip }

   anim sleep_2_sit_rgt        models/md5/chars/guards/proguard/sleep_2_sit_rgt.md5anim 

{ frame 50 enableClip }

   anim sleep_idle_lft         models/md5/chars/guards/proguard/sleep_idle_lft.md5anim
   anim sleep_idle_rgt         models/md5/chars/guards/proguard/sleep_idle_rgt.md5anim 
   
   anim bottle_drink01         models/md5/chars/guards/proguard/bottle_drink01.md5anim
   { 
   	no_random_headturning

frame 23 sound_voice tdm_drinking

   	frame 25                  sound   tdm_bottle_slosh
   }
   anim bottle_drink02         models/md5/chars/guards/proguard/bottle_drink02.md5anim
   {

no_random_headturning frame 25 sound tdm_bottle_slosh frame 30 sound_voice tdm_drinking

   }
   anim bottle_idle01		models/md5/chars/guards/proguard/bottle_idle01.md5anim // holds up to chest


anim bottle_idle02 models/md5/chars/guards/proguard/bottle_idle02.md5anim // holds down by side

   {

frame 23 sound tdm_bottle_slosh }

   anim bottle_idle03		models/md5/chars/guards/proguard/bottle_idle03.md5anim // looks at bottle
   {

frame 30 sound tdm_bottle_slosh }


   anim bottle_scratch		models/md5/chars/guards/proguard/bottle_scratch.md5anim
   {
       frame 17    sound tdm_brush01
   }
   
   anim bottle_sit_idle	models/md5/chars/guards/proguard/bottle_sit_idle.md5anim
   {
   	no_random_headturning
   }

// Tels: Put the drinking bottle down. Detaching it should restore idle animations. // TODO: anim is a placeholder

   anim bottle_putdown		models/md5/chars/guards/proguard/playcards_idle_draw.md5anim
   { 
   	no_random_headturning
   	frame 25		sound		tdm_bottle_slosh

frame 80 putdown bottle

   }
   anim playcards_idle       models/md5/chars/guards/proguard/playcards_idle.md5anim
   anim playcards_idle_lift       models/md5/chars/guards/proguard/playcards_idle_lift.md5anim
   anim playcards_idle_draw       models/md5/chars/guards/proguard/playcards_idle_draw.md5anim
   { 
   	no_random_headturning

frame 1 call overrideLegs frame 64 attach atdm:prop_single_card card hand_r frame 65 sound tdm_draw_card frame 93 destroy card

   	frame 98			sound_voice snd_reaction

}

// tels TODO: anim is a placeholder

   anim drink_righthand		models/md5/chars/guards/proguard/sit_idle_cough01.md5anim
   {

no_random_headturning frame 8 pickup AIUSE_DRINK bottle hand_l frame 27 sound_voice tdm_drinking frame 84 putdown bottle

   }

// tels TODO: anim is a placeholder

   anim bottle_pickup		models/md5/chars/guards/proguard/playcards_idle_draw.md5anim
   {

no_random_headturning frame 8 pickup AIUSE_DRINK bottle hand_l

   	frame 12		sound		tdm_bottle_slosh
   }

// TODO: anim is a placeholder

   anim eat_righthand		models/md5/chars/guards/proguard/sit_idle_cough01.md5anim
   {

no_random_headturning frame 8 pickup AIUSE_EAT food hand_l frame 27 sound_voice snd_eat frame 84 drop food

   }

// TODO: anim is a placeholder

   anim eat_apple_lefthand		models/md5/chars/guards/proguard/sit_idle_cough01.md5anim
   {

no_random_headturning //frame 8 pickup AIUSE_EAT food hand_l frame 8 attach atdm:moveable_food_apple food hand_l frame 27 sound_voice snd_eat // replace apply by droppable apple core frame 45 destroy food frame 45 attach atdm:drop_apple_core food hand_l // now drop it frame 96 drop food

   }

// Tels: Put the left hand with item to the center, put right hand near left hand, "activate" // entity in left hand, relax hands. Used f.i. for putting a lantern off or on. // TODO: anim is a placeholder

   anim activate_in_lefthand		models/md5/chars/guards/proguard/idle_warmhands.md5anim
   { 
   	no_random_headturning

// commented out until recompile for windows // frame 40 activate_at_joint hand_l

   	frame 60		sound_voice			snd_reaction

}

// Tels: Put forward the right hand and activate entity (default: AIUSE_LIGHT) in world near right hand.

   anim use_with_righthand			models/md5/chars/guards/proguard/use_righthand.md5anim
   { 
   	no_random_headturning

// commented out until recompile for windows // frame 40 activate_near AIUSE_LIGHT hand_r

   	frame 60		sound_voice		snd_reaction

}

// Tels: Putdown the entity held in the left hand (standing animation). // TODO: anim is a placeholder

   anim putdown_lefthand		models/md5/chars/guards/proguard/idle_warmhands.md5anim
   {
   	no_random_headturning

frame 40 drop light }

//***************************************

Specific character animations

anim idle_beggar -- standing with head down, slouched

anim idle_nosewipe_beggar -- nosewipe from slouched position


   anim rev_sleep_lft -- sleep animation with no breathing, for revenant 
 
   anim rev_sleep_rght  -- sleep animation with no breathing, for revenant 



flavour animations to be called by scripts or triggers:

    anim idle_warmhands         models/md5/chars/guards/proguard/idle_warmhands.md5anim
   {
       frame 28    footstep
       frame 86    footstep
   }
   
   anim turnpage_righthand     models/md5/chars/guards/proguard/use_righthand.md5anim //placeholder
   {

frame 12 sound readable_page_turn

   }


   anim idle_stir_pot               models/md5/chars/guards/proguard/idle_stir_pot.md5anim
   {
       no_random_headturning
       //frame 86			attach atdm:prop_wooden_spoon spoon01 hand_r
       //frame 190			destroy spoon01
       }
  anim throw_dice01               models/md5/chars/guards/proguard/throw_dice.md5anim
   {
       no_random_headturning
       frame 18			sound "bullet_impact_plastic"
       frame 19                        attach atdm:drop_dice01 dice01 hand_r
       frame 71			sound "bullet_impact_plastic"
       frame 81			sound "bullet_impact_plastic"
       frame 120                       drop	dice01
       
       frame 144			sound_voice snd_reaction
       }

}

How to replace an animation with another

To substitute one animation for another, put the spawnarg "replace_anim_*" on the AI, where * is the name of the animation to replace, then provide the replacement animation name that you want to play instead. IE, "replace_anim_walk" "search1"