SDEF
// -----------------------------------------------------------------------------
//  $Logfile:: /Quake 2 Engine/Sin/Base Sin Data/Models/Monster/grunt_rckt.de $
// $Revision:: 37                                                             $
//   $Author:: Joeske                                                         $
//     $Date:: 10/26/98 3:39p                                                 $
//
// Copyright (C) 1998 by Ritual Entertainment, Inc.
// All rights reserved.
//
// This source may not be distributed and/or modified without
// expressly written permission by Ritual Entertainment, Inc.
//
// This is a model definition file.  It is to be used in conjunction with Sin.
//
// -----------------------------------------------------------------------------
// MODEL DESCRIPTION:
// Grunt carrying a Rocket Launcher
//
// MODEL AUTHOR:
// Beau
//
/*SINED Monster_Grunt_RocketLauncher (1 .5 0) (0 0 0) (0 0 0)
Grunt with Rocket Launcher
*/

// -----------------------------------------------------------------------------
// FILE DECLARATIONS
//
// Model Commands
path models/grunt
scale 1.125

// Base Model
grunt_base.sbm

// Skins
normal	   grunt_base.tga
damage	   grunt_damage1.tga


// Normal Animations
aim            grunt_aim2hand.sam
fire	         grunt_fire2hand.sam
walk           grunt_walk.sam
run            grunt_run.sam
idle           grunt_idle2hand.sam
crouch_down    grunt_crouch.sam
crouch_idle    grunt_crouchidle.sam
readyfire      grunt_readyfire2hand.sam
melee1         grunt_punch1.sam
melee2         grunt_punch2.sam
jump1          grunt_jump.sam
land1          grunt_jump.sam

gibdeath_upper		grunt_gibdeath.SAM
gibdeath_lower		grunt_gibdeath2.SAM

//twitch            grunt_idle1.sam
alert             grunt_alert2hand.sam

// Pain Location Based Animations
pain1	         grunt_pain1.sam
pain2	         grunt_pain2.sam
pain3          grunt_pain3.sam
pain4	         grunt_pain4.sam
pain5	         grunt_pain5.sam
pain6	         grunt_pain6.sam

pain_head                 grunt_painhead.sam
pain_torso_upper          grunt_painchestupper.sam
pain_torso_lower          grunt_painchestlower.sam
pain_arm_left_upper       grunt_painleftarm.sam
pain_arm_left_lower       grunt_painleftarm.sam
pain_arm_right_upper      grunt_painrightarm.sam
pain_arm_right_lower      grunt_painrightarm.sam
pain_leg_left_upper       grunt_painleftleg1.sam
pain_leg_left_lower       grunt_painleftleg2.sam
pain_leg_right_upper      grunt_painrightleg.sam
pain_leg_right_lower      grunt_painrightleg.sam

// Death Location Based Animations
death1         grunt_death6.sam
death2         grunt_death2.sam
death3         grunt_death3.sam
death4         grunt_death4.sam
death5         grunt_death5.sam

death_head1               grunt_death1.sam
death_head2			  grunt_death3.sam
death_torso_upper1        grunt_death3.sam
death_torso_upper2        grunt_death5.sam
death_torso_upper3        grunt_death6.sam
death_torso_lower1        grunt_death5.sam
death_torso_lower2	  grunt_death6.sam
death_torso_lower3	  grunt_death2.sam
death_arm_right_upper     grunt_death2.sam
death_arm_right_lower     grunt_death2.sam
death_arm_left_upper      grunt_death4.sam
death_arm_left_lower      grunt_death4.sam
death_leg_right_upper     grunt_death5.sam
death_leg_right_lower     grunt_death5.sam
death_leg_left_upper      grunt_death5.sam
death_leg_left_lower      grunt_death5.sam

// Crouching Pain Location Based Animations

// Crouching Death Location Based Animations

// Optional Animations
use             grunt_use.sam
movefire        grunt_runfire.sam
uncrouch        grunt_uncrouch.sam
crouch_fire     grunt_crouchfire.sam
crouch_aim      grunt_crouchaim.sam
step_left       grunt_stepleft.sam
step_right      grunt_stepright.sam

