#include "actors/WEAPONS"
#include "actors/KEYS"
#include "actors/CHEX"
#include "actors/HERETIC"
#include "actors/DOOM"
#include "actors/WOLFEN"
#include "actors/HEXEN"
#include "actors/DUKE"
#include "actors/MARATHON"

actor EnemyZorched : inventory { -INVBAR +INVENTORY.UNDROPPABLE inventory.maxamount 1 }
actor CoopModeOn : inventory { -INVBAR +INVENTORY.UNDROPPABLE inventory.maxamount 1 }
actor SPModeOn : inventory { -INVBAR +INVENTORY.UNDROPPABLE inventory.maxamount 1 }
actor ExpandedHud : inventory { -INVBAR +INVENTORY.UNDROPPABLE inventory.maxamount 1 }
actor KillCountAmount : inventory { -INVBAR +INVENTORY.UNDROPPABLE +INVENTORY.HUBPOWER inventory.maxamount 999 }
actor KillCountAmountTrue : inventory { -INVBAR +INVENTORY.UNDROPPABLE +INVENTORY.HUBPOWER inventory.maxamount 9999 }
actor KillCountNotch : inventory { -INVBAR +INVENTORY.UNDROPPABLE inventory.maxamount 9 }

actor KillCount : CustomInventory
{
-INVBAR
+INVENTORY.UNDROPPABLE
+INVENTORY.AUTOACTIVATE
Inventory.maxamount 1000
States
{
//Pickup:
//TNT1 A 15
//stop
Pickup:
TNT1 A 0 A_GiveInventory("KillCountAmountTrue",1)
TNT1 A 0 A_JumpIfInventory("KillCountAmount",999,"GetANotch")
TNT1 A 0 A_GiveInventory("KillCountAmount",1)
TNT1 A 15
stop
GetANotch:
TNT1 A 0 A_JumpIfInventory("KillCountNotch",9,"NothingAtAll")
TNT1 A 0 A_GiveInventory("KillCountNotch",1)
TNT1 A 0 A_TakeInventory("KillCountAmount",9999)
TNT1 A 15
stop
NothingAtAll:
TNT1 A 15
stop
}
}
	
actor LMSArmor : BasicArmorPickup
{
  Armor.SaveAmount 300
  Armor.SavePercent 50
  Armor.MaxFullAbsorb 10
  states
  {
  Spawn:
    ACLO E 1
    Stop
  }
}

actor LMSHealth : Health
{
  Inventory.Amount 300
  Inventory.MaxAmount 300
  States
  {
  Spawn:
    ACLO E 1
    Stop
  }
}

Actor Ammo1Small : CustomInventory replaces Clip// replaces Clip
{
  Inventory.PickupMessage "Picked up 10 rounds of Ammo 1."
  Inventory.PickupSound "ammo/bulletsmall"
  States
  {
  Spawn:
     AMSM A 20
     AMSM A 20 BRIGHT
     loop
  Pickup:
     TNT1 A 0 A_JumpIfInventory("Clip",0,"PickupFail")
	 TNT1 A 0 A_JumpIfInventory("MarathonClass",0,"PickupMarathon")
     TNT1 A 0 A_GiveInventory("Clip",10)
	 stop
  PickupFail:
	 AMSM A 1
	 fail
  PickupMarathon:
	 TNT1 A 0 A_SetBlend("Green",0.3,3)
	 TNT1 A 1 A_GiveInventory("Clip",10)
	 stop
  }
}

Actor Ammo1Big : CustomInventory replaces ClipBox// replaces ClipBox
{
  Inventory.PickupMessage "Picked up 50 rounds of Ammo 1."
  Inventory.PickupSound "ammo/bulletbig"
  States
  {
  Spawn:
     AMMB A 20
     AMMB A 20 BRIGHT
     loop
  Pickup:
     TNT1 A 0 A_JumpIfInventory("Clip",0,"PickupFail")
	 TNT1 A 0 A_JumpIfInventory("MarathonClass",0,"PickupMarathon")
     TNT1 A 0 A_GiveInventory("Clip",50)
	 stop
  PickupFail:
	 AMMB A 1
	 fail
  PickupMarathon:
	 TNT1 A 0 A_SetBlend("Green",0.3,3)
	 TNT1 A 1 A_GiveInventory("Clip",50)
	 stop
  }
}

Actor Ammo2Small : CustomInventory replaces Shell
{
  Inventory.PickupMessage "Picked up 4 rounds of Ammo 2."
  Inventory.PickupSound "ammo/shellsmall"
  States
  {
  Spawn:
     AMSM B 20
     AMSM B 20 BRIGHT
     loop
  Pickup:
	 TNT1 A 0 A_JumpIfInventory("HexenClass",1,"PickupHexen")
	 TNT1 A 0 A_JumpIfInventory("WolfenClass",1,"PickupWolfen")
	 TNT1 A 0 A_JumpIfInventory("MarathonClass",0,"PickupMarathon")
     TNT1 A 0 A_JumpIfInventory("Shell",0,"PickupFail")
     TNT1 A 0 A_GiveInventory("Shell",4)
	 stop
  PickupWolfen:
     TNT1 A 0 A_JumpIfInventory("Clip",0,"PickupFail")
     TNT1 A 0 A_GiveInventory("Clip",10)
	 stop
  PickupHexen:
     TNT1 A 0 A_JumpIfInventory("Clip",0,"PickupFail")
     TNT1 A 0 A_GiveInventory("Clip",4)
	 stop
  PickupMarathon:
     TNT1 A 0 A_JumpIfInventory("Shell",0,"PickupFail")
	 TNT1 A 0 A_SetBlend("Green",0.3,3)
	 TNT1 A 1 A_GiveInventory("Shell",4)
	 stop
  PickupFail:
	 AMSM B 1
	 fail
  }
}

Actor Ammo2Big : CustomInventory replaces ShellBox
{
  Inventory.PickupMessage "Picked up 20 rounds of Ammo 2."
  Inventory.PickupSound "ammo/shellbig"
  States
  {
  Spawn:
     AMMB B 20
     AMMB B 20 BRIGHT
     loop
  Pickup:
	 TNT1 A 0 A_JumpIfInventory("HexenClass",1,"PickupHexen")
	 TNT1 A 0 A_JumpIfInventory("WolfenClass",1,"PickupWolfen")
	 TNT1 A 0 A_JumpIfInventory("MarathonClass",0,"PickupMarathon")
     TNT1 A 0 A_JumpIfInventory("Shell",0,"PickupFail")
     TNT1 A 0 A_GiveInventory("Shell",20)
	 stop
  PickupWolfen:
     TNT1 A 0 A_JumpIfInventory("Clip",0,"PickupFail")
     TNT1 A 0 A_GiveInventory("Clip",50)
	 stop
  PickupHexen:
     TNT1 A 0 A_JumpIfInventory("Clip",0,"PickupFail")
     TNT1 A 0 A_GiveInventory("Clip",20)
	 stop
  PickupMarathon:
     TNT1 A 0 A_JumpIfInventory("Shell",0,"PickupFail")
	 TNT1 A 0 A_SetBlend("Green",0.3,3)
	 TNT1 A 1 A_GiveInventory("Shell",20)
	 stop
  PickupFail:
	 AMMB B 1
	 fail
  }
}

Actor Ammo3Small : CustomInventory replaces RocketAmmo// replaces RocketAmmo
{
  Inventory.PickupMessage "Picked up 2 rounds of Ammo 3."
  Inventory.PickupSound "ammo/rocketsmall"
  States
  {
  Spawn:
     AMSM C 20
     AMSM C 20 BRIGHT
     loop
  Pickup:
	 TNT1 A 0 A_JumpIfInventory("HexenClass",1,"PickupHexen")
	 TNT1 A 0 A_JumpIfInventory("MarathonClass",0,"PickupMarathon")
     TNT1 A 0 A_JumpIfInventory("RocketAmmo",0,"PickupFail")
     TNT1 A 0 A_GiveInventory("RocketAmmo",2)
	 stop
  PickupHexen:
     TNT1 A 0 A_JumpIfInventory("Cell",0,"PickupFail")
     TNT1 A 0 A_GiveInventory("Cell",2)
	 stop
  PickupMarathon:
     TNT1 A 0 A_JumpIfInventory("RocketAmmo",0,"PickupFail")
	 TNT1 A 0 A_SetBlend("Green",0.3,3)
	 TNT1 A 1 A_GiveInventory("RocketAmmo",2)
	 stop
  PickupFail:
	 AMSM C 1
	 fail
  }
}

Actor Ammo3Big : CustomInventory replaces RocketBox// replaces RocketBox
{
  Inventory.PickupMessage "Picked up 6 rounds of Ammo 3."
  Inventory.PickupSound "ammo/rocketbig"
  States
  {
  Spawn:
     AMMB C 20
     AMMB C 20 BRIGHT
     loop
  Pickup:
	 TNT1 A 0 A_JumpIfInventory("HexenClass",1,"PickupHexen")
	 TNT1 A 0 A_JumpIfInventory("MarathonClass",0,"PickupMarathon")
     TNT1 A 0 A_JumpIfInventory("RocketAmmo",0,"PickupFail")
     TNT1 A 0 A_GiveInventory("RocketAmmo",6)
	 stop
  PickupHexen:
     TNT1 A 0 A_JumpIfInventory("Cell",0,"PickupFail")
     TNT1 A 0 A_GiveInventory("Cell",6)
	 stop
  PickupMarathon:
     TNT1 A 0 A_JumpIfInventory("RocketAmmo",0,"PickupFail")
	 TNT1 A 0 A_SetBlend("Green",0.3,3)
	 TNT1 A 1 A_GiveInventory("RocketAmmo",6)
	 stop
  PickupFail:
	 AMMB C 1
	 fail
  }
}

Actor Ammo4Small : CustomInventory replaces Cell// replaces Cell
{
  Inventory.PickupMessage "Picked up 20 rounds of Ammo 4."
  Inventory.PickupSound "ammo/plasmasmall"
  States
  {
  Spawn:
     AMSM D 20
     AMSM D 20 BRIGHT
     loop
  Pickup:
     TNT1 A 0 A_JumpIfInventory("Cell",0,"PickupFail")
	 TNT1 A 0 A_JumpIfInventory("MarathonClass",0,"PickupMarathon")
     TNT1 A 0 A_GiveInventory("Cell",20)
	 stop
  PickupFail:
	 AMSM D 1
	 fail
  PickupMarathon:
	 TNT1 A 0 A_SetBlend("Green",0.3,3)
	 TNT1 A 1 A_GiveInventory("Cell",20)
	 stop
  }
}

