
//==========================================================================
//
// Character Animation Script     M U L T I P L A Y E R
//
// All player states should have animations sutable for a two handed rifle type weapon.
//
// This defines the animations and events that might occur at different times
// for this character. State changes, and random behaviour during idle/alert
// states will look here for default behaviour, if that character doesn't have
// something specific in their scripts for that level.
//
//==========================================================================

// playerAnimType:
// Set in "Player Anim Type" in the weapon gdt file.
// Full list specified in playeranimtypes.txt.
// Asset manager choices specified in weapon gdf files.

//==========================================================================
// DEFINES
//
// These can be used to simplify the scripting, by defining replacement strings

DEFINES

// weaponclasses
set weaponclass autofire = mg AND smg

// movetypes
set movetype moving = walk AND walkcr AND walkcrbk AND walkbk AND run AND runbk AND runcr AND runcrbk AND walkprone AND walkpronebk
set movetype crouching = idlecr AND runcr AND runcrbk AND walkcr AND walkcrbk
set movetype prone = idleprone AND walkprone AND walkpronebk
set movetype backstep = walkbk AND runbk AND walkcrbk AND walkpronebk

//==========================================================================
// ANIMATIONS
//
//	NOTE: scripts are chosen by first-come-first-serve basis. The first match
//	found is the one used.
//
// format:
//
// state <state description>
// {
//		<movement type>
//		{
//			[DEFAULT / <condition type> [<condition value>], ...]
//			{
//				<both/legs/torso/turret> <animation> [sound <filename>]
//				<both/legs/torso/turret> <animation> [sound <filename>]
//				...
//			}
//		}
//	}
//
//	legend:
//
//	<state description>: relaxed, alert, combat
//
//	<movement type>: idle, idlecr, idleprone,
//                   walk, walkbk, walkcr, walkcrbk, walkprone, walkpronebk.
//                   run, runbk, runcr, runcrbk, 
//                   straferight, strafeleft, turnright, turnleft
//
//	<condition type>: playerAnimType, weaponclass, position, enemy_weapon, underwater, mounted, movetype, underhand, leaning, weapon_position, perk
//
//	<condition value>:
//
//		playerAnimType: <weapon Player Anim Type in gdt>
//		position: behind, infront, right, left
//		enemy_weapon: <see weapon pickup names>
//		underwater: <no values>
//		mounted: mg42
//		movetype: <see movement types>
//		underhand: <no values>
//		leaning: right, left
//		weaponclass: rifle, sniper, smg, mg, pistol, grenade, rocketlauncher, flamethrower, turret, non-player
//		weapon_position: hip, ads
//		strafing: not, left, right - will never be left or right while moving backwards
//		perk: laststand, grenadedeath
//
// NOTES:
// - The player walks when they are ADS, so they can not ADS while running.
//

ANIMATIONS

