#include "actors/ammo.txt"
#include "actors/weapons.txt"
#include "actors/puffs.txt"
#include "actors/tracer.txt"
#include "actors/hax.txt"
#include "actors/ammo_slots.txt"
#include "actors/weapon_slots.txt"

actor DamageDummy : PowerupGiver
{
	inventory.pickupmessage ""
	inventory.defmaxamount
	inventory.maxamount 0
	powerup.duration 48
	powerup.type "Frightener"
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	states
	{
		Spawn:
			TNT1 A 3
			loop
	}
}

actor BaseCheck : Inventory
{
	inventory.amount 1
	inventory.maxamount 1
	-INVBAR
	-INTERHUBSTRIP
	+INVENTORY.UNDROPPABLE
	+INVENTORY.HUBPOWER
	States
	{
		Spawn:
			TNT1 A 1
			loop
	}
}

actor Detonator : BaseCheck
{
}

actor DetonatorTimer : Detonator
{
}

actor RespawnCheck : BaseCheck
{
}

actor GrenadeTimer : BaseCheck
{
	inventory.amount 1
	inventory.maxamount 140
}

actor PaintBallMode : PowerupGiver
{
	inventory.pickupmessage ""
	inventory.defmaxamount
	inventory.maxamount 0
	powerup.duration 9999999999
	powerup.type "WeaponLevel2"
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	states
	{
		Spawn:
			TNT1 A 3
			loop
	}
}

actor HitSpark
{
	RenderStyle Add
	Alpha 0.9
	Scale 0.15
	Radius 1
	Height 1
	+NOBLOCKMAP
	+NOCLIP
	+NOGRAVITY
	States
	{
		Spawn:
			SPRK ABCDE 1 bright
			stop
	}
}

actor JamesBond : DoomPlayer Replaces DoomPlayer
{
	-CANNOTPUSH
	player.forwardmove 0.64
	player.sidemove 0.64
	player.startitem HuntingKnife
	States
	{
	Death:
		PLAY H 7 A_GiveInventory("Detonator", 1)
		PLAY I 7 A_PlayerScream
		PLAY J 7 A_NoBlocking
		PLAY K 0 A_TakeInventory("Detonator", 999)
		PLAY KLM 6
		PLAY N -1
		Stop
	Death.Rocket:
		PLAY A 0 A_Recoil(Random(8, 15))
		PLAY A 0 ThrustThingZ(0, Random(48,60), 0, 0)
		PLAY H 7 A_GiveInventory("Detonator", 1)
		PLAY I 7 A_PlayerScream
		PLAY J 7 A_NoBlocking
		PLAY K 0 A_TakeInventory("Detonator", 999)
		PLAY KLM 6
		PLAY N -1
		Stop
	Death.Grenade:
		PLAY A 0 A_Recoil(Random(5, 10))
		PLAY A 0 ThrustThingZ(0, Random(38,48), 0, 0)
		PLAY H 7 A_GiveInventory("Detonator", 1)
		PLAY I 7 A_PlayerScream
		PLAY J 7 A_NoBlocking
		PLAY K 0 A_TakeInventory("Detonator", 999)
		PLAY KLM 6
		PLAY N -1
		Stop
	Pain:
		PLAY G 0 ACS_Execute(996, 0)
    	PLAY G 4 A_GiveInventory("DamageDummy", 1)
    	PLAY G 4 A_Pain
    	Goto Spawn
	Pain.Taze:
		PLAY G 0 A_GiveInventory("DamageDummy", 1)
		PLAY G 0 A_Pain
		PLAY G 0 A_SetBlend("FF FF FF", 0.9, 28)
		PLAY G 1 ACS_ExecuteAlways(888, 0)
		goto See
	}
}

actor BulletCasing
{
  Projectile
  Radius 1
  Height 1
  Speed 9
  Scale 0.1
  DeathSound "Bulletcasing"
  -NOGRAVITY
  +DONTSPLASH
  +NOTRIGGER
  States
  {
   Spawn:
	BCAS ABCDEFGH 1
	loop
   Death:
	TNT1 A 1
	stop
  }
}

actor PointedBulletCasing
{
  Projectile
  Radius 1
  Height 1
  Speed 9
  Scale 0.04
  DeathSound "Bulletcasing"
  -NOGRAVITY
  +DONTSPLASH
  +NOTRIGGER
  States
  {
   Spawn:
	PCAS ABCDEFGH 1
	loop
   Death:
	TNT1 A 1
	stop
  }
}

actor ShellCasing
{
  Projectile
  Radius 1
  Height 1
  Speed 9
  Scale 0.2
  BounceCount 2
  BounceFactor 0.5
  ReactionTime 200
  SeeSound "BulletCasing"
  DeathSound "Shellcasing"
  -NOGRAVITY
  +HEXENBOUNCE
  +DONTSPLASH
  -ACTIVATEMCROSS
  -ACTIVATEPCROSS
  -ACTIVATEIMPACT
  States
  {
   Spawn:
	TNT1 A 0
	TNT1 A 0 A_StopSound
	SHE2 ABCDEF 1 A_CountDown
	goto Spawn+2
   Death:
	TNT1 A 0 A_Scream
	TNT1 A 0
	stop
  }
}

actor MunitionsBox : ExplosiveBarrel Replaces ExplosiveBarrel
{
  spawnid 125
  obituary "%o went boom."
  health 50
  radius 10
  height 34
  deathsound "world/barrelx"
  Mass 999999
  +SOLID
  +SHOOTABLE
  +NOBLOOD
  +DONTGIB
  +NOICEDEATH
  +NOTAUTOAIMED
  states
  {
  Spawn:
	BAR1 A -1
	loop
  Death:
	BAR1 A 2
	TNT1 A 0 bright A_Scream
	TNT1 A 0 bright A_Explode(64, 128, 0)
	TNT1 A 0 A_Fall
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion", 0, 0, 0, 0, 0, 0, 0, 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 AAAAAAA 5 A_SpawnItemEx ("RollingExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	NULL A 2100 A_BarrelDestroy
	NULL A 5 A_Respawn
	Wait
  }
}

actor RollingExplosion
{
  Radius 1
  Height 1
  Speed 0
  RenderStyle Translucent
  Scale 1.32
  -SOLID
  +NOGRAVITY
  +NODAMAGETHRUST
  +FORCEXYBILLBOARD
  States
  {
  Spawn:
   FIR2 ABCDEFGH 2 BRIGHT A_Explode(16, 76, 1)
   FIR2 IJKLMN 2 BRIGHT
   stop
  }
}