Actor Ammo4Big : CustomInventory replaces Cellpack// replaces Cellpack
{
  Inventory.PickupMessage "Picked up 100 rounds of Ammo 4."
  Inventory.PickupSound "ammo/plasmabig"
  States
  {
  Spawn:
     AMMB D 20
     AMMB D 20 BRIGHT
     loop
  Pickup:
     TNT1 A 0 A_JumpIfInventory("Cell",0,"PickupFail")
	 TNT1 A 0 A_JumpIfInventory("MarathonClass",0,"PickupMarathon")
     TNT1 A 0 A_GiveInventory("Cell",100)
	 stop
  PickupFail:
	 AMMB D 1
	 fail
  PickupMarathon:
	 TNT1 A 0 A_SetBlend("Green",0.3,3)
	 TNT1 A 1 A_GiveInventory("Cell",100)
	 stop
  }
}

ACTOR HealPack0 : HealthBonus replaces HealthBonus
{
  RenderStyle Add
  Alpha 0.9
  Scale 0.25
  +Floatbob
  -Inventory.ALWAYSPICKUP
  Inventory.PickupMessage "Picked up 1 Health."
  Health.LowMessage 25, "Picked up 1 Health."
  Inventory.PickupSound "healpack0pickup"
  States
  {
  Spawn:
     Medi A -1 BRIGHT //A_SpawnItemEx("HealPack0Trail", 0, 0, 2.5, 0, 0, 0, 0, 128)
     stop
  }
}

ACTOR HealPack0Trail
{
  Renderstyle Add
  Alpha 0.4
  Scale 0.2
  -Solid
  +Noclip
  +Nogravity
  +Nointeraction
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	 Medi A 2 A_FadeOut(0.125)
	 Loop
  }
}

Actor HealPack1 : StimPack replaces StimPack
{
  RenderStyle Add
  Alpha 0.9
  Scale 0.5
  +Floatbob
  Inventory.PickupMessage "Picked up 10 Health."
  Health.LowMessage 25, "Picked up 10 Health."
  Inventory.PickupSound "healpack1pickup"
  states
  {
  Spawn:
     Med2 A -1 BRIGHT //A_SpawnItemEx("HealPack1Trail", 0, 0, 2.5, 0, 0, 0, 0, 128)
	 stop
   }
}

ACTOR HealPack1Trail
{
  Renderstyle Add
  Alpha 0.4
  Scale 0.45
  -Solid
  +Noclip
  +Nogravity
  +Nointeraction
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	 Med2 A 2 A_FadeOut(0.125)
	 Loop
  }
}

Actor HealPack2 : CustomInventory replaces Medikit
{
  RenderStyle Add
  Alpha 0.9
  Scale 0.75
  +Floatbob
  Inventory.PickupMessage "Picked up 25 Health."
  Inventory.PickupSound "notasingledamnsoundexists"
  states
  {
  Spawn:
     Med3 A -1 BRIGHT //A_SpawnItemEx("HealPack2Trail", 0, 0, 2.5, 0, 0, 0, 0, 128)
	 stop
  Pickup:
     TNT1 A 0 A_JumpIfInventory("HexenClass",1,"PickupHexen")
     TNT1 A 0 A_JumpIfInventory("CorvusClass",1,"PickupHeretic")
	 TNT1 A 0 A_JumpIfInventory("MarathonClass",0,"PickupMarathon")
	 TNT1 A 0 A_JumpIfInventory("DukeClass",1,"PickupDuke")
	 TNT1 A 0 A_JumpIfHealthLower(100,"PickUpSuccess")
  PickupFail:
     Med3 A 1 BRIGHT// A_SpawnItemEx("HealPack2Trail", 0, 0, 2.5, 0, 0, 0, 0, 128)
	 fail
  PickupHeretic:
     TNT1 A 0 A_JumpIfInventory("PortQuartzFlask",0,"PickupFail")
	 TNT1 A 0 A_PlaySound("heretic/itemget")//A_PlaySoundEx("heretic/itemget","item",0,0)
	 TNT1 A 1 A_GiveInventory("PortQuartzFlask")
	 stop
  PickUpSuccess:
	 TNT1 A 0 A_PlaySound("healpack2pickup")//A_PlaySoundEx("healpack2pickup","item",0,0)
	 TNT1 A 1 A_GiveInventory("Medikit")
	 stop
  PickupHexen:
     TNT1 A 0 A_JumpIfInventory("PortQuartzFlask2",0,"PickupFail")
	 TNT1 A 0 A_PlaySound("hexen/artiget")
	 TNT1 A 1 A_GiveInventory("PortQuartzFlask2")
	 stop
  PickupDuke:
     TNT1 A 0 A_JumpIfHealthLower(25,"PickupDuke2")
     TNT1 A 0 A_JumpIfHealthLower(100,"PickupSuccess")
	 goto PickupFail
  PickupDuke2:
	 TNT1 A 0 A_JumpIfInventory("DukeTauntCooldown",1,"PickupSuccess")
     TNT1 A 0 A_JumpIfInventory("DukeBallgag",1,"PickupSuccess")
     TNT1 A 0 A_PlaySoundEx("duke/criticalheal","soundslot7",0,0)
	 TNT1 A 0 A_GiveInventory("DukeTauntCooldown",5)
	 TNT1 A 0 ACS_ExecuteAlways(205)
	 goto PickupSuccess
  PickupMarathon:
     TNT1 A 0 A_JumpIfHealthLower(100,"PickupMarathonSuccess")
     Med3 A 1 BRIGHT
	 fail
  PickUpMarathonSuccess:
	 TNT1 A 0 A_SetBlend("Green",0.3,3)
	 TNT1 A 0 A_PlaySound("healpack2pickup")//A_PlaySoundEx("healpack2pickup","item",0,0)
	 TNT1 A 1 A_GiveInventory("Medikit")
	 stop
   }
}

ACTOR HealPack2Trail
{
  Renderstyle Add
  Alpha 0.4
  Scale 0.7
  -Solid
  +Noclip
  +Nogravity
  +Nointeraction
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	 Med3 A 2 A_FadeOut(0.125)
	 Loop
  }
}

actor MegaPack : Megasphere replaces Megasphere
{
	-NOGRAVITY
   +INVENTORY.PICKUPFLASH
   +INVENTORY.BIGPOWERUP
   +INVENTORY.FANCYPICKUPSOUND
   Scale 0.50
   inventory.pickupmessage "Picked up 200 Health and 200 Armor!"
   inventory.pickupsound "megapackpickup"
   States
   {
   Spawn:
     FELD A 4 bright
	 FELD B 4 bright
	 FELD C 4 bright
	 FELD D 4 bright
	 FELD C 4 bright
	 FELD B 4 bright
	 loop
	}
}

Actor ArmorScrap : ArmorBonus replaces ArmorBonus
{
  Scale 0.5
  RenderStyle Add
  Alpha 0.9
  +Floatbob
  -Inventory.ALWAYSPICKUP
  Inventory.Pickupmessage "Picked up 1 Armor."
  Inventory.PickupSound "armor0get"
  Armor.Saveamount 1
  Armor.MaxSaveAmount 200
  States
  {
  Spawn:
    BON2 A -1 BRIGHT //A_SpawnItemEx("ArmorScrapTrail", 0, 0, 2.5, 0, 0, 0, 0, 128)
    stop
  }
}

ACTOR ArmorScrapTrail
{
  Renderstyle Add
  Alpha 0.4
  Scale 0.45
  -Solid
  +Noclip
  +Nogravity
  +Nointeraction
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	 BON2 A 2 A_FadeOut(0.125)
	 Loop
  }
}

Actor ArmorPack1 : GreenArmor replaces GreenArmor
{
  Scale 0.75
  RenderStyle Add
  Alpha 0.9
  +Floatbob
  Translation "96:111=112:123", "5:8=124:127", "0:0=127:127"
  Inventory.PickupMessage "Picked up 100 Armor."
  Inventory.PickupSound "armor1get"
  States
  {
  Spawn:
	RMR1 A 1 BRIGHT //A_SpawnItemEx("ArmorPack1Trail", 0, 0, 2.5, 0, 0, 0, 0, 128)
	loop
	}
}

ACTOR ArmorPack1Trail
{
  Renderstyle Add
  Alpha 0.5
  Scale 0.7
  -Solid
  +Noclip
  +Nogravity
  +Nointeraction
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	 RMR1 A 2 A_FadeOut(0.125)
	 Loop
  }
}

Actor ArmorPack2 : BlueArmor replaces BlueArmor
{
  RenderStyle Add
  Alpha 0.975
  +Floatbob
  Translation "96:111=200:207", "5:8=241:244", "0:0=245:245"
  Inventory.PickupMessage "Picked up 200 Armor."
  Inventory.PickupSound "armor2get"
  States
  {
  Spawn:
	RMR2 A -1 BRIGHT //A_SpawnItemEx("ArmorPack2Trail", 0, 0, 2.5, 0, 0, 0, 0, 128)
	stop
	}
}

ACTOR ArmorPack2Trail
{
  Renderstyle Add
  Alpha 0.5
  Scale 0.95
  -Solid
  +Noclip
  +Nogravity
  +Nointeraction
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	 RMR2 A 2 A_FadeOut(0.125)
	 Loop
  }
}