STATE COMBAT
{
	idle
	{
		playerAnimType dog
		{
			both german_shepherd_idle
		}
		mounted mg42, firing
		{
			both standSAWgunner_aim turretanim
		}
		mounted mg42
		{
			both standSAWgunner_aim turretanim
		}
		perk laststand
		{
			both pb_laststand_idle
		}		
		playerAnimType none
		{
			both pb_stand_alert
		}
		playerAnimType briefcase
		{
			both pb_stand_bombplant
		}
		playerAnimType hold
		{
			both pb_hold_idle
		}
		weaponclass pistol, weapon_position ads
		{
			both pb_stand_ads_pistol
		}
		weaponclass pistol
		{
			both pb_stand_alert_pistol
		}
		weaponclass rocketlauncher, weapon_position ads
		{
			both pb_stand_ads_RPG
		}
		weaponclass rocketlauncher
		{
			both pb_stand_alert_RPG
		}
		weapon_position ads
		{
			both pb_stand_ads
		}
		weaponclass grenade, playerAnimType all NOT m203
		{
			both pb_stand_grenade_pullpin
		}
		default // two handed rifle type weapon
		{
			both pb_stand_alert
		}
	}
	idlecr
	{
		playerAnimType dog
		{
			both german_shepherd_sitting_looking_idle
		}
		mounted mg42, firing
		{
			both crouchSAWgunner_aim turretanim
		}
		mounted mg42
		{
			both crouchSAWgunner_aim turretanim
		}	
		perk laststand
		{
			both pb_laststand_idle 
		}		
		playerAnimType none
		{	
			both pb_crouch_bombplant
		}
		playerAnimType briefcase
		{
			both pb_crouch_bombplant
		}
		playerAnimType hold
		{
			both pb_crouch_hold_idle
		}
		weaponclass pistol, weapon_position ads
		{
			both pb_crouch_ads_pistol
		}
		weaponclass pistol
		{
			both pb_crouch_alert_pistol
		}
	  	weaponclass rocketlauncher, weapon_position ads
  		{
   			both pb_crouch_ads_RPG
  		}
  		weaponclass rocketlauncher
  		{
   			both pb_crouch_alert_RPG
  		}
		weaponclass grenade, playerAnimType all NOT m203
		{
			both pb_crouch_grenade_pullpin
		}
		weapon_position ads
		{
			both pb_crouch_ads
		}	
		default // two handed rifle type weapon
		{
			both pb_crouch_alert
		}
	}
	idleprone
	{
		playerAnimType dog
		{
			both german_shepherd_sleeping
		}
		mounted mg42, firing
		{
			both proneSAWgunner_aim turretanim
		}
		mounted mg42
		{
			both proneSAWgunner_aim turretanim
		}
		perk laststand
		{
			both pb_laststand_idle
		}
		playerAnimType briefcase
		{
			both pb_prone_bombplant
		}
		playerAnimType hold
		{
			both pb_prone_hold
		}
		playerAnimType none
		{
			both pb_prone_bombplant
		}
		weaponclass pistol
		{
			both pb_prone_aim_pistol
		}
  		weaponclass rocketlauncher
  		{
   			both pb_prone_aim_RPG
  		}
		weaponclass grenade, playerAnimType all NOT m203
		{
			both pb_prone_aim_grenade
		}
		default
		{
			both pb_prone_aim
		}
	}
	
// FLINCHING
	flinch_forward
	{
		weaponclass pistol 
		{
			torso pt_flinch_pistol_forward
		}
		weaponclass grenade, playerAnimType all NOT m203
		{
			torso pt_flinch_grenade_forward
		}
		default 
		{
			torso pt_flinch_forward
		}
	}
	flinch_backward
	{
		weaponclass pistol 
		{
			torso pt_flinch_pistol_back
		}
		weaponclass grenade, playerAnimType all NOT m203
		{
			torso pt_flinch_grenade_back
		}
		default 
		{
			torso pt_flinch_back
		}
	}
	flinch_left
	{
		weaponclass pistol 
		{
			torso pt_flinch_pistol_left
		}
		weaponclass grenade, playerAnimType all NOT m203
		{
			torso pt_flinch_grenade_left
		}
		default 
		{
			torso pt_flinch_left
		}
	}
	flinch_right
	{
		weaponclass pistol 
		{
			torso pt_flinch_pistol_right
		}
		weaponclass grenade, playerAnimType all NOT m203
		{
			torso pt_flinch_grenade_right
		}
		default 
		{
			torso pt_flinch_right
		}
	}

// STUMBLE
	stumble_forward
	{
		// pistol
		weaponclass pistol, strafing left
		{
			both pb_stumble_pistol_left
		}
		weaponclass pistol, strafing right
		{
			both pb_stumble_pistol_right
		}
		weaponclass grenade, strafing left, playerAnimType all NOT m203
		{
			both pb_stumble_grenade_left
		}
		weaponclass grenade, strafing right, playerAnimType all NOT m203
		{
			both pb_stumble_grenade_right
		}
		weaponclass pistol 
		{
			both pb_stumble_pistol_forward
		}
		weaponclass grenade, playerAnimType all NOT m203
		{
			both pb_stumble_grenade_forward
		}

		// rifle	
		strafing left
		{
			both pb_stumble_left
		}
		strafing right
		{
			both pb_stumble_right
		}
		default 
		{
			both pb_stumble_forward
		}
	}
	stumble_backward
	{
		weaponclass pistol, strafing left
		{
			both pb_stumble_pistol_left
		}
		weaponclass pistol, strafing right
		{
			both pb_stumble_pistol_right
		}
		weaponclass grenade, strafing left, playerAnimType all NOT m203
		{
			both pb_stumble_grenade_left
		}
		weaponclass grenade, strafing right, playerAnimType all NOT m203
		{
			both pb_stumble_grenade_right
		}
	
		weaponclass pistol 
		{
			both pb_stumble_pistol_back
		}
		weaponclass grenade, playerAnimType all NOT m203
		{
			both pb_stumble_grenade_back
		}
		
		// rifle	
		strafing left
		{
			both pb_stumble_left
		}
		strafing right
		{
			both pb_stumble_right
		}		
		default 
		{
			both pb_stumble_back
		}
	}

// STUMBLE WALK
	stumble_walk_forward
	{
		// pistol
		weaponclass pistol AND grenade, strafing left, playerAnimType all NOT m203
		{
			both pb_stumble_pistol_walk_left
		}
		weaponclass pistol AND grenade, strafing right, playerAnimType all NOT m203
		{
			both pb_stumble_pistol_walk_right
		}
		weaponclass pistol AND grenade, playerAnimType all NOT m203
		{
			both pb_stumble_pistol_walk_forward
		}

		// rifle	
		strafing left
		{
			both pb_stumble_walk_left
		}
		strafing right
		{
			both pb_stumble_walk_right
		}
		default 
		{
			both pb_stumble_walk_forward
		}
	}
	stumble_walk_backward
	{
		// pistol
		weaponclass pistol AND grenade, strafing left, playerAnimType all NOT m203
		{
			both pb_stumble_pistol_walk_left
		}
		weaponclass pistol AND grenade, strafing right, playerAnimType all NOT m203
		{
			both pb_stumble_pistol_walk_right
		}	
		weaponclass pistol AND grenade, playerAnimType all NOT m203
		{
			both pb_stumble_pistol_walk_back
		}
		// rifle	
		strafing left
		{
			both pb_stumble_walk_left
		}
		strafing right
		{
			both pb_stumble_walk_right
		}		
		default 
		{
			both pb_stumble_walk_back
		}
	}

// STUMBLE CROUCH
	stumble_crouch_forward
	{
		// pistol
		weaponclass pistol AND grenade, strafing left, playerAnimType all NOT m203
		{
			both pb_stumble_pistol_left
		}
		weaponclass pistol AND grenade, strafing right, playerAnimType all NOT m203
		{ 
			both pb_stumble_pistol_right
		}
		weaponclass pistol AND grenade, playerAnimType all NOT m203
		{
			both pb_stumble_pistol_forward
		}

		// rifle	
		strafing left
		{
			both pb_stumble_left
		}
		strafing right
		{
			both pb_stumble_right
		}
		default 
		{
			both pb_stumble_forward
		}
	}
	stumble_crouch_backward
	{
		// pistol
		weaponclass pistol AND grenade, strafing left, playerAnimType all NOT m203
		{
			both pb_stumble_pistol_left
		}
		weaponclass pistol AND grenade, strafing right, playerAnimType all NOT m203
		{ 
			both pb_stumble_pistol_right
		}	
		weaponclass pistol AND grenade, playerAnimType all NOT m203
		{
			both pb_stumble_pistol_back
		}
		strafing left
		{
			both pb_stumble_left
		}
		strafing right
		{
			both pb_stumble_right
		}		
		default 
		{
			both pb_stumble_back
		}
	}

	walk
	{
		playerAnimType dog
		{
			both german_shepherd_walk
		}
		playerAnimType none
		{
			both pb_stand_shoot_walk_forward_unarmed
		}
		playerAnimType hold
		{
			both pb_hold_run
		}
		weaponclass rocketlauncher, strafing left 
		{
			both pb_walk_left_RPG_ads
		}
		weaponclass rocketlauncher, strafing right 
		{
			both pb_walk_right_RPG_ads
		}
		weaponclass rocketlauncher 
		{
			both pb_walk_forward_RPG_ads
		}
		weaponclass pistol , strafing left
		{
			both pb_combatwalk_left_loop_pistol
		}
		weaponclass pistol, strafing right
		{
			both pb_combatwalk_right_loop_pistol
		}
		weaponclass pistol
		{
			both pb_combatwalk_forward_loop_pistol
		}
		weaponclass grenade, strafing left, playerAnimType all NOT m203
		{
			both pb_combatrun_left_loop_grenade
		}
		weaponclass grenade, strafing right, playerAnimType all NOT m203
		{
			both pb_combatrun_right_loop_grenade
		}
		weaponclass grenade, playerAnimType all NOT m203
		{
			both pb_combatrun_forward_loop_stickgrenade
		}
		strafing left
		{
			both pb_stand_shoot_walk_left
		}
		strafing right
		{
			both pb_stand_shoot_walk_right
		}
		default // two handed rifle type weapon
		{
			both pb_stand_shoot_walk_forward
		}
	}
	walkbk // Always ADS when walking
	{
		playerAnimType dog
		{
			both german_shepherd_walk
		}
		playerAnimType none
		{
			both pb_stand_shoot_walk_forward_unarmed
		}
		playerAnimType hold
		{
			both pb_hold_run_back
		}
		weaponclass rocketlauncher 
		{
			both pb_walk_back_RPG_ads
		}
		weaponclass pistol, strafing left
		{
			both pb_combatwalk_left_loop_pistol
		}
		weaponclass pistol, strafing right
		{
			both pb_combatwalk_right_loop_pistol
		}		
		weaponclass pistol
		{
			both pb_combatwalk_back_loop_pistol
		}
		weaponclass grenade, playerAnimType all NOT m203
		{
			both pb_combatrun_back_loop_grenade
		}
		strafing left
		{
			both pb_stand_shoot_walk_left
		}
		strafing right
		{
			both pb_stand_shoot_walk_right
		}		
		default
		{
			both pb_stand_shoot_walk_back
		}
	}
	walkcr
	{
		playerAnimType dog
		{
			both german_shepherd_walk
		}
		playerAnimType none
		{
			both pb_crouch_walk_forward_unarmed
		}
		playerAnimType hold, strafing left
		{
			both pb_crouch_hold_run_left
		}
		playerAnimType hold, strafing right
		{
			both pb_crouch_hold_run_right
		}
		playerAnimType hold
		{
			both pb_crouch_hold_run
		}
		weaponclass rocketlauncher, strafing left 
		{
			both pb_crouch_walk_left_RPG
		}
		weaponclass rocketlauncher, strafing right 
		{
			both pb_crouch_walk_right_RPG
		}
		weaponclass rocketlauncher 
		{
			both pb_crouch_walk_forward_RPG
		}
		weaponclass pistol AND grenade, strafing left, playerAnimType all NOT m203
		{
			both pb_crouch_walk_left_pistol
		}
		weaponclass pistol AND grenade, strafing right, playerAnimType all NOT m203
		{
			both pb_crouch_walk_right_pistol
		}
		weaponclass pistol AND grenade, playerAnimType all NOT m203
		{
			both pb_crouch_walk_forward_pistol
		}
		strafing left
		{
			both pb_crouch_shoot_run_left
		}
		strafing right
		{
			both pb_crouch_shoot_run_right
		}
		default // two handed rifle type weapon
		{
			both pb_crouch_shoot_run_forward
		}
	}

	walkcrbk
	{
		playerAnimType dog
		{
			both german_shepherd_walk
		}
		playerAnimType none
		{
			both pb_crouch_walk_forward_unarmed
		}
		playerAnimType hold
		{
			both pb_crouch_hold_run_back
		}
		weaponclass rocketlauncher 
		{
			both pb_crouch_walk_back_RPG
		}
		weaponclass pistol AND grenade, strafing left, playerAnimType all NOT m203
		{
			both pb_crouch_walk_left_pistol
		}
		weaponclass pistol AND grenade, strafing right, playerAnimType all NOT m203
		{
			both pb_crouch_walk_right_pistol
		}		
		weaponclass pistol AND grenade, playerAnimType all NOT m203
		{
			both pb_crouch_walk_back_pistol
		}
		strafing left
		{
			both pb_crouch_shoot_run_left
		}
		strafing right
		{
			both pb_crouch_shoot_run_right
		}		
		default // two handed rifle type weapon
		{
			both pb_crouch_shoot_run_back
		}
	}
	walkprone
	{
		playerAnimType dog
		{
			both german_shepherd_walk
		}
		weaponclass pistol, strafing left
		{
			both pb_prone_crawl_left
		}
		weaponclass pistol, strafing right
		{
			both pb_prone_crawl_right
		}
		weaponclass grenade, strafing left, playerAnimType all NOT m203
		{
			both pb_prone_grenade_crawl_left
		}
		playerAnimType hold, strafing left
		{
			both pb_prone_crawl_left_hold
		}
		playerAnimType hold, strafing right
		{
			both pb_prone_crawl_right_hold
		}
		playerAnimType hold
		{
			both pb_prone_crawl_hold
		}
		weaponclass grenade, strafing right, playerAnimType all NOT m203
		{
			both pb_prone_grenade_crawl_right
		}
		weaponclass pistol
		{
			both pb_prone_crawl
		}
		weaponclass grenade, playerAnimType all NOT m203
		{
			both pb_prone_grenade_crawl
		}
		strafing left
		{
			both pb_prone_crawl_left
		}
		strafing right
		{
			both pb_prone_crawl_right
		}
		default
		{
			both pb_prone_crawl
		}
	}
	walkpronebk
	{
		playerAnimType dog
		{
			both german_shepherd_walk
		}
		weaponclass grenade, strafing left, playerAnimType all NOT m203
		{
			both pb_prone_grenade_crawl_left
		}
		weaponclass grenade, strafing right, playerAnimType all NOT m203
		{
			both pb_prone_grenade_crawl_right
		}
		playerAnimType hold
		{
			both pb_prone_crawl_back_hold
		}	
		weaponclass pistol
		{
			both pb_prone_crawl_back
		}
		weaponclass grenade, playerAnimType all NOT m203
		{
			both pb_prone_grenade_crawl_back
		}
		default
		{
			both pb_prone_crawl_back
		}
	}
	run
	{
		playerAnimType dog
		{
			both german_shepherd_run
		}
		playerAnimType none
		{
			both pb_pistol_run_fast
		}
		playerAnimType hold, strafing left
		{
			both pb_hold_run_left
		}
		playerAnimType hold, strafing right
		{
			both pb_hold_run_right
		}
		playerAnimType hold
		{
			both pb_hold_run
		}
		weaponclass rocketlauncher, strafing left 
		{
			both pb_combatrun_left_RPG
		}
		weaponclass rocketlauncher, strafing right 
		{
			both pb_combatrun_right_RPG
		}
		weaponclass rocketlauncher 
		{
			both pb_combatrun_forward_RPG
		}
		weaponclass pistol, strafing left
		{
			both pb_combatrun_left_loop_pistol
		}
		weaponclass pistol, strafing right
		{
			both pb_combatrun_right_loop_pistol
		}
		weaponclass grenade, strafing left, playerAnimType all NOT m203
		{
			both pb_combatrun_left_loop_grenade
		}
		weaponclass grenade, strafing right, playerAnimType all NOT m203
		{
			both pb_combatrun_right_loop_grenade
		}
		strafing left
		{
			both pb_combatrun_left_loop
		}
		strafing right
		{
			both pb_combatrun_right_loop
		}
		weaponclass grenade, playerAnimType all NOT m203
		{
			both pb_combatrun_forward_loop_stickgrenade
		}
		weaponclass pistol
		{
			both pb_pistol_run_fast
		}
		default
		{
			both pb_combatrun_forward_loop
		}
	}
// STUMBLE SPRINT
	stumble_sprint_forward
	{
		default 
		{
			both pb_stumble_forward
		}
	}
	sprint
	{
		playerAnimType dog
		{
			both german_shepherd_run
		}
		playerAnimType none
		{
			both pb_sprint
		}
		playerAnimType hold
		{
			both pb_sprint_hold
		}
		weaponclass grenade, playerAnimType all NOT m203
		{
			both pb_sprint
		}
		weaponclass pistol
		{
			both pb_sprint_pistol
		}
 		weaponclass rocketlauncher 
		{
 			both pb_sprint_RPG
 		}
		default
		{
			both pb_sprint
		}
	}
	runbk
	{
		playerAnimType dog
		{
			both german_shepherd_run
		}
		playerAnimType none
		{
			both pb_combatrun_back_loop_grenade
		}
		playerAnimType hold
		{
			both pb_hold_run_back
		}
		weaponclass pistol, strafing left
		{
			both pb_combatrun_left_loop_pistol
		}
		weaponclass pistol, strafing right
		{
			both pb_combatrun_right_loop_pistol
		}
		weaponclass grenade, strafing left, playerAnimType all NOT m203
		{
			both pb_combatrun_left_loop_grenade
		}
		weaponclass grenade, strafing right, playerAnimType all NOT m203
		{
			both pb_combatrun_right_loop_grenade
		}
		weaponclass pistol 
		{
			both pb_combatrun_back_loop_pistol
		}
		weaponclass grenade, playerAnimType all NOT m203
		{
			both pb_combatrun_back_loop_grenade
		}
 		weaponclass rocketlauncher 
		{
 			both pb_combatrun_back_RPG
 		}
		strafing left
		{
			both pb_combatrun_left_loop
		}
		strafing right
		{
			both pb_combatrun_right_loop
		}		
		default
		{
			both pb_combatrun_back_loop
		}
	}
	runcr
	{
		playerAnimType dog
		{
			both german_shepherd_run
		}
		playerAnimType none
		{
			both pb_crouch_run_forward_grenade
		}
		weaponclass rocketlauncher, strafing left 
		{
			both pb_crouch_run_left_RPG
		}
		weaponclass rocketlauncher, strafing right 
		{
			both pb_crouch_run_right_RPG
		}
		weaponclass rocketlauncher 
		{
			both pb_crouch_run_forward_RPG
		}
		weaponclass pistol, strafing left
		{
			both pb_crouch_run_left_pistol
		}
		weaponclass pistol, strafing right
		{
			both pb_crouch_run_right_pistol
		}
		playerAnimType hold, strafing left
		{
			both pb_crouch_hold_run_left
		}
		playerAnimType hold, strafing right
		{
			both pb_crouch_hold_run_right
		}
		playerAnimType hold
		{
			both pb_crouch_hold_run
		}
 	        weaponclass grenade, strafing left, playerAnimType all NOT m203
		{
			both pb_crouch_run_left_grenade
		}
        	weaponclass grenade, strafing right, playerAnimType all NOT m203
		{
			both pb_crouch_run_right_grenade
		}
		weaponclass pistol
		{
			both pb_crouch_run_forward_pistol
		}
		weaponclass grenade, playerAnimType all NOT m203
		{
			both pb_crouch_run_forward_grenade
		}
		strafing left
		{
			both pb_crouch_run_left
		}
		strafing right
		{
			both pb_crouch_run_right
		}
		default
		{
			both pb_crouch_run_forward
		}
	}

	runcrbk
	{
		playerAnimType dog
		{
			both german_shepherd_run
		}
		playerAnimType none
		{
			both pb_crouch_run_back_grenade
		}
		weaponclass rocketlauncher 
		{
			both pb_crouch_run_back_RPG
		}
		weaponclass pistol, strafing left
		{
			both pb_crouch_run_left_pistol
		}
		weaponclass pistol, strafing right
		{
			both pb_crouch_run_right_pistol
		}
 		playerAnimType hold
  		{
   			both pb_crouch_hold_run_back
  		}
   	        weaponclass grenade, strafing left, playerAnimType all NOT m203
		{
			both pb_crouch_run_left_grenade
		}
  	        weaponclass grenade, strafing right, playerAnimType all NOT m203
		{
			both pb_crouch_run_right_grenade
		}
		weaponclass pistol
		{
			both pb_crouch_run_back_pistol
		}
		weaponclass grenade, playerAnimType all NOT m203
		{
			both pb_crouch_run_back_grenade
		}
		strafing left
		{
			both pb_crouch_run_left
		}
		strafing right
		{
			both pb_crouch_run_right
		}		
		default
		{
			both pb_crouch_run_back
		}
	}

	climbup
	{
		default
		{
			// Can't play the chicken dance here as a temp because it has no movement speed
			both pb_climbup
		}
	}
	climbdown
	{
		default
		{
			// Can't play the chicken dance here as a temp because it has no movement speed
			both pb_climbdown
		}
	}
	turnrightcr
	{
		movetype idlecr AND turnrightcr
		{
			legs pl_crouchturn_90right
		}
	}
	turnleftcr
	{
		movetype idlecr AND turnleftcr
		{
			legs pl_crouchturn_90left
		}
	}

	//==========
	// PI - DAY : Mantle animations
	mantle_up_57
	{
		default 
		{
			both mp_mantle_up_57
		}
	}
	mantle_up_51
	{
		default 
		{
			both mp_mantle_up_51
		}
	}
	mantle_up_45
	{
		default 
		{
			both mp_mantle_up_45
		}
	}
	mantle_up_39
	{
		default 
		{
			both mp_mantle_up_39
		}
	}
	mantle_up_33
	{
		default 
		{
			both mp_mantle_up_33
		}
	}
	mantle_up_27
	{
		default 
		{
			legs mp_mantle_up_27
		}
	}
	mantle_up_21
	{
		default 
		{
			legs mp_mantle_up_21
		}
	}
	mantle_over_high
	{
		default 
		{
			both mp_mantle_over_high
		}
	}
	mantle_over_mid
	{
		default 
		{
			both mp_mantle_over_mid
		}
	}
	mantle_over_low
	{
		default 
		{
			legs mp_mantle_over_low
		}
	}
}

