//==============================================
//******:  A converted Half-Life model
//  Thankz goes to UsAaR33 (usaar33@yahoo.com) for his wonderful tut...
//  To model converter:  You better keep the above line :D :D
//==============================================
class ****** expands Tournamentmale;

#exec MESH IMPORT MESH=****** ANIVFILE=MODELS\******_a.3d DATAFILE=MODELS\******_d.3d 
#exec MESH ORIGIN MESH=****** X=0 Y=0 Z=2 YAW=64

#exec MESH SEQUENCE MESH=****** SEQ=All STARTFRAME=414 NUMFRAMES=227

#exec MESH SEQUENCE MESH=****** SEQ=Alltrue STARTFRAME=0 NUMFRAMES=691


#exec MESHMAP NEW MESHMAP=****** MESH=******
#exec MESHMAP SCALE MESHMAP=****** X=0.15 Y=0.15 Z=0.3


#exec MESH SEQUENCE MESH=****** SEQ=GutHit    STARTFRAME=234   NUMFRAMES=1        Group=TakeHit
#exec MESH SEQUENCE MESH=****** SEQ=AimDnLg   STARTFRAME=481   NUMFRAMES=1        Group=Waiting
#exec MESH SEQUENCE MESH=****** SEQ=AimDnSm   STARTFRAME=3   NUMFRAMES=23        Group=Waiting
#exec MESH SEQUENCE MESH=****** SEQ=AimUpLg   STARTFRAME=27   NUMFRAMES=29         Group=Waiting
#exec MESH SEQUENCE MESH=****** SEQ=AimUpSm   STARTFRAME=479   NUMFRAMES=1        Group=Waiting

#exec MESH SEQUENCE MESH=****** SEQ=AimDnLgFr   STARTFRAME=481   NUMFRAMES=1        Group=Waiting
#exec MESH SEQUENCE MESH=****** SEQ=AimDnSmFr   STARTFRAME=477   NUMFRAMES=1        Group=Waiting
#exec MESH SEQUENCE MESH=****** SEQ=AimUpLgFr   STARTFRAME=482   NUMFRAMES=1        Group=Waiting
#exec MESH SEQUENCE MESH=****** SEQ=AimUpSmFr   STARTFRAME=477   NUMFRAMES=1        Group=Waiting
//lets face it...there are no gestures in HL... I did my best in choosing......
#exec MESH SEQUENCE MESH=****** SEQ=Taunt1    STARTFRAME=381 NUMFRAMES=9 RATE=19     Group=Gesture
#exec MESH SEQUENCE MESH=****** SEQ=Breath1   STARTFRAME=164  NUMFRAMES=29  RATE=20     Group=Waiting
#exec MESH SEQUENCE MESH=****** SEQ=Breath3   STARTFRAME=414  NUMFRAMES=29 RATE=40    Group=Waiting
#exec MESH SEQUENCE MESH=****** SEQ=Breath2   STARTFRAME=414  NUMFRAMES=29 RATE=20    Group=Waiting
#exec MESH SEQUENCE MESH=****** SEQ=cockgun   STARTFRAME=414  NUMFRAMES=29 RATE=15    Group=Waiting
#exec MESH SEQUENCE MESH=****** SEQ=cockgunl   STARTFRAME=414  NUMFRAMES=29 RATE=15    Group=Waiting
#exec MESH SEQUENCE MESH=****** SEQ=DuckWlkL  STARTFRAME=66  NUMFRAMES=29 RATE=15    Group=Ducking
#exec MESH SEQUENCE MESH=****** SEQ=DuckWlkS  STARTFRAME=66  NUMFRAMES=29 RATE=15    Group=Ducking
#exec MESH SEQUENCE MESH=****** SEQ=DuckDnlgfr  STARTFRAME=96  NUMFRAMES=6 RATE=15    Group=Ducking
#exec MESH SEQUENCE MESH=****** SEQ=Duckuplgfr  STARTFRAME=104  NUMFRAMES=6 RATE=15    Group=Ducking
#exec MESH SEQUENCE MESH=****** SEQ=DuckDnsmfr  STARTFRAME=112  NUMFRAMES=6 RATE=15    Group=Ducking
#exec MESH SEQUENCE MESH=****** SEQ=Duckupsmfr  STARTFRAME=120  NUMFRAMES=6 RATE=15    Group=Ducking
#exec MESH SEQUENCE MESH=****** SEQ=DuckDnlgaim  STARTFRAME=132  NUMFRAMES=1 RATE=15    Group=Ducking
#exec MESH SEQUENCE MESH=****** SEQ=Duckuplgaim  STARTFRAME=134  NUMFRAMES=30 RATE=15    Group=Ducking
#exec MESH SEQUENCE MESH=****** SEQ=DuckDnsmaim  STARTFRAME=128  NUMFRAMES=1 RATE=15    Group=Ducking
#exec MESH SEQUENCE MESH=****** SEQ=Duckupsmaim  STARTFRAME=130  NUMFRAMES=1 RATE=15    Group=Ducking
#exec MESH SEQUENCE MESH=****** SEQ=Duckwait  STARTFRAME=133  NUMFRAMES=30 RATE=15    Group=Ducking

