actor Slash : Punch
{
 damage 12
 +FORCEPAIN
 states
 {
  spawn:
	TNT1 A 1
	stop
  death:
	TNT1 A 0 A_PlaySound("knife/impactwall", CHAN_AUTO)
	TNT1 A 0 radius_quake(1, 6, 0, 8, 0)
	TNT1 A 6
	stop
  xdeath:
	TNT1 A 0 A_PlaySound("knife/impactflesh", CHAN_AUTO)
	TNT1 A 0 radius_quake(5, 7, 0, 8, 0)
	TNT1 A 6
	stop
  }
}

actor Knife : AliensWeapon
{
 weapon.kickback 200
 weapon.selectionorder 3200
 weapon.slotnumber 1
 tag "Combat Knife"
 +weapon.meleeweapon
 +weapon.wimpy_weapon
 +weapon.noalert
 +weapon.noautofire
 states
 {
  Ready:
	TNT1 A 0 A_JumpIfInventory("KickItem", 1, "PreKick")
	TNT1 A 0 A_JumpIfInventory("TrackerToggle", 1, "PreTrack")
	KNIF A 1 A_WeaponReady
	loop
  select:
	KNIF A 0 A_Raise
	KNIF A 1 A_Raise
	loop
  deselect:
	KNIF A 0 A_Lower
	KNIF A 1 A_Lower
	loop
  Fire:
	TNT1 A 0 A_JumpIfInventory("SlashLeft", 1, "SlashLeft")
	TNT1 A 0 A_JumpIfInventory("SlashItem", 1, "SlashRight")
	KNIF B 1
	KNIF C 1
	KNIF D 1
	KNIF E 1
  SlashLeft:
	TNT1 A 0 A_JumpIfInventory("RadarActive", 1, "TrackerLower")
	TNT1 A 0 A_TakeInventory("SlashLeft", 1)
	TNT1 A 0 A_GiveInventory("SlashItem", 1)
	TNT1 A 0 A_PlaySound("knife/swing", CHAN_WEAPON)
	KNIF F 1
	KNIF G 1
	KNIF H 1
	KNIF I 1
	TNT1 A 0 A_FireCustomMissile("Slash", 0, 0, 0, 0, 0)
	KNIF J 1
	KNIF K 1
	KNIF L 1 A_WeaponReady
	goto slashpause
  SlashRight:
  	TNT1 A 0 A_JumpIfInventory("RadarActive", 1, "TrackerLower")
	TNT1 A 0 A_TakeInventory("SlashItem", 1)
	TNT1 A 0 A_GiveInventory("SlashLeft")
	TNT1 A 0 A_PlaySound("knife/swing", CHAN_WEAPON)
	KNIF M 1
	KNIF N 1
	KNIF O 1
	KNIF P 1
	TNT1 A 0 A_FireCustomMissile("Slash", 0, 0, 0, 0, 0)
	KNIF Q 1
	KNIF R 1
	KNIF S 1 A_WeaponReady
	goto slashpause
  slashpause:
	TNT1 AAAAAAAAAAAAAAAAAAAAA 1 A_WeaponReady
  slashend:
	TNT1 A 0 A_TakeInventory("SlashItem", 1)
	TNT1 A 0 A_TakeInventory("SlashLeft", 1)
	KNIF E 1
	KNIF D 1
	KNIF C 1
	KNIF B 1
	goto ready
  PreKick:
	KNIF A 1 offset(-8, 40)
	KNIF A 1 offset(-24, 56)
	KNIF A 1 offset(-40, 72)
	KNIF A 1 offset(-50, 88)
	KNIF A 1 offset(-66, 104)
	goto Kick
  PostKick:
	KNIF A 1 offset(-66, 104)
    KNIF A 1 offset(-50, 88)
	KNIF A 1 offset(-40, 72)
	KNIF A 1 offset(-24, 56)
	KNIF A 1 offset(-8, 40)
	goto ready
  PreTrack:
	KNIF A 1 offset(-8, 40)
	KNIF A 1 offset(-24, 56)
	KNIF A 1 offset(-40, 72)
	KNIF A 1 offset(-50, 88)
	KNIF A 1 offset(-66, 104)
	goto TrackRaise
  PostTrack:
	KNIF A 1 offset(-66, 104)
    KNIF A 1 offset(-50, 88)
	KNIF A 1 offset(-40, 72)
	KNIF A 1 offset(-24, 56)
	KNIF A 1 offset(-8, 40)
	goto ready
  }
}