//==========================================================================
// EVENTS
//
// format:
//
// <event description>
// {
//		[DEFAULT / <condition type> [<condition value>], ...]
//		{
//			<both/legs/torso> <animation> [sound <filename>]
//			<both/legs/torso> <animation> [sound <filename>]
//			...
//		}
// }
//
// legend:
//
// <event description>: pain, death, fireweapon, jump, jumpbk, land, dropweapon,
//		raiseweapon, reload, crouch_to_prone, shellshock
//		prone_to_crouch, meleeattack
//
//	NOTE: for gameplay anims (weapons firing, reload, etc) that show no legs movement
//		only the torso should animation from here, leave the legs doing what their
//		locomotive anims want them to do
//

EVENTS

fireweapon
{
// MG42
	mounted mg42
	{
		// Ignore the fireweapon event while on a turret
	}

// PISTOLS
	perk laststand
	{
		torso pt_laststand_fire
	}
	weaponclass pistol, movetype prone
	{
		torso pt_prone_shoot_pistol
	}
	weaponclass pistol, movetype moving
	{
		// Play no special firing animation
	}
	weaponclass pistol, movetype crouching, weapon_position ads
	{
		torso pt_crouch_shoot_ads_pistol
	}
	weaponclass pistol, movetype crouching
	{
		torso pt_crouch_shoot_pistol
	}
	weaponclass pistol, weapon_position ads
	{
		torso pb_stand__shoot_ads_pistol
	}
	weaponclass pistol
	{
		torso pt_stand_shoot_pistol
	}

// MG & SMG
	weaponclass autofire, movetype prone
	{
		torso pt_prone_shoot_auto duration 150
	}
	weaponclass autofire, movetype moving
	{
		// Play no special firing animation
	}
	weaponclass autofire, movetype crouching, weapon_position ads
	{
		torso pt_crouch_shoot_auto_ads duration 150
	}
	weaponclass autofire, movetype crouching
	{
		torso pt_crouch_shoot_auto duration 150
	}
	weaponclass autofire, weapon_position ads
	{
		torso pt_stand_shoot_auto_ads duration 150
	}
	weaponclass autofire
	{
		torso pt_stand_shoot_auto duration 150
	}

// PROJECTILE WEAPONS (assume ads since you can't fire these from the hip)
	weaponclass rocketlauncher, movetype moving
	{
		// Play no special firing animation
	}
	weaponclass rocketlauncher, movetype crouching
	{
		torso pt_crouch_shoot_ads
	}
	weaponclass rocketlauncher, movetype prone
	{
		torso pt_prone_shoot_RPG
	}
	weaponclass rocketlauncher
	{
		torso pt_stand_shoot_RPG
	}

// GRENADES
	 weaponclass grenade, movetype prone, playerAnimType hold
	 {
		  torso pt_hold_prone_throw
	 }
	 weaponclass grenade, movetype idlecr, playerAnimType hold
	 {
		 torso pt_hold_throw
	 }
	 weaponclass grenade, playerAnimType hold
	 {
 		 torso pt_hold_throw
	 }
	 weaponclass grenade, movetype prone, playerAnimType all NOT m203  // All prone
	 {
		  torso pt_prone_grenade_throw
	 }
	 weaponclass grenade, movetype idlecr, playerAnimType all NOT m203 // Crouch, still
	 {
		  both pb_crouch_grenade_throw
	 }
	 weaponclass grenade, movetype crouching, playerAnimType all NOT m203 // Crouch, moving
	 {
 		 torso pt_crouch_grenade_throw
	 }
 	weaponclass grenade, movetype idle, playerAnimType all NOT m203  // Stand still
	 {
		  both pb_stand_grenade_throw blendtime 10 
	 }
	 weaponclass grenade, playerAnimType all NOT m203     // Stand, moving
 	{
 		 torso pt_stand_grenade_throw blendtime 10 
 	}
	
//bolt (RIFLES)
	playerAnimType sniper, movetype prone
	{
		torso pt_prone_shoot_auto
	}
	playerAnimType sniper, movetype moving
	{
		// Play no special firing animation
	}
	playerAnimType sniper, movetype crouching, weapon_position ads
	{
		torso pt_crouch_shoot_ads
	}
	playerAnimType sniper, movetype crouching
	{
		torso pt_crouch_shoot
	}
	playerAnimType sniper, weapon_position ads
	{
		torso pt_rifle_fire_ads
	}
	playerAnimType sniper
	{
		torso pt_rifle_fire
	}
// DEFAULT (RIFLES)
	 playerAnimType other, movetype prone
	 {
	  torso pt_prone_shoot_auto
	 }
	 playerAnimType other
	 {
	  torso pt_stand_shoot_shotgun
	 }
	 movetype prone
	 {
	  torso pt_prone_shoot_auto
	 }
	 movetype moving
	 {
	  // Play no special firing animation
	 }
	 movetype crouching, weapon_position ads
	 {
	  torso pt_crouch_shoot_ads
	 }
	 movetype crouching
	 {
	  torso pt_crouch_shoot
	 }
	 weapon_position ads
 	{
 	 torso pt_stand_shoot_ads
	 }
	 default
	 {
 	 torso pt_stand_shoot
	 }
}


