ACTOR LegendaryASG : "Legendary Assault Shotgun" replaces "Legendary Assault Shotgun"
{
  Tag "Legendary Assault Shotgun"
  States
  {
  Ready:
    TNT1 A 0 A_PlayWeaponSound("LShotgun/Cock")
	LGSG VWXYZ 1
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
    LGSG A 1 A_WeaponReady
    Goto Ready+6
  Deselect: 
    TNT1 A 0 A_PlaySound("weapons/weapondown")
    LGSG A 1 A_Lower
    Goto Deselect+1
  Select:
	TNT1 A 0 A_Raise
    Wait	
  Fire:
	TNT1 A 0 A_JumpIfNoAmmo("Empty")
	TNT1 A 0 A_PlaySound("Weapons/LegAutoShotgun", 1)
	TNT1 A 0 A_AlertMonsters
    TNT1 A 0 Radius_Quake(3,3,0,1,0)
    TNT1 A 0 A_GunFlash
	TNT1 A 0 A_Light1
	TNT1 A 0 A_SpawnItemEx("BlueShellCasing",30,5,25,Random(2,4),Random(3,6),Random(3,6),0)
	TNT1 AAAAAA 0 A_FireCustomMissile("BlueSGTracer",Random(5,-5),0,0,Random(5,-5))
    LGSG B 1 Bright A_FireBullets(6.2,3.4,7,Random(20,28),"LegendaryASGBulletPuff")
    LGSG C 1 Bright A_Light2
	TNT1 A 0 A_Light0
    LGSG DEFG 1
	LGSG HI 2
    Goto Ready+6
  Empty:
    LGSG A 10 A_PlaySound("weapons/click")
  AltFire:
  	TNT1 A 0 A_JumpIfInventory("LegendaryShotgunDrum",16,2)
    TNT1 A 0 A_JumpIfInventory("LegendaryShell",1,2)
	TNT1 A 0
	Goto Ready+6
	LGSG JKLMN 1
	LGSG O 2
	LGSR A 2 A_PlaySound("lasgguy/asgout")
  	LGSR B 3
	LGSG U 40 A_FireCustomMissile("LegendaryEmptyDrumSpawner", 0, 0, 10, 1) 
	LGSG TSR 1
	LGSG Q 2
  Reload:
	TNT1 A 0 A_TakeInventory("LegendaryShell",1)
	TNT1 A 0 A_GiveInventory("LegendaryShotgunDrum",1)
	TNT1 A 0 A_JumpIfInventory("LegendaryShotgunDrum",16,2)
	TNT1 A 0 A_JumpIfInventory("LegendaryShell",1,"Reload")
	TNT1 A 0
	Goto Reload2
  Reload2:
	LGSG P 3
	LGSG O 6 A_PlaySound("lasgguy/asgin")
	LGSG NMLKJ 1
	Goto Ready+6
  GrenadeCheck:
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAmmo",1,"GrenadeToss")
	TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
	Goto Ready+6
  GrenadeToss:
  	TNT1 A 0 A_PlayWeaponSound("weapons/weapondown") 
	LGSG ZYXWV 1
	TNT1 A 6
	HGRN ABC 1
	HGRN D 3
	HGRN EFGHI 2
	TNT1 A 14 A_PlayWeaponSound("weapons/hgrenadepin")
	TNT1 A 0 A_PlayWeaponSound("weapons/hgrenadethrow")
	TNT1 A 0 A_TakeInventory("HandGrenadeAmmo",1)
	HGRN J 1 A_FireCustomMissile("ThrownGrenade",0,0,0,0)
	HGRN KLM 2
	TNT1 A 6
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAmmo",1,2)
    TNT1 A 0 A_TakeInventory("Hand Grenade",1)
	TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
	TNT1 A 0
	LGSG VWXYZ 1
	Goto Ready+6
  MineCheck:
	TNT1 A 0 A_JumpIfInventory("MineAmmo",1,"MineToss")
	TNT1 A 0 A_TakeInventory("MineAction",1)
	Goto Ready+6
  MineToss:
  	TNT1 A 0 A_PlayWeaponSound("weapons/weapondown") 
	LGSG ZYXWV 1
	TNT1 A 10
	TNT1 A 0 A_PlayWeaponSound("weapons/hgrenadethrow")
	MINE ABCDEF 1		
	TNT1 A 0 A_TakeInventory("MineAmmo",1)	  
	MINE G 1 A_FireCustomMissile("ThrownMine",0,0,0,0)
	MINE HI 1
	MINE JK 2
	TNT1 A 0 A_JumpIfInventory("MineAmmo",1,2)
    TNT1 A 0 A_TakeInventory("Land Mine",1)
	TNT1 A 0 A_TakeInventory("MineAction",1)
	TNT1 A 0
	TNT1 A 5
	Goto Ready+1
  Spawn:
    LMAP A -1
    Stop
	}
}