ACTOR "Nemesis Assault Shotgun" : "Legendary Assault Shotgun"
{
  Decal " "
  Weapon.AmmoUse 1
  Weapon.AmmoGive 16
  Weapon.AmmoGive2 32
  Weapon.AmmoType "NemesisShotgunDrum"
  Weapon.AmmoType2 "NemesisShell"
  Inventory.PickupSound "LShotgun/Cock"
  Inventory.PickupMessage "You got the Nemesis Assault Shotgun!"
  Obituary "%o was blown apart by %k's Nemesis Assault Shotgun."
  States
	{
  Ready:
    TNT1 A 0 A_PlayWeaponSound("LShotgun/Cock")
	NMSG VWXYZ 1
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
    NMSG A 1 A_WeaponReady
    Goto Ready+6
  Deselect: 
    TNT1 A 0 A_PlaySound("weapons/weapondown")
    NMSG 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("NemesisASG/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))
	NMSG B 1 Bright A_FireCustomMissile("NemesisASGBallPlayer",frandom(-6,6),1,0,-4,0,frandom(-4,4))
    NMSG C 1 Bright A_Light2
	TNT1 A 0 A_Light0
    NMSG DEFG 1
	NMSG HI 2
    Goto Ready+6
  Empty:
    NMSG 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
	NMSG JKLMN 1
	NMSG O 2
	NMSR A 2 A_PlaySound("lasgguy/asgout")
  	NMSR B 3
	NMSG U 40 A_FireCustomMissile("EnragedLegendaryEmptyDrumSpawner", 0, 0, 10, 1) 
	NMSG TSR 1
	NMSG 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:
	NMSG P 3
	NMSG O 6 A_PlaySound("lasgguy/asgin")
	NMSG 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") 
	NMSG 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
	NMSG 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") 
	NMSG 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:
    NSAP A -1
    Stop
	}
}

ACTOR NemesisASGBulletPuff : BulletPuff
{
+NOTIMEFREEZE
+PUFFONACTORS
Damagetype "Legendary"
States
{
Spawn:
Death:
	TNT1 A 0
	TNT1 AAA 0 A_CustomMissile("NemesisKaboom7ASG",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 A 1
	Stop
}
}

ACTOR NemesisASGPuffExplode
{
Projectile
Speed 0
+FORCERADIUSDMG
+FOILINVUL
+NOTIMEFREEZE
+NOCLIP
+PUFFONACTORS
+NODAMAGETHRUST
Damagetype "Legendary"
States
{
Spawn:
Death:
	TNT1 A 0
	TNT1 A 1 A_Explode(20,30)
	Stop
}
}

ACTOR NemesisASGBulletPuffPlayer : NemesisASGBulletPuff
{
States
{
Spawn:
Death:
	TNT1 A 0
	TNT1 AAA 0 A_CustomMissile("NemesisKaboom7ASG",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 A 1
	Stop
}
}

ACTOR NemesisASGPuffExplodePlayer : NemesisASGPuffExplode
{
Damagetype "PlayerNemesisPlasma"
Species "Player"
States
{
Spawn:
Death:
	TNT1 A 0
	TNT1 A 1 A_Explode(50,30)
	Stop
}
}

ACTOR NemesisASGBall : FastProjectile
{
  PROJECTILE
  Height 8
  Radius 4
  Speed 200
  Scale 0.2
  RenderStyle Add
  Alpha 1.0
  Decal "DoomImpScorch"
  Damage 16
  +FORCERADIUSDMG
  +NOTIMEFREEZE
  +THRUSPECIES
  DamageType "Legendary"
  DeathSound "weapons/demontechex"
  States
  {
  Spawn:
	NSHB A 1 Bright
	Loop  
  Death:
	TNT1 A 0 Bright
	TNT1 A 0 A_SpawnItemEx("NemesisKaboom7ASG")
	TNT1 A 1 Bright A_CustomMissile("NemesisASGShotExplosion",0,0,0,2)
	Stop
	}
}

ACTOR NemesisASGShotExplosion
{
Projectile
Speed 0
+FORCERADIUSDMG
+NOTIMEFREEZE
+NODAMAGETHRUST
Damagetype "Legendary"
States
{
Spawn:
Death:
	TNT1 A 0
	TNT1 A 1 A_Explode(20,50)
	Stop
}
}

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

ACTOR NemesisASGBallPlayer : NemesisASGBall
{
  +THRUSPECIES
  +FOILINVUL
  Species "Player"
  DamageType "Legendary"
  States
  {
  Death:
	TNT1 A 0 Bright
	TNT1 A 0 A_SpawnItemEx("NemesisKaboom7ASG")
	TNT1 A 1 Bright A_CustomMissile("NemesisASGShotExplosionPlayer",0,0,0,2)
	Stop
	}
}

ACTOR NemesisTracer : Tracer
{
Speed 100
Scale 0.075
+NOTIMEFREEZE
States
	{
	Spawn:
		NTRC A 10 Bright
		Stop
	}
}

ACTOR NemesisShotgunDrum : Ammo
{
+IGNORESKILL
+NOTIMEFREEZE
Inventory.Amount 0
Inventory.MaxAmount 16
Ammo.BackpackAmount 0
Ammo.BackpackMaxAmount 16
Inventory.Icon "NSAPA0"
}

ACTOR NemesisShell : Ammo
{
Scale 0.3
Inventory.PickupMessage "Nemesis Shells"
Inventory.PickupSound "items/shell"
Inventory.Amount 4
Inventory.MaxAmount 40
Ammo.BackpackAmount 0
Ammo.BackpackMaxAmount 90
Inventory.Icon "NHELA0"
+NOTIMEFREEZE
States
	{
	Spawn:
		NESS A -1
		Stop
	}
}

ACTOR NemesisShellBox : NemesisShell
{
Scale 0.75
Inventory.Amount 10
Inventory.PickupMessage "Nemesis Shell Box"
Inventory.PickupSound "items/shellbox"
Inventory.Icon "NBOXA0"
+NOTIMEFREEZE
States
	{
	Spawn:
		NBOX A -1
		Stop
	}
}

ACTOR NemesisShellCasing : BulletCasing
{
Scale 0.24
Seesound "weapons/casing2"
+NOTIMEFREEZE
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
		NMUC ABCDEFGH 2
		Loop
	Death:
		TNT1 A 0
		TNT1 A 0 A_Jump(128,3)
		NMUC C 100
		NMUC C 5 A_FadeOut(0.1,1)
		Goto Death+3
		NMUC G 100
		NMUC G 5 A_FadeOut(0.1,1)
		Goto Death+5
	}
}