actor RollingExplosion3
{
  Radius 1
  Height 1
  Speed 0
  obituary "%o almost Dodged %k's rocket."
  Scale 1.32
  RenderStyle Translucent
  Alpha 0.9
  -SOLID
  +NOGRAVITY
  +NODAMAGETHRUST
  +FORCERADIUSDMG
  +FORCEXYBILLBOARD
  States
  {
  Spawn:
   FIR2 ABCDEFGH 2 BRIGHT A_Explode(16, 76, 1)
   FIR2 IJKLMN 2 BRIGHT
   stop
  }
}

actor GE64RocketTrail
{
  Projectile
  Radius 1
  Height 1
  Damage 0
  Speed 0
  Scale 0.1
  RenderStyle Translucent
  Alpha 0.5
  +NOCLIP
  States
  {
   Spawn:
   TNT1 A 0
   TNT1 A 2
   SMOK ABCDEFGHIJKLMNOPQ 2
   stop
  }
}

actor ExplosionSmoke
{
  Projectile
  Radius 1
  Height 1
  Damage 0
  Speed 0
  Scale 0.8
  RenderStyle Translucent
  Alpha 0.3
  +NOCLIP
  +FORCEXYBILLBOARD
  States
  {
   Spawn:
   SMO2 ABCDEFGHIJKLMNOPQ 10
   stop
  }
}

actor GE64Rocket : Rocket Replaces Rocket
{
  spawnid 127
  obituary "%k shoved a rocket up %o's Ass."
  radius 8
  height 8
  speed 6
  damage (60)
  DamageType Rocket
  seesound "weapons/rocklf"
  deathsound "weapons/rocklx"
  Decal BigScorch
  Gravity 0.02
  PROJECTILE
  -NOGRAVITY
  +RANDOMIZE
  -ROCKETTRAIL
  states
  {
  Spawn:
	MISL A 0
	MISL A 0 Thing_ChangeTID(0, 255)
	MISL A 0 A_ScaleVelocity(1.1)
	MISL A 1 A_SpawnItemEx("GE64RocketTrail", Random(-4,4), Random(-4,4), Random(-4,4), 0, 0, 0, 0, 128, 0)
	goto Spawn+2
  Death:
	MISL B 0 bright A_Explode
	TNT1 A 0 radius_quake(2, 10, 0, 3, 0)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris1", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-5, 5), Random(-5, 5), Random(-6, 7), Random(-360, 360), 128, 24)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris2", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-5, 5), Random(-5, 5), Random(-6, 7), Random(-360, 360), 128, 24)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris3", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-5, 5), Random(-5, 5), Random(-6, 7), Random(-360, 360), 128, 24)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris4", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-5, 5), Random(-5, 5), Random(-6, 7), Random(-360, 360), 128, 24)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris5", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-5, 5), Random(-5, 5), Random(-6, 7), Random(-360, 360), 128, 24)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris1", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-3, 3), Random(-3, 3), Random(1, 6), Random(-360, 360), 128, 24)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris2", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-3, 3), Random(-3, 3), Random(1, 6), Random(-360, 360), 128, 24)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris3", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-3, 3), Random(-3, 3), Random(1, 6), Random(-360, 360), 128, 24)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris4", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-3, 3), Random(-3, 3), Random(1, 6), Random(-360, 360), 128, 24)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris5", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-3, 3), Random(-3, 3), Random(1, 6), Random(-360, 360), 128, 24)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion3", 0, 0, 0, 0, 0, 0, 0, 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion3", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion3", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion3", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion3", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion3", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion3", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion3", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion3", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion3", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 AAAAAAA 5 A_SpawnItemEx ("RollingExplosion3", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	stop
  }
}

actor LaserTrail
{
  Projectile
  Speed 1
  Radius 4
  Height 4
  Damage 0
  RenderStyle Add
  Alpha 0.75
  Scale 0.5
  +NOGRAVITY
  States
  {
  Spawn:
   PLSS AB 1 BRIGHT A_Fadeout
   loop
  Death:
   TNT1 A 1
   stop
  }
}

actor LaserSpark
{
  renderstyle Add
  alpha 0.9
  +NOBLOCKMAP
  +NOGRAVITY
  -ALLOWPARTICLES
  +DONTSPLASH
  +FORCEXYBILLBOARD
  Scale 0.17
  states
  {
  Spawn:
	SPRK A 0
	SPRK A 0 A_SpawnItemEx("BulletSmoke", 0, 0, 0, 0, 0, 0, 0, 128, 0)
	SPRK A 0 A_SpawnItemEx("BulletHeat", 0, 0, 0, 0, 0, 0, 0, 128, 64)
	SPRK AAA 0 A_SpawnItemEx("Debris1", 0, 0, 0, Random(-1, 1), Random(-1, 1), Random(0, 2), Random(-360, 360), 128, 164)
	SPRK AAA 0 A_SpawnItemEx("Debris2", 0, 0, 0, Random(-1, 1), Random(-1, 1), Random(0, 2), Random(-360, 360), 128, 164)
	SPRK AAA 0 A_SpawnItemEx("Debris3", 0, 0, 0, Random(-1, 1), Random(-1, 1), Random(0, 2), Random(-360, 360), 128, 164)
	SPRK AAA 0 A_SpawnItemEx("Debris4", 0, 0, 0, Random(-1, 1), Random(-1, 1), Random(0, 2), Random(-360, 360), 128, 164)
	SPRK A 0 A_SpawnItemEx("Debris5", 0, 0, 0, Random(-1, 1), Random(-1, 1), Random(0, 2), Random(-360, 360), 128, 164)
	SPRK A 0 A_Jump(127, "Spawn2", "Spawn3", "Spawn4")
	SPRK ABCDE 1 bright
	stop
  Spawn2:
  	SPR2 ABCDE 1 bright
	stop
  Spawn3:
  	SPR3 ABCDE 1 bright
	stop
  Spawn4:
  	SPR4 ABCDE 1 bright
	stop
  Melee:
	PUFF CD 4
	stop
  }
}