#exec MESH SEQUENCE MESH=****** SEQ=HeadHit   STARTFRAME=354  NUMFRAMES=1    Group=TakeHit
#exec MESH SEQUENCE MESH=****** SEQ=JumpLgFr  STARTFRAME=388  NUMFRAMES=1    Group=Jumping
#exec MESH SEQUENCE MESH=****** SEQ=JumpSmFr  STARTFRAME=388  NUMFRAMES=1    Group=Jumping
#exec MESH SEQUENCE MESH=****** SEQ=LandLgFr  STARTFRAME=400  NUMFRAMES=1    Group=Landing
#exec MESH SEQUENCE MESH=****** SEQ=LandSmFr  STARTFRAME=400  NUMFRAMES=1    Group=Landing
//not the best possible.... but ok...
#exec MESH SEQUENCE MESH=****** SEQ=LeftHit   STARTFRAME=329  NUMFRAMES=1        Group=TakeHit
//also used for breath2..doubt this is ever called...but still :D
#exec MESH SEQUENCE MESH=****** SEQ=Look      STARTFRAME=415 NUMFRAMES=29 RATE=15     Group=Waiting 
#exec MESH SEQUENCE MESH=****** SEQ=RightHit  STARTFRAME=276 NUMFRAMES=1        Group=TakeHit
//using same run for all..... don't like the run2.smd...wierd.......
#exec MESH SEQUENCE MESH=****** SEQ=RunLg     STARTFRAME=485 NUMFRAMES=21 RATE=40
//no REAL moving fire anim......
#exec MESH SEQUENCE MESH=****** SEQ=RunLgFr   STARTFRAME=485 NUMFRAMES=21 RATE=40     Group=MovingFire
#exec MESH SEQUENCE MESH=****** SEQ=RunSm    STARTFRAME=485 NUMFRAMES=21 RATE=40
#exec MESH SEQUENCE MESH=****** SEQ=RunSmFr  STARTFRAME=485 NUMFRAMES=21 RATE=40 Group=MovingFire
//here we also have aiming up firing and down firing...as well as normal...kinda......
//no real rapid fire.....but who cares....
#exec MESH SEQUENCE MESH=****** SEQ=StillFrRp STARTFRAME=57 NUMFRAMES=7 RATE=15    Group=Waiting
#exec MESH SEQUENCE MESH=****** SEQ=StillLgFr STARTFRAME=57 NUMFRAMES=7 RATE=15    Group=Waiting
//no real inbetween shoot, but milkshape was nice and generated this nice SINGLE frame......
#exec MESH SEQUENCE MESH=****** SEQ=StillSmFr STARTFRAME=452 NUMFRAMES=1      Group=Waiting
//no difference for swimming....
#exec MESH SEQUENCE MESH=****** SEQ=SwimLg    STARTFRAME=507 NUMFRAMES=26 RATE=15
#exec MESH SEQUENCE MESH=****** SEQ=SwimSm    STARTFRAME=507 NUMFRAMES=26 RATE=15
#exec MESH SEQUENCE MESH=****** SEQ=TreadLg   STARTFRAME=535 NUMFRAMES=30 RATE=15    Group=Waiting
#exec MESH SEQUENCE MESH=****** SEQ=TreadSm    STARTFRAME=535 NUMFRAMES=30  RATE=15    Group=Waiting
#exec MESH SEQUENCE MESH=****** SEQ=Victory1  STARTFRAME=381 NUMFRAMES=9 RATE=19   Group=Gesture
#exec MESH SEQUENCE MESH=****** SEQ=WalkLg    STARTFRAME=588 NUMFRAMES=23 RATE=18
//no firing animations.....but no big deal :D
#exec MESH SEQUENCE MESH=****** SEQ=WalkLgFr  STARTFRAME=565 NUMFRAMES=23 RATE=18    Group=MovingFire
#exec MESH SEQUENCE MESH=****** SEQ=WalkSm    STARTFRAME=588 NUMFRAMES=23 RATE=18
#exec MESH SEQUENCE MESH=****** SEQ=WalkSmFr  STARTFRAME=565 NUMFRAMES=23 RATE=18    Group=MovingFire
#exec MESH SEQUENCE MESH=****** SEQ=Wave      STARTFRAME=657 NUMFRAMES=33 RATE=15            Group=Gesture
//irrelevent...but just in case........
#exec MESH SEQUENCE MESH=****** SEQ=Walk      STARTFRAME=588 NUMFRAMES=23 RATE=18
#exec MESH SEQUENCE MESH=****** SEQ=TurnLg    STARTFRAME=565 NUMFRAMES=2  RATE=15          // 2 frames of walklgfr
#exec MESH SEQUENCE MESH=****** SEQ=TurnSm    STARTFRAME=565 NUMFRAMES=2  RATE=15          // 2 frames of walksmfr
//don't have this..... same as normal breath
#exec MESH SEQUENCE MESH=****** SEQ=Breath1L  STARTFRAME=165  NUMFRAMES=29  RATE=15    Group=Waiting
#exec MESH SEQUENCE MESH=****** SEQ=Breath2L  STARTFRAME=414  NUMFRAMES=29 RATE=15    Group=Waiting