Actor PartialInvisibility : CustomInventory replaces BlurSphere
{
    RenderStyle Add
    Alpha 0.75
    +Floatbob
	+VISIBILITYPULSE
	+INVENTORY.PICKUPFLASH
	+INVENTORY.BIGPOWERUP
	+COUNTITEM
	Inventory.PickupAnnouncerEntry "partialinvisibility"
	Inventory.PickupMessage "Picked up Partial Invisibility."
	Inventory.PickupSound "nosoundforyoubitch"
	states
	{
	Spawn:
		NVSI A -1 BRIGHT //A_SpawnItemEx("InvisTrail", 0, 0, 2.5, 0, 0, 0, 0, 128)
		stop
    Pickup:
       TNT1 A 1 A_JumpIfInventory("HexenClass",1,"PickupHexen")
       TNT1 A 1 A_JumpIfInventory("CorvusClass",1,"PickupHeretic")
	   TNT1 A 0 A_PlaySound("invisibilityget")
	   TNT1 A 1 A_GiveInventory("BlurSphere")
	   stop
    PickupHeretic:
	   TNT1 A 0 A_JumpIfInventory("PortGhostly",0,"PickupHereticFail")
	   TNT1 A 0 A_PlaySound("heretic/itemget")
	   TNT1 A 1 A_GiveInventory("PortGhostly")
	   stop
	PickupHereticFail:
	   NVSI A 1 BRIGHT
	   fail
    PickupHexen:
	   TNT1 A 0 A_PlaySound("invisibilityget")
	   TNT1 A 1 A_GiveInventory("PowerGhost")
	   stop
	}
}

ACTOR InvisTrail
{
  Renderstyle Add
  Alpha 0.35
  Scale 0.95
  -Solid
  +Noclip
  +Nogravity
  +Nointeraction
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	 NVSI A 2 A_FadeOut(0.125)
	 Loop
  }
}

Actor InvulnPowerup : CustomInventory replaces InvulnerabilitySphere
{
    RenderStyle Add
    Alpha 0.95
    +Floatbob
	+INVENTORY.BIGPOWERUP
	+INVENTORY.PICKUPFLASH
	+COUNTITEM
	Inventory.PickupAnnouncerEntry "invulnerability"
	Inventory.PickupMessage "Picked up Invulnerability."
	Inventory.PickupSound "nosoundforyoubitch"
	states
	{
	Spawn:
		NVLN A -1 BRIGHT //A_SpawnItemEx("InvulnTrail", 0, 0, 2.5, 0, 0, 0, 0, 128)
		stop
    Pickup:
       TNT1 A 0 A_JumpIfInventory("HexenClass",1,"PickupHexen")
       TNT1 A 1 A_JumpIfInventory("CorvusClass",1,"PickupHeretic")
	   TNT1 A 0 A_PlaySound("invulnget")
	   TNT1 A 1 A_GiveInventory("InvulnerabilitySphere")
	   stop
    PickupHeretic:
	   TNT1 A 0 A_JumpIfInventory("PortRingInvuln",0,"PickupFail")
	   TNT1 A 0 A_PlaySound("heretic/itemget")
	   TNT1 A 1 A_GiveInventory("PortRingInvuln")
	   stop
    PickupHexen:
       TNT1 A 0 A_JumpIfInventory("PortIconDefender",0,"PickupFail")
	   TNT1 A 0 A_PlaySound("hexen/artiget")
	   TNT1 A 1 A_GiveInventory("PortIconDefender")
	   stop
	PickupFail:
	   NVLN A 1 BRIGHT
	   fail
	}
}

ACTOR InvulnTrail
{
  Renderstyle Add
  Alpha 0.4
  Scale 0.95
  -Solid
  +Noclip
  +Nogravity
  +Nointeraction
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	 NVLN A 2 A_FadeOut(0.125)
	 Loop
  }
}

Actor SuperHealth : CustomInventory replaces Soulsphere
{
    RenderStyle Add
    Alpha 0.95
    +Floatbob
	+INVENTORY.BIGPOWERUP
	+INVENTORY.PICKUPFLASH
	+COUNTITEM
	Inventory.PickupAnnouncerEntry "soulsphere"
	Inventory.PickupMessage "Picked up 100 Health."
	Inventory.PickupSound "nosoundforyoubitch"
	states
	{
	Spawn:
		SOUL A -1 BRIGHT //A_SpawnItemEx("SuperHealthTrail", 0, 0, 2.5, 0, 0, 0, 0, 128)
		stop
    Pickup:
       TNT1 A 0 A_JumpIfInventory("DukeClass",1,"PickupDuke")
       TNT1 A 0 A_JumpIfInventory("HexenClass",1,"PickupHexen")
       TNT1 A 1 A_JumpIfInventory("CorvusClass",1,"PickupHeretic")
       TNT1 A 1 A_JumpIfInventory("MarathonClass",1,"PickupMarathon")
	PickupSuccess:
	   TNT1 A 0 A_PlaySound("healpack3pickup")
	   TNT1 A 1 A_GiveInventory("SoulSphere")
	   stop
    PickupHeretic:
	   TNT1 A 0 A_JumpIfInventory("PortSuperHealth",0,"PickupFail")
	   TNT1 A 0 A_PlaySound("heretic/itemget")
	   TNT1 A 1 A_GiveInventory("PortSuperHealth")
	   stop
    PickupHexen:
	   TNT1 A 0 A_JumpIfInventory("PortSuperHealth2",0,"PickupFail")
	   TNT1 A 0 A_PlaySound("hexen/artiget")
	   TNT1 A 1 A_GiveInventory("PortSuperHealth2")
	   stop
	PickupDuke:
	   TNT1 A 0 A_JumpIfHealthLower(25,"PickupDuke2")
	PickupDukeSuccess:
	   TNT1 A 0 A_PlaySound("duke/atomhealth")
	   TNT1 A 1 A_GiveInventory("HealthBonus",50)
	   stop
    PickupDuke2:
	   TNT1 A 0 A_JumpIfInventory("DukeTauntCooldown",1,"PickupDukeSuccess")
       TNT1 A 0 A_JumpIfInventory("DukeBallgag",1,"PickupDukeSuccess")
       TNT1 A 0 A_PlaySoundEx("duke/criticalheal","soundslot7",0,0)
	   TNT1 A 0 A_GiveInventory("DukeTauntCooldown",5)
	   TNT1 A 0 ACS_ExecuteAlways(205)
	   goto PickupDukeSuccess
	PickupMarathon:
		TNT1 A 0 A_SetBlend("F0F8FF",0.5,7) // Light Alice Blue
	   TNT1 A 0 A_PlaySound("marathon/bigitemget")
	   TNT1 A 1 A_GiveInventory("SoulSphere")
	   stop
	PickupFail:
	   SOUL A 1 BRIGHT
	   fail
	}
}

ACTOR SuperHealthTrail
{
  Renderstyle Add
  Alpha 0.5
  Scale 0.95
  -Solid
  +Noclip
  +Nogravity
  +Nointeraction
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	 SOUL A 2 A_FadeOut(0.125)
	 Loop
  }
}

actor BioSuit : PowerupGiver replaces RadSuit
{
   RenderStyle Add
   Alpha 0.95
  +CountItem
  +FLOATBOB
  +INVENTORY.PICKUPFLASH
  +Inventory.AlwaysPickup
  +Inventory.AutoActivate
  Inventory.MaxAmount 1
  Powerup.Type "IronFeet"
  Powerup.Duration -60
  Powerup.Color "Green", 0.125
  Inventory.PickupMessage "Picked up Environmental Protection."
  Inventory.PickupSound "antisterileget"
  States
  {
  Spawn:
    RDST A -1 BRIGHT //A_SpawnItemEx("BioTrail", 0, 0, 2.5, 0, 0, 0, 0, 128)
    stop
  }
}

ACTOR BioTrail
{
  Renderstyle Add
  Alpha 0.4
  Scale 0.95
  -Solid
  +Noclip
  +Nogravity
  +Nointeraction
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	 RDST A 2 A_FadeOut(0.125)
	 Loop
  }
}

Actor Visor : CustomInventory replaces Infrared// replaces Infrared
{
  RenderStyle Add
  Alpha 0.85
  +Floatbob
  +INVENTORY.PICKUPFLASH
  Inventory.PickupMessage "Picked up Light Amplification."
  Inventory.PickupSound "nosoundforyoubitch"
  States
  {
    Spawn:
	   VISR A 20 Bright //A_SpawnItemEx("VisorTrail", 0, 0, 2.5, 0, 0, 0, 0, 128)
       VISR A 20
	   loop
    Pickup:
       TNT1 A 0 A_JumpIfInventory("DukeClass",1,"PickupDuke")
       TNT1 A 0 A_JumpIfInventory("HexenClass",1,"PickupHexen")
       TNT1 A 1 A_JumpIfInventory("CorvusClass",1,"PickupHeretic")
	   TNT1 A 0 A_PlaySound("lettherebelight")
	   TNT1 A 1 A_GiveInventory("Infrared")
	   stop
    PickupHeretic:
	   TNT1 A 0 A_JumpIfInventory("PortTorch",0,"PickupFail")
	   TNT1 A 0 A_PlaySound("heretic/itemget")
	   TNT1 A 1 A_GiveInventory("PortTorch")
	   stop
    PickupHexen:
	   TNT1 A 0 A_JumpIfInventory("PortTorch2",0,"PickupFail")
	   TNT1 A 0 A_PlaySound("hexen/artiget")
	   TNT1 A 1 A_GiveInventory("PortTorch2")
	   stop
    PickupDuke:
	   TNT1 A 0 A_JumpIfInventory("DukeVisionFuel",0,"PickupFail")
	   TNT1 A 0 A_PlaySound("Duke/itemget")
	   TNT1 A 1 A_GiveInventory("DukePortNiVi")
	   TNT1 A 1 A_GiveInventory("DukeVisionFuel",100)
	   stop
	PickupFail:
	   VISR A 1 BRIGHT
	   fail
  }
}

ACTOR VisorTrail
{
  Renderstyle Add
  Alpha 0.4
  Scale 0.95
  -Solid
  +Noclip
  +Nogravity
  +Nointeraction
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	 VISR A 2 A_FadeOut(0.125)
	 Loop
  }
}

