////PRIMARY STUFF////

///Dukie Nukie Shotgun
Actor GroundZeroShotgun : Weapon 3054
{
Weapon.SelectionOrder 1300
Weapon.AmmoUse 1
Weapon.AmmoGive 8
Weapon.AmmoType "Shell"
Weapon.SlotNumber 3
Attacksound "GroundZeroShotgun/Fire"
Decal BulletChip
Tag "Duke Shotgun Again"
Inventory.PickupMessage "You got the Shotgun! Lock and load!"
Obituary "%o was blown open by %k's Shotgun."
States
	{
	Ready:
		ZGSG A 1 A_WeaponReady
		Loop
	Deselect:
		ZGSG A 1 A_Lower
		Loop
	Select:
		ZGSG A 1 A_Raise
		Loop
	Fire:
		ZGSG A 3
		TNT1 A 0 A_ZoomFactor(0.98,ZOOM_NOSCALETURNING)
		TNT1 A 0 A_GunFlash
		ZGSG B 1 A_FireBullets (6, 4, 7, 5, "BulletPuff")
		ZGSG C 1 Bright A_ZoomFactor(1.0)
		ZGSG DE 1 Bright 
		ZGSG MNO 1
		ZGSG A 3 A_CheckReload
		ZGSG FGH 1
		ZGSG I 2 A_PlaySound("GroundZeroShotgun/Pump")
		ZGSG JKLKJI 2
		ZGSG HGF 1
		ZGSG A 7 A_ReFire
		Goto Ready
	Flash:
		TNT1 A 2 A_Light1
		TNT1 A 2 A_Light2
		Goto LightDone
	Spawn:
		ZGSP A -1
		Stop
	}
}
///Ground Zero Burialist (THE MAN HIMSELF)
ACTOR GroundZeroBurialist 3055 
{
    Health 20
	Radius 16
	Height 56
	Mass 100
	Speed 8
	Painchance 160
    painchance "Stunner", 255
	PainChance "Taunt", 255
	DamageFactor Seduction, 0
	PainChance "Kick", 255
    MONSTER
	+COUNTKILL
    SeeSound "zeroguy/sight"
    ActiveSound "zeroguy/active"
	DeathSound "zeroguy/death"
	PainSound "zeroguy/pain"
    DropItem "GroundZeroItem" 128
    MissileType GroundZeroKill
    Obituary "%o just got %p ass buried ground zero!"
    States
    {
	Spawn:
	  ZGUY A 4 A_Look
	  Loop
	See:
	  ZGUY A 0 A_SpawnItem("EnemyFootstep",10,15)
	  ZGUY ABCD 4 A_Chase
	  Loop
    Missile: 
	  TNT1 A 0 A_JumpIfInventory("Enraged", 1, "SpecialAttack")
      ZGUY E 5 A_PlayWeaponSound("doomguyhead/burial")
      ZGUY EEEEE 5 A_FaceTarget
	  ZGUY F 6 A_MissileAttack
	  ZGUY A 4 A_FaceTarget
	  ZGUY A 0 
      Goto See
	SpecialAttack: 
      ZGUY E 5 A_PlayWeaponSound("doomguyhead/burial")
      ZGUY EEE 5 A_FaceTarget
	  ZGUY F 3 A_MissileAttack
	  ZGUY A 2 A_FaceTarget
	  ZGUY A 0 
      Goto See
    Pain:
	  ZGUY G 4
	  ZGUY G 4 A_Pain
	  Goto See
	Pain.Stunner:
	  ZGUY G 3 A_ChangeFlag("NoPain", 1)
	  ZGUY G 300 A_Pain
	  ZGUY G 0 A_ChangeFlag("NoPain", 0)
	  goto See
	Pain.Taunt:
	  TNT1 A 0 A_JumpIfInventory("Enraged", 1, "SpecialAttack")
	  ZGUY G 0 A_Pain
	  TNT1 A 0 A_ChangeFlag("FASTER", 1)
	  TNT1 A 0 A_ChangeFlag("MISSILEMORE", 1)
	  TNT1 A 0 A_ChangeFlag("MISSILEEVENMORE", 1)
	  ZGUY G 1 A_FaceTarget
	  ZGUY G 10
	  TNT1 A 0 A_GiveInventory("Enraged", 1)
	  Goto SpecialAttack
	Pain.Kick:
      TNT1 A 0
	  TNT1 A 0 A_ChangeFLag("NODROPOFF", 0)
	  TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
      ZGUY G 0 A_Pain
	  TNT1 A 0 A_ChangeFlag("NOPAIN", 0)
	  TNT1 A 0 A_ChangeFlag("FORCEXYBILLBOARD", 1)
	  TNT1 A 0 A_JumpIfInventory ("IsDown", 1, "Pain")
	  ZGUY G 1 A_facetarget
	  TNT1 A 0 ThrustThingZ(0,30,0,1)
	  ZGUY G 0 A_Facetarget
      ZGUY G 3 ThrustThing(angle*256/360+128, 10, 0, 0)
	  TNT1 A 0 A_GiveInventory("IsDown", 1)
      ZGUY GGG 3
	  Goto FallingAfterImpact
    FallingAfterImpact:
	  ZGUY G 1 A_GiveInventory ("FallingHeight", 1)
	  ZGUY G 1 A_CheckFloor ("GetUp")
	  TNT1 A 0 A_JumpIf (momz == 0, "GetUp")
	  Loop
    GetUp:
      TNT1 A 0
	  TNT1 A 0 A_JumpIfInventory ("FallingHeight", 5, "FallingHeightDeath")
	  TNT1 A 0 A_TakeInventory("FallingHeight", 100)
	  TNT1 A 0 A_Stop
	  TNT1 A 0 A_ChangeFlag("SOLID", 0)
	  TNT1 A 0 A_PlaySound("BODYF",6)
	  ZGUY GGG 5 A_JumpIf(momz < 0, "FallingAfterImpact")
      TNT1 A 0 A_TakeInventory("IsDown", 1)
	  ZGUY G 5
	  TNT1 A 0 A_ChangeFlag("FORCEXYBILLBOARD", 0)
	  TNT1 A 0 A_ChangeFlag("SOLID", 1)
      Goto See
    FallingHeightDeath:
      ZGUY G 0 A_Die
      Goto See
	Death:
	  ZGUY H 10
	  ZGUY I 10 A_Scream
	  ZGUY J 10 A_NoBlocking
	  ZGUY KLM 10
	  ZGUY N -1 A_KillMaster
	  Stop
	Death.Taunt:
      TNT1 A 0 A_NoBlocking
      TNT1 A 0 A_SpawnItem("GroundZeroBurialist")
	  TNT1 A 0 A_KillMaster
      Stop
    XDeath:
	  ZGUY O 5
	  ZGUY P 5 A_XScream
	  ZGUY Q 5 A_NoBlocking
	  ZGUY RSTUV 5
	  ZGUY W -1 A_KillMaster
	  Stop
    Burn:
      ZGUY A 0 A_Fall
      ZGUY A 0 A_SpawnItem("GroundZeroBurnDeath",1,0,0)
	  ZGUY A 0 A_KillMaster
      Stop
	Disintegrate:
      ZGUY G 0 A_Fall
      ZGUY G 0 A_NoGravity
      ZGUY G 0 A_KillMaster
      ZGUY G 6 A_PlaySound("misc/disintegratedeath")
      ZGUY G 6 Bright A_SetTranslucent(1,1)
      ZGUY G 5 Bright A_SetTranslucent(0.9,1)
      ZGUY G 4 Bright A_SetTranslucent(0.8,1)
      ZGUY G 3 Bright A_SetTranslucent(0.7,1)
      ZGUY G 3 Bright A_SetTranslucent(0.6,1)
      ZGUY G 3 Bright A_SetTranslucent(0.4,1)
      ZGUY G 3 Bright A_SetTranslucent(0.2,1)
      ZGUY G 3 Bright A_SetTranslucent(0.1,1)
      ZGUY G 3 Bright A_SetTranslucent(0.05,1)
      ZGUY G 3 Bright A_SetTranslucent(1,2)
      Stop
	Ice:
	  "####" "#" 0 A_KillMaster
	  "####" "#" 5 A_IceGuyDie
	  Stop
	Crush:
      TNT1 A 0 A_PlaySound("misc/crushed")
	  POL5 A -1
	  Stop
	Raise:
	  ZGUY MLKJIH 5
	  Goto See
	}
}
///Ground Zero Projectile
ACTOR GroundZeroKill : BFGBall
{
   Speed 50
   Damage 20000   
   ExplosionDamage 3300
   ExplosionRadius 3300
   DONTHURTSHOOTER
   DamageType GroundZero
   SeeSound "doomguyhead/burial"
   Obituary "%o just got his ass Buried Ground Zero!"
   +RANDOMIZE
   Decal GroundZeroLightning
   Scale 0.315
   States
   {
   Spawn:
      GRAV A 4 Bright 
      GRAV A 4 A_Print("Time to bury your ass ground zero!")
      Goto Spawn2
   Spawn2:
      GRAV A 4 Bright
	  Loop
   Death:
      GRAV A 8 bright
      GRAV A 8 bright A_BFGSpray(GroundZeroExtra, 360, 3300) 
      GRAV A 8 bright
      stop
     }
}
///Ground Zero Extra
actor GroundZeroExtra 
{
  Radius 20
  Height 16
  +NOGRAVITY
  +NOCLIP
  DamageType GroundZero
  RenderStyle SoulTrans
  Alpha 0.75
  States
  {
  Spawn:
    TEST A 30 bright
    stop
  }
}
///Ground Zero Item
ACTOR GroundZeroItem : CustomInventory 3056 
{
    Inventory.Amount 1
    Inventory.MaxAmount 1
    Inventory.Icon GRAVC0
	Inventory.PickupMessage "picked up a small grave stone.  I wonder what it does?"
    Inventory.PickupSound "zeroguy/sight"
    +INVENTORY.ALWAYSPICKUP
    +INVBAR
    +BIGPOWERUP
    +INTERHUBSTRIP
	Scale 0.0400390625
	States
	{
	Spawn:
	  GRAV A -1
	  Loop
    Use:
      TNT1 A 0 A_PlaySound("doomguyhead/burial")
      TNT1 A 0 A_FireCustomMissile("GroundZeroKill",0, 0, 0, 0)
      Stop
	}
}
///Trash Can
ACTOR BuryTrashCan1 3057
{
  Game Doom
  Radius 16
  Height 40
  +SOLID
  States
  {
  Spawn:
    TRAC A -1
    Stop
  }
}
///Darma Soldier
ACTOR RedDude 3058
{
  Health 20
  Radius 20
  Height 56
  Speed 8
  PainChance 200
  Monster
  +FLOORCLIP
  SeeSound "reddude/sight"
  AttackSound "grunt/attack"
  PainSound "reddude/pain"
  DeathSound "reddude/death"
  ActiveSound "reddude/active"
  Obituary "%o was killed by some fuckass red dude."
  DropItem "Clip"
  States
  {
  Spawn:
    REDD AB 10 A_Look
    Loop
  See:
    REDD AABBCCDD 4 A_Chase
    Loop
  Missile:
    REDD E 10 A_FaceTarget
    REDD F 8 A_PosAttack
    REDD E 8
    Goto See
  Pain:
    REDD G 3
    REDD G 3 A_Pain
    Goto See
  Death:
    REDD H 5
    REDD I 5 A_Scream
    REDD J 5 A_NoBlocking
    REDD K 5
    REDD L -1
    Stop
  XDeath:
    REDD M 5
    REDD N 5 A_XScream
    REDD O 5 A_NoBlocking
    REDD PQRST 5
    REDD U -1
    Stop
  Raise:
    REDD K 5
    REDD JIH 5
    Goto See
	Burn:
    REDD H 0 A_Fall
    REDD H 0 A_SpawnItem("GenericGuyBurnDeath",1,0,0)
	REDD H 0 A_KillMaster
    Stop
  }
}
///Chair lmao
Actor BuryChair 3059
{
  +FloorClip
  +Solid
  Height 30
  Radius 15
  States
  {
  Spawn:
    ZSIT A -1
    Stop
  }
}
///Sentry Gun
ACTOR sentrygun300 3060
{
  Health 250
  Radius 20
  Height 56
  Mass 10000
  PainChance 100
  Monster
  +BOSS
  +NOBLOOD
  +NOTARGET
  SeeSound "monster/srysee"
  PainSound "monster/srypain"
  DeathSound "monster/srydth"
  AttackSound "monster/sryact"
  Obituary "Sentry'd"
  States
  {
  Spawn:
    SERY A 1 A_Look
    Loop
  See:
    SERY A 1 A_Chase
    Loop
  Missile:
    SERY A 1 A_FaceTarget
    SERY B 4 Bright A_CustomMissile ("sentryrocket")
	SERY A 4 A_CPosRefire
    Goto Missile+1
  Pain:
    SERY C 3
    SERY C 3 Bright A_Pain
    Goto See
  Death:
    SERY C 5 Bright
    SERY D 5 Bright A_Scream
    SERY E 5 Bright A_NoBlocking
	SERY F 5 Bright
    Stop
    }
}
///Sentry Gun but smol
ACTOR minisentrygun300 3061
{
  Health 150
  Radius 20
  Height 56
  scale 0.5
  Mass 10000
  PainChance 100
  Monster
  +BOSS
  +NOBLOOD
  +NOTARGET
  SeeSound "monster/srysee"
  PainSound "monster/srypain"
  DeathSound "monster/srydth"
  AttackSound "monster/sryactsmoledition"
  Obituary "Sentry'd"
  States
  {
  Spawn:
    SERY A 1 A_Look
    Loop
  See:
    SERY A 1 A_Chase
    Loop
  Missile:
    SERY A 1 A_FaceTarget
    SERY B 3 Bright A_CPosAttack
	SERY A 3 A_CPosRefire
    Goto Missile+1
  Pain:
    SERY C 3
    SERY C 3 Bright A_Pain
    Goto See
  Death:
    SERY C 5 Bright
    SERY D 5 Bright A_Scream
    SERY E 5 Bright A_NoBlocking
	SERY F 5 Bright
    Stop
    }
}

