//==============================================================================
// Teleport fog
//==============================================================================

ACTOR TeleportT : TeleportFog replaces TeleportFog
{
	+NOBLOCKMAP
	+NOTELEPORT
	+NOGRAVITY
	RenderStyle Add
	States
	{
	Spawn:
		NZTG ABCDEFGHIJ 1 NODELAY A_SpawnItem("GunSmokeSpawner",0,5,0,0)
		Stop
	}
}

//==============================================================================
// Explosions
//==============================================================================

ACTOR Detonation
{
	Radius 128
	Height 64
	+RANDOMIZE
	+DEHEXPLOSION
	+NOGRAVITY
	Renderstyle Add
	Alpha 1.75
	SeeSound ""
	DeathSound "misc/explosion"
	Obituary "BOOM!"
	States
	{
	Spawn:
	Death:
		TNT1 A 0 A_SetScale(1.5)
		TNT1 A 0 A_Explode(128,128)
		TNT1 A 0 A_PlaySound("weapons/explosion/ear",5,1,0,1)
		TNT1 A 0 A_SpawnItemEx("DetectFloorCrater",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_MissileAttack
		TNT1 A 0 Radius_Quake (3, 25, 0, 15, 0)
		TNT1 A 0 A_SpawnDebris("BulletSparks")
		TNT1 AAAAAAAAAAAAAAA 0 A_CustomMissile("GunSmokeSpawner")
		COOM ABCDEFGHIJJKKLLMNNNOOOPPPQQRRSSTTTUUUVVVXXX 1 BRIGHT 
		Stop
	}
}

ACTOR Detonation2 // barrel
{
	Radius 128
	Height 64
	+RANDOMIZE
	+DEHEXPLOSION
	+NOGRAVITY
	Decal Scorch
	Renderstyle Add
	DamageType "Explode"
	Alpha 0.75
	SeeSound ""
	DeathSound "misc/explosion"
	Obituary "BOOM!"
	States
	{
	Spawn:
	Death:
		TNT1 A 0 A_SetScale(0.5)
		TNT1 A 0 A_Explode(128,128)
		TNT1 A 0 A_PlaySound("weapons/explosion/ear",5,1,0,1)
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_MissileAttack
		TNT1 A 0 Radius_Quake (4,30,0,15,0)
		TNT1 A 0 A_SpawnDebris("BulletSparks")
		TNT1 A 0 A_SpawnItemEx("DetectFloorCrater",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 AAA 0 A_CustomMissile("GunSmokeSpawner")
		NULL A 0 A_SetTranslucent(0.95)
		BNG4 A 2 BRIGHT
		TNT1 AAA 0 A_CustomMissile("GunSmokeSpawner")
		NULL A 0 A_SetTranslucent(0.9)
		BNG4 B 2 BRIGHT
		TNT1 AAA 0 A_CustomMissile("GunSmokeSpawner")
		NULL A 0 A_SetTranslucent(0.85)
		BNG4 C 2 BRIGHT
		TNT1 AAA 0 A_CustomMissile("GunSmokeSpawner")
		NULL A 0 A_SetTranslucent(0.8)
		BNG4 D 2 BRIGHT
		TNT1 AAA 0 A_CustomMissile("GunSmokeSpawner")
		NULL A 0 A_SetTranslucent(0.75)
		BNG4 E 2 BRIGHT
		TNT1 AAA 0 A_CustomMissile("GunSmokeSpawner")
		NULL A 0 A_SetTranslucent(0.7)
		BNG4 F 2 BRIGHT
		TNT1 AAA 0 A_CustomMissile("GunSmokeSpawner")
		NULL A 0 A_SetTranslucent(0.65)
		BNG4 G 2 BRIGHT
		TNT1 AAA 0 A_CustomMissile("GunSmokeSpawner")
		NULL A 0 A_SetTranslucent(0.6)
		BNG4 H 2 BRIGHT
		TNT1 AAA 0 A_CustomMissile("GunSmokeSpawner")
		NULL A 0 A_SetTranslucent(0.55)
		BNG4 I 2 BRIGHT
		TNT1 AAA 0 A_CustomMissile("GunSmokeSpawner")
		NULL A 0 A_SetTranslucent(0.5)
		BNG4 J 2 BRIGHT
		TNT1 AAA 0 A_CustomMissile("GunSmokeSpawner")
		NULL A 0 A_SetTranslucent(0.45)
		BNG4 K 2 BRIGHT
		TNT1 AAA 0 A_CustomMissile("GunSmokeSpawner")
		NULL A 0 A_SetTranslucent(0.4)
		BNG4 L 2 BRIGHT
		TNT1 AAA 0 A_CustomMissile("GunSmokeSpawner")
		NULL A 0 A_SetTranslucent(0.35)
		BNG4 M 2 BRIGHT
		TNT1 AAA 0 A_CustomMissile("GunSmokeSpawner")
		NULL A 0 A_SetTranslucent(0.3)
		BNG4 N 2 BRIGHT
		TNT1 AAA 0 A_CustomMissile("GunSmokeSpawner")
		NULL A 0 A_SetTranslucent(0.25)
		BNG4 O 2 BRIGHT
		TNT1 AAA 0 A_CustomMissile("GunSmokeSpawner")
		NULL A 0 A_SetTranslucent(0.2)
		BNG4 P 2 BRIGHT
		TNT1 AAA 0 A_CustomMissile("GunSmokeSpawner")
		NULL A 0 A_SetTranslucent(0.15)
		BNG4 Q 2 BRIGHT
		TNT1 AAA 0 A_CustomMissile("GunSmokeSpawner")
		NULL A 0 A_SetTranslucent(0.1)
		BNG4 R 2 BRIGHT
		TNT1 AAA 0 A_CustomMissile("GunSmokeSpawner")
		NULL A 0 A_SetTranslucent(0.05)
		BNG4 S 2 BRIGHT
		Stop
	}
}

ACTOR Detonation3
{
	Radius 128
	Height 64
	+RANDOMIZE
	+DEHEXPLOSION
	+NOGRAVITY
	Decal Scorch
	Damagetype "Explode"
	Renderstyle Add
	Alpha 1.75
	SeeSound ""
	DeathSound "misc/explosion"
	Decal "RevenantScorch"
	Obituary "BOOM!"
	States
	{
	Spawn:
	Death:
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_MissileAttack
		TNT1 A 0 A_Explode(156,156)
		TNT1 A 0 Radius_Quake (3, 15, 0, 15, 0)
		TNT1 A 0 A_ScreamAndUnblock
		TNT1 A 0 A_SpawnDebris("BulletSparks")
		TNT1 A 0 A_SpawnItemEx("DetectFloorCrater",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 AAAAAAAAAAAAAAA 0 A_CustomMissile("GunSmokeSpawner")
		BLAM ABCDEFGHIJKLMNOP 2 BRIGHT
		Stop
	}
}

ACTOR Detonation4
{
	Radius 128
	Height 64
	+RANDOMIZE
	+DEHEXPLOSION
	+NOGRAVITY
	Decal Scorch
	Renderstyle Add
	Alpha 1.75
	SeeSound ""
	DeathSound "weapons/LW6/explode"
	Decal "RevenantScorch"
	Obituary "BOOM!"
	States
	{
	Spawn:
	Death:
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_MissileAttack
		TNT1 A 0 A_Explode(128,128)
		TNT1 A 0 A_PlaySound("weapons/explosion/ear",5,1,0,1)
		TNT1 A 0 Radius_Quake (3, 15, 0, 15, 0)
		TNT1 A 0 A_ScreamAndUnblock
		TNT1 A 0 A_SpawnDebris("BulletSparks")
		TNT1 A 0 A_SpawnItemEx("DetectFloorCrater",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 AAAAAAAAAAAAAAA 0 A_CustomMissile("GunSmokeSpawner")
		LWXP ABCDEFGHIJKLM 3 BRIGHT
		Stop
	}
}

ACTOR RocketKaboom
{
	+RANDOMIZE
	+DEHEXPLOSION
	+NOGRAVITY
	Renderstyle Add
	Alpha 0.5
	SeeSound ""
	DeathSound "misc/explosion"
	Obituary "BOOM!"
	States
	{
	Spawn:
	Death:
		TNT1 A 0 A_SetScale(1.08)
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_Explode(128,128)
		TNT1 A 0 A_PlaySound("weapons/explosion/ear",5,1,0,1)
		TNT1 A 0 A_MissileAttack
		TNT1 A 0 Radius_Quake (3, 25, 0, 15, 0)
		TNT1 A 0 A_SpawnDebris("BulletSparks")
		TNT1 A 0 A_SpawnItemEx("DetectFloorCrater",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 AAAAAAAAAAAAAAA 0 A_CustomMissile("GunSmokeSpawner")
		BLAG ABCDEFGHIJKLMNOPQRSTUVWWXXYYZZZ 1 BRIGHT
		Stop
	}
}

//======================================================//
//														//
// Explosive Barrel										//
//														//
//======================================================//

ACTOR TNTBarrel : ExplosiveBarrel replaces ExplosiveBarrel
{
	-COUNTKILL
	+FLOORCLIP
	+SOLID
	+SHOOTABLE
	+NOBLOOD
	+PUSHABLE
	+ACTIVATEMCROSS
	+DONTGIB
	+NOICEDEATH
	+OLDRADIUSDMG
	DeathSound "Misc/barrel/death"
	PainSound "Misc/barrel/pain"
	Health 20
	Radius 10
	Height 40
    Mass 650
	Speed 0
	// New Yukes stats - Thanks man!
	XScale 0.4
	YScale 0.4
	Painchance "Melee", 256
	Painchance "Kicked", 256
	Damagefactor "Melee", 0.1
	Damagefactor "Kicked", 0.1
	Painchance 256
	Obituary "$OB_BARREL"
	States
	{
	Spawn:
		EXBG A 1
		Loop
	See:
		EXBG A 1
		Loop
	Pain.Melee:
		TNT1 A 0 A_PlaySound("Misc/barrel/pain")
        TNT1 A 0 A_FaceTarget
		TNT1 A 0 HealThing(100)
		TNT1 A 0 ThrustThing(angle*256/360+128, 5, 0, 0)
		TNT1 A 0 ThrustThingZ(0,10,0,1)
		Goto See
	Death:
		EXBG A 5 Radius_Quake(1,5,0,2,0)
		TNT1 AAAAAAAAAAAA 0 A_CustomMissile("GunSmokeSpawner",15)
		EXBG A 5 Radius_Quake(1,5,0,2,0)
		TNT1 AAAAAAAAAAAA 0 A_CustomMissile("GunSmokeSpawner",15)
		EXBG A 5 Radius_Quake(1,5,0,2,0)
		TNT1 AAAAAAAAAAAA 0 A_CustomMissile("GunSmokeSpawner",15)
		EXBG B 1 BRIGHT Radius_Quake(1,5,0,2,0)
		TNT1 AAAAAAAAAAAA 0 A_CustomMissile("GunSmokeSpawner",15)
		TNT1 A 0 A_StopSound(6)
		TNT1 AAAA 0 A_SpawnDebris("BarrelDebris")
		TNT1 A 0 A_SpawnItem("Detonation2")
		TNT1 A 0 Radius_Quake (2, 6, 0, 15, 0)
		TNT1 A 0 A_ScreamAndUnblock
		TNT1 A 0 A_SpawnDebris("BulletSparks")
		EXBG C -1
		Stop
	}
}

ACTOR BarrelDebris
{
	+MISSILE
	+FLOORCLIP
	+DONTSPLASH
	+NOTELEPORT
	+BOUNCELIKEHERETIC
	Health	4
	Radius	2
	Height	3
	Speed	5
	Scale	0.5
	Mass	1
	States
	{
	Spawn:
		CBBD ABCDEFGH 3
		Loop
	Death:
		CBBD H 1
		Stop
	}
}

//===========================================================================
//
// Nobody - Actor at the end screen
//
//===========================================================================

ACTOR Nobody
{
	Health 200
	Radius 31
	Height 46
	Mass 400
	PainChance 96
	Speed 10
	Damage 3
	Scale 0.05
	+FLOAT 
	+NOGRAVITY 
	+NOEXTREMEDEATH 
	+NOBLOOD
	+NOICEDEATH
	+NOINTERACTION
	Monster
	SeeSound ""
	AttackSound ""
	PainSound ""
	DeathSound ""
	ActiveSound ""
	Obituary ""
	States
	{
	Spawn:
		NULL A 0
		Loop
	See:
		NULL A 0
		Loop
	Missile:
		NULL A 0
		Goto Missile+2
	Pain:
		NULL A 0
		Goto See
	Death:
		NULL A 0
		Stop
	Death.Fire:
		NULL A 0
		Stop
	Raise:
		NULL A 0
		Goto See
	}
}

//=============================================================================
//
// Explosion floor decal - Used from Brutal Doom v20 by Sgt. Mark IV.
//
//=============================================================================

ACTOR DetectFloorCrater
{
	+MISSILE
	+CLIENTSIDEONLY
	+NOTELEPORT
	+NOBLOCKMAP
	+FORCEXYBILLBOARD
	+NODAMAGETHRUST
	+MOVEWITHSECTOR
	+DOOMBOUNCE
   	-DONTSPLASH
	Game Doom
	Scale 3.4
	Speed 0
	Health 1
	Radius 8
	Height 4
	Gravity 0.9
	Damage 0
	Renderstyle Translucent
	Alpha 0.70
	BounceFactor 0.01
    States
    {
    Spawn:
		TNT1 A 0
		TNT1 A 2
		Goto Spawn2
	Spawn2:
		TNT1 A 0 ThrustThingZ(0,-10,0,1)
		TNT1 A 4
		Stop
	Death:
		TNT1 A 1
		XXX1 A 500
		Stop
    }
}