Actor AmmoBackpack : CustomInventory replaces Backpack
{
  Inventory.PickupMessage "Picked up Ammo Expansion Pack."
  Inventory.PickupSound "nosoundforyoubitch"
  +COUNTITEM
  -INVENTORY.ALWAYSPICKUP
  States
  {
  Spawn:
     AMPK A 20
     AMPK A 20 BRIGHT
     loop
  Pickup:
	 TNT1 A 0 A_JumpIfInventory("HexenClass",1,"PickupHexen")
	 TNT1 A 0 A_JumpIfInventory("WolfenClass",1,"PickupWolfen")
	 TNT1 A 0 A_PlaySound("ammo/backpack")
	 TNT1 A 1 A_GiveInventory("Backpack",1)
	 stop
  PickupWolfen:
	 TNT1 A 0 A_PlaySound("ammo/backpack")
     TNT1 A 0 A_GiveInventory("Backpack",1)
	 TNT1 A 0 A_TakeInventory("Shell",8)
	 TNT1 A 1 A_GiveInventory("Clip",4)
	 stop
  PickupHexen:
	 TNT1 A 0 A_JumpIfInventory("PortKraterOfMight",0,"PickupFail")
	 TNT1 A 0 A_PlaySound("hexen/artiget")
	 TNT1 A 1 A_GiveInventory("PortKraterOfMight",1)
	 stop
  PickupFail:
	 AMPK A 1 BRIGHT
	 fail
  }
}

actor GotWeapon0 : inventory { -INVBAR +UNDROPPABLE inventory.maxamount 1 }
actor GotWeapon2 : inventory { -INVBAR +UNDROPPABLE inventory.maxamount 1 }
actor GotWeapon3 : inventory { -INVBAR +UNDROPPABLE inventory.maxamount 1 }
actor GotWeapon4 : inventory { -INVBAR +UNDROPPABLE inventory.maxamount 1 }
actor GotWeapon5 : inventory { -INVBAR +UNDROPPABLE inventory.maxamount 1 }
actor GotWeapon6 : inventory { -INVBAR +UNDROPPABLE inventory.maxamount 1 }
actor GotWeapon7 : inventory { -INVBAR +UNDROPPABLE inventory.maxamount 1 }