///Possessed BFG
ACTOR PossessedBFG 3062
{
  Health 200
  Radius 20
  Height 10
  Mass 50
  Speed 8
  PainChance 10
  DamageFactor Taunt, 0
  DamageFactor Seduction, 0
  PainChance "Kick", 64
  Monster
  +FLOORCLIP
  PainSound "caco/pain"
  Obituary "%o was killed by a possessed BFG9000!"
  missiletype BFGBall
  Dropitem CellPack2
  BloodColor White
  Bloodtype WhiteBloodSpatter
  States
  {
  Spawn:
    PFUG A 10 BRIGHT A_Look
    Loop
  See:
    PFUG A 6 BRIGHT A_Chase
    Loop
  Missile:
    Pfug A 0 A_FaceTarget
    PFUG A 20 A_PlaySound ("weapons/bfgf")
    PFUG A 10 Bright
    PFUG A 10 Bright A_MissileAttack
    PFUG A 20
    goto See
  Pain:
    PFUG A 3 
    PFUG A 3 A_Pain
    Goto See
  Pain.Kick:
    TNT1 A 0
	TNT1 A 0 A_ChangeFLag("NODROPOFF", 0)
	TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
    PFUG A 0 A_Pain
	TNT1 A 0 A_ChangeFlag("NOPAIN", 0)
	TNT1 A 0 A_ChangeFlag("FORCEXYBILLBOARD", 1)
	TNT1 A 0 A_JumpIfInventory ("IsDown", 1, "Pain")
	PFUG A 1 A_facetarget
	TNT1 A 0 ThrustThingZ(0,30,0,1)
	PFUG A 0 A_Facetarget
    PFUG A 3 ThrustThing(angle*256/360+128, 10, 0, 0)
	TNT1 A 0 A_GiveInventory("IsDown", 1)
    PFUG AAA 3
	Goto FallingAfterImpact
  FallingAfterImpact:
	PFUG A 1 A_GiveInventory ("FallingHeight", 1)
	PFUG A 1 A_CheckFloor ("GetUp")
	TNT1 A 0 A_JumpIf (momz == 0, "GetUp")
	Loop
  GetUp:
    TNT1 A 0
	TNT1 A 0 A_JumpIfInventory ("FallingHeight", 5, "FallingHeightDeath")
	TNT1 A 0 A_TakeInventory("FallingHeight", 100)
	TNT1 A 0 A_Stop
	TNT1 A 0 A_ChangeFlag("SOLID", 0)
	TNT1 A 0 A_PlaySound("BODYF",6)
	PFUG AAA 5 A_JumpIf(momz < 0, "FallingAfterImpact")
    TNT1 A 0 A_TakeInventory("IsDown", 1)
	PFUG A 5
	TNT1 A 0 A_ChangeFlag("FORCEXYBILLBOARD", 0)
	TNT1 A 0 A_ChangeFlag("SOLID", 1)
    Goto See
  FallingHeightDeath:
    PFUG G 0 A_Die
    Goto See
  Death:
    PFUG A 3 A_Scream
    PFUG A 3 A_NoBlocking
    PFUG A -1 A_KillMaster
    Stop
  Burn:
    PFUG A 0 A_Fall
    PFUG A 0 A_SpawnItem("SmallHeadExplosion",1,0,0)
	PFUG A 0 A_KillMaster
    Stop
  Disintegrate:
    PFUG A 0 A_Fall
    PFUG A 0 A_NoGravity
	PFUG A 0 A_KillMaster
    PFUG A 6 A_PlaySound("misc/disintegratedeath")
    PFUG A 6 Bright A_SetTranslucent(1,1)
    PFUG A 5 Bright A_SetTranslucent(0.9,1)
    PFUG A 4 Bright A_SetTranslucent(0.8,1)
    PFUG A 3 Bright A_SetTranslucent(0.7,1)
    PFUG A 3 Bright A_SetTranslucent(0.6,1)
    PFUG A 3 Bright A_SetTranslucent(0.4,1)
    PFUG A 3 Bright A_SetTranslucent(0.2,1)
    PFUG A 3 Bright A_SetTranslucent(0.1,1)
    PFUG A 3 Bright A_SetTranslucent(0.05,1)
    PFUG A 3 Bright A_SetTranslucent(1,2)
    Stop
  Ice:
	"####" "#" 0 A_KillMaster
	"####" "#" 5 A_IceGuyDie
	Stop
  Crush:
    TNT1 A 0 A_PlaySound("misc/crushed")
	CRS1 D -1 
	Stop
  }
}
///Burger
ACTOR buryburger2 3063
{
  mass 1
  Radius 4
  Height 6
  scale 0.6
  +SOLID
  States
  {
   Spawn:
    BRGR B -1
    loop
  }
}
///Fries
ACTOR buryfries1 3064
{
  mass 1
  Radius 3
  Height 7
  scale 0.6
  +SOLID
  States
  {
   Spawn:
    FRES A -1
    loop
  }
}
///Beer Bottle
ACTOR burybottle1 3065
{
  mass 1
  Radius 3
  Height 16
  scale 0.6
  +SOLID
  States
  {
   Spawn:
    BTTL A -1
    loop
  }
}
///Glass 
ACTOR buryglass 3066
{
  mass 1
  Radius 3
  Height 8
  scale 0.6
  +SOLID
  States
  {
   Spawn:
    GLSS A -1
    loop
  }
}
///Shake Drink
ACTOR burydrink 3067
{
  mass 1
  Radius 2
  Height 7
  scale 0.6
  +SOLID
  States
  {
   Spawn:
    DRNK A -1
    loop
  }
}