prone_to_crouch
{
	playerAnimType dog
	{
		both german_shepherd_wakeup_fast
	}
	 movetype moving
	 {
		both pb_prone2crouchrun
	 }
	default
	{
		both pb_prone2crouch
	}
}

crouch_to_prone
{
	default
	{
		both pb_crouch2prone
	}
}

meleeattack
{
	playerAnimType dog
	{
		//torso german_shepherd_attack_player
		torso german_shepherd_run_attack
	}
	weaponclass pistol AND grenade, movetype prone, playerAnimType all NOT m203
	{
		torso pt_melee_prone_pistol
	}
	weaponclass pistol AND grenade, playerAnimType all NOT m203
	{
		torso pt_melee_prone_pistol
	}
	movetype prone
	{
		torso pt_melee_prone
	}
	movetype crouching
	{
		torso pt_melee_crouch_left2left
		torso pt_melee_crouch_left2right
		torso pt_melee_crouch_right2left
	}
	default
	{
		torso pt_melee_right2right_1 duration 400
		torso pt_melee_right2right_2 duration 400
		torso pt_melee_right2left duration 300
		torso pt_melee_left2left_1 duration 400
		torso pt_melee_left2right duration 300
	}
}

knife_melee
{
	playerAnimType dog
	{
		//torso german_shepherd_attack_player
		torso german_shepherd_run_attack
	}
	movetype prone
	{
		torso pt_melee_prone_pistol
	}
	default
	{
		torso pt_melee_pistol_1
	}
}

