ACTOR "Vexed Nemesis Assault Shotgun" : "Legendary Assault Shotgun"
{
  Decal " "
  Weapon.AmmoUse 1
  Weapon.AmmoGive 32
  Weapon.AmmoGive2 64
  Weapon.AmmoType "NemesisShotgunDrum"
  Weapon.AmmoType2 "NemesisShell"
  Inventory.PickupSound "VexedNemesisASG/Reload"
  Inventory.PickupMessage "You got the Vexed Nemesis Assault Shotgun!"
  Obituary "%o was blown apart by %k's Vexed Nemesis Assault Shotgun."
  States
  {
  Ready:
    TNT1 A 0 A_PlayWeaponSound("VexedNemesisASG/Reload")
	VNS8 VWXYZ 1
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
    VNS8 A 1 A_WeaponReady
    Goto Ready+6
  Deselect: 
    TNT1 A 0 A_PlaySound("weapons/weapondown")
	TNT1 A 0 A_Lower
    VNS8 A 1 A_Lower
    Goto Deselect+1
  Select:
	TNT1 A 0 A_Raise
    Wait	
  Fire:
    TNT1 A 0
	TNT1 A 0 A_JumpIfNoAmmo("Empty")
    TNT1 A 0 A_PlaySound("VexedNemesisASG/Fire", 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("NemesisShellCasing",30,5,25,Random(2,4),Random(3,6),Random(3,6),0)
	TNT1 AAAAAAA 0 A_FireCustomMissile("NemesisASGBallPlayer",frandom(-6,6),0,0,-4,0,frandom(-4,4))
	VNS8 B 1 Bright A_FireCustomMissile("NemesisASGBallPlayer",frandom(-6,6),1,0,-4,0,frandom(-4,4))
    VNS8 C 1 Bright A_Light2
	TNT1 A 0 A_Light0
    VNS8 DE 1
	TNT1 A 0 A_Refire("FireExtreme")
	VNS8 FG 1
	VNS8 HI 2
    Goto Ready+6
  FireExtreme:
    TNT1 A 0
	TNT1 A 0 A_JumpIfNoAmmo("Empty")
    TNT1 A 0 A_PlaySound("VexedNemesisASG/Fire", 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("NemesisShellCasing",30,5,25,Random(2,4),Random(3,6),Random(3,6),0)
	TNT1 AAA 0 A_FireCustomMissile("ExtremeNemesisASGBallPlayer",frandom(-6,6),0,0,-4,0,frandom(-4,4))
	VNS8 B 1 Bright A_FireCustomMissile("ExtremeNemesisASGBallPlayer",frandom(-6,6),1,0,-4,0,frandom(-4,4))
    VNS8 C 1 Bright A_Light2
	TNT1 A 0 A_Light0
    VNS8 DE 1
	TNT1 A 0 A_Refire("FireExtreme")
	VNS8 FG 1
	VNS8 HI 1
    Goto Ready+6
  Empty:
    VNS8 A 10 A_PlaySound("weapons/click")
  AltFire:
  	TNT1 A 0 A_JumpIfInventory("NemesisShotgunDrum",16,2)
    TNT1 A 0 A_JumpIfInventory("NemesisShell",1,2)
	TNT1 A 0
	Goto Ready+6
	VNS8 JKLMN 1
	VNS8 O 2
	NMSR A 2 A_PlaySound("lasgguy/asgout")
  	NMSR B 3
	VNS8 U 40 A_FireCustomMissile("EnragedLegendaryEmptyDrumSpawner", 0, 0, 10, 1) 
	VNS8 TSR 1
	VNS8 Q 2
  Reload:
	TNT1 A 0 A_TakeInventory("NemesisShell",1)
	TNT1 A 0 A_GiveInventory("NemesisShotgunDrum",1)
	TNT1 A 0 A_JumpIfInventory("NemesisShotgunDrum",16,2)
	TNT1 A 0 A_JumpIfInventory("NemesisShell",1,"Reload")
	TNT1 A 0
	Goto Reload2
  Reload2:
	VNS8 P 3
	VNS8 O 6 A_PlaySound("lasgguy/asgin")
	VNS8 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") 
	VNS8 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 A_TakeInventory("HandGrenadeAction",1)
	VNS8 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") 
	VNS8 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 5 A_TakeInventory("MineAction",1)
	Goto Ready+1
  Spawn:
    VXAP A -1
    Stop
	}
}

ACTOR ExtremeNemesisASGBallPlayer : NemesisASGBall
{
  +THRUSPECIES
  +FOILINVUL
  Species "Player"
  DamageType "Legendary"
  Speed 250
  States
  {
  Death:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("NemesisKaboom7ASG")
	TNT1 A 1 A_CustomMissile("ExtremeNemesisASGShotExplosionPlayer",0,0,0,2)
	Stop
	}
}

ACTOR ExtremeNemesisASGShotExplosionPlayer : NemesisRifleShotExplosion
{
Damagetype "PlayerNemesisPlasma"
Species "Player"
+FOILINVUL
States
{
  Spawn:
  Death:
	TNT1 A 0
	TNT1 A 1 A_Explode(90,100)
	Stop
	}
}