#exec MESH SEQUENCE MESH=****** SEQ=LookL     STARTFRAME=414  NUMFRAMES=29 RATE=15     Group=Waiting 
//tread rip-off
#exec MESH SEQUENCE MESH=****** SEQ=WaveL     STARTFRAME=657 NUMFRAMES=33 RATE=15            Group=Gesture
#exec MESH SEQUENCE MESH=****** SEQ=Chat1     STARTFRAME=462 NUMFRAMES=13 RATE=6    Group=Waiting
#exec MESH SEQUENCE MESH=****** SEQ=Chat2    STARTFRAME=462 NUMFRAMES=13 RATE=6    Group=Waiting
//wierd part of headhit..... kinda like dead9....
#exec MESH SEQUENCE MESH=****** SEQ=Thrust    STARTFRAME=354 NUMFRAMES=9 RATE=20    Group=Gesture
//a frame in the longjump animation......
#exec MESH SEQUENCE MESH=****** SEQ=DodgeB    STARTFRAME=613 NUMFRAMES=1        Group=Jumping
#exec MESH SEQUENCE MESH=****** SEQ=DodgeF    STARTFRAME=613 NUMFRAMES=1        Group=Jumping
#exec MESH SEQUENCE MESH=****** SEQ=DodgeR    STARTFRAME=613 NUMFRAMES=1        Group=Jumping
#exec MESH SEQUENCE MESH=****** SEQ=DodgeL    STARTFRAME=613 NUMFRAMES=1        Group=Jumping
#exec MESH SEQUENCE MESH=****** SEQ=Fighter   STARTFRAME=58 NUMFRAMES=1                // first frame of stilllgfr


#exec MESH SEQUENCE MESH=****** SEQ=Dead1     STARTFRAME=195 NUMFRAMES=34 RATE=20    Group=TakeHit
#exec MESH SEQUENCE MESH=****** SEQ=Dead2     STARTFRAME=709 NUMFRAMES=48 RATE=25    
#exec MESH SEQUENCE MESH=****** SEQ=Dead3     STARTFRAME=274 NUMFRAMES=18 RATE=10
#exec MESH SEQUENCE MESH=****** SEQ=Dead4     STARTFRAME=352 NUMFRAMES=27 RATE=20
#exec MESH SEQUENCE MESH=****** SEQ=Dead7     STARTFRAME=230 NUMFRAMES=23 RATE=12    Group=TakeHit
#exec MESH SEQUENCE MESH=****** SEQ=Dead8     STARTFRAME=314 NUMFRAMES=36 RATE=20    Group=TakeHit
#exec MESH SEQUENCE MESH=****** SEQ=Dead9     STARTFRAME=352 NUMFRAMES=7 RATE=30    Group=TakeHit
#exec MESH SEQUENCE MESH=****** SEQ=Dead9B    STARTFRAME=255 NUMFRAMES=18 RATE=15    
#exec MESH SEQUENCE MESH=****** SEQ=Dead11    STARTFRAME=294 NUMFRAMES=19 RATE=30
#exec MESH SEQUENCE MESH=****** SEQ=Deadduck    STARTFRAME=614 NUMFRAMES=42 RATE=30
//would want to play run backwards  (actually normal would be backwards, dumb HL, but since I can't I'm using normal run.......
#exec MESH SEQUENCE MESH=****** SEQ=BackRun    STARTFRAME=484 NUMFRAMES=21  RATE=40    Group=MovingFire
#exec MESH SEQUENCE MESH=****** SEQ=StrafeL    STARTFRAME=484 NUMFRAMES=21  RATE=40    Group=MovingFire
#exec MESH SEQUENCE MESH=****** SEQ=StrafeR    STARTFRAME=484 NUMFRAMES=21  RATE=40    Group=MovingFire