// Scripted Animations
sitting         grunt_sitting.sam
salute          grunt_salute.sam
patrol          grunt_patrol.sam

// Id And Group Definitions
id   5 group head              flesh
group head damage 2.0
id  15 group torso_upper       metal
group torso_upper damage 1.0
id  18 group torso_lower       fabric
group torso_lower damage 1.0
id  45 group leg_left_upper    fabric
group leg_left_upper damage 0.75
id  50 group leg_left_lower    fabric
group leg_left_lower damage 0.5
id  65 group leg_right_upper   fabric
group leg_right_upper damage 0.75
id  70 group leg_right_lower   fabric
group leg_right_lower damage 0.5
id  85 group arm_left_upper    flesh
group arm_left_upper damage 0.75
id  90 group arm_left_lower    flesh
group arm_left_lower damage 0.5
id 105 group arm_right_upper   flesh
group arm_right_upper damage 0.75
id 110 group arm_right_lower   flesh
group arm_right_lower damage 0.5
id 150 group torso_upper bone ribs 0 100 90 metal
id 200 group arm_left_lower bone gun 0 205 90 flesh

// -----------------------------------------------------------------------------
// INITIALIZATION SECTION
//
!init:
//
// SERVER Initialization Commands
//
// Class Setup
server classname actor
server script global/enemy.scr
server setsize "-16 -16 0" "16 16 80"
server crouchsize "-16 -16 0" "16 16 64"
server weapon RocketLauncher
server health 60
server item FlakJacket 30
server item FlakPants 15
server meleerange 120
server meleedamage 15
server painthreshold 15

// Sound Aliases
server aliascache  snd_idle1      "monsters/grunt/mssl/idle1.wav" 1
server aliascache  snd_idle2      "monsters/grunt/mssl/idle2.wav" 1
server aliascache  snd_idle3      "monsters/grunt/mssl/idle3.wav" 1
server aliascache  snd_idle4      "monsters/grunt/mssl/idle4.wav" 1
server aliascache  snd_idle5      "monsters/grunt/mssl/idle5.wav" 1
server aliascache  snd_idle6      "monsters/grunt/mssl/idle6.wav" 1

server aliascache  snd_pursuit1   "monsters/grunt/mssl/loc1.wav" 1
server aliascache  snd_pursuit2   "monsters/grunt/mssl/loc3.wav" 1

server aliascache  snd_investigate1 "monsters/grunt/mssl/loc2.wav" 1
server aliascache  snd_inmysights1  "monsters/grunt/mssl/attk1.wav" 1
server aliascache  snd_locate1      "monsters/grunt/mssl/loc2.wav" 1

server aliascache  snd_sightenemy1  "monsters/grunt/mssl/site4.wav" 1

server aliascache  snd_attacktaunt1 "monsters/grunt/mssl/attk1.wav" 1
server aliascache  snd_attacktaunt2 "monsters/grunt/mssl/attk3.wav" 1
server aliascache  snd_attacktaunt3 "monsters/grunt/mssl/attk4.wav" 1

server aliascache  snd_tauntdeath1    "monsters/grunt/mssl/taunt1.wav" 1
server aliascache  snd_tauntdeath2    "monsters/grunt/mssl/taunt2.wav" 1


server aliascache snd_lostweapon "monsters/grunt/mssl/pain7.wav" 1


//
// CLIENT Initialization Commands
//
// Sound Aliases
client aliascache  snd_pain1       "monsters/grunt/mssl/pain1a.wav" 1
client aliascache  snd_pain2       "monsters/grunt/mssl/pain2.wav" 1
client aliascache  snd_pain3       "monsters/grunt/mssl/pain3.wav" 1
client aliascache  snd_pain4       "monsters/grunt/mssl/pain4.wav" 1
client aliascache  snd_pain5       "monsters/grunt/mssl/pain7.wav" 1

