ACTOR "Plasmatic Assault Shotgun" : Weapon 16601
{
//$Category Weapons/BFG20K
//$Sprite SCANA0
//$Title "Rapid Fire Plasma Shotgun"
	Scale 0.85
	Weapon.PreferredSkin "AssaultSG-Marine"
	Weapon.SelectionOrder 4500
	Weapon.KickBack 160
	Weapon.AmmoUse 10
    Weapon.AmmoGive 180
    Weapon.AmmoGive2 360
    Weapon.AmmoType "CellDrum"
    Weapon.AmmoType2 "NewCell"
	Inventory.PickupSound "weapons/pickuptp"
	Inventory.PickupMessage "Rapid Fire Plasma Shotgun"
	Obituary "%k made a huge hole in %o's chest with his Rapid Fire Plasma Shotgun"
	Tag "Rapid Fire Plasma Shotgun"
	Decal DoomImpScorch
	+WEAPON.AMMO_OPTIONAL
	+WEAPON.NOALERT
	+INVENTORY.UNDROPPABLE
	States
  {
  Ready:
	TNT1 A 0 A_PlayWeaponSound("weapons/pickuphr")
	HAVR FEDCBA 1
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
    HAVC A 1 A_WeaponReady
	Goto Ready+7
  Deselect: 
    TNT1 A 0 A_PlaySound("weapons/weapondown")
    HAVC A 1 A_Lower
    Goto Deselect+1
  Select:
	HAVR F 0 A_Raise
	wait
  Fire:
	TNT1 A 0 A_JumpIfNoAmmo("Empty")
	TNT1 A 0 A_PlaySound("weapons/hrfire")
	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 AAAAAAA 0 A_FireCustomMissile("PlasmaticShotgunProjectile",random(6,-6),0,0,0,0,random(6,-6))
	TNT1 A 0 A_TakeInventory("CellDrum",10,TIF_NOTAKEINFINITE)
    HAVF BCD 2 Bright A_Light2
	TNT1 A 0 A_Light0
    Goto Ready+7
	Empty:
    HAVC A 10 A_PlaySound("weapons/click2")	 
AltFire:
  	TNT1 A 0 A_JumpIfInventory("CellDrum",180,2)
    TNT1 A 0 A_JumpIfInventory("NewCell",10,2)
	TNT1 A 0
	goto ready+7
	HAVR ABCDEFGHI 1
	HAVR J 2 A_PlaySound("lasgguy/asgout")
	HAVR KLMN 2 
	HAVR O 16 A_FireCustomMissile("EmptyDrumSpawner", 0, 0, 10, 1) 
  	HAVR NMLK 3 
	HAVR J 2 A_PlaySound("lasgguy/asgin")
	HAVR IHG 3
	HAVR FEDCBA 2
  Reload:
	TNT1 A 0 A_TakeInventory("NewCell",1)
	TNT1 A 0 A_GiveInventory("CellDrum",1)
	TNT1 A 0 A_JumpIfInventory("CellDrum",180,2)
	TNT1 A 0 A_JumpIfInventory("NewCell",10,"Reload")
	TNT1 A 0
	Goto Ready+7
  Full:
	HAVR P 6 A_PlayWeaponSound("lasgguy/asgin")
	HAVR NOG 2
	HAVR FEDCBA 1
	HAVR A 3
	HAVC A 5
	Goto Ready+7
  GrenadeCheck:
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAmmo",1,"GrenadeToss")
	TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
	Goto Ready+7
  GrenadeToss:
  	TNT1 A 0 A_PlayWeaponSound("weapons/weapondown") 
	LSGR EDCBA 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
	LSGR ABCDE 1
	Goto Ready
  MineCheck:
	TNT1 A 0 A_JumpIfInventory("MineAmmo",1,"MineToss")
	TNT1 A 0 A_TakeInventory("MineAction",1)
	Goto Ready
  MineToss:
  	TNT1 A 0 A_PlayWeaponSound("weapons/weapondown") 
	LSGR EDCBA 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
  Spawn:
    SCAN A -1
    Stop
  }
}
ACTOR CellDrum : Ammo
{
	Inventory.Amount 180
	Inventory.MaxAmount 180
	Ammo.BackpackAmount 180
	Ammo.BackpackMaxAmount 180
	Inventory.Icon "LMAPA0"
	+IGNORESKILL
	+NOTIMEFREEZE
}
Actor PlasmaticShotgunProjectile : ProjectileTracers 
{
	DamageType "Player"
	Species "Player"
	Damage (5*random(1,8))
	Decal DoomImpScorch
	+MTHRUSPECIES
	States
	{
		Spawn:
		TRA4 AB 2 BRIGHT 
		Loop
		Death:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("BlueParticleSpawner",0,0,0,0,0,0,0,128)
		TNT1 AAA 0 A_CustomMissile("Kaboom6", 0, 0, random(0,360), 2, random(0,360))
		TNT1 A 1 A_SpawnItem("PlasmaEx")
		Stop
		XDeath:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("BlueParticleSpawner",0,0,0,0,0,0,0,128)
		TNT1 AAA 0 A_CustomMissile("Kaboom6", 0, 0, random(0,360), 2, random(0,360))
		TNT1 A 1 A_SpawnItem("PlasmaEx")
		Stop
	}
}