///The Green Techno pillar if blue
ACTOR buryHugeTechnoPillarBlue 3069
{
	//$Title Huge Techno Column Blue
	//$Category Obstacles/Techno Columns
	//$NotAngled
	//$IsDecoration
	//$Arg0 Pulse Interval (tics)
	//$Arg0Tooltip Delay time between pulses
	//$Arg0Default 35
	//$Arg1 Animation Type
	//$Arg1Tooltip 0 = no animation, 1 = pulse upwards, 2 = pulse downwards
	//$Arg1Default 0
	
	Var int user_pulsedelay;
	Var int user_animation;

	Radius 16
	Height 192
	
	+SOLID

	States
	{
		Spawn:
			HUPB A 0 NoDelay A_SetUserVar("user_pulsedelay", Args[0])
			HUPB A 0 A_SetUserVar("user_animation", Args[1])
			HUPB A 0 A_JumpIf(user_animation == 1, "PulseUp")
			HUPB A 0 A_JumpIf(user_animation >= 2, "PulseDown")
			HUPB A -1 Bright
			Stop
		PulseUp:
			HUPB A 0 Bright A_SetTics (user_pulsedelay)
			HUPB B 2 Bright A_PlaySound ("Pillar/Pulse", CHAN_5, 1.0, FALSE, ATTN_STATIC)
			HUPB CDEFGHIJKL 2 Bright
			Loop
		PulseDown:
			HUPB A 0 Bright A_SetTics (user_pulsedelay)
			HUPB L 2 Bright A_PlaySound ("Pillar/Pulse", CHAN_5, 1.0, FALSE, ATTN_STATIC)
			HUPB KJIHGFEDCBA 2 Bright
			Loop
	}
}