client aliascache  snd_legpain1       "monsters/grunt/mssl/pain13.wav" 1
client aliascache  snd_legpain2       "monsters/grunt/mssl/pain14.wav" 1
client aliascache  snd_legpain3       "monsters/grunt/mssl/pain1a.wav" 1

client aliascache  snd_death1      "monsters/grunt/mssl/deth1.wav" 1
client aliascache  snd_death2      "monsters/grunt/mssl/deth3.wav" 1
client aliascache  snd_death3      "monsters/grunt/mssl/deth4.wav" 1
client aliascache  snd_death4      "monsters/grunt/mssl/deth6.wav" 1

client aliascache  snd_kneefall1   "impact/bodyfall/sml1.wav" 1
client aliascache  snd_kneefall2   "impact/bodyfall/sml2.wav" 1
client aliascache  snd_partfall1   "impact/bodyfall/med1.wav" 1
client aliascache  snd_partfall2   "impact/bodyfall/med2.wav" 1
client aliascache  snd_partfall3   "impact/bodyfall/med3.wav" 1
client aliascache  snd_bodyfall1   "impact/bodyfall/lrg1.wav" 1
client aliascache  snd_bodyfall2   "impact/bodyfall/lrg2.wav" 1
client aliascache  snd_whoosh1     "weapons/punch/whsh1.wav" 1
client aliascache  snd_whoosh2     "weapons/punch/whsh2.wav" 1

// -----------------------------------------------------------------------------
// MAIN SECTION
//
!main:
// Special Commands
server readyfire  last nextanim aim

// Normal Animations
server walk       1 movementsound
server walk	      7 movementsound
client walk       1 footstep
client walk       7 footstep
server run        0 movementsound
server run        4 movementsound
client run        0 footstep
client run        4 footstep
server readyfire  last nextanim aim
server fire       0 fire
server movefire   0 movementsound
server movefire   4 movementsound
client movefire   0 footstep
client movefire   4 footstep

server melee1 1 movementsound
server melee1 1 melee
client melee1 1 randomsound snd_whoosh 1 4

server melee2 1 movementsound
server melee2 1 melee
client melee2 1 randomsound snd_whoosh 1 4

server jump1 3 nextframe 3

server land1 first setframe 4
server land1 6 movementsound
server land1 7 movementsound
client land1 6 footstep
client land1 7 footstep

// Pain Location Based Animations
server pain1 first painsound
client pain1      1 randomsound snd_pain 1 2
server pain2  first painsound
client pain2      1 randomsound snd_pain 1 2
server pain3  first painsound
client pain3      1 randomsound snd_pain 1 2
server pain4  first painsound
client pain4      1 randomsound snd_pain 1 2
server pain5  first painsound
client pain5      1 randomsound snd_pain 1 2
server pain6  first painsound
client pain6      1 randomsound snd_pain 1 2
client pain6      2 randomsound snd_bodyfall 1 4

server pain_head  first painsound
client pain_head  first randomsound snd_pain 1 2
server pain_torso_upper  first painsound
client pain_torso_upper  first randomsound snd_pain 1 2
server pain_torso_lower  first painsound
client pain_torso_lower  first randomsound snd_pain 1 2
server pain_arm_right_upper  first painsound
client pain_arm_right_upper  first randomsound snd_pain 1 2
server pain_arm_right_lower  first painsound
client pain_arm_right_lower  first randomsound snd_pain 1 2
server pain_arm_left_upper  first painsound
client pain_arm_left_upper  first randomsound snd_pain 1 2
server pain_arm_left_lower  first painsound
client pain_arm_left_lower  first randomsound snd_pain 1 2
server pain_leg_right_upper  first painsound
client pain_leg_right_upper  first randomsound snd_legpain 1 2
server pain_leg_right_lower  first painsound
client pain_leg_right_lower  first randomsound snd_legpain 1 2
server pain_leg_left_upper  first painsound
client pain_leg_left_upper  first randomsound snd_legpain 1 2
server pain_leg_left_lower  first painsound
client pain_leg_left_lower  first randomsound snd_legpain 1 2

