Actor DoubleBladedChainsaw : Weapon
{
  Weapon.Kickback 0
  Weapon.SelectionOrder 2200
  Weapon.UpSound "weapons/saw2up"
  Weapon.ReadySound "weapons/saw2idle"
  Inventory.PickupMessage "A double-bladed chainsaw!  This was obviously made with killing in mind!"
  Obituary "%o was mowed twice-over by %k's chainsaw."
  Decal "BulletChip"
  +WEAPON.MELEEWEAPON
  States
  {
  Ready:
    SAW2 CD 4 A_WeaponReady
	M1GE A 0 A_JumpIfInventory("thrownade",1,"ThrowGrenade")
	AK47 A 0 A_JumpIfInventory("Kinfeammo",1,"UseKnife")
    Loop
  Deselect:
    SAW2 C 0 A_Lower
    SAW2 C 0 A_Lower
    SAW2 C 1 A_Lower
    Loop
  Select:
    SAW2 C 0 A_Raise
    SAW2 C 0 A_Raise
    SAW2 C 1 A_Raise
    Loop
  Fire:
    SAW2 AABB 2 A_Saw("weapons/saw2full","weapons/saw2hit")
    SAW2 B 0 A_ReFire
    Goto Ready
  ThrowGrenade:
     HNDG BCD 1
     HNDG E 1 A_PlaySound("weapons/grenadepin")
     HNDG FGHH 1
     HNDG I 1 A_PlaySound("weapons/grenadethr") 
     HNDG J 0 A_FireCustomMissile("ThrownGrenade",0,0,0,0)
     HNDG J 0 A_PlaySound("weapons/grenadethr")
     HNDG JKLMNOPQ 1
     HNDG Q 0 A_TakeInventory("thrownade")
     Goto Ready
  Useknife:
     KNFG A 0 A_jumpifinventory("Machete",1,"UseMachete")
     KNFG ABC 2
	 KNFG C 0 A_CustomPunch (110,1,0,"KnifePuff")
	 KNFG DEF 2
	 KNFG F 0 A_TakeInventory("Kinfeammo")
	 goto ready
  UseMachete:
     MHT4 ABC 2
	 MHT4 C 0 A_CustomPunch (450,1,0,"Machetepuff")
	 MHT4 DEFG 2
	 MHT4 G 0 A_TakeInventory("Kinfeammo")
	 goto ready
  Spawn:
    2SAW A -1
    Stop
  }
}

actor Chainsaw2 : Weapon replaces Chainsaw
{
  Weapon.Kickback 0
  Weapon.SelectionOrder 2200
  Weapon.UpSound "weapons/sawup"
  Weapon.ReadySound "weapons/sawidle"
  Inventory.PickupMessage "$GOTCHAINSAW" // "A chainsaw!  Find some meat!"
  Obituary "$OB_MPCHAINSAW" // "%o was mowed over by %k's chainsaw."
  +WEAPON.MELEEWEAPON		
  States
  {
  Ready:
    SAWG CD 4 A_WeaponReady
	M1GE A 0 A_JumpIfInventory("thrownade",1,"ThrowGrenade")
	AK47 A 0 A_JumpIfInventory("Kinfeammo",1,"UseKnife")
    loop
  Deselect:
    SAWG C 0 A_Lower
    SAWG C 0 A_Lower
    SAWG C 1 A_Lower
    Loop
  Select:
    SAWG C 0 A_Raise
    SAWG C 0 A_Raise
    SAWG C 1 A_Raise
    Loop
  Fire:
    SAWG AB 4 A_Saw
    SAWG B 0 A_ReFire
    goto Ready
  ThrowGrenade:
     HNDG BCD 1
     HNDG E 1 A_PlaySound("weapons/grenadepin")
     HNDG FGHH 1
     HNDG I 1 A_PlaySound("weapons/grenadethr") 
     HNDG J 0 A_FireCustomMissile("ThrownGrenade",0,0,0,0)
     HNDG J 0 A_PlaySound("weapons/grenadethr")
     HNDG JKLMNOPQ 1
     HNDG Q 0 A_TakeInventory("thrownade")
     Goto Ready
  Useknife:
     KNFG A 0 A_jumpifinventory("Machete",1,"UseMachete")
     KNFG ABC 2
	 KNFG C 0 A_CustomPunch (110,1,0,"KnifePuff")
	 KNFG DEF 2
	 KNFG F 0 A_TakeInventory("Kinfeammo")
	 goto ready
  UseMachete:
     MHT4 ABC 2
	 MHT4 C 0 A_CustomPunch (450,1,0,"Machetepuff")
	 MHT4 DEFG 2
	 MHT4 G 0 A_TakeInventory("Kinfeammo")
	 goto ready
  Spawn:
    CSAW A -1
    stop
  }
}