actor Weapon0Spawner : CustomInventory replaces Chainsaw
{
	-COUNTITEM
    -RANDOMIZE
	Inventory.PickupMessage "Picked up Weapon 1."
	Inventory.PickupSound "nosoundforyoubitch"
	states
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
		
	CheckDoomguy:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,1,0,0)==1,"SpawnDoomguy")
		Goto CheckChexter
	  SpawnDoomguy:
		TNT1 A 1 A_SpawnItem("DoomguyWeapon0Spawner")
		Stop

	CheckChexter:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,2,0,0)==1,"SpawnChexter")
		Goto CheckCorvus
	  SpawnChexter:
		TNT1 A 1 A_SpawnItem("ChexterWeapon0Spawner")
		Stop

	CheckCorvus:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,3,0,0)==1,"SpawnCorvus")
		Goto CheckWolfen
	  SpawnCorvus:
		TNT1 A 1 A_SpawnItem("CorvusWeapon0Spawner")
		Stop

	CheckWolfen:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,4,0,0)==1,"SpawnWolfen")
		Goto CheckHexen
	  SpawnWolfen:
		TNT1 A 1 A_SpawnItem("WolfenWeapon0Spawner")
		Stop

	CheckHexen:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,5,0,0)==1,"SpawnHexen")
		Goto CheckDuke
	  SpawnHexen:
		TNT1 A 1 A_SpawnItem("PariasWeapon0Spawner")
		Stop

	CheckDuke:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,6,0,0)==1,"SpawnDuke")
		Goto SpawnOnline
	  SpawnDuke:
		TNT1 A 1 A_SpawnItem("DukeWeapon0Spawner")
		Stop

	SpawnOnline:
	   WEPG A -1 BRIGHT
	   loop
    Pickup:
	   TNT1 A 0 A_JumpIfInventory("GotWeapon0",1,"PickupFail")
       TNT1 A 0 A_JumpIfInventory("DoomguyClass",1,"PickupDoom")
       TNT1 A 0 A_JumpIfInventory("ChexClass",1,"PickupChex")
       TNT1 A 0 A_JumpIfInventory("CorvusClass",1,"PickupHeretic")
       TNT1 A 0 A_JumpIfInventory("WolfenClass",1,"PickupWolfen")
	   TNT1 A 0 A_JumpIfInventory("HexenClass",1,"PickupHexen")
	   TNT1 A 0 A_JumpIfInventory("DukeClass",1,"PickupDuke")
	   WEPG A 1
	   fail
    PickupHeretic:
	   TNT1 A 0 A_PlaySound("heretic/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,21)//A_Print("You got the Gauntlets of the Necromancer!")
	   TNT1 A 0 A_GiveInventory("GotWeapon0",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG A 1 A_GiveInventory("Gauntlets of the Necromancer")
	   TNT1 A 0 A_TakeInventory("Gauntlets",1)
	   TNT1 A 0 A_TakeInventory("GauntletsPowered",1)
	   fail
	PickupChex:
	   TNT1 A 0 A_PlaySound("chex/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,31)//A_Print("You got the Super Bootspork! Find some milk!")
	   TNT1 A 0 A_GiveInventory("GotWeapon0",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG A 1 A_GiveInventory("Super Bootspork")
	   fail
	PickupDoom:
	   TNT1 A 0 A_PlaySound("doomguy/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,11)//A_Print("You got the Chainsaw! Find some meat!")
	   TNT1 A 0 A_GiveInventory("GotWeapon0",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG A 1 A_GiveInventory(" Chainsaw ")
	   fail
	PickupWolfen:
	   TNT1 A 0 A_PlaySound("wolfen/knifeget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,41)//A_Print("That's not a knife. THIS is a knife!")
	   TNT1 A 0 A_GiveInventory("GotWeapon0",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG A 1 A_SpawnItem("WeaponGetYaaaay2")//A_GiveInventory("Knife")
	   fail
	PickupHexen:
	   TNT1 A 0 A_PlaySound("hexen/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,51)//A_Print("You got the Flechette!")
	   TNT1 A 0 A_GiveInventory("GotWeapon0",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay2")
	   WEPG A 1 A_GiveInventory("PortFlechette")
	   fail
	PickupDuke:
	   TNT1 A 0 A_JumpIfInventory("DukeTauntCooldown",1,"PickupDuke2")
	   TNT1 A 0 A_JumpIfInventory("DukeBallgag",1,"PickupDuke2")
	   TNT1 AA 0
	   TNT1 A 0 A_PlaySoundEx("duke/weapontaunt","soundslot7",0,0)
	   TNT1 A 0 A_GiveInventory("DukeTauntCooldown",5)
	   TNT1 A 0 ACS_ExecuteAlways(205)
	PickupDuke2:
	   TNT1 A 0 ACS_ExecuteAlways(212,0,61)//A_Print("You got the Pipebombs!")
		TNT1 A 0 A_PlaySound("duke/itemget")
	   TNT1 A 0 A_GiveInventory("GotWeapon0",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG A 1 A_GiveInventory("Pipebombs")
	   fail
	PickupFail:
	   WEPG A 1
	   fail
	}
}

actor Weapon2Spawner : CustomInventory replaces Shotgun
{
	-COUNTITEM
	Inventory.PickupMessage "Picked up Weapon 2."
	Inventory.PickupSound "nosoundforyoubitch"
	states
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
		
	CheckDoomguy:
		TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(206,1,0,0)==1,"SpawnDoomguy")
		Goto CheckChexter
	  SpawnDoomguy:
		TNT1 A 1 A_SpawnItem("DoomguyWeapon2Spawner")
		Stop

	CheckChexter:
		TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(206,2,0,0)==1,"SpawnChexter")
		Goto CheckCorvus
	  SpawnChexter:
		TNT1 A 1 A_SpawnItem("ChexterWeapon2Spawner")
		Stop

	CheckCorvus:
		TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(206,3,0,0)==1,"SpawnCorvus")
		Goto CheckWolfen
	  SpawnCorvus:
		TNT1 A 1 A_SpawnItem("CorvusWeapon2Spawner")
		Stop

	CheckWolfen:
		TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(206,4,0,0)==1,"SpawnWolfen")
		Goto CheckHexen
	  SpawnWolfen:
		TNT1 A 1 A_SpawnItem("WolfenWeapon2Spawner")
		Stop

	CheckHexen:
		TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(206,5,0,0)==1,"SpawnHexen")
		Goto CheckDuke
	  SpawnHexen:
		TNT1 A 1 A_SpawnItem("PariasWeapon2Spawner")
		Stop

	CheckDuke:
		TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(206,6,0,0)==1,"SpawnDuke")
		Goto SpawnOnline
	  SpawnDuke:
		TNT1 A 1 A_SpawnItem("DukeWeapon2Spawner")
		Stop

	SpawnOnline:
	   WEPG B -1 BRIGHT
	   loop
    Pickup:
	   TNT1 A 0 A_JumpIfInventory("GotWeapon2",1,"PickupFail")
       TNT1 A 0 A_JumpIfInventory("DoomguyClass",1,"PickupDoom")
       TNT1 A 0 A_JumpIfInventory("ChexClass",1,"PickupChex")
       TNT1 A 0 A_JumpIfInventory("CorvusClass",1,"PickupHeretic")
       TNT1 A 0 A_JumpIfInventory("WolfenClass",1,"PickupWolfen")
	   TNT1 A 0 A_JumpIfInventory("HexenClass",1,"PickupHexen")
	   TNT1 A 0 A_JumpIfInventory("DukeClass",1,"PickupDuke")
	   WEPG B 1
	   fail
    PickupHeretic:
	   TNT1 A 0 A_PlaySound("heretic/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,22)//A_Print("You got the Firemace!")
	   TNT1 A 0 A_GiveInventory("GotWeapon2",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG B 1 A_GiveInventory(" Firemace ")
	   TNT1 A 0 A_TakeInventory("Mace",1)
	   TNT1 A 0 A_TakeInventory("MacePowered",1)
	   TNT1 A 0 A_TakeInventory("MaceAmmo",300)
	   fail
	PickupChex:
	   TNT1 A 0 A_PlaySound("chex/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,32)//A_Print("You got the Dual Mini-Zorchers!")
	   TNT1 A 0 A_GiveInventory("GotWeapon2",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG B 1 A_GiveInventory("Large Zorcher")
	   fail
	PickupDoom:
	   TNT1 A 0 A_PlaySound("doomguy/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,12)//A_Print("You got the Shotgun!")
	   TNT1 A 0 A_GiveInventory("GotWeapon2",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG B 1 A_GiveInventory(" Shotgun ")
	   fail
	PickupWolfen:
	   TNT1 A 0 A_PlaySound("wolfen/mgunget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,42)//A_Print("You got the Machine Gun!")
	   TNT1 A 0 A_GiveInventory("GotWeapon2",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG B 1 A_GiveInventory("Machine Gun")
	   fail
	PickupHexen:
	   TNT1 A 0 A_PlaySound("hexen/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,52)//A_Print("You got the Frost Shards!")
	   TNT1 A 0 A_GiveInventory("GotWeapon2",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG B 1 A_GiveInventory("Frost Shards")
	   fail
	PickupDuke:
	   TNT1 A 0 A_JumpIfInventory("DukeTauntCooldown",1,"PickupDuke2")
	   TNT1 A 0 A_JumpIfInventory("DukeBallgag",1,"PickupDuke2")
	   TNT1 AA 0
	   TNT1 A 0 A_PlaySoundEx("duke/weapontaunt","soundslot7",0,0)
	   TNT1 A 0 A_GiveInventory("DukeTauntCooldown",5)
	   TNT1 A 0 ACS_ExecuteAlways(205)
	PickupDuke2:
	   TNT1 A 0 ACS_ExecuteAlways(212,0,12)//A_Print("You got the Shotgun!")
		TNT1 A 0 A_PlaySound("duke/mosspump2")
	   TNT1 A 0 A_GiveInventory("GotWeapon2",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG B 1 A_GiveInventory("  Shotgun  ")
	   fail
	PickupFail:
	   WEPG B 1
	   fail
	}
}

actor Weapon3Spawner : CustomInventory replaces SuperShotgun
{
	-COUNTITEM
	Inventory.PickupMessage "Picked up Weapon 3."
	Inventory.PickupSound "nosoundforyoubitch"
	states
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
		
	CheckDoomguy:
		TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(206,1,0,0)==1,"SpawnDoomguy")
		Goto CheckChexter
	  SpawnDoomguy:
		TNT1 A 1 A_SpawnItem("DoomguyWeapon3Spawner")
		Stop

	CheckChexter:
		TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(206,2,0,0)==1,"SpawnChexter")
		Goto CheckCorvus
	  SpawnChexter:
		TNT1 A 1 A_SpawnItem("ChexterWeapon3Spawner")
		Stop

	CheckCorvus:
		TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(206,3,0,0)==1,"SpawnCorvus")
		Goto CheckWolfen
	  SpawnCorvus:
		TNT1 A 1 A_SpawnItem("CorvusWeapon3Spawner")
		Stop

	CheckWolfen:
		TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(206,4,0,0)==1,"SpawnWolfen")
		Goto CheckHexen
	  SpawnWolfen:
		TNT1 A 1 A_SpawnItem("WolfenWeapon2Spawner")
		Stop

	CheckHexen:
		TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(206,5,0,0)==1,"SpawnHexen")
		Goto CheckDuke
	  SpawnHexen:
		TNT1 A 1 A_SpawnItem("PariasWeapon3Spawner")
		Stop

	CheckDuke:
		TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(206,6,0,0)==1,"SpawnDuke")
		Goto SpawnOnline
	  SpawnDuke:
		TNT1 A 1 A_SpawnItem("DukeWeapon3Spawner")
		Stop

	SpawnOnline:
	   WEPG C -1 BRIGHT
	   loop
    Pickup:
	   TNT1 A 0 A_JumpIfInventory("GotWeapon3",1,"PickupFail")
       TNT1 A 0 A_JumpIfInventory("DoomguyClass",1,"PickupDoom")
       TNT1 A 0 A_JumpIfInventory("ChexClass",1,"PickupChex")
       TNT1 A 0 A_JumpIfInventory("CorvusClass",1,"PickupHeretic")
       TNT1 A 0 A_JumpIfInventory("WolfenClass",1,"PickupWolfen")
	   TNT1 A 0 A_JumpIfInventory("HexenClass",1,"PickupHexen")
	   TNT1 A 0 A_JumpIfInventory("DukeClass",1,"PickupDuke")
	   WEPG C 1
	   fail
    PickupHeretic:
	   TNT1 A 0 A_PlaySound("heretic/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,23)//A_Print("You got the Ethereal Crossbow!")
	   TNT1 A 0 A_GiveInventory("GotWeapon3",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG C 1 A_GiveInventory("Ethereal Crossbow")
	   fail
	PickupChex:
	   TNT1 A 0 A_PlaySound("chex/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,33)//A_Print("You got the Large Zorcher!")
	   TNT1 A 0 A_GiveInventory("GotWeapon3",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG C 1 A_GiveInventory("Super Large Zorcher")
	   fail
	PickupDoom:
	   TNT1 A 0 A_PlaySound("doomguy/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,13)//A_Print("You got the Super Shotgun!")
	   TNT1 A 0 A_GiveInventory("GotWeapon3",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG C 1 A_GiveInventory("Super Shotgun")
	   fail
	PickupWolfen:
	   TNT1 A 0 A_JumpIfInventory("GotWeapon2",1,"PickupFail")
	   TNT1 A 0 A_PlaySound("wolfen/mgunget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,42)//A_Print("You got the Machine Gun!")
	   TNT1 A 0 A_GiveInventory("GotWeapon2",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG C 1 A_GiveInventory("Machine Gun")
	   fail
	PickupHexen:
	   TNT1 A 0 A_PlaySound("hexen/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,53)//A_Print("You got Timon's Axe!")
	   TNT1 A 0 A_GiveInventory("GotWeapon3",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG C 1 A_GiveInventory("Timon's Axe")
	   fail
	PickupDuke:
		TNT1 A 0 A_JumpIfInventory("DukeTauntCooldown",1,"PickupDuke2")
		TNT1 A 0 A_JumpIfInventory("DukeBallgag",1,"PickupDuke2")
		TNT1 AA 0
		TNT1 A 0 A_PlaySoundEx("duke/weapontaunt","soundslot7",0,0)
		TNT1 A 0 A_GiveInventory("DukeTauntCooldown",5)
		TNT1 A 0 ACS_ExecuteAlways(205)
	PickupDuke2:
		TNT1 A 0 ACS_ExecuteAlways(212,0,63)//A_Print("You got the Explosive Shotgun!")
		TNT1 A 0 A_PlaySound("duke/xshotgunpump")
		TNT1 A 0 A_GiveInventory("GotWeapon3",1)
		TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	    TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
		WEPG C 1 A_GiveInventory("Explosive Shotgun")
		fail
	PickupFail:
	   WEPG C 1
	   fail
	}
}

Actor WeaponGetYaaaay : Ammo
{
  inventory.amount 1
  inventory.maxamount 999
  inventory.icon "ACLOE0"
  ammo.backpackamount 0
  ammo.backpackmaxamount 999
  Inventory.PickupMessage ""
  Inventory.PickupSound ""
  states
  {
  Spawn:
    PUF1 A -1
    stop
  }
}

Actor WeaponGetYaaaay2 : Weapon
{
  Weapon.SelectionOrder 99999999999999999999999999999999
  Weapon.AmmoUse 0
  Weapon.AmmoType "Clip"
  Inventory.PickupMessage ""
  Inventory.PickupSound ""
  +WEAPON.NO_AUTO_SWITCH
  states
  {
  Spawn:
    PUF1 A -1
    stop
  Select:
    PUF1 A 1 A_Raise
	loop
  Deselect:
    PUF1 A 1 A_Lower
	loop
  Ready:
    PUF1 A 1 A_WeaponReady
	loop
  Fire:
    PUF1 A 1
	goto Ready
  }
}

actor Weapon3Spawner2 : Weapon3Spawner replaces Allmap { }

actor Weapon4Spawner : CustomInventory replaces Chaingun
{
	-COUNTITEM
	Inventory.PickupMessage "Picked up Weapon 4."
	Inventory.PickupSound "nosoundforyoubitch"
	states
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
		
	CheckDoomguy:
		TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(206,1,0,0)==1,"SpawnDoomguy")
		Goto CheckChexter
	  SpawnDoomguy:
		TNT1 A 1 A_SpawnItem("DoomguyWeapon4Spawner")
		Stop

	CheckChexter:
		TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(206,2,0,0)==1,"SpawnChexter")
		Goto CheckCorvus
	  SpawnChexter:
		TNT1 A 1 A_SpawnItem("ChexterWeapon4Spawner")
		Stop

	CheckCorvus:
		TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(206,3,0,0)==1,"SpawnCorvus")
		Goto CheckWolfen
	  SpawnCorvus:
		TNT1 A 1 A_SpawnItem("CorvusWeapon4Spawner")
		Stop

	CheckWolfen:
		TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(206,4,0,0)==1,"SpawnWolfen")
		Goto CheckHexen
	  SpawnWolfen:
		TNT1 A 1 A_SpawnItem("WolfenWeapon4Spawner")
		Stop

	CheckHexen:
		TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(206,5,0,0)==1,"SpawnHexen")
		Goto CheckDuke
	  SpawnHexen:
		TNT1 A 1 A_SpawnItem("PariasWeapon4Spawner")
		Stop

	CheckDuke:
		TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(206,6,0,0)==1,"SpawnDuke")
		Goto SpawnOnline
	  SpawnDuke:
		TNT1 A 1 A_SpawnItem("DukeWeapon4Spawner")
		Stop

	SpawnOnline:
	   WEPG D -1 BRIGHT
	   loop
    Pickup:
	   TNT1 A 0 A_JumpIfInventory("GotWeapon4",1,"PickupFail")
       TNT1 A 0 A_JumpIfInventory("DoomguyClass",1,"PickupDoom")
       TNT1 A 0 A_JumpIfInventory("ChexClass",1,"PickupChex")
       TNT1 A 0 A_JumpIfInventory("CorvusClass",1,"PickupHeretic")
       TNT1 A 0 A_JumpIfInventory("WolfenClass",1,"PickupWolfen")
	   TNT1 A 0 A_JumpIfInventory("HexenClass",1,"PickupHexen")
	   TNT1 A 0 A_JumpIfInventory("DukeClass",1,"PickupDuke")
	   WEPG D 1
	   fail
    PickupHeretic:
	   TNT1 A 0 A_PlaySound("heretic/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,24)//A_Print("You got the Dragon Claw!")
	   TNT1 A 0 A_GiveInventory("GotWeapon4",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG D 1 A_GiveInventory("Dragon Claw")
	   fail
	PickupChex:
	   TNT1 A 0 A_PlaySound("chex/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,34)//A_Print("You got the Rapid Zorcher!")
	   TNT1 A 0 A_GiveInventory("GotWeapon4",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG D 1 A_GiveInventory("Rapid Zorcher")
	   fail
	PickupDoom:
	   TNT1 A 0 A_PlaySound("doomguy/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,14)//A_Print("You got the Chaingun!")
	   TNT1 A 0 A_GiveInventory("GotWeapon4",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG D 1 A_GiveInventory(" Chaingun ")
	   fail
	PickupWolfen:
	   TNT1 A 0 A_PlaySound("wolfen/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,14)//A_Print("You got the Chaingun!")
	   TNT1 A 0 A_GiveInventory("GotWeapon4",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG D 1 A_GiveInventory("  Chaingun  ")
	   fail
	PickupHexen:
	   TNT1 A 0 A_PlaySound("hexen/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,54)//A_Print("You got the Serpent Staff!")
	   TNT1 A 0 A_GiveInventory("GotWeapon4",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG D 1 A_GiveInventory("Serpent Staff")
	   fail
	PickupDuke:
		TNT1 A 0 A_JumpIfInventory("DukeTauntCooldown",1,"PickupDuke2")
		TNT1 A 0 A_JumpIfInventory("DukeBallgag",1,"PickupDuke2")
		TNT1 AA 0
		TNT1 A 0 A_PlaySoundEx("duke/weapontaunt","soundslot7",0,0)
		TNT1 A 0 A_GiveInventory("DukeTauntCooldown",5)
		TNT1 A 0 ACS_ExecuteAlways(205)
	PickupDuke2:
		TNT1 A 0 ACS_ExecuteAlways(212,0,64)//A_Print("You got the Ripper Chaingun Cannon!")
		TNT1 A 0 A_PlaySound("duke/weaponget")
		TNT1 A 0 A_GiveInventory("GotWeapon4",1)
		TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	    TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
		WEPG D 1 A_GiveInventory("Chaingun Cannon")
		fail
	PickupFail:
	   WEPG D 1
	   fail
	}
}

actor Weapon5Spawner : CustomInventory replaces RocketLauncher
{
	-COUNTITEM
	Inventory.PickupMessage "Picked up Weapon 5."
	Inventory.PickupSound "nosoundforyoubitch"
	states
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
		
	CheckDoomguy:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,1,0,0)==1,"SpawnDoomguy")
		Goto CheckChexter
	  SpawnDoomguy:
		TNT1 A 1 A_SpawnItem("DoomguyWeapon5Spawner")
		Stop

	CheckChexter:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,2,0,0)==1,"SpawnChexter")
		Goto CheckCorvus
	  SpawnChexter:
		TNT1 A 1 A_SpawnItem("ChexterWeapon5Spawner")
		Stop

	CheckCorvus:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,3,0,0)==1,"SpawnCorvus")
		Goto CheckWolfen
	  SpawnCorvus:
		TNT1 A 1 A_SpawnItem("CorvusWeapon5Spawner")
		Stop

	CheckWolfen:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,4,0,0)==1,"SpawnWolfen")
		Goto CheckHexen
	  SpawnWolfen:
		TNT1 A 1 A_SpawnItem("WolfenWeapon5Spawner")
		Stop

	CheckHexen:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,5,0,0)==1,"SpawnHexen")
		Goto CheckDuke
	  SpawnHexen:
		TNT1 A 1 A_SpawnItem("PariasWeapon5Spawner")
		Stop

	CheckDuke:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,6,0,0)==1,"SpawnDuke")
		Goto SpawnOnline
	  SpawnDuke:
		TNT1 A 1 A_SpawnItem("DukeWeapon5Spawner")
		Stop

	SpawnOnline:
	   WEPG E -1 BRIGHT
	   loop
    Pickup:
	   TNT1 A 0 A_JumpIfInventory("GotWeapon5",1,"PickupFail")
       TNT1 A 0 A_JumpIfInventory("DoomguyClass",1,"PickupDoom")
       TNT1 A 0 A_JumpIfInventory("ChexClass",1,"PickupChex")
       TNT1 A 0 A_JumpIfInventory("CorvusClass",1,"PickupHeretic")
       TNT1 A 0 A_JumpIfInventory("WolfenClass",1,"PickupWolfen")
	   TNT1 A 0 A_JumpIfInventory("HexenClass",1,"PickupHexen")
	   TNT1 A 0 A_JumpIfInventory("DukeClass",1,"PickupDuke")
	   WEPG E 1
	   fail
    PickupHeretic:
	   TNT1 A 0 A_PlaySound("heretic/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,25)//A_Print("You got the Phoenix Rod!")
	   TNT1 A 0 A_GiveInventory("GotWeapon5",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG E 1 A_GiveInventory("Phoenix Rod")
	   fail
	PickupChex:
	   TNT1 A 0 A_PlaySound("chex/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,35)//A_Print("You got the Zorch Propulsor!")
	   TNT1 A 0 A_GiveInventory("GotWeapon5",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG E 1 A_GiveInventory("Zorch Propulsor")
	   fail
	PickupDoom:
	   TNT1 A 0 A_PlaySound("doomguy/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,15)//A_Print("You got the Rocket Launcher!")
	   TNT1 A 0 A_GiveInventory("GotWeapon5",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG E 1 A_GiveInventory("Rocket Launcher")
	   fail
	PickupWolfen:
	   TNT1 A 0 A_PlaySound("wolfen/rocketget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,15)//A_Print("You got the Rocket Launcher!")
	   TNT1 A 0 A_GiveInventory("GotWeapon5",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG E 1 A_GiveInventory(" Rocket Launcher ")
	   fail
	PickupHexen:
	   TNT1 A 0 A_PlaySound("hexen/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,55)//A_Print("You got the Hammer of Retribution!")
	   TNT1 A 0 A_GiveInventory("GotWeapon5",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG E 1 A_GiveInventory("Hammer of Retribution")
	   fail
	PickupDuke:
		TNT1 A 0 A_JumpIfInventory("DukeTauntCooldown",1,"PickupDuke2")
		TNT1 A 0 A_JumpIfInventory("DukeBallgag",1,"PickupDuke2")
		TNT1 AA 0
		TNT1 A 0 A_PlaySoundEx("duke/weapontaunt","soundslot7",0,0)
		TNT1 A 0 A_GiveInventory("DukeTauntCooldown",5)
		TNT1 A 0 ACS_ExecuteAlways(205)
	PickupDuke2:
		TNT1 A 0 ACS_ExecuteAlways(212,0,65)//A_Print("You got the RPG!")
		TNT1 A 0 A_PlaySound("duke/weaponget")
		TNT1 A 0 A_GiveInventory("GotWeapon5",1)
		TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	    TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
		WEPG E 1 A_GiveInventory("RPG")
		fail
	PickupFail:
	   WEPG E 1
	   fail
	}
}

actor Weapon6Spawner : CustomInventory replaces PlasmaRifle
{
	-COUNTITEM
	Inventory.PickupMessage "Picked up Weapon 6."
	Inventory.PickupSound "nosoundforyoubitch"
	states
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
		
	CheckDoomguy:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,1,0,0)==1,"SpawnDoomguy")
		Goto CheckChexter
	  SpawnDoomguy:
		TNT1 A 1 A_SpawnItem("DoomguyWeapon6Spawner")
		Stop

	CheckChexter:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,2,0,0)==1,"SpawnChexter")
		Goto CheckCorvus
	  SpawnChexter:
		TNT1 A 1 A_SpawnItem("ChexterWeapon6Spawner")
		Stop

	CheckCorvus:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,3,0,0)==1,"SpawnCorvus")
		Goto CheckWolfen
	  SpawnCorvus:
		TNT1 A 1 A_SpawnItem("CorvusWeapon6Spawner")
		Stop

	CheckWolfen:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,4,0,0)==1,"SpawnWolfen")
		Goto CheckHexen
	  SpawnWolfen:
		TNT1 A 1 A_SpawnItem("WolfenWeapon6Spawner")
		Stop

	CheckHexen:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,5,0,0)==1,"SpawnHexen")
		Goto CheckDuke
	  SpawnHexen:
		TNT1 A 1 A_SpawnItem("PariasWeapon6Spawner")
		Stop

	CheckDuke:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,6,0,0)==1,"SpawnDuke")
		Goto SpawnOnline
	  SpawnDuke:
		TNT1 A 1 A_SpawnItem("DukeWeapon6Spawner")
		Stop

	SpawnOnline:
	   WEPG F -1 BRIGHT
	   loop
    Pickup:
	   TNT1 A 0 A_JumpIfInventory("GotWeapon6",1,"PickupFail")
       TNT1 A 0 A_JumpIfInventory("DoomguyClass",1,"PickupDoom")
       TNT1 A 0 A_JumpIfInventory("ChexClass",1,"PickupChex")
       TNT1 A 0 A_JumpIfInventory("CorvusClass",1,"PickupHeretic")
       TNT1 A 0 A_JumpIfInventory("WolfenClass",1,"PickupWolfen")
	   TNT1 A 0 A_JumpIfInventory("HexenClass",1,"PickupHexen")
	   TNT1 A 0 A_JumpIfInventory("DukeClass",1,"PickupDuke")
	   WEPG F 1
	   fail
    PickupHeretic:
	   TNT1 A 0 A_PlaySound("heretic/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,26)//A_Print("You got the Hellstaff!")
	   TNT1 A 0 A_GiveInventory("GotWeapon6",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG F 1 A_GiveInventory("Hellstaff")
	   fail
	PickupChex:
	   TNT1 A 0 A_PlaySound("chex/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,36)//A_Print("You got the Phasing Zorcher!")
	   TNT1 A 0 A_GiveInventory("GotWeapon6",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG F 1 A_GiveInventory("Phasing Zorcher")
	   fail
	PickupDoom:
	   TNT1 A 0 A_PlaySound("doomguy/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,16)//A_Print("You got the Plasma Rifle!")
	   TNT1 A 0 A_GiveInventory("GotWeapon6",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG F 1 A_GiveInventory("Plasma Rifle")
	   fail
	PickupWolfen:
	   TNT1 A 0 A_PlaySound("wolfen/flameget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,46)//A_Print("You got the Flamethrower!")
	   TNT1 A 0 A_GiveInventory("GotWeapon6",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG F 1 A_GiveInventory(" Flamethrower ")
	   fail
	PickupHexen:
	   TNT1 A 0 A_PlaySound("hexen/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,56)//A_Print("You got the Firestorm!")
	   TNT1 A 0 A_GiveInventory("GotWeapon6",1)
	   TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   WEPG F 1 A_GiveInventory("Firestorm")
	   fail
	PickupDuke:
		TNT1 A 0 A_JumpIfInventory("DukeTauntCooldown",1,"PickupDuke2")
		TNT1 A 0 A_JumpIfInventory("DukeBallgag",1,"PickupDuke2")
		TNT1 AA 0
		TNT1 A 0 A_PlaySoundEx("duke/weapontaunt","soundslot7",0,0)
		TNT1 A 0 A_GiveInventory("DukeTauntCooldown",5)
		TNT1 A 0 ACS_ExecuteAlways(205)
	PickupDuke2:
		TNT1 A 0 ACS_ExecuteAlways(212,0,66)//A_Print("You got the Freezethrower!")
		TNT1 A 0 A_PlaySound("duke/weaponget")
		TNT1 A 0 A_GiveInventory("GotWeapon6",1)
		TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	    TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
		WEPG F 1 A_GiveInventory("Freezethrower")
		fail
	PickupFail:
	   WEPG F 1
	   fail
	}
}

actor Weapon7Spawner : CustomInventory replaces BFG9000
{
	+COUNTITEM
	+BRIGHT
    +INVENTORY.PICKUPFLASH
    +INVENTORY.BIGPOWERUP
    +INVENTORY.FANCYPICKUPSOUND
	Inventory.PickupMessage "Picked up Weapon 7."
	Inventory.PickupSound "nosoundforyoubitch"
	states
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(219,0,0,0)==1,"SpawnCoop")
		
	CheckDoomguy:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,1,0,0)==1,"SpawnDoomguy")
		Goto CheckChexter
	  SpawnDoomguy:
		TNT1 A 1 A_SpawnItem("DoomguyWeapon7Spawner")
		Stop

	CheckChexter:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,2,0,0)==1,"SpawnChexter")
		Goto CheckCorvus
	  SpawnChexter:
		TNT1 A 1 A_SpawnItem("ChexterWeapon7Spawner")
		Stop

	CheckCorvus:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,3,0,0)==1,"SpawnCorvus")
		Goto CheckWolfen
	  SpawnCorvus:
		TNT1 A 1 A_SpawnItem("CorvusWeapon7Spawner")
		Stop

	CheckWolfen:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,4,0,0)==1,"SpawnWolfen")
		Goto CheckHexen
	  SpawnWolfen:
		TNT1 A 1 A_SpawnItem("WolfenWeapon7Spawner")
		Stop

	CheckHexen:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,5,0,0)==1,"SpawnHexen")
		Goto CheckDuke
	  SpawnHexen:
		TNT1 A 1 A_SpawnItem("PariasWeapon7Spawner")
		Stop

	CheckDuke:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,6,0,0)==1,"SpawnDuke")
		Goto CheckCoop
	  SpawnDuke:
		TNT1 A 1 A_SpawnItem("DukeWeapon7Spawner")
		Stop

	//CheckSO:
		//TNT1 A 0 //A_JumpIf(ACS_ExecuteWithResult(206,7,0,0)==1,"SpawnSO")
		//Goto CheckCoop
	  //SpawnSO:
		//TNT1 A 1 A_SpawnItem("SOWeapon7Spawner")
		//Stop

	CheckCoop:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(219,0,0,0)==1,"SpawnCoop")
		Goto SpawnOnline
	  SpawnCoop:
		TNT1 A 1 A_SpawnItem("Weapon7SpawnerPerma")
		Stop

	SpawnOnline:
	   WEPG G -1 BRIGHT
	   Stop
    Pickup:
	   TNT1 A 0 A_JumpIfInventory("PortTomeCoop",1,"PickupFail")
       TNT1 A 0 A_JumpIfInventory("DoomguyClass",1,"PickupDoom")
       TNT1 A 0 A_JumpIfInventory("ChexClass",1,"PickupChex")
       TNT1 A 0 A_JumpIfInventory("CorvusClass",1,"PickupHeretic")
       TNT1 A 0 A_JumpIfInventory("WolfenClass",1,"PickupWolfen")
	   TNT1 A 0 A_JumpIfInventory("HexenClass",1,"PickupHexen")
	   TNT1 A 0 A_JumpIfInventory("DukeClass",1,"PickupDuke")
	PickupFail:
	   WEPG G 1 BRIGHT
	   fail
    PickupHeretic:
	   TNT1 A 0 A_PlaySound("heretic/weaponget")
	   //TNT1 A 0 A_Print("You got the Tome of Power! Oh, yes.")
	   TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle2",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   //TNT1 A 0 A_SpawnItem("WeaponGetYaaaay2")
	   TNT1 A 1 ACS_ExecuteAlways(201,0,1)//A_GiveInventory("PortTome")
	   stop
	PickupChex:
	   TNT1 A 0 A_PlaySound("chex/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,37)//A_Print("You got the LAZ Device! Woot!")
	   TNT1 A 0 A_GiveInventory("GotWeapon7",1)
	   TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle2",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   TNT1 A 1 A_GiveInventory("LAZ Device")
	   stop
	PickupDoom:
	   TNT1 A 0 A_PlaySound("doomguy/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,17)//A_Print("You got the B.F.G. 9000! Oh, yes.")
	   TNT1 A 0 A_GiveInventory("GotWeapon7",1)
	   TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle2",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   TNT1 A 1 A_GiveInventory("B.F.G. 9000")
	   stop
	PickupWolfen:
	   TNT1 A 0 A_PlaySound("wolfen/spearget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,47)//A_Print("You got the Spear of Destiny!")
	   TNT1 A 0 A_GiveInventory("GotWeapon7",1)
	   TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle2",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   TNT1 A 1 A_GiveInventory("Spear of Destiny")
	   stop
	PickupHexen:
	   TNT1 A 0 A_PlaySound("hexen/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,57)//A_Print("You got the Wraithverge! Scream for me!")
	   TNT1 A 0 A_GiveInventory("GotWeapon7",1)
	   TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle2",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   TNT1 A 1 A_GiveInventory("Wraithverge")
	   stop
	PickupDuke:
		TNT1 A 0 A_JumpIfInventory("DukeTauntCooldown",1,"PickupDuke2")
		TNT1 A 0 A_JumpIfInventory("DukeBallgag",1,"PickupDuke2")
		TNT1 AA 0
		TNT1 A 0 A_PlaySoundEx("duke/weapontaunt","soundslot7",0,0)
		TNT1 A 0 A_GiveInventory("DukeTauntCooldown",5)
		TNT1 A 0 ACS_ExecuteAlways(205)
	PickupDuke2:
		TNT1 A 0 ACS_ExecuteAlways(212,0,67)//A_Print("You got the Devastator!")
		TNT1 A 0 A_PlaySound("duke/weaponget")
		TNT1 A 0 A_GiveInventory("GotWeapon7",1)
		TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	    TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
		TNT1 A 1 A_GiveInventory("Devastator")
		stop
	}
}

actor Weapon7SpawnerPerma : CustomInventory
{
	-COUNTITEM
	+BRIGHT
    +INVENTORY.PICKUPFLASH
    +INVENTORY.BIGPOWERUP
    +INVENTORY.FANCYPICKUPSOUND
	Inventory.PickupMessage "Picked up Weapon 7."
	Inventory.PickupSound "nosoundforyoubitch"
	states
	{
	Spawn:
		TNT1 A 1
	   WEPG G -1 BRIGHT
	   Stop
    Pickup:
	   TNT1 A 0 A_JumpIfInventory("GotWeapon7",1,"PickupFail")
	   TNT1 A 0 A_JumpIfInventory("PortTomeCoop",1,"PickupFail")
       TNT1 A 0 A_JumpIfInventory("DoomguyClass",1,"PickupDoom")
       TNT1 A 0 A_JumpIfInventory("ChexClass",1,"PickupChex")
       TNT1 A 0 A_JumpIfInventory("CorvusClass",1,"PickupHeretic")
       TNT1 A 0 A_JumpIfInventory("WolfenClass",1,"PickupWolfen")
	   TNT1 A 0 A_JumpIfInventory("HexenClass",1,"PickupHexen")
	   TNT1 A 0 A_JumpIfInventory("DukeClass",1,"PickupDuke")
	PickupFail:
	   WEPG G 1 BRIGHT
	   fail
    PickupHeretic:
	   TNT1 A 0 A_PlaySound("heretic/weaponget")
	   //TNT1 A 0 A_Print("You got the Tome of Power! Oh, yes.")
	   TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle2",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay2")
	   TNT1 A 1 ACS_ExecuteAlways(201,0,1)//A_GiveInventory("PortTome")
	   fail
	PickupChex:
	   TNT1 A 0 A_PlaySound("chex/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,37)//A_Print("You got the LAZ Device! Woot!")
	   TNT1 A 0 A_GiveInventory("GotWeapon7",1)
	   TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle2",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   TNT1 A 1 A_GiveInventory("LAZ Device")
	   fail
	PickupDoom:
	   TNT1 A 0 A_PlaySound("doomguy/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,17)//A_Print("You got the B.F.G. 9000! Oh, yes.")
	   TNT1 A 0 A_GiveInventory("GotWeapon7",1)
	   TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle2",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   TNT1 A 1 A_GiveInventory("B.F.G. 9000")
	   fail
	PickupWolfen:
	   TNT1 A 0 A_PlaySound("wolfen/spearget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,47)//A_Print("You got the Spear of Destiny!")
	   TNT1 A 0 A_GiveInventory("GotWeapon7",1)
	   TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle2",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   TNT1 A 1 A_GiveInventory("Spear of Destiny")
	   fail
	PickupHexen:
	   TNT1 A 0 A_PlaySound("hexen/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,57)//A_Print("You got the Wraithverge! Scream for me!")
	   TNT1 A 0 A_GiveInventory("GotWeapon7",1)
	   TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle2",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
	   TNT1 A 1 A_GiveInventory("Wraithverge")
	   fail
	PickupDuke:
		TNT1 A 0 A_JumpIfInventory("DukeTauntCooldown",1,"PickupDuke2")
		TNT1 A 0 A_JumpIfInventory("DukeBallgag",1,"PickupDuke2")
		TNT1 AA 0
		TNT1 A 0 A_PlaySoundEx("duke/weapontaunt","soundslot7",0,0)
		TNT1 A 0 A_GiveInventory("DukeTauntCooldown",5)
		TNT1 A 0 ACS_ExecuteAlways(205)
	PickupDuke2:
		TNT1 A 0 ACS_ExecuteAlways(212,0,67)//A_Print("You got the Devastator!")
		TNT1 A 0 A_PlaySound("duke/weaponget")
		TNT1 A 0 A_GiveInventory("GotWeapon7",1)
		TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("WeaponSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	    TNT1 A 0 A_SpawnItem("WeaponGetYaaaay")
		TNT1 A 1 A_GiveInventory("Devastator")
		fail
	}
}

actor UniqueItemSpawner : CustomInventory replaces Berserk
{
	+COUNTITEM
	+BRIGHT
    +INVENTORY.PICKUPFLASH
    +INVENTORY.BIGPOWERUP
    +INVENTORY.FANCYPICKUPSOUND
	Inventory.PickupMessage "Picked up Unique Item."
	Inventory.PickupSound "nosoundforyoubitch"
	states
	{
	Spawn:
		TNT1 A 0
		TNT1 A 1
		
	CheckDoomguy:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,1,0,0)==1,"SpawnDoomguy")
		Goto CheckChexter
	  SpawnDoomguy:
		TNT1 A 1 A_SpawnItem("DoomguyUniqueSpawner")
		Stop

	CheckChexter:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,2,0,0)==1,"SpawnChexter")
		Goto CheckCorvus
	  SpawnChexter:
		TNT1 A 1 A_SpawnItem("ChexterUniqueSpawner")
		Stop

	CheckCorvus:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,3,0,0)==1,"SpawnCorvus")
		Goto CheckWolfen
	  SpawnCorvus:
		TNT1 A 1 A_SpawnItem("CorvusUniqueSpawner")
		Stop

	CheckWolfen:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,4,0,0)==1,"SpawnWolfen")
		Goto CheckHexen
	  SpawnWolfen:
		TNT1 A 1 A_SpawnItem("WolfenUniqueSpawner")
		Stop

	CheckHexen:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,5,0,0)==1,"SpawnHexen")
		Goto CheckDuke
	  SpawnHexen:
		TNT1 A 1 A_SpawnItem("PariasUniqueSpawner")
		Stop

	CheckDuke:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(206,6,0,0)==1,"SpawnDuke")
		Goto SpawnOnline
	  SpawnDuke:
		TNT1 A 1 A_SpawnItem("DukeUniqueSpawner")
		Stop

	SpawnOnline:
	   ITMG A -1 BRIGHT
	   Stop
    Pickup:
	   TNT1 A 0 A_JumpIfInventory("ArtiEgg2",0,"PickupFail")
	   TNT1 A 0 A_JumpIfInventory("ArtiEgg3",0,"PickupFail")
	   TNT1 A 0 A_JumpIfInventory("PortMysticAmbit",0,"PickupFail")
	   TNT1 A 0 A_JumpIfInventory("WolfExtraLife",0,"PickupFail")
	   TNT1 A 0 A_JumpIfInventory("DukeJetpackFuel",0,"PickupFail")
       TNT1 A 0 A_JumpIfInventory("DoomguyClass",1,"PickupDoom")
       TNT1 A 0 A_JumpIfInventory("ChexClass",1,"PickupChex")
       TNT1 A 0 A_JumpIfInventory("CorvusClass",1,"PickupHeretic")
       TNT1 A 0 A_JumpIfInventory("WolfenClass",1,"PickupWolfen")
       TNT1 A 0 A_JumpIfInventory("HexenClass",1,"PickupHexen")
       TNT1 A 0 A_JumpIfInventory("DukeClass",1,"PickupDuke")
	PickupFail:
	   ITMG A 1
	   fail
    PickupHeretic:
	   TNT1 A 0 A_PlaySound("heretic/itemget")
	   //TNT1 A 0 A_Print("You got the Morph Ovum!")
	   TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("StarSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 1 ACS_ExecuteAlways(201,0,2)//A_GiveInventory("ArtiEgg2")
	   stop
	PickupChex:
	   TNT1 A 0 A_PlaySound("chex/weaponget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,38)//A_Print("You got the Supercharge Breakfast!")
	   TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("StarSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 1 A_GiveInventory("Soulsphere")
	   stop
	PickupDoom:
	   TNT1 A 0 A_PlaySound("doomguy/itemget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,18)//A_Print("You got the Berserk! Rip and tear!")
	   TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("StarSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 A_GiveInventory("PowerChainsawBerserk")
	   TNT1 A 0 A_GiveInventory("PowerStrength")
	   TNT1 A 1 HealThing(100, 0)
	   TNT1 A 1 A_SelectWeapon(" Fist ")
	   stop
	PickupWolfen:
	   TNT1 A 0 A_PlaySound("wolfen/lifeget")
	   TNT1 A 0 ACS_ExecuteAlways(212,0,48)//A_Print("You got an Extra Life!")
	   TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("StarSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 0 ACS_ExecuteAlways(208)
	   TNT1 A 1 A_GiveInventory("WolfExtraLife")
	   stop
    PickupHexen:
	   TNT1 A 0 A_PlaySound("hexen/artiget")
	   TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("StarSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   TNT1 A 1 ACS_ExecuteAlways(212,0,58)//A_Print("You got the Mystic Ambit Incant!")
	   TNT1 A 1 A_GiveInventory("PortMysticAmbit")
	   stop
	PickupDuke:
	   TNT1 A 0 A_PlaySound("duke/itemget")
       //TNT1 A 0 ACS_ExecuteAlways(212,0,68)//A_Print("You got the Jetpack!")
	   TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("StarSparkle",0,0,random(4,52),random(-2,2),random(-2,2),random(1,3),48,128)
	   //TNT1 A 0 A_GiveInventory("DukeJetpackFuel",100)
	   TNT1 A 1 ACS_ExecuteAlways(220)//A_GiveInventory("DukePortJetpack",1)
	   stop
	}
}

Actor ZorchEffectSmall
{
RenderStyle Add
Alpha 0.75
xscale 1.25
Speed 0
Damage 0
Radius 1
Height 1
PROJECTILE
+MISSILE
-SOLID
+NOCLIP
+NOGRAVITY
+INVULNERABLE
+CLIENTSIDEONLY
+DOOMBOUNCE
+DONTSPLASH
-EXPLODEONWATER
+CANBOUNCEWATER
States
{
Spawn:
	ZFOG ABCDEFGHIJ 3 BRIGHT
	stop
	}
}

Actor ZorchEffectTiny : ZorchEffectSmall
{
yscale 0.75
xscale 1
States
{
Spawn:
	ZFOG ABCDEFGHIJ 2 BRIGHT
	stop
	}
}

Actor ZorchEffectSuperTiny : ZorchEffectSmall
{
yscale 0.45
xscale 0.625
States
{
Spawn:
	ZFOG ABCDEFGHIJ 2 BRIGHT
	stop
	}
}

Actor ZorchEffectBig : ZorchEffectSmall
{
yscale 1.25
xscale 1.625
States
{
Spawn:
	ZFOG ABCDEFGHIJ 4 BRIGHT
	stop
	}
}

Actor ZorchEffectWide : ZorchEffectSmall
{
yscale 1.25
xscale 1.75
States
{
Spawn:
	ZFOG ABCDEFGHIJ 4 BRIGHT
	stop
	}
}

Actor ZorchEffectHuge : ZorchEffectSmall
{
yscale 2
xscale 2.25
States
{
Spawn:
	ZFOG AABBCCDDEEFFGGHHIIJJ 4 BRIGHT A_SpawnItemEx("ZorchSparkle",0,0,random(20,90),random(-9,9),random(-9,9),random(1,3),48,128)
	stop
	}
}

ACTOR ZorchSparkle
{
   RenderStyle Add
   Alpha 0.625
   Scale 0.75
   Radius 10
   Height 10
   Speed 5
   PROJECTILE
   +CLIENTSIDEONLY
   +NOCLIP
   +DONTSPLASH
   -EXPLODEONWATER
   States
   {
   Spawn:
    ZFG2 AB 2 BRIGHT
    ZFG2 C 4 BRIGHT
    ZFG2 D 6 BRIGHT
    ZFG2 E 6 BRIGHT
	ZFG2 F 4 BRIGHT
	ZFG2 GH 2 BRIGHT
    Stop
   }
}

ACTOR WeaponSparkle : ZorchSparkle
{
   Scale 0.25
   Alpha 0.5
   Speed 4
   States
   {
   Spawn:
    WPFG AB 1 BRIGHT
    WPFG C 2 BRIGHT
    WPFG D 3 BRIGHT
    WPFG E 3 BRIGHT
	WPFG F 2 BRIGHT
	WPFG GH 1 BRIGHT
    Stop
   }
}

ACTOR WeaponSparkle2 : ZorchSparkle
{
   Scale 0.25
   Speed 4
}



Actor StarSparkle
{
 +MISSILE
 +NOGRAVITY
 +NOBLOCKMAP
 +NOCLIP
 -SOLID
 +CLIENTSIDEONLY
 Radius 1
 Height 1
 RenderStyle Add
 Alpha 0.01
 Scale 0.2
 States
 {
  Spawn:
   PTCL AABBCCAA 1 Bright A_FadeIn(0.2)
   PTCL AABBCCAABBCCAABBCC 1 Bright A_FadeOut(0.06)
   Stop
 }
}

#include "actors/GAME_DOOM"
#include "actors/GAME_CHEX"
#include "actors/GAME_HERETIC"
#include "actors/GAME_HEXEN"
#include "actors/GAME_CHAOS"
#include "actors/GAME_SKULLTAG"
#include "actors/GAME_TERRAINCOGNITA"