ACTOR LaserBeam : FastProjectile Replaces PlasmaBall
{
	Decal BulletChip
	Game Doom
	SpawnID 51
	Radius 4
	Height 4
	Speed 100
	Damage (6)
	Projectile
	+RANDOMIZE
	+STRIFEDAMAGE
	+RIPPER
	RenderStyle Add
	Alpha 1.0
	Scale 0.5
	DeathSound "weapons/plasmax"
	Obituary "%o was fried by %k's laser."
	States
	{
	Spawn:
		PLSS AB 1 Bright A_SpawnItemEx("LaserTrail", 0, 0, 0, 0, 0, 0, 0, 128, 0)
		Loop
	Death:
	Crash:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("LaserSpark", 0, 0, 0, 0, 0, 0, 0, 128, 0)
		Stop
	XDeath:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("HitSpark", 0, 0, 0, 0, 0, 0, 0, 128, 0)
		Stop
	}
}

actor IrisTrail
{
 Radius 8
 Height 8
 Speed 0
 PROJECTILE
 States
 {
 Spawn:
   IRIS A 20
   stop
 Death:
   TNT1 A 0
   stop
 }
}

actor Iris
{
  Radius 8
  Height 8
  Speed 3
  SpawnID 255
  PROJECTILE
  States
  {
  Spawn:
	IRIS A 20 A_CustomMissile("IrisTrail", 0, 0, 0)
	loop
  Death:
	TNT1 A 0 ACS_Execute(2, 0)
	stop
  }
}

actor RollingExplosion2
{
  Radius 1
  Height 1
  Speed 0
  Scale 1.25
  Obituary "%o was engulfed by the flames from %k's grenade."
  RenderStyle Translucent
  Alpha 0.9
  -SOLID
  +NOGRAVITY
  +NODAMAGETHRUST
  +FORCEXYBILLBOARD
  States
  {
  Spawn:
   FIR2 ABCDEFGH 2 BRIGHT A_Explode(10, 56, 1)
   FIR2 IJKLMN 2 BRIGHT
   stop
  }
}

actor ExplosionSmoke2
{
  Projectile
  Radius 1
  Height 1
  Damage 0
  Speed 0
  Scale 0.6
  RenderStyle Translucent
  Alpha 0.3
  +NOCLIP
  +FORCEXYBILLBOARD
  States
  {
   Spawn:
   SMO2 ABCDEFGHIJKLMNOPQ 10
   stop
  }
}

actor GE64GrenadeTrail
{
  Projectile
  Radius 1
  Height 1
  Damage 0
  Speed 0
  Scale 0.08
  RenderStyle Add
  Alpha 0.6
  +NOCLIP
  States
  {
   Spawn:
   TNT1 A 0
   TNT1 A 2
   SMOK ABCDEFGHIJKLMNOPQ 1
   stop
  }
}

actor GE64Grenade Replaces Grenade
{
  Radius 8
  Height 8
  PROJECTILE
  Speed 25
  Damage (40)
  BounceCount 3
  BounceFactor 0.5
  Gravity 0.6
  DamageType Grenade
  BounceType Hexen
  -NOGRAVITY
  BounceSound "weapons/grbnce"
  States
  {
  Spawn:
	SGRN A 1 A_SpawnItemEx("GE64GrenadeTrail", Random(-2,2), Random(-2,2), Random(-2,2), 0, 0, 0, 0, 128, 0)
	loop
  Death:
	MISL B 0 bright A_Explode(64, 128, 1)
	MISL B 0 A_NoGravity
	TNT1 A 0 radius_quake(2, 10, 0, 3, 0)
	TNT1 A 0 A_PlaySoundEx("world/barrelx", "Auto", 0)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris1", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-5, 5), Random(-5, 5), Random(-6, 7), Random(-360, 360), 128, 24)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris2", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-5, 5), Random(-5, 5), Random(-6, 7), Random(-360, 360), 128, 24)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris3", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-5, 5), Random(-5, 5), Random(-6, 7), Random(-360, 360), 128, 24)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris4", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-5, 5), Random(-5, 5), Random(-6, 7), Random(-360, 360), 128, 24)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris5", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-5, 5), Random(-5, 5), Random(-6, 7), Random(-360, 360), 128, 24)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris1", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-3, 3), Random(-3, 3), Random(1, 6), Random(-360, 360), 128, 24)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris2", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-3, 3), Random(-3, 3), Random(1, 6), Random(-360, 360), 128, 24)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris3", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-3, 3), Random(-3, 3), Random(1, 6), Random(-360, 360), 128, 24)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris4", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-3, 3), Random(-3, 3), Random(1, 6), Random(-360, 360), 128, 24)
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris5", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-3, 3), Random(-3, 3), Random(1, 6), Random(-360, 360), 128, 24)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion2", 0, 0, 0, 0, 0, 0, 0, 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion2", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion2", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion2", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion2", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion2", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion2", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion2", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion2", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
	TNT1 A 3 A_SpawnItemEx ("RollingExplosion2", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	TNT1 AAAAAAA 5 A_SpawnItemEx ("RollingExplosion2", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
	stop
  }
}

actor RollingExplosion4
{
  Radius 1
  Height 1
  Speed 0
  Obituary "%o didn't know the prop %g shot was loaded with C4."
  RenderStyle Translucent
  Alpha 0.9
  -SOLID
  +NOGRAVITY
  +NODAMAGETHRUST
  +FORCEXYBILLBOARD
  States
  {
  Spawn:
   FIR2 ABCDEFGH 2 BRIGHT A_Explode(2, 18, 1)
   FIR2 IJKLMN 2 BRIGHT
   stop
  }
}