knife_melee_charge
{
	movetype prone
	{
		torso pt_melee_prone_pistol
	}
	default
	{
		torso pt_melee_pistol_2
	}
}

dropweapon
{
	movetype prone
	{
		torso pt_prone_pullout_pose
	}
	movetype crouching
	{
		torso pt_crouch_pullout_pose
	}
	default
	{
		torso pt_stand_pullout_pose
	}
}

raiseweapon
{
	// (Boon 07-11-2003) Don't want anything here - just blend into the correct pose.
}

reload
{
	perk laststand
 	{
   		torso pt_laststand_reload
  	}
	weaponclass pistol, movetype idlecr
	{
		torso pt_reload_crouch_pistol
	}
	weaponclass pistol, movetype crouching
	{
		torso pt_reload_crouchwalk_pistol
	}
	weaponclass pistol, movetype prone
	{
		torso pt_reload_prone_pistol
	}
 	 weaponclass rocketlauncher, movetype prone
 	{
	   	torso pt_reload_prone_RPG
	}
 	 weaponclass rocketlauncher
 	{
	   	torso pt_reload_stand_RPG
	}
	weaponclass pistol
	{
		torso pt_reload_stand_pistol
	}
	playerAnimType smg, movetype prone
	{
		torso pt_reload_prone_auto
	}
	playerAnimType smg, movetype idlecr
	{
		torso pt_reload_stand_auto_mp40
	}
	playerAnimType smg, movetype crouching
	{
		torso pt_reload_crouchwalk
	}
	playerAnimType smg
	{
		torso pt_reload_stand_auto_mp40
	}
	playerAnimType autorifle, movetype prone
	{
		torso pt_reload_prone_auto
	}
	playerAnimType autorifle, movetype idlecr
	{
		torso pt_reload_crouch_rifle
	}
	playerAnimType autorifle, movetype crouching
	{
		torso pt_reload_crouchwalk
	}
	playerAnimType autorifle
	{
		torso pt_reload_stand_auto
	}
	movetype idlecr
	{
		torso pt_reload_crouch_rifle
	}
	movetype crouching
	{
		torso pt_reload_crouch_rifle
	}
	movetype prone
	{
		torso pt_reload_prone_auto
	}
	default
	{
		torso pt_reload_stand_rifle
	}
}