///Funny Green Techno Pillar thats funny, green, techno, and pillar
ACTOR buryHugeTechnoPillarGreen : buryHugeTechnoPillarBlue 3068
{
	//$Title Huge Techno Column Green

	States
	{
		Spawn:
			HUPG A 0 NoDelay A_SetUserVar("user_pulsedelay", Args[0])
			HUPG A 0 A_SetUserVar("user_animation", Args[1])
			HUPG A 0 A_JumpIf(user_animation == 1, "PulseUp")
			HUPG A 0 A_JumpIf(user_animation >= 2, "PulseDown")
			HUPG A -1 Bright
			Stop
		PulseUp:
			HUPG A 0 Bright A_SetTics (user_pulsedelay)
			HUPG B 2 Bright A_PlaySound ("Pillar/Pulse", CHAN_5, 1.0, FALSE, ATTN_STATIC)
			HUPG CDEFGHIJKL 2 Bright
			Loop
		PulseDown:
			HUPG A 0 Bright A_SetTics (user_pulsedelay)
			HUPG L 2 Bright A_PlaySound ("Pillar/Pulse", CHAN_5, 1.0, FALSE, ATTN_STATIC)
			HUPG KJIHGFEDCBA 2 Bright
			Loop
	}
}

///Doom 64 Lamp 1
Actor buryD64Lamp1 3070
{
Radius 16
Height 75
+SOLID
States
{
Spawn:
	D641 A -1 Bright
	Stop
}
}

///Doom 64 Lamp 2
Actor buryD64Lamp2 3071
{
Radius 16
Height 60
+SOLID
States
{
Spawn:
	D642 A -1 Bright
	Stop
}
}

///Doom 64 Lamp 3
Actor buryD64Lamp3 3072
{
Radius 10
Height 55
+SOLID
+SPAWNCEILING
+NOGRAVITY
States
{
Spawn:
	D643 A -1 Bright
	Stop
}
}

///Doom 64 Lamp 4
Actor buryD64Lamp4 3073
{
Radius 8
Height 8
-SOLID
+SPAWNCEILING
+NOGRAVITY
States
{
Spawn:
	D644 A -1 Bright
	Stop
}
}