// --------------------------------------------------------------------------
//
// Sawed Off (Weapon)
//
// --------------------------------------------------------------------------

ACTOR "SawedOff" : CSDMOWeapon //5010
{
	Weapon.SisterWeapon sawedoff_rat

+AMMO_OPTIONAL

	Weapon.SelectionOrder 500
  weapon.ammotype "SawedOffClip"
  weapon.ammouse 1
  weapon.ammogive 0
  weapon.ammotype2 "BuckshotAmmo"
  weapon.ammouse2 0
  weapon.ammogive2 0 //7
	obituary "%k killed %o with SawedOff."
	+WEAPON.WIMPY_WEAPON
	Inventory.Pickupmessage "Picked up a SawedOff."
	Tag "SawedOff"
	Weapon.UpSound "SawedOff/Ready"
	//AttackSound "SawedOff/Fire" 
	Scale 0.135

	States
	{
	Ready:
		W32E B 1 A_WeaponReady
		Loop



	Deselect:
	TNT1 A 0 ACS_NamedExecuteAlways("HSPreviousWeapon", 0, 2, 0, 0)
    TNT1 A 1 
	Goto DeselectLoop

	Select:
	TNT1 A 1 A_Raise
	TNT1 AA 0 A_Raise
	TNT1 A 0 ACS_ExecuteAlways(798, 0, 210, 0, 0)//Weapon Weight
    TNT1 A 0 A_TakeInventory("CrosshairType",2)
    TNT1 A 0 A_GiveInventory("CrosshairType",1)

	TNT1 A 0 ACS_NamedExecuteAlways("HSPreviousWeapon", 0, 1, 0, 0)
    TNT1 A 0 A_JumpIfInventory("RAT_Trigger",1,"RAT_TriggerSelect")

		TNT1 A 4 A_WEAPONREADY(WRF_NOFIRE)
		W32A GHIJKLMNOPQR 1 A_WEAPONREADY(WRF_NOFIRE|WRF_NOBOB)
		W32A STUVWXYZ 1 A_WEAPONREADY(WRF_NOFIRE)
		W32B ABCDEFGHI 1 A_WEAPONREADY(WRF_NOFIRE)
		Goto Ready

	Rat_TriggerSelect:
    TNT1 A 0 A_TakeInventory("Rat_Trigger",1)

		TNT1 A 4 A_WEAPONREADY(WRF_NOFIRE)
		W32A GHIJKLMNOPQRSTUVWXYZ 1 A_WEAPONREADY(WRF_NOFIRE)
		W32B ABCDEFGHI 1 A_WEAPONREADY//(WRF_NOFIRE)
		Goto Ready

	Fire:
	
	W32E B 0 A_JumpIfNoAmmo("AltFire")
	
	
		W32D A 1 A_GunFlash
		W32D BCDEFGHIJKLMNOPQRSTUVWXYZ 1 A_WEAPONREADY(WRF_NOFIRE)
		W32E A 1 A_WEAPONREADY(WRF_NOFIRE)
		W32E B 3 A_WEAPONREADY(WRF_NOFIRE)
		Goto Ready





  Altfire:
    TNT1 A 0 A_JumpIfInventory("SawedOffClip",7,"Ready")
    TNT1 A 0 A_JumpIfInventory("BuckshotAmmo",1,"ReloadStart")
    goto Ready


	ReloadStart:
		W32F ABCDEFGHIJKL 1 A_WEAPONREADY(WRF_NOFIRE)
		Goto ReloadAmmo
		
  ReloadAmmo:
		W32G BCDEFGHI 1 A_WEAPONREADY(WRF_NOFIRE)
		TNT1 A 0 A_PlaySound("Sawedoff/ShellIn", 6)
W32G JK 1 A_WEAPONREADY(WRF_NOFIRE)
    TNT1 A 0 A_GiveInventory("SawedOffClip",1)
    TNT1 A 0 A_TakeInventory("BuckshotAmmo",1)
		W32G LMNOPQRST 1 A_WEAPONREADY(WRF_NOSECONDARY)
    TNT1 A 0 A_JumpIfInventory("SawedOffClip",0,"ReloadEnd")
    TNT1 A 0 A_JumpIfInventory("BuckshotAmmo",1,"ReloadAmmo2")
    goto ReloadEnd		

  ReloadAmmo2:
		W32G BCDEFGHI 1 A_WEAPONREADY(WRF_NOSECONDARY)
		TNT1 A 0 A_PlaySound("Sawedoff/ShellIn", 6)
W32G JK 1 A_WEAPONREADY(WRF_NOSECONDARY)
    TNT1 A 0 A_GiveInventory("SawedOffClip",1)
    TNT1 A 0 A_TakeInventory("BuckshotAmmo",1)
		W32G LMNOPQRST 1 A_WEAPONREADY(WRF_NOSECONDARY)
    TNT1 A 0 A_JumpIfInventory("SawedOffClip",0,"ReloadEnd")
    TNT1 A 0 A_JumpIfInventory("BuckshotAmmo",1,"ReloadAmmo2")
    goto ReloadEnd	



	ReloadEnd:

		W32H ABCDEFGHIJKLMNOPQR 1 A_WEAPONREADY(WRF_NOSECONDARY)//(WRF_NOFIRE)
		TNT1 A 0 A_PlaySound("SawedOff/Pump")
		TNT1 A 0 A_FireCustomMissile("sHOTCaseSpawn",5,0,12,-6)
		W32H STUVWXYZ 1 A_WEAPONREADY(WRF_NOSECONDARY)//(WRF_NOFIRE)
		W32I ABCDDEF 1 A_WEAPONREADY(WRF_NOSECONDARY)//(WRF_NOFIRE)
		Goto Ready



	Flash:
	TNT1 A 0 ACS_ExecuteAlways(799, 0, 2, 0, 0)
		TNT1 A 0 A_GiveInventory("CrosshairGrow", 13)
TNT1 A 0 A_FireCustomMissile("WeaponSmokePuff",0,0,11,14)
		TNT1 A 0 Bright A_Light1
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_PlaySound ("SawedOff/FIRE")
		TNT1 A 0 A_PlaySound("SAWEDOFF/Distant", 7)
		TNT1 AAAAAA 0 A_FireCustomMissile("Tracer", random(-3,3), 0, 11, -2, 0, frandom(-2,2))
		TNT1 A 6 A_FireBullets(7, 7, 14, 37.0, "sawedoffBullet")//3.8
		TNT1 A 0 A_Light0
		TNT1 A 4
		TNT1 A 0 A_FireCustomMissile("ShotCaseSpawn",5,0,12,-6)
		Goto LightDone
 	Spawn:
		W32Z A -1
		Stop
	}
}