jump
{
	playerAnimType dog
	{
		both german_shepherd_run_jump_40
	}
	playerAnimType none, movetype run
	{
		both pb_runjump_takeoff duration 5 blendtime 100
	}
	playerAnimType none
	{
		both pb_standjump_takeoff duration 5 blendtime 100
	}	
	weaponclass rocketlauncher, movetype run
	{
		both pb_runjump_takeoff duration 5 blendtime 100
	}
	weaponclass rocketlauncher
	{
		both pb_standjump_takeoff duration 5 blendtime 100
	}
	movetype run
	{
		both pb_runjump_takeoff duration 5 blendtime 100
	}
	default
	{
		both pb_standjump_takeoff duration 5 blendtime 100
	}
}

jumpbk
{
	playerAnimType dog
	{
		both german_shepherd_run_jump_40
	}
	movetype crouching AND prone
	{
		both pb_chicken_dance_crouch duration 5 blendtime 100
	}

	playerAnimType none, movetype run
	{
		both pb_standjump_takeoff duration 5 blendtime 100
	}
	playerAnimType none
	{
		both pb_standjump_takeoff duration 5 blendtime 100
	}
	weaponclass rocketlauncher, movetype run
	{
		both pb_standjump_takeoff duration 5 blendtime 100
	}
	weaponclass rocketlauncher
	{
		both pb_standjump_takeoff duration 5 blendtime 100
	}
	
	weaponclass grenade, movetype run, playerAnimType all NOT m203
	{
		both pb_standjump_takeoff duration 5 blendtime 100
	}
	weaponclass grenade, playerAnimType all NOT m203
	{
		both pb_standjump_takeoff duration 5 blendtime 100
	}
	
	movetype run
	{
		both pb_standjump_takeoff duration 5 blendtime 100
	}
	default
	{
		both pb_standjump_takeoff duration 5 blendtime 100
	}
}