ACTOR HangingMonitor 19992
{
	Game Doom
	Health 60
	Radius 16
	Height 68
	Mass 9999999
	Obituary "%o didn't know the monitor %g shot was loaded with C4."
	+SOLID
	+NOGRAVITY
	+NOBLOOD
	+SHOOTABLE
	+SPAWNCEILING
	+NOTAUTOAIMED
	States
	{
	Spawn:
	  HMON ABC 6
	  Loop
	Death:
	  MISL B 0 A_Playsound("world/barrelx")
	  MISL B 0 bright A_Explode(16, 48, 0)
	  MISL B 0 A_NoGravity
	  MISL B 0 A_NoBlocking
	  TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris1", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(0, 5), Random(0, 5), Random(0, 5), Random(-360, 360), 128, 24)
	  TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris2", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(0, 5), Random(0, 5), Random(0, 5), Random(-360, 360), 128, 24)
	  TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris3", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(0, 5), Random(0, 5), Random(0, 5), Random(-360, 360), 128, 24)
	  TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris4", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(0, 5), Random(0, 5), Random(0, 5), Random(-360, 360), 128, 24)
	  TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris5", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(0, 5), Random(0, 5), Random(0, 5), Random(-360, 360), 128, 24)
	  TNT1 A 3 A_SpawnItemEx ("RollingExplosion4", 0, 0, 0, 0, 0, 0, 0, 0, 0)
	  TNT1 AAAAAAAAA 3 A_SpawnItemEx ("RollingExplosion4", Random(-16, 16), Random(-16, 16), Random(0, 24), 0, 0, 0, Random(-360, 360), 0, 0)
	  TNT1 AAAAAAA 5 A_SpawnItemEx ("RollingExplosion4", Random(-16, 16), Random(-16, 16), Random(0, 24), 0, 0, 0, Random(-360, 360), 0, 0)
	  NULL A 6300
	  TNT1 A 0 A_SpawnItem("TeleportFog")
	  TNT1 A 0 A_SpawnItem("HangingMonitor")
	  stop
	}
}

ACTOR Tazer : Weapon Replaces Chainsaw
{
	Weapon.SelectionOrder 5700
	Weapon.Kickback 00
	Obituary "%o sez: Don't taze me %k!"
	Weapon.AmmoType "None"
	Weapon.AmmoType2 "None"
	Weapon.AmmoUse1 0
	Weapon.AmmoUse2 0
	Inventory.PickupMessage "Tazer"
	+WEAPON.WIMPY_WEAPON
	+WEAPON.MELEEWEAPON
	//+WEAPON.ALLOW_WITH_RESPAWN_INVUL
	Scale 0.5
	States
	{
	Ready:
		TAZE A 1 A_WeaponReady
		Loop
	Deselect:
		TAZE A 1 A_Lower
		TNT1 A 0 A_Lower
		TNT1 A 0 A_Lower
		Loop
	Select:
		TAZE A 1 A_Raise
		TNT1 A 0 A_Raise
		TNT1 A 0 A_Raise
		Loop
	Fire:
		TAZE BCDEF 2
		TAZE G 0 A_PlayWeaponSound("Tazer")
		TAZE G 0 A_Recoil(-1)
		TAZE GGGG 1 A_CustomPunch (3, 1, 0, "TazerZap", 126)
		TAZE G 2 A_CustomPunch (3, 1, 0, "TazerZap", 126)
		TAZE HIJ 2
		TAZE A 10
		TAZE A 0 A_ReFire
		Goto Ready
	Altfire:
		KNIF A 1 A_SelectWeapon("HuntingKnife")
		goto Ready
	Spawn:
		TAZP A -1
		loop
	}
}

actor TazerZap
{
  renderstyle Add
  alpha 0.9
  +NOBLOCKMAP
  +NOGRAVITY
  -ALLOWPARTICLES
  +PUFFONACTORS
  DamageType Taze
  States
  {
  Spawn:
   TZOT ABCD 1 BRIGHT
   stop
  }
}

Actor BodyArmor1 : BasicArmorPickup // Replaces BlueArmor
{
	Game Doom
	SpawnID 69
	Radius 20
	Height 16
	Scale 0.85
	Inventory.Pickupmessage "Body Armor"
	Inventory.Icon "ARM2A0"
	Armor.Savepercent 99.9999
	Armor.Saveamount 100
	States
	{
	Spawn:
		ARM2 A -1
		loop
	}
}

actor BodyArmorPickup : CustomInventory Replaces BlueArmor
{
  Radius 20
  Height 16
  Scale 0.85
  inventory.pickupmessage "Body Armor"
  inventory.pickupsound "misc/armor_pkup"
  +INVENTORY.AUTOACTIVATE
  states
  {
  Spawn:
	ARM2 A -1
	loop
  Use:
  	TNT1 A 0 A_GiveInventory("DamageDummy", 1)
  	stop
  Pickup:
    TNT1 A 0 A_GiveInventory("BodyArmor1", 1)
    stop
  }
}

actor StimpackPickup : CustomInventory Replaces Stimpack
{
  inventory.pickupmessage "Health Boost +10"
  Inventory.PickupSound "misc/health_pkup"
  +INVENTORY.AUTOACTIVATE
  states
  {
  Spawn:
	STIM A -1
	loop
  Use:
  	TNT1 A 0 A_GiveInventory("DamageDummy", 1)
  	stop
  Pickup:
    TNT1 A 0 A_GiveInventory("Health", 10)
    stop
  }
}

actor MedikitPickup : CustomInventory Replaces Medikit
{
  inventory.pickupmessage "Health Boost +20"
  Inventory.PickupSound "misc/health_pkup"
  +INVENTORY.AUTOACTIVATE
  states
  {
  Spawn:
	MEDI A -1
	loop
  Use:
  	TNT1 A 0 A_GiveInventory("DamageDummy", 1)
  	stop
  Pickup:
    TNT1 A 0 A_GiveInventory("Health", 20)
    stop
  }
}

// *************************************************


actor ThrownKnife
{
 Projectile
 Radius 8
 Height 8
 Damage (75)
 Speed 42
 Scale 0.5
 Obituary "%o gets a throwing knife up %p ass by %k."
 BounceCount 3
 SeeSound "KnifeBounce"
 +HEXENBOUNCE
 +BLOODSPLATTER
 -BLOODLESSIMPACT
 States
 {
 Spawn:
  TKNI A 0
  TKNI A 0 A_StopSound
  TKNI A 0 Thing_ChangeTID(0, 255)
  TKNI ABCD 2
  TKNI EFGH 2 A_Gravity
  TKNI A 0 A_PlaySound("KnifeSwing")
  TKNI A 0
  goto Spawn+3
 Death:
  TNT1 A 0
  TNT1 A 0 A_SpawnItem("KnifePickup", 8)
  TNT1 A 1
  stop
 XDeath:
  TNT1 A 0
  TNT1 A 0 A_PlaySound("FleshHit")
  //TNT1 A 0 A_SpawnItem("KnifePickup", 8)
  TNT1 A 1
  stop
 }
}

actor BulletSmoke
{
  Projectile
  Radius 1
  Height 1
  Damage 0
  Speed 0
  Scale 0.06
  RenderStyle Add
  Alpha 0.8
  +NOCLIP
  States
  {
   Spawn:
   SMOK A 0
   SMOK A 0 ThrustThingZ(0, 1, 0, 0)
   SMOK ABCDEFGHIJKLMNOPQ 2
   stop
  }
}

actor BulletSmoke2 : BulletSmoke
{
  Alpha 0.2
  States
  {
   Spawn:
   SMOK ABCDEFGHIJKLMNOPQ 3
   stop
  }
}

actor GEBlood : Blood Replaces Blood
{
  States
  {
  Spawn:
   TNT1 AAA 0
   TNT1 A 0 A_PlaySound("FleshHit")
   TNT1 AA 0 A_SpawnItemEx("Bloodsplatter", 0, 0, 0, Random(-2,2), Random(-2,2), Random(-1,1), Random(-360, 360), 129, 0)
   TNT1 AA 1
   stop
  }
}

actor BloodSplatterTrail
{
 Radius 1
 Height 1
 Speed 0
 RenderStyle Translucent
 Alpha 0.9
 Scale 0.3
 +NOCLIP
 States
 {
  Spawn:
   BLUD CBA 2
   stop
 }
}

actor Bloodsplatterscaled : Bloodsplatter Replaces BloodSplatter
{
 Scale 0.5
 RenderStyle Translucent
 Alpha 0.9
 +CORPSE
 +NOCLIP
 -NOGRAVITY
 States
 {
  Spawn:
   BLUD C 0
   BLUD CCCC 1 A_SpawnItemEx("BloodsplatterTrail", 0, 0, 0, 0, 0, 0, 0, 129, 0)
   BLUD BBBB 1 A_SpawnItemEx("BloodsplatterTrail", 0, 0, 0, 0, 0, 0, 0, 129, 0)
   BLUD AAAA 1 A_SpawnItemEx("BloodsplatterTrail", 0, 0, 0, 0, 0, 0, 0, 129, 0)
   stop
  Crash:
   BLUD E 0 A_SpawnItemEx("BloodsplatterPool", 0, 0, 0, 0, 0, 0, 0, 129, 0)
   stop
 }
}

actor BloodSplatterPool
{
 Radius 1
 Height 1
 Speed 0
 RenderStyle Translucent
 Alpha 0.7
 Scale 0.4
 +NOCLIP
 States
 {
  Spawn:
   BLUD E 700
   BLUD E 5 A_FadeOut
   goto Spawn+1
 }
}

actor ForestTree1 11100
{
height 128
radius 16
+SOLID
States
{
Spawn:
1TRE A -1
loop
}
}

actor BigSatellite 19731
{
height 156
radius 128
Scale 3.0
+SOLID
States
{
Spawn:
SATT A -1
loop
}
}

actor CyclonePlasma : FastProjectile
{
 Projectile
 Speed 140
 Damage (12)
 Radius 2
 Height 2
 Scale 0.4
 RenderStyle Add
 Alpha 1.0
 SeeSound "CycloneFire"
 States
 {
 Spawn:
  TPLA A 1 BRIGHT //A_SpawnItemEX("CyclonePlasmaTrail", 0, 0, 0, 0, 0, 0, 0, 128, 0)
  loop
 Crash:
 Death:
  TPLA BB 0 BRIGHT A_SpawnItemEX("CycloneSpark", 0, 0, 0, Random(-3,3), Random(-3,3), Random(-6,6), 0, 128, 0)
  TPLA BCD 2 BRIGHT A_SpawnItemEX("CycloneSpark", 0, 0, 0, Random(-3,3), Random(-3,3), Random(-6,6), 0, 128, 0)
  stop
 XDeath:
  TNT1 AA 0 BRIGHT A_SpawnItemEX("CycloneSpark", 0, 0, 0, Random(-3,3), Random(-3,3), Random(-6,6), 0, 128, 0)
  TNT1 A 0 A_SpawnItemEx("GEBlood", 0, 0, 0, 0, 0, 0, 0, 128, 0)
  TNT1 AAA 2 BRIGHT A_SpawnItemEX("CycloneSpark", 0, 0, 0, Random(-3,3), Random(-3,3), Random(-6,6), 0, 128, 0)
  stop
 }
}

actor CyclonePlasmaTrail
{
  Radius 1
  Height 1
  Speed 0
  Scale 0.4
  RenderStyle Add
  +NOCLIP
  +NOGRAVITY
  +DONTSPLASH
  States
  {
  Spawn:
	TPLA AA 0 BRIGHT A_FadeOut
	TPLA A 1 BRIGHT A_FadeOut
	loop
  Death:
   TNT1 A 1
   stop
  }
}

actor CycloneSpark
{
  Projectile
  Radius 1
  Height 1
  Speed 0
  Scale 0.1
  RenderStyle Add
  ReactionTime 10
  -NOGRAVITY
  +HEXENBOUNCE
  +DONTSPLASH
  States
  {
  Spawn:
	TPLA A 1 BRIGHT A_CountDown
	TPLA A 0 BRIGHT A_SpawnItemEX("CycloneSparkTrail", 0, 0, 0, 0, 0, 0, 0, 128, 0)
	loop
  Death:
   TPLA A 1 A_Fadeout
   loop
  }
}

actor CycloneSparkTrail
{
  Radius 1
  Height 1
  Speed 0
  Scale 0.1
  RenderStyle Add
  +NOCLIP
  +NOGRAVITY
  +DONTSPLASH
  States
  {
  Spawn:
	TPLA A 0 BRIGHT A_FadeOut
	TPLA A 1 BRIGHT A_FadeOut
	loop
  Death:
   TNT1 A 1
   stop
  }
}

ACTOR Snow
{
	Radius 1
	Height 1
	Speed 0
	Damage 0
	Gravity 0.07
	+NOBLOCKMAP
	+DROPOFF
	+MISSILE
	+NOTELEPORT
	+ACTIVATEIMPACT
	+ACTIVATEPCROSS
	+DONTSPLASH
	+FORCEXYBILLBOARD
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		SNOW A 1
		Loop
	Death:
		TNT1 A 1
		Stop
	}
}

actor Snowing1536 16000
{
	Radius 1536
	Height 1
	Speed 0
	Mass 9999999
	+SPAWNCEILING
	+NOGRAVITY
	+CORPSE
	States
	{
	Spawn:
		TNT1 A 1 A_SpawnItemEX("Snow", Random(-484,484), Random(-484,484), 0, Random(-2,2), Random(-2,2), 0, Random(-360,360), 128, 0)
		Loop
	}
}

actor Teleparticle
{
 Projectile
 Radius 1
 Height 1
 Damage 0
 Speed 0
 Renderstyle Add
 Alpha 0.8
 +NOCLIP
 States
 {
  Spawn:
   TELE ABC 5 BRIGHT
   stop
  Death:
   TNT1 A 1
   stop
 }
}

actor TeleportNew : TeleportFog Replaces TelePortFog
{
 States
 {
 Spawn:
  TNT1 AAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx ("Teleparticle", Random(-24, 24), Random(-24, 24), Random(-8, 32), 0, 0, Random(2,4), 0, 128, 0)
  stop
 }
}

ACTOR ExplodingChair 19993
{
	Game Doom
	Health 60
	Radius 16
	Height 32
	Mass 9999999
	Obituary "%o didn't know the Chair %g shot was loaded with C4."
	+SOLID
	+NOBLOOD
	+SHOOTABLE
	+NOTAUTOAIMED
	States
	{
	Spawn:
	  CHAI A -1
	  Loop
	Death:
	  CHAI B 0 A_Playsound("world/barrelx")
	  CHAI B 0 bright A_Explode(16, 48, 0)
	  CHAI B 0 A_NoGravity
	  CHAI B 0 A_NoBlocking
	  CHAI BBBBBBBBBBBB 0 A_SpawnItemEx("Debris1", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(0, 5), Random(0, 5), Random(0, 5), Random(-360, 360), 128, 24)
	  CHAI BBBBBBBBBBBB 0 A_SpawnItemEx("Debris2", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(0, 5), Random(0, 5), Random(0, 5), Random(-360, 360), 128, 24)
	  CHAI BBBBBBBBBBBB 0 A_SpawnItemEx("Debris3", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(0, 5), Random(0, 5), Random(0, 5), Random(-360, 360), 128, 24)
	  CHAI BBBBBBBBBBBB 0 A_SpawnItemEx("Debris4", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(0, 5), Random(0, 5), Random(0, 5), Random(-360, 360), 128, 24)
	  CHAI BBBBBBBBBBBB 0 A_SpawnItemEx("Debris5", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(0, 5), Random(0, 5), Random(0, 5), Random(-360, 360), 128, 24)
	  CHAI B 3 A_SpawnItemEx ("RollingExplosion4", 0, 0, 0, 0, 0, 0, 0, 0, 0)
	  CHAI BBBBBBBBB 3 A_SpawnItemEx ("RollingExplosion4", Random(-16, 16), Random(-16, 16), Random(0, 24), 0, 0, 0, Random(-360, 360), 0, 0)
	  CHAI BBBBBBB 5 A_SpawnItemEx ("RollingExplosion4", Random(-16, 16), Random(-16, 16), Random(0, 24), 0, 0, 0, Random(-360, 360), 0, 0)
	  CHAI B 6300
	  NULL A 0 A_SpawnItem("TeleportFog")
	  NULL A 0 A_SpawnItem("ExplodingChair")
	  stop
	}
}

actor GlassSpawner 15432
{
	Radius 1
	Height 1
	Health 1000
	Speed 0
	+NOCLIP
	+NOGRAVITY
	var int user_hits;
	States
	{
		Spawn:
			TNT1 A 0
			TNT1 A 0 A_SetUserVar("user_hits", 3)
			TNT1 A 0 ACS_NamedExecuteAlways("SET_GLASS", 0, tid)
			goto WaitForBreakage
		WaitForBreakage:
			TNT1 A -1
			loop
		Shatter:
			TNT1 A 0 A_PlaySound("GlassBreak", CHAN_AUTO)
			TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("BrokenGlass", frandom(-8.0, 8.0), frandom(-8.0, 8.0), frandom(-8.0, 8.0), frandom(-3.0, 3.0), frandom(-3.0, 3.0), frandom(-3.0, 8.0), 0, 128, 0)
			TNT1 A 2100
			goto Spawn 
	}
}

actor BrokenGlass
{
 Radius 1
 Height 1
 Projectile
 Speed 0
 ReactionTime 96
 Gravity 0.8
 Scale 0.4
 RenderStyle Translucent
 Alpha 0.5
 BounceCount 6
 BounceFactor 0.7
 -NOGRAVITY
 +HEXENBOUNCE
 -ACTIVATEMCROSS
 -ACTIVATEPCROSS
 -ACTIVATEIMPACT
 States
 {
  Spawn:
   TNT1 A 0
   GLSH A 0 A_Jump(127, "Spawn2", "Spawn3")
   GLSH A 1 A_CountDown
   goto Spawn+2
  Spawn2:
   GLSH B 1 A_CountDown
   loop
  Spawn3:
   GLSH C 1 A_CountDown
   loop
  Death:
   GLSH B 1 A_FadeOut(0.01)
   loop
 }
}

actor ProxExplosion
{
  Radius 1
  Height 1
  Speed 0
  Scale 1.25
  obituary "%o couldn't get away from %k's mine soon enough."
  RenderStyle Translucent
  Alpha 0.9
  -SOLID
  +NOGRAVITY
  +NODAMAGETHRUST
  +FORCERADIUSDMG
  +FORCEXYBILLBOARD
  States
  {
  Spawn:
   FIR2 ABCDEFGH 2 BRIGHT A_Explode(10, 76, 1)
   FIR2 IJKLMN 2 BRIGHT
   stop
  }
}

actor ProxProj
{
	radius 6
	height 6
	health 5
	damage 0
	speed 24
	scale 0.3
	mass 9999999
	obituary "%o didn't see %k's proximity mine."
	SeeSound "ProxThrow"
	PROJECTILE
	+SHOOTABLE
	+GHOST
	+NOBLOOD
	+EXTREMEDEATH
	+SEEKERMISSILE
	+THRUGHOST
	+NOTAUTOAIMED
	+NOTRIGGER
	+LOOKALLAROUND
	-NOBLOCKMAP
	-NOLIFTDROP
	-NOGRAVITY
	bouncefactor 0
	states
	{
		Spawn:
			PROX A 0
			PROX A 0 A_UnSetShootable
			goto SpawnLoop
		SpawnLoop:
			PROX A 1
			loop
		Death:
			PROX A 0 A_JumpIfHealthLower(1, "Explode")
			PROX A 0 A_PlaySound("Proxhit")
			PROX A 0 A_RearrangePointers(AAPTR_NULL, AAPTR_NULL, AAPTR_TARGET, 0) 
			PROX A 0 A_SetShootable
			PROX A 0 A_CheckFloor("FloorDeath")
			PROX A 0 A_NoGravity
			PROX A 0 A_CheckCeiling("CeilingDeath")
			PROX A 0 ACS_NamedExecuteWithResult("MINESTICK", 0)
			goto StuckToWall
		StuckToWall:
			PROX C 32
			PROX C 2 A_LookEx(LOF_NOSOUNDCHECK | LOF_NOJUMP | LOF_NOSEESOUND, 0, 128, 0, 360, "")
			PROX C 0 A_JumpIfCloser(128.0, "Detonate")
			goto StuckToWall+1
		FloorDeath:
			PROX B 32 A_Gravity
			PROX B 2 A_LookEx(LOF_NOSOUNDCHECK | LOF_NOJUMP | LOF_NOSEESOUND, 0, 128, 0, 360, "") 
			PROX B 0 A_JumpIfCloser(128.0, "Detonate")
			goto FloorDeath+1
		CeilingDeath:
			PROX D 32
			PROX D 2 A_LookEx(LOF_NOSOUNDCHECK | LOF_NOJUMP | LOF_NOSEESOUND, 0, 128, 0, 360, "") 
			PROX D 0 A_JumpIfCloser(128.0, "Detonate")
			goto CeilingDeath+1
		XDeath:
			PROX A 0 A_JumpIfHealthLower(1, "Explode")
		FallToGround:
			PROX A 0 A_Gravity
			PROX A 0 A_SetShootable
			PROX A 0 A_PlaySound("weapons/grbnce")
			goto FallLoop
		FallLoop:
			PROX A 1
			PROX A 0 A_CheckFloor("FloorDeath")
			PROX A 0 A_JumpIfHealthLower(1, "Explode")
			loop
		
		Detonate:
			PROX "#" 0 A_RearrangePointers(AAPTR_TRACER, AAPTR_NULL, AAPTR_NULL, 0) 
			PROX "#" 0 A_UnSetShootable
			PROX "#" 0 A_UnsetSolid
			PROX "#" 0 A_NoGravity
			PROX "#" 16 A_PlaySound("ProxBeep")
			goto Explode
			
		Explode:
			TNT1 A 0 A_Fall
			TNT1 A 0 A_UnsetSolid
			TNT1 A 0 A_NoGravity
			TNT1 A 0 A_Stop
			TNT1 A 0 bright A_PlaySound("world/barrelx")
			TNT1 A 0 bright A_Explode(64, 128, 1)
			TNT1 A 0 A_NoGravity
			TNT1 A 3 A_SpawnItemEx ("ProxExplosion", 0, 0, 0, 0, 0, 0, 0, 0, 0)
			TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
			TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
			TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
			TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
			TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
			TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
			TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
			TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
			TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
			TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
			TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
			TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
			TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
			TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
			TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
			TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
			TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
			TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
			TNT1 AAAAAAA 5 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
			stop
	}
}

ACTOR RemoteMine
{
	PROJECTILE
	+SHOOTABLE
	+GHOST
	+NOBLOOD
	+EXTREMEDEATH
	+SEEKERMISSILE
	+THRUGHOST
	+NOTAUTOAIMED
	+NOTRIGGER
	-NOBLOCKMAP
	-NOLIFTDROP
	-NOGRAVITY
	mass 9999999
	SpawnID 234
	Obituary "%k detonated a remote mine in %o's face."
	Health 5
	Damage 0
	Speed 24
	Scale 0.3
	Radius 6
	Height 6
	SeeSound "ProxThrow"
	Renderstyle Normal
	var int user_detonated;
	States
	{
	Spawn:
	  RMIN A 0
	  RMIN A 0 A_UnSetShootable
	  goto SpawnLoop
	SpawnLoop:
	  RMIN A 1 A_JumpIfInTargetInventory("Detonator", 1, "AirDetonate")
	  loop
	Death:
	  RMIN A 0 A_JumpIfHealthLower(1, "Explode")
	  RMIN A 0 A_JumpIf(user_detonated == 1, "Explode")
	  RMIN A 0 A_PlaySound("Proxhit", CHAN_AUTO)
	  RMIN A 0 A_SetShootable
	  RMIN A 0 A_CheckFloor("FloorDeath")
	  RMIN A 0 A_NoGravity
	  RMIN A 0 A_CheckCeiling("CeilingDeath")
	  RMIN A 0 ACS_NamedExecuteWithResult("MINESTICK", 0)
	  goto StuckToWall
	StuckToWall:
	  RMIN C 1 A_JumpIfInTargetInventory("Detonator", 1, "Detonate")
	  loop
	FloorDeath:
	  RMIN B 0 A_Gravity
	  RMIN B 1 A_JumpIfInTargetInventory("Detonator", 1, "Detonate")
	  goto FloorDeath+1
	CeilingDeath:
	  RMIN D 1 A_JumpIfInTargetInventory("Detonator", 1, "Detonate")
	  loop
	XDeath:
	  RMIN A 0 A_JumpIfHealthLower(1, "Explode")
	FallToGround:
	  RMIN A 0 A_Gravity
	  RMIN A 0 A_SetShootable
	  RMIN A 0 A_PlaySound("weapons/grbnce")
	  goto FallLoop
	FallLoop:
	  RMIN A 1 A_JumpIfInTargetInventory("Detonator", 1, "AirDetonate")
	  RMIN A 0 A_CheckFloor("FloorDeath")
	  loop
	Detonate:
		RMIN "#" 0 A_UnsetShootable
		RMIN "#" 0 A_UnsetSolid
		RMIN "#" 0 A_PlaySound("ProxBeep", CHAN_AUTO)
		RMIN "#" 0 A_SetUserVar("user_detonated", 1)
		RMIN "#" 8 A_SetTics(random(8, 16))
		goto Explode
	AirDetonate:
		RMIN "#" 0 A_UnsetShootable
		RMIN "#" 0 A_UnsetSolid
		RMIN "#" 0 A_PlaySound("ProxBeep", CHAN_AUTO)
		RMIN "#" 0 A_SetUserVar("user_detonated", 1)
		RMIN "#" 4
		goto Explode
	Explode:
		TNT1 A 0 A_Fall
		TNT1 A 0 A_UnsetSolid
		TNT1 A 0 A_UnsetShootable
		TNT1 A 0 A_NoGravity
		TNT1 A 0 A_Stop
		TNT1 A 0 bright A_PlaySound("world/barrelx", CHAN_AUTO)
		TNT1 A 0 bright A_Explode(72, 128, 1)
		TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 AAAAAAA 5 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		stop
	}
}

ACTOR TimedMine
{
	PROJECTILE
	+SHOOTABLE
	+GHOST
	+NOBLOOD
	+EXTREMEDEATH
	+SEEKERMISSILE
	+THRUGHOST
	+NOTAUTOAIMED
	+NOTRIGGER
	-NOBLOCKMAP
	-NOLIFTDROP
	-NOGRAVITY
	mass 9999999
	Obituary "%o's time was cut short by %k's timed mine."
	Health 5
	Damage 0
	Speed 24
	Scale 0.3
	Radius 6
	Height 6
	SeeSound "ProxThrow"
	Renderstyle Normal
	Args 140
	States
	{
	Spawn:
	  RMIN A 0
	  RMIN A 0 A_UnSetShootable
	  goto SpawnLoop
	SpawnLoop:
	  RMIN A 1 A_CountdownArg(0, "Explode")
	  loop
	Death:
	  RMIN A 0 A_JumpIfHealthLower(1, "Explode")
	  RMIN A 0 A_PlaySound("Proxhit", CHAN_AUTO)
	  RMIN A 0 A_SetShootable
	  RMIN A 0 A_CheckFloor("FloorDeath")
	  RMIN A 0 A_NoGravity
	  RMIN A 0 A_CheckCeiling("CeilingDeath")
	  RMIN A 0 ACS_NamedExecuteWithResult("MINESTICK", 0)
	  goto StuckToWall
	StuckToWall:
	  RMIN C 1 A_CountdownArg(0, "Explode")
	  loop
	FloorDeath:
	  RMIN B 0 A_Gravity
	  RMIN B 1 A_CountdownArg(0, "Explode")
	  goto FloorDeath+1
	CeilingDeath:
	  RMIN D 1 A_CountdownArg(0, "Explode")
	  loop
	XDeath:
	  RMIN A 0 A_JumpIfHealthLower(1, "Explode")
	FallToGround:
	  RMIN A 0 A_Gravity
	  RMIN A 0 A_SetShootable
	  RMIN A 0 A_PlaySound("weapons/grbnce")
	  goto FallLoop
	FallLoop:
	  RMIN A 1 A_CountdownArg(0, "Explode")
	  RMIN A 0 A_CheckFloor("FloorDeath")
	  loop
	Explode:
		TNT1 A 0 A_Fall
		TNT1 A 0 A_UnsetSolid
		TNT1 A 0 A_UnsetShootable
		TNT1 A 0 A_NoGravity
		TNT1 A 0 A_Stop
		TNT1 A 0 bright A_PlaySound("world/barrelx", CHAN_AUTO)
		TNT1 A 0 bright A_Explode(128, 128, 1)
		TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 AAAAAAA 5 A_SpawnItemEx ("ProxExplosion", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		stop
	}
}

actor HandGrenade
{
	Radius 6
	Height 6
	PROJECTILE
	Speed 20
	Damage (0)
	Scale 0.6
	BounceCount 3
	BounceFactor 0.5
	Gravity 0.6
	DamageType Grenade
	BounceType Hexen
	+BOUNCEONACTORS
	+BOUNCEAUTOOFFFLOORONLY
	+CANPASS
	-NOGRAVITY
	SeeSound "ProxThrow"
	BounceSound "weapons/grbnce"
	States
	{
	Spawn:
		SGRN A 1 NoDelay ACS_NamedExecuteWithResult("GRENADETIMER", 0)
		goto SpawnLoop
	SpawnLoop:
		SGRN A 1 A_GiveInventory("GrenadeTimer", 1)
		SGRN A 0 A_JumpIfInventory("GrenadeTimer", 140, "Explode")
		loop
	Death:
		SGRN B 1 A_GiveInventory("GrenadeTimer", 1)
		SGRN B 0 A_JumpIfInventory("GrenadeTimer", 140, "Explode")
		loop
	Explode:
		TNT1 A 0 A_Stop
		TNT1 A 0 bright A_Explode(132, 132, 1)
		TNT1 A 0 A_NoGravity
		TNT1 A 0 radius_quake(2, 10, 0, 3, 0)
		TNT1 A 0 A_PlaySoundEx("world/barrelx", "Auto", 0)
		TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris1", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-5, 5), Random(-5, 5), Random(-6, 7), Random(-360, 360), 128, 24)
		TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris2", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-5, 5), Random(-5, 5), Random(-6, 7), Random(-360, 360), 128, 24)
		TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris3", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-5, 5), Random(-5, 5), Random(-6, 7), Random(-360, 360), 128, 24)
		TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris4", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-5, 5), Random(-5, 5), Random(-6, 7), Random(-360, 360), 128, 24)
		TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris5", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-5, 5), Random(-5, 5), Random(-6, 7), Random(-360, 360), 128, 24)
		TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris1", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-3, 3), Random(-3, 3), Random(1, 6), Random(-360, 360), 128, 24)
		TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris2", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-3, 3), Random(-3, 3), Random(1, 6), Random(-360, 360), 128, 24)
		TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris3", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-3, 3), Random(-3, 3), Random(1, 6), Random(-360, 360), 128, 24)
		TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris4", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-3, 3), Random(-3, 3), Random(1, 6), Random(-360, 360), 128, 24)
		TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("Debris5", Random(-8, 8), Random(-8, 8), Random(-8, 8), Random(-3, 3), Random(-3, 3), Random(1, 6), Random(-360, 360), 128, 24)
		TNT1 A 3 A_SpawnItemEx ("RollingExplosion2", 0, 0, 0, 0, 0, 0, 0, 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("RollingExplosion2", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("RollingExplosion2", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("RollingExplosion2", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("RollingExplosion2", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("RollingExplosion2", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("RollingExplosion2", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("RollingExplosion2", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("RollingExplosion2", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionSmoke2", Random(-44, 44), Random(-44, 44), Random(0, 38), 0, 0, 0, 0, 128, 0)
		TNT1 A 3 A_SpawnItemEx ("RollingExplosion2", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		TNT1 AAAAAAA 5 A_SpawnItemEx ("RollingExplosion2", Random(-24, 24), Random(-24, 24), Random(0, 38), 0, 0, 0, Random(-360, 360), 0, 0)
		stop
	}
}