#exec MESH SEQUENCE MESH=****** SEQ=DeathEnd  STARTFRAME=350 NUMFRAMES=1
#exec MESH SEQUENCE MESH=****** SEQ=DeathEnd2 STARTFRAME=350 NUMFRAMES=1
#exec MESH SEQUENCE MESH=****** SEQ=DeathEnd3 STARTFRAME=350 NUMFRAMES=1
#exec MESH SEQUENCE MESH=****** SEQ=flip STARTFRAME=689 NUMFRAMES=20 RATE=30

#exec MESH NOTIFY MESH=****** SEQ=RunLG TIME=0.25 FUNCTION=PlayFootStep
#exec MESH NOTIFY MESH=****** SEQ=RunLG TIME=0.75 FUNCTION=PlayFootStep
#exec MESH NOTIFY MESH=****** SEQ=RunLGFR TIME=0.25 FUNCTION=PlayFootStep
#exec MESH NOTIFY MESH=****** SEQ=RunLGFR TIME=0.75 FUNCTION=PlayFootStep
#exec MESH NOTIFY MESH=****** SEQ=RunSM TIME=0.25 FUNCTION=PlayFootStep
#exec MESH NOTIFY MESH=****** SEQ=RunSM TIME=0.75 FUNCTION=PlayFootStep
#exec MESH NOTIFY MESH=****** SEQ=RunSMFR TIME=0.25 FUNCTION=PlayFootStep
#exec MESH NOTIFY MESH=****** SEQ=RunSMFR TIME=0.75 FUNCTION=PlayFootStep
#exec MESH NOTIFY MESH=****** SEQ=StrafeL TIME=0.25 FUNCTION=PlayFootStep
#exec MESH NOTIFY MESH=****** SEQ=StrafeL TIME=0.75 FUNCTION=PlayFootStep
#exec MESH NOTIFY MESH=****** SEQ=StrafeR TIME=0.25 FUNCTION=PlayFootStep
#exec MESH NOTIFY MESH=****** SEQ=StrafeR TIME=0.75 FUNCTION=PlayFootStep
#exec MESH NOTIFY MESH=****** SEQ=BackRun TIME=0.25 FUNCTION=PlayFootStep
#exec MESH NOTIFY MESH=****** SEQ=BackRun TIME=0.75 FUNCTION=PlayFootStep
#exec MESH NOTIFY MESH=****** SEQ=Dead1 TIME=0.7 FUNCTION=LandThump
#exec MESH NOTIFY MESH=****** SEQ=Dead2 TIME=0.9 FUNCTION=LandThump
#exec MESH NOTIFY MESH=****** SEQ=Dead3 TIME=0.45 FUNCTION=LandThump
#exec MESH NOTIFY MESH=****** SEQ=Dead4 TIME=0.6 FUNCTION=LandThump
#exec MESH NOTIFY MESH=****** SEQ=Dead7 TIME=0.7 FUNCTION=LandThump
#exec MESH NOTIFY MESH=****** SEQ=Dead8 TIME=0.7 FUNCTION=LandThump
#exec MESH NOTIFY MESH=****** SEQ=Dead9B TIME=0.8 FUNCTION=LandThump
#exec MESH NOTIFY MESH=****** SEQ=Dead11 TIME=0.57 FUNCTION=LandThump
#exec MESH NOTIFY MESH=****** SEQ=Deadduck TIME=0.9 FUNCTION=LandThump