land
{
	playerAnimType dog
	{
		both german_shepherd_walk
	}
	movetype run
	{
		both pb_runjump_land duration 100 blendtime 50
	}
	weaponclass pistol AND grenade, playerAnimType all NOT m203
	{
		both pb_standjump_land_pistol duration 5
	}
	default
	{
		both pb_standjump_land duration 100 blendtime 50
	}
}

shellshock
{
	movetype prone
	{

	}
	movetype moving
	{
		torso pb_stand_shellshock duration 5000 blendtime 50
	}
	movetype idle
	{
		torso pb_stand_shellshock duration 5000 blendtime 50
	}
	movetype crouching
	{
		torso pb_stand_shellshock duration 5000 blendtime 50
	}
}

DEATH
{
	playerAnimType dog
	{
		both german_shepherd_death_front
	}
	movetype crouching, perk laststand
	{
		both pb_laststand_death
	}	
	movetype prone, perk laststand
	{
		both pb_laststand_death
	}
	perk laststand
	{
		both pb_laststand_death
	}
	movetype prone
	{
		both pb_prone_death_quickdeath
	}
	movetype idlecr
	{
		both pb_crouch_death_headshot_front
		both pb_crouch_death_clutchchest
		both pb_crouch_death_flip
		both pb_crouch_death_fetal
		both pb_crouch_death_falltohands
	}
	movetype runbk
	{
		both pb_death_run_back
	}
	movetype run AND runcr, strafing left
	{
		both pb_death_run_left
	}
	movetype run AND runcr, strafing right
	{
		both pb_death_run_right
	}
	movetype runcr
	{
		both pb_crouchrun_death_drop
		both pb_crouchrun_death_crumple
	}
	movetype run
	{
		both pb_death_run_forward_crumple
		both pb_death_run_onfront
		both pb_death_run_stumble
	}
	default
	{
		both pb_stand_death_neckdeath
		both pb_stand_death_headchest_topple
		both pb_stand_death_frontspin
		both pb_stand_death_nervedeath
		both pb_stand_death_legs
		both pb_stand_death_lowerback
		both pb_stand_death_head_collapse
		both pb_stand_death_neckdeath_thrash
	}
}

pain
{
	playerAnimType dog
	{
		//both german_shepherd_run_pain
	}
	movetype prone
	{
		both pb_prone_painA_holdchest
		both pb_prone_painB_holdhead
	}
	movetype crouching
	{
		both pb_crouch_pain_holdStomach
	}
	default
	{
		both pb_crouch_pain_holdStomach
	}
}