// Death Location Based Animations
server death1  first deathsound
client death1      1 randomsound snd_death 1 2
client death1      3 randomsound snd_whoosh 1 4
client death1      9 randomsound snd_bodyfall 1 4
server death2  first deathsound
client death2      1 randomsound snd_death 1 2
client death2      4 randomsound snd_bodyfall 1 4
client death2      9 randomsound snd_partfall 1 4
server death3  first deathsound
client death3      1 randomsound snd_death 1 2
client death3      3 randomsound snd_kneefall 1 4
client death3      4 randomsound snd_kneefall 1 4
client death3      5 randomsound snd_bodyfall 1 4
client death3     11 randomsound snd_partfall 1 4
server death4  first deathsound
client death4  first randomsound snd_death 1 2
client death4      1 randomsound snd_whoosh 1 4
client death4      4 randomsound snd_whoosh 1 4
client death4      7 randomsound snd_whoosh 1 4
client death4      9 randomsound snd_bodyfall 1 4
server death5  first deathsound
client death5  first randomsound snd_death 1 2
client death5      2 randomsound snd_kneefall 1 4
client death5      4 randomsound snd_partfall 1 4
client death5     10 randomsound snd_kneefall 1 4

server death_head  first deathsound
client death_head  first randomsound snd_death 1 2
client death_head      1 randomsound snd_death 1 2
client death_head      3 randomsound snd_whoosh 1 4
client death_head      9 randomsound snd_bodyfall 1 4
server death_torso_upper1  first deathsound
client death_torso_upper1      1 randomsound snd_death 1 2
client death_torso_upper1      3 randomsound snd_kneefall 1 4
client death_torso_upper1      4 randomsound snd_kneefall 1 4
client death_torso_upper1      5 randomsound snd_bodyfall 1 4
client death_torso_upper1     11 randomsound snd_partfall 1 4
server death_torso_upper2  first deathsound
client death_torso_upper2      1 randomsound snd_death 1 2
client death_torso_upper2      3 randomsound snd_kneefall 1 4
client death_torso_upper2      4 randomsound snd_kneefall 1 4
client death_torso_upper2      5 randomsound snd_bodyfall 1 4
client death_torso_upper2     11 randomsound snd_partfall 1 4
server death_torso_lower  first deathsound
client death_torso_lower  first randomsound snd_death 1 2
client death_torso_lower      2 randomsound snd_kneefall 1 4
client death_torso_lower      4 randomsound snd_partfall 1 4
client death_torso_lower     10 randomsound snd_kneefall 1 4
server death_arm_right_upper  first deathsound
client death_arm_right_upper      1 randomsound snd_death 1 2
client death_arm_right_upper      4 randomsound snd_bodyfall 1 4
client death_arm_right_upper      9 randomsound snd_partfall 1 4
server death_arm_right_lower  first deathsound
client death_arm_right_lower      1 randomsound snd_death 1 2
client death_arm_right_lower      4 randomsound snd_bodyfall 1 4
client death_arm_right_lower      9 randomsound snd_partfall 1 4
server death_arm_left_upper  first deathsound
client death_arm_left_upper  first randomsound snd_death 1 2
client death_arm_left_upper      2 randomsound snd_kneefall 1 4
client death_arm_left_upper      4 randomsound snd_partfall 1 4
client death_arm_left_upper     10 randomsound snd_kneefall 1 4
server death_arm_left_lower  first deathsound
client death_arm_left_lower  first randomsound snd_death 1 2
client death_arm_left_lower      2 randomsound snd_kneefall 1 4
client death_arm_left_lower      4 randomsound snd_partfall 1 4
client death_arm_left_lower     10 randomsound snd_kneefall 1 4
server death_leg_right_upper  first deathsound
client death_leg_right_upper  first randomsound snd_death 1 2
client death_leg_right_upper      2 randomsound snd_kneefall 1 4
client death_leg_right_upper      4 randomsound snd_partfall 1 4
client death_leg_right_upper     10 randomsound snd_kneefall 1 4
server death_leg_right_lower  first deathsound
client death_leg_right_lower  first randomsound snd_death 1 2
client death_leg_right_lower      2 randomsound snd_kneefall 1 4
client death_leg_right_lower      4 randomsound snd_partfall 1 4
client death_leg_right_lower     10 randomsound snd_kneefall 1 4
server death_leg_left_upper  first deathsound
client death_leg_left_upper  first randomsound snd_death 1 2
client death_leg_left_upper      2 randomsound snd_kneefall 1 4
client death_leg_left_upper      4 randomsound snd_partfall 1 4
client death_leg_left_upper     10 randomsound snd_kneefall 1 4
server death_leg_left_lower  first deathsound
client death_leg_left_lower  first randomsound snd_death 1 2
client death_leg_left_lower      2 randomsound snd_kneefall 1 4
client death_leg_left_lower      4 randomsound snd_partfall 1 4
client death_leg_left_lower     10 randomsound snd_kneefall 1 4