//Allows ducking to use the crouch aim found in HL models......
function PlayDuck()
{
  BaseEyeHeight = 0;
  
  
  ViewRotation.Pitch = ViewRotation.Pitch & 65535;
    If ( (ViewRotation.Pitch > RotationRate.Pitch) 
      && (ViewRotation.Pitch < 65536 - RotationRate.Pitch) )
    {
      If (ViewRotation.Pitch < 32768) 
      {
        if ( (Weapon == None) || (Weapon.Mass < 20) )
          TweenAnim('duckUpSmaim', 0.3);
        else
          //I put whole animation in on accident and I'm too lazy to get rid of it, so I might as well USE it.....
          LoopAnim('duckUpLgaim');
      }
      else
      {
        if ( (Weapon == None) || (Weapon.Mass < 20) )
          TweenAnim('duckDnSmaim', 0.3);
        else
          TweenAnim('duckDnLgaim', 0.3);
      }
    }
else
LoopAnim('DuckWait');
}
function PlayCrawling()
{
  //log("Play duck");
  BaseEyeHeight = 0;
  
  
    LoopAnim('DuckWlkL');
}
//no recoil animaiton in HL...
function PlayRecoil(float Rate)
{
  PlayFiring();
}

//crouching shooting handled here......
function PlayFiring()
{
  // switch animation sequence mid-stream if needed
  if (AnimSequence == 'RunLG')
    AnimSequence = 'RunLGFR';
  else if (GetAnimGroup(AnimSequence) == 'Ducking')
  {
  //ducking fire.......
  ViewRotation.Pitch = ViewRotation.Pitch & 65535;
    If ( (ViewRotation.Pitch > RotationRate.Pitch) 
      && (ViewRotation.Pitch < 65536 - RotationRate.Pitch) )
    {
      
          if (Weapon.Mass < 20) 
          AnimSequence = 'DuckDnSmFR';
        else
          AnimSequence = 'DuckDnLgFr';
      
    }
    else
    {
        if ( Weapon.Mass < 20) 
          AnimSequence = 'DuckUpSMFR';
        else
          
        AnimSequence = 'DuckUpLgFR';
      }
    
  }
  else if (AnimSequence == 'RunSM')
    AnimSequence = 'RunSMFR';
  else if (AnimSequence == 'WalkLG')
    AnimSequence = 'WalkLGFR';
  else if (AnimSequence == 'WalkSM')
    AnimSequence = 'WalkSMFR';
  else if ( AnimSequence == 'JumpSMFR' )
    TweenAnim('JumpSMFR', 0.03);
  else if ( AnimSequence == 'JumpLGFR' )
    TweenAnim('JumpLGFR', 0.03);
  else if ( (GetAnimGroup(AnimSequence) == 'Waiting') || (GetAnimGroup(AnimSequence) == 'Gesture')
    && (AnimSequence != 'TreadLG') && (AnimSequence != 'TreadSM') )
  {
ViewRotation.Pitch = ViewRotation.Pitch & 65535;
    If ( (ViewRotation.Pitch > RotationRate.Pitch) 
      && (ViewRotation.Pitch < 65536 - RotationRate.Pitch) )
    {
      If (ViewRotation.Pitch < 32768) 
      {
        if ( (Weapon == None) || (Weapon.Mass < 20) ){
          
          PlayAnim('AimUpSmFr');
          }
        else{
          
          PlayAnim('AimUpLgFr');
          }
      }
      else
      {
        if ( (Weapon == None) || (Weapon.Mass < 20) ){
          
          PlayAnim('AimDnSmFr');
          }
        else{
          
          PlayAnim('AimDnLgFr');
          }
      }
    }
  else{
    if ( Weapon.Mass < 20 )
      TweenAnim('StillSMFR', 0.02);
    else
      TweenAnim('StillLgFr', 0.02);
  }}
}
//handles aiming.......
function PlayWaiting()
{
  local name newAnim;

  if ( Mesh == None )
    return;

  if ( bIsTyping )
  {
    PlayChatting();
    return;
  }

  if ( (IsInState('PlayerSwimming')) || (Physics == PHYS_Swimming) )
  {
    BaseEyeHeight = 0.7 * Default.BaseEyeHeight;
    if ( (Weapon == None) || (Weapon.Mass < 20) )
      LoopAnim('TreadSM');
    else
      LoopAnim('TreadLG');
  }
  else
  {  
    BaseEyeHeight = Default.BaseEyeHeight;
    ViewRotation.Pitch = ViewRotation.Pitch & 65535;
    If ( (ViewRotation.Pitch > RotationRate.Pitch) 
      && (ViewRotation.Pitch < 65536 - RotationRate.Pitch) )
    {
      If (ViewRotation.Pitch < 32768) 
      {
        if ( (Weapon == None) || (Weapon.Mass < 20) ){
          if ( (bFire != 0) || (bAltFire != 0) )
          PlayAnim('AimUpSmFr');
          else
          TweenAnim('AimUpSm', 0.3);}
        else{
          if ( (bFire != 0) || (bAltFire != 0) )
          PlayAnim('AimUpLgFr');
          else
          TweenAnim('AimUpLg', 0.3);}
      }
      else
      {
        if ( (Weapon == None) || (Weapon.Mass < 20) ){
          if ( (bFire != 0) || (bAltFire != 0) )
          PlayAnim('AimDnSmFr');
          else
          TweenAnim('AimDnSm', 0.3);}
        else{
          if ( (bFire != 0) || (bAltFire != 0) )
          PlayAnim('AimDnLgFr');
          else
          TweenAnim('AimDnLg', 0.3);}
      }
    }
    else if ( (Weapon != None) && Weapon.bPointing )
    {
      
      if ( Weapon.Mass < 20 )
        TweenAnim('StillSMFR', 0.3);
      else
        TweenAnim('StillFRRP', 0.3);
    }
    else
    {
      if ( FRand() < 0.1 )
      {
        if ( (Weapon == None) || (Weapon.Mass < 20) )
          PlayAnim('CockGun', 0.5 + 0.5 * FRand(), 0.3);
        else
          PlayAnim('CockGunL', 0.5 + 0.5 * FRand(), 0.3);
      }
      else
      {
        if ( (Weapon == None) || (Weapon.Mass < 20) )
        {
          if ( (FRand() < 0.75) && ((AnimSequence == 'Breath1') || (AnimSequence == 'Breath2')) )
            newAnim = AnimSequence;
          else if ( FRand() < 0.5 )
            newAnim = 'Breath1';
          else
            newAnim = 'Breath2';
        }
        else
        {
          if ( (FRand() < 0.75) && ((AnimSequence == 'Breath1L') || (AnimSequence == 'Breath2L')) )
            newAnim = AnimSequence;
          else if ( FRand() < 0.5 )
            newAnim = 'Breath1L';
          else
            newAnim = 'Breath2L';
        }
                
        if ( AnimSequence == newAnim )
          LoopAnim(newAnim, 0.4 + 0.4 * FRand());
        else
          PlayAnim(newAnim, 0.4 + 0.4 * FRand(), 0.25);
      }
    }
  }
}
//to use crouch death......
function PlayDying(name DamageType, vector HitLoc)
{
  BaseEyeHeight = Default.BaseEyeHeight;
  PlayDyingSound();
  if (GetAnimGroup(AnimSequence) == 'Ducking')
  {
    PlayAnim('Deadduck');
    return;
  }
      
  if ( DamageType == 'Suicided' )
  {
    PlayAnim('Dead8',, 0.1);
    return;
  }

  // check for head hit
  if ( (DamageType == 'Decapitated') && !class'GameInfo'.Default.bVeryLowGore )
  {
    PlayDecap();
    return;
  }

  if ( FRand() < 0.1 )
  {
    PlayAnim('Dead2',,0.1);
    return;
  }

  // check for big hit
  if ( (Velocity.Z > 250) && (FRand() < 0.75) )
  {
    if ( FRand() < 0.5 )
      PlayAnim('Dead1',,0.1);
    else
      PlayAnim('Dead11',, 0.1);
    return;
  }

  // check for repeater death
  if ( (Health > -10) && ((DamageType == 'shot') || (DamageType == 'zapped')) )
  {
    PlayAnim('Dead9',, 0.1);
    return;
  }
    
  if ( (HitLoc.Z - Location.Z > 0.7 * CollisionHeight) && !class'GameInfo'.Default.bVeryLowGore )
  {
    if ( FRand() < 0.5 )
      PlayDecap();
    else
      PlayAnim('Dead7',, 0.1);
    return;
  }
  
  if ( Region.Zone.bWaterZone || (FRand() < 0.5) ) //then hit in front or back
    PlayAnim('Dead3',, 0.1);
  else
    PlayAnim('Dead8',, 0.1);
}
//two skins
defaultproperties
{
bismultiskinned=false     
DrawType=DT_Mesh
FaceSkin=1
defaultpackage="******skins."
DefaultSkinName="******Skins.%%%%"
Selectionmesh="******.******"
Mesh=LodMesh'******'
}