// Crouching Pain Location Based Animations

// Crouching Death Location Based Animations

// Optional Animations
//client jump       6 randomsound snd_partfall 1 4
client step_left  7 randomsound snd_partfall 1 4


server gibdeath_upper first group head +nodraw
server gibdeath_upper first group torso_upper +nodraw
server gibdeath_upper first group arm_left_upper +nodraw
server gibdeath_upper first group arm_left_lower +nodraw
server gibdeath_upper first group arm_right_upper +nodraw
server gibdeath_upper first group arm_right_lower +nodraw

server gibdeath_upper first group torso_lower +skin1
server gibdeath_upper first group leg_left_upper +skin1
server gibdeath_upper first group leg_left_lower +skin1
server gibdeath_upper first group leg_right_upper +skin1
server gibdeath_upper first group leg_right_lower +skin1

server gibdeath_lower first group torso_lower +nodraw
server gibdeath_lower first group leg_left_upper +nodraw
server gibdeath_lower first group leg_left_lower +nodraw
server gibdeath_lower first group leg_right_upper +nodraw
server gibdeath_lower first group leg_right_lower +nodraw

server gibdeath_lower first group head +skin1
server gibdeath_lower first group torso_upper +skin1
server gibdeath_lower first group arm_left_upper +skin1
server gibdeath_lower first group arm_left_lower +skin1
server gibdeath_lower first group arm_right_upper +skin1
server gibdeath_lower first group arm_right_lower +skin1


// -----------------------------------------------------------------------------
// SOURCESAFE Update Log
//
// $Log:: /Quake 2 Engine/Sin/Base Sin Data/Models/Monster/grunt_rckt.def     $
// 
// 37    10/26/98 3:39p Joeske
// Added in the changes that ZACK made.
// 
// 36    10/25/98 3:20p Beau
// 
// 35    10/25/98 1:25p Beau
// 
// 34    10/24/98 2:51p Joeske
// Added in extra location death for upper torso.
// 
// 33    10/23/98 6:13p Phook
// 
// 32    10/23/98 2:39p Beau
// 
// 31    10/23/98 2:28a Beau
// 
// 30    10/22/98 11:00p Joeske
// Fixed snd_lostweapon for all characters.
// 
// 29    10/20/98 6:00p Onethumb
// 
// 28    10/18/98 6:17p Markd
// fixed jumping and landing
//
// 27    10/16/98 6:55p Phook
// Oct 16: First global damage settings tweaks
//
// 26    10/15/98 10:44p Markd
// Added melees and jump, and falling
//
// 25    10/15/98 4:19p Beau
//
// 24    10/14/98 6:15p Beau
//
// 23    9/24/98 4:06p Beau
//
// 22    9/22/98 11:59a Phook
//
// 21    9/19/98 7:21p Joeske
// Added in formating for files, removed jump ref (anim &sounds)  for now.
//
// 20    9/19/98 6:53p Joeske
// Reformatted files and checked animations.
//
//
// -----------------------------------------------------------------------------