
Actor TargetIsAnExplosiveBarrel : Inventory
{
inventory.maxamount 1
}

Actor HasExplosiveBarrel : Inventory
{
inventory.maxamount 1
}

Actor ComingTOGetTheBarrel : Inventory
{
inventory.maxamount 1
}
Actor ExplosiveBarrel1 Replaces ExplosiveBarrel
{
	Game Doom
    damagefactor "Trample", 0.0
    damagefactor "Kick", 0.1
	damagefactor "LowKick", 0.1
    damagefactor "Melee", 0.1
	damagefactor "Extremepunches", 0.1
	damagefactor "Fatality", 10.1
	damagefactor "SuperPunch", 10.1
	damagefactor "ExplosiveImpact", 0.4
	damagefactor "Fire", 3.5
	damagefactor "GibRemoving", 0.0
	damagefactor "BHFTOnBarrel", 500.0
	damagefactor "Blood", 0.0 damagefactor "BlueBlood", 0.0 damagefactor "GreenBlood", 0.0    damagefactor "Avoid", 0.0
    damagefactor "Shrapnel", 0.0	damagefactor "KillMe", 0.0  damagefactor "TeleportRemover", 0.0
	Species "Marines"
	Health 20
	Radius 16
	Height 46
    Mass 200
	DamageType ExplosiveImpact
	+SOLID
	+SHOOTABLE
	+NOBLOOD
	+ACTIVATEMCROSS
	+NOICEDEATH
    +PUSHABLE
	+SLIDESONWALLS
    +WINDTHRUST
    +TELESTOMP
	+NOBLOCKMONST
	+FLOORCLIP
	+FRIENDLY
	+MISSILEMORE
	+MISSILEEVENMORE
	+EXTREMEDEATH
	//mONSTER
	-COUNTKILL
	Speed 0
	scale 0.75
	MaxTargetRange 200
	DamageFactor "BHFT", 10.0
	Painchance "Blood", 255
	PainChance "Kick", 255
	DeathSound "Explosion"
	Obituary "$OB_BARREL"
	PainChance "DontCallTheBaron", 255
	Painchance 255
	States
	{
	
	
	Vanilla:
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_SpawnItem("VanillaExplosiveBarrel")
		Stop
		
	Spawn:
		BAR1 A 0
		MARN A 0 ACS_ExecuteAlways(795, 0, 0, 0, 0)//Check if advanced decorations are disabled.
		TNT1 A 1
		
	Stay:
		TNT1 A 0
		TNT1 A 0 A_CheckSight("See2")
		TNT1 A 0 A_GiveInventory("TargetIsANExplosiveBarrel", 1)
	    BAR1 A 4 A_Look
		Goto See
	
	See:	
		TNT1 A 0 A_CheckSight("See2")
	    BAR1 A 4
		TNT1 A 0 A_ClearTarget
		TNT1 AAAAAAAAA 0 A_Chase
		Loop
		
	See2:
		BAR1 A 12
		Goto See
		
	Missile:
	TNT1 A 0
	TNT1 A 0 A_JumpIfInTargetInventory("TargetIsABaronOfHell", 1, "TauntTHeBaron")
	BAR1 A 12
	TNT1 A 0 A_ClearTarget
	Goto See
	
	TauntTheBaron:
	TNT1 A 0
	BAR1 A 4
	TNT1 A 0 A_JumpIfCloser(280, 2)
	Goto See
	TNT1 A 0
	TNT1 A 0 A_JumpIfInTargetInventory("ComingToGetTheBarrel", 1, "DoingNothing")
	TNT1 A 0 A_GiveInventory("TargetIsANExplosiveBarrel", 1)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CallingTheBaronAFaggot", 36, 0, 0, 1)
	TNT1 A 0 A_GiveToTarget("ComingTOGetTheBarrel", 1)
	DoingNothing:
	BAR1 A 16
	BAR1 A 16
	Goto See
	
		
	Pain:
	BAR1 A 6
	Goto Stay
	
	Pain.Blood:
	    TNT1 A 0
	    TNT1 A 0 A_GiveInventory("GotBloody", 1)
	    Goto StayBloody
	StayBloody:
		BARB A 8
		Loop	
		
    Pain.Kick:
	Pain.ExtremePunches:
	Pain.LowKick:
	Pain.Melee:
	    TNT1 A 0 A_Changeflag("FRIENDLY", 0)
	    BAR1 A 1 A_Pain
		BAR1 A 0 A_Chase("","")
        BAR1 A 1 A_FaceTarget
		TNT1 A 0 HealThing(100)
		TNT1 A 0 ThrustThing(angle*256/360+128, 10, 0, 0)
		TNT1 A 0 ThrustThingZ(0,10,0,1)
		TNT1 A 0 A_Changeflag("FRIENDLY", 1)
		TNT1 A 0 A_JumpIfInventory("GotBloody", 1, "StayBloody")
        Goto Stay
		
	Death:
	tnt1 a 0 A_noblocking
	BAR1 AABC 2
	EXPL A 0 radius_Quake (2, 40, 0, 1200, 0)
	EXPL A 0 radius_Quake (4, 20, 0, 400, 0)
	EXPL A 0 radius_Quake (4, 5, 0, 100, 0)
		BAR1 a 0 A_jumpifcloser(700,2)
		goto Death2
		tnt1 a 0
        BARX A 2 Bright
        BARX B 2 Bright
		TNT1 A 0 A_CustomMissile ("BarrelExplosionAnnouncer", 0, 0, random (0, 360), 2, random (0, 160))
		BEXP CD 0 BRIGHT
	    TNT1 A 0 A_NoBlocking
	    TNT1 A 0 A_Fall
		TNT1 A 0 A_SpawnItem ("BigRicoChet", 0, -15)
		TNT1 A 0 A_SpawnItemEx ("DetectFloorCrater",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	    TNT1 A 0 A_SpawnItemEx ("DetectCeilCrater",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionFlareSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 A 0 A_SpawnItem("WhiteShockwaveBig")
		TNT1 A 0 A_Explode(160,200)
		//TNT1 A 0 A_CustomMissile ("BarrelExplosion", 15, 0, random (0, 360), 2, random (0, 160))
		TNT1 A 0 A_SpawnItemEx ("BarrelKaboom",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 AAAAA 0 A_CustomMissile ("ExplosionFlames", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 AAAAAAA 0 A_CustomMissile ("ExplosionParticleHeavy", 0, 0, random (0, 360), 2, random (0, 180))
		BEXP B 0 BRIGHT A_Scream
		TNT1 A 0 A_CustomMissile ("BarrelShrapnel1", 25, 0, random (0, 360), 2, random (0, 160))
		TNT1 A 0 A_CustomMissile ("BarrelShrapnel2", 15, 0, random (0, 360), 2, random (0, 160))
		TNT1 A 0 A_CustomMissile ("BarrelShrapnel3", 5, 0, random (0, 360), 2, random (0, 160))
		TNT1 AAAA 0 A_CustomMissile ("ShrapnelParticle2", 0, 0, random (0, 360), 2, random (5, 90))
		TNT1 A 0 A_PlaySound("FAREXPL", 3)
		TNT1 A 0 //A_SpawnItem("BarrelExplosionSmokeColumn")
		TNT1 AA 0 A_SpawnItemEx("TinyBurningPiece", random (-15, 15), random (-15, 15))
		TNT1 AA 0 A_SpawnItemEx("TinyBurningPiece2", random (-35, 35), random (-35, 35))
		TNT1 AA 0 A_SpawnItemEx("TinyBurningPiece3", random (-45, 45), random (-45, 35))
		BARX CDEFGHJ 1 Bright A_fadeout(0.1)
		tnt1 A 64

		BEXP Z 300 BRIGHT A_BarrelDestroy
		BEXP Z 5 A_Respawn
		Wait
	 Death.SuperPunch:	
	 Death.Fatality:
        TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_GiveToTarget("GoSpecial", 1)
        TNT1 A 0 A_GiveToTarget("HasBarrel", 1)
        Stop
	Death.Kick:
	Death.ExtremePunches:
	Death.Massacre:
	TNT1 A 0 A_NoBlocking
	TNT1 A 0 A_ChangeFlag("THRUACTORS", 1)
	TNT1 A 1
	TNT1 A 0 A_SPawnItem("ExplosiveBarrel1")
	Stop
	
	Death.BHFT:
	Death.BHFTOnBarrel:
	TNT1 A 0
	TNT1 A 0 A_GiveToTarget("HasExplosiveBarrel", 1)
	TNT1 A 0 A_NoBlocking
	TNT1 A 0 A_FAll
	TNT1 A 1
	Stop
	
	death2:
	BARX A 1
	tnt1 a 0 A_jumpifcloser(1600,2)
	goto death3
	BARX C 1
	TNT1 A 0 A_CustomMissile ("BarrelExplosionAnnouncer", 0, 0, random (0, 360), 2, random (0, 160))
	TNT1 AAAA 0 A_SpawnItemEx ("miniKaboom",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_Explode(160,200)
	TNT1 AA 0 A_SpawnItemEx ("ExplosionFlareSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        BARX DEFGHIJ 1 bright A_fadeout(0.1)
		//TNT1 A 0 A_CustomMissile ("BarrelExplosionAnnouncer", 0, 0, random (0, 360), 2, random (0, 160))
	    TNT1 A 0 A_NoBlocking
		//TNT1 A 0 A_SpawnItem ("BigRicoChet", 0, -15)
		TNT1 AAA 0 A_CustomMissile ("ShrapnelParticle2", 0, 0, random (0, 360), 2, random (5, 90))
		TNT1 A 0 A_PlaySound("FAREXPL", 3)
		TNT1 A 0 //A_SpawnItem("BarrelExplosionSmokeColumn")
		TNT1 AA 0 A_SpawnItemEx("TinyBurningPiece", random (-15, 15), random (-15, 15))
		TNT1 AA 0 A_SpawnItemEx("TinyBurningPiece2", random (-35, 35), random (-35, 35))
		TNT1 AA 0 A_SpawnItemEx("TinyBurningPiece3", random (-45, 45), random (-45, 35))
		tnt1 A 64
		BEXP Z 0 BRIGHT A_BarrelDestroy
		BEXP Z 1 A_Respawn
		Wait
	
	death3:
	BARX B 1 A_noblocking
	TNT1 A 0 A_CustomMissile ("BarrelExplosionAnnouncer", 0, 0, random (0, 360), 2, random (0, 160))
	TNT1 A 0 A_Explode(160,200)
	TNT1 AAAA 0 A_SpawnItemEx ("ExplosionFlareSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		//TNT1 A 0 A_CustomMissile ("BarrelExplosionAnnouncer", 0, 0, random (0, 360), 2, random (0, 160))
	    BARX CDEFGHIJ 1 bright A_fadeout(0.1)
		//TNT1 A 0 A_SpawnItem ("BigRicoChet", 0, -15)
		//TNT1 A 0 A_SpawnItemEx ("miniKaboom",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_PlaySound("FAREXPL", 3)
		TNT1 A 0 //A_SpawnItem("BarrelExplosionSmokeColumn")
		TNT1 AA 0 A_SpawnItemEx("TinyBurningPiece", random (-15, 15), random (-15, 15))
		TNT1 AA 0 A_SpawnItemEx("TinyBurningPiece2", random (-35, 35), random (-35, 35))
		TNT1 AA 0 A_SpawnItemEx("TinyBurningPiece3", random (-45, 45), random (-45, 35))
		tnt1 A 64
		BEXP Z 0 BRIGHT A_BarrelDestroy
		BEXP Z 1 A_Respawn
		Wait
		
	}
}

Actor GotBloody : Inventory
{
inventory.maxamount 1
}



ACTOR BarrelShrapnel1
{
    Radius 2
    Height 2
    Speed 20
	Mass 1
    +NOBLOCKMAP
	+MISSILE
    +NOTELEPORT
    +MOVEWITHSECTOR
    +CLIENTSIDEONLY
	+THRUACTORS
	+FLOORCLIP
	+DOOMBOUNCE
	-NOGRAVITY
	BounceFactor 0.5
	Gravity 0.9
	Mass 1
    States
    {
    Spawn:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Underwater")
        BRPT ABCDEFGH 1
		TNT1 A 0 A_ChangeFlag("NOGRAVITY", 0)
        Goto Spawn2
	Spawn2:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Underwater")
	    BRPT ABCDEFGH 2
		Loop
		
    Death:
        TNT1 A 0
		BRPT I 300
		BRPT IIIIIIIII 2 A_FadeOut(0.1)
        Stop
     Underwater:
	 Splash:
	    Goto Death
    }
}


ACTOR BarrelShrapnel2: BarrelShrapnel1
{
 Scale 1.7
}

ACTOR BarrelShrapnel3: BarrelShrapnel1
{
 Scale 1.4
}

ACTOR BarrelShrapnel4: BarrelShrapnel1
{
 Scale 1.2
}






actor GreatKaboom: DeadMarine
{
	Game Doom
	States
	{
Spawn:
TNT1 A 50
TNT1 A 0 A_SpawnItem ("BigRicoChet", 0, -15)
TNT1 AAAA 0 A_CustomMissile ("ExplosionSpawner", 20, 0, random (0, 360), 2, random (0, 180))
        TNT1 AAAAA 0 A_CustomMissile ("ExplosionSpawner", 20, 0, random (0, 360), 2, random (0, 180))
Stop
	}
}
actor miniKaboom: DeadMarine
{
	Game Doom
	States
	{
Spawn:
TNT1 A 2
TNT1 A 0// A_CustomMissile ("ExplosionSpawner", 20, 0, random (0, 360), 2, random (0, 180))
        TNT1 A 0 A_CustomMissile ("SmallExplosionSpawner", 20, 0, random (0, 360), 2, random (0, 180))
Stop
	}
}


actor UltraKaboom: DeadMarine
{
	Game Doom
	States
	{
Spawn:
TNT1 A 50
TNT1 A 0 A_SpawnItem ("BigRicoChet", 0, -15)
TNT1 AA 0 A_CustomMissile ("LongExplosionSpawner", 20, 0, random (0, 360), 2, random (0, 180))
        TNT1 AAAA 0 A_CustomMissile ("ExplosionSpawner", 20, 0, random (0, 360), 2, random (0, 180))
Stop
	}
}


actor BarrelKaboom: DeadMarine
{
	Game Doom
	States
	{
Spawn:
TNT1 A 1
TNT1 AAAA 0 A_CustomMissile ("SmallExplosionSpawner", 20, 0, random (0, 360), 2, random (0, 180))
Stop
	}
}







Actor ExplosionSpawner
{
+MISSILE
+FORCEXYBILLBOARD
//+DOOMBOUNCE
   // +BLOODSPLATTER 
damage 0
radius 6
height 6
speed 40
renderstyle ADD
alpha 0.9
scale .01
BounceFactor 0.5
Decal "FireworxScorch"
states
	{
	Spawn:
		TNT1 AAAA 2 A_SpawnItem("SpawnedExplosion")
		Stop
Death:
    MISG A 1
	TNT1 A 0 A_SpawnItemEx ("DetectCeilCrater",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
    TNT1 A 10
    Stop
XDeath:
MISG A 1
TNT1 A 10
Stop
	}
}

Actor SmallExplosionSpawner: ExplosionSpawner
{
Speed 30
states
	{
	Spawn:
		TNT1 AAA 2 A_SpawnItem("SpawnedExplosionSmall")
		Stop
	}
}


Actor LongExplosionSpawner: ExplosionSpawner
{
speed 66
renderstyle ADD
alpha 0.9
scale .15
Decal "BigScorch"
states
	{
	Spawn:
		TNT1 AAAA 2 A_SpawnItem("SpawnedExplosion")
		Stop
	}
}



Actor RidiculousExplosionSpawner: ExplosionSpawner
{
speed 20
renderstyle ADD
alpha 0.9
scale .3
Decal "BigScorch"
+SKYEXPLODE
-DOOMBOUNCE
+NOGRAVITY
states
	{
	Spawn:
	Goto Death
	
	Death:
	    EXPL AAAA 0 A_CustomMissile ("RidiculousNeoSmoke", 0, 0, random (0, 360), 2, random (0, 180))
		TNT1 AAAAA 2 A_SpawnItem("SpawnedExplosionRepeat")
		EXPL A 0 A_CustomMissile ("RidiculousNeoSmoke", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 AA 4 A_SpawnItem("SpawnedExplosionBig")
		TNT1 A 0 A_SpawnItem("ExplosionFlareSpawner")
		TNT1 A 0 A_SpawnItem("SpawnedExplosionGiant")
		TNT1 AAA 2 A_SpawnItem("ExplosionFlareSpawner")
		Stop
	}
}

Actor SpawnedExplosion
{
+NOCLIP
+NOGRAVITY
states
	{
	Spawn:
 TNT1 A 2
 TNT1 A 2 A_PlaySound("FAREXPL")
 EXPL A 0 A_CustomMissile ("BigNeoSmoke", 0, 0, random (0, 360), 2, random (0, 360))
 EXPL A 0 A_CustomMissile ("ExplosionSmoke", 0, 0, random (0, 360), 2, random (0, 360))
 TNT1 A 0 A_SpawnItemEx ("ExplosionFlareSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
TNT1 AAAA 0 A_CustomMissile ("ExplosionFlames", 0, 0, random (0, 360), 2, random (0, 360))
		Stop
	}
}

Actor SpawnedExplosionRepeat
{
+NOCLIP
+NOGRAVITY
states
	{
	Spawn:
 TNT1 A 2
 TNT1 A 2 A_PlaySound("FAREXPL")
 EXPL A 0 A_CustomMissile ("BigNeoSmoke", 0, 0, random (0, 360), 2, random (0, 360))
 EXPL A 0 A_CustomMissile ("ExplosionSmoke", 0, 0, random (0, 360), 2, random (0, 360))
 TNT1 A 0 A_SpawnItemEx ("ExplosionFlareSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
TNT1 AAAA 0 A_CustomMissile ("ExplosionFlames", 0, 0, random (0, 360), 2, random (0, 360))
TNT1 A 3
TNT1 AAAA 0 A_CustomMissile ("ExplosionFlames", 0, 0, random (0, 360), 2, random (0, 360))
TNT1 A 3
TNT1 AAAA 0 A_CustomMissile ("ExplosionFlames", 0, 0, random (0, 360), 2, random (0, 360))
TNT1 A 3
TNT1 AAAA 0 A_CustomMissile ("ExplosionFlames", 0, 0, random (0, 360), 2, random (0, 360))
TNT1 A 3
TNT1 AAAA 0 A_CustomMissile ("ExplosionFlamesBig2", 0, 0, random (0, 360), 2, random (0, 360))
TNT1 A 3
TNT1 AAAA 0 A_CustomMissile ("ExplosionFlamesBig2", 0, 0, random (0, 360), 2, random (0, 360))
TNT1 A 3
TNT1 AAAA 0 A_CustomMissile ("ExplosionFlamesBig2", 0, 0, random (0, 360), 2, random (0, 360))
		Stop
	}
}

Actor SpawnedExplosionBig
{
+NOCLIP
+NOGRAVITY
states
	{
	Spawn:
 TNT1 A 2
 TNT1 A 2 A_PlaySound("FAREXPL")
 EXPL A 0 A_CustomMissile ("HugeNeoSmoke", 0, 0, random (0, 360), 2, random (0, 360))
 EXPL A 0 A_CustomMissile ("BigNeoSmoke", 0, 0, random (0, 360), 2, random (0, 360))
 TNT1 A 0 A_SpawnItemEx ("ExplosionFlareSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
TNT1 AAAA 0 A_CustomMissile ("ExplosionFlamesBig", 0, 0, random (0, 360), 2, random (0, 180))
TNT1 A 3
TNT1 AAAA 0 A_CustomMissile ("ExplosionFlamesBig", 0, 0, random (0, 360), 2, random (0, 180))
		Stop
	}
}


Actor SpawnedExplosionGiant
{
+NOCLIP
+NOGRAVITY
states
	{
	Spawn:
 TNT1 A 2
 TNT1 A 2 A_PlaySound("FAREXPL")
 EXPL A 0 A_CustomMissile ("HugeNeoSmoke", 0, 0, random (0, 360), 2, random (0, 360))
 EXPL A 0 A_CustomMissile ("RidiculousNeoSmoke", 0, 0, random (0, 360), 2, random (0, 180))
 TNT1 A 0 A_SpawnItemEx ("ExplosionFlareSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
TNT1 AAAA 0 A_CustomMissile ("ExplosionFlamesGiant", 0, 0, random (0, 360), 2, random (0, 180))
		Stop
	}
}

Actor SpawnedFlamers
{
+NOCLIP
+NOGRAVITY
    DamageType Flames
states
	{
	Spawn:
 TNT1 A 2
TNT1 A 0 A_Explode(100,40)
TNT1 AAAA 0 A_CustomMissile ("ExplosionFlames", 0, 0, random (0, 360), 2, random (0, 360))
		Stop
	}
}




Actor SpawnedExplosionSmall
{
+NOCLIP
+NOGRAVITY
states
	{
	Spawn:
 TNT1 A 2
 TNT1 A 2
 EXPL A 0 A_CustomMissile ("BigNeoSmoke", 0, 0, random (0, 360), 2, random (0, 360))
 EXPL A 0 A_CustomMissile ("ExplosionSmoke", 0, 0, random (0, 360), 2, random (0, 360))
 TNT1 AAAA 0 A_CustomMissile ("SmallExplosionFlames", 0, 0, random (0, 360), 2, random (0, 360))
		Stop
	}
}



Actor RocketPenetrationExplosion
{
+NOCLIP
+NOGRAVITY
DamageType "ExplosiveImpact"
states
	{
	Spawn:
 TNT1 A 2
 TNT1 A 2
 TNT1 A 0 A_Explode(20, 80)
 EXPL A 0 A_CustomMissile ("BigNeoSmoke", 0, 0, random (0, 360), 2, random (0, 360))
 EXPL A 0 A_CustomMissile ("ExplosionSmoke", 0, 0, random (0, 360), 2, random (0, 360))
 TNT1 AA 0 A_CustomMissile ("SmallExplosionFlames", 0, 0, random (0, 360), 2, random (0, 360))
		Stop
	}
}





ACTOR KarasawaMissile
{
	Radius 32
	Height 4
	Speed 50
	Damage 40
    DamageType Cut
	Decal "Scorch"
	Projectile
	+RANDOMIZE
	+RIPPER
renderstyle ADD
alpha 0.90
XScale 3.0
YScale 0.9
	DeathSound "weapons/plasmax"
	//SeeSound "PLSM9"
    SeeSound "None"
	Obituary "$OB_MPPLASMARIFLE"
	States
	{
	Spawn:
         KWBB ABCD 2 BRIGHT A_SpawnItem("KarasawaTrails",0,0)
		Loop

Death:
	TNT1 AAAAAA 0 A_CustomMissile ("BluePlasmaFire", 0, 0, random (0, 360), 2, random (0, 360))
	TNT1 AAAAAAAAAAAAAAAAA 0 A_CustomMissile ("BluePlasmaParticle", 0, 0, random (0, 360), 2, random (0, 360))
	KWBD ABCDEF 2
	TNT2 AAAAAAAA 4 A_CustomMissile ("PlasmaSmoke", 1, 0, random (0, 360), 2, random (0, 160))
		
		Stop
		
		
	}
}


ACTOR KarasawaTrails
{
 game Doom
 radius 8
 height 1
 damage 0
 Renderstyle Add
 Alpha 0.95
 XScale 3.0
YScale 0.9
   +MISSILE
   +CLIENTSIDEONLY
   +NOTELEPORT
   +NOBLOCKMAP
   +CORPSE
   +BLOODLESSIMPACT 
   +FORCEXYBILLBOARD
   +NODAMAGETHRUST
   +MOVEWITHSECTOR
   +NOBLOCKMONST
   -SOLID
   +THRUACTORS
   -DONTSPLASH
   +NOGRAVITY
    States
    {
     Spawn:
	 KWBB ABCDABCDABCDABCD 2 BRIGHT A_FadeOut(0.2) 
     Stop
    }
}






ACTOR VanillaExplosiveBarrel: ExplosiveBarrel1
{
	States
	{
	Spawn:
		BAR1 ABDEFGHIJKLM 2
		Loop
	}
}



ACTOR FireworkSFXType1
{
	Radius 4
	Height 4
	Speed 18
	PROJECTILE
    +THRUGHOST
	RenderStyle Add
	+MISSILE
	-NOGRAVITY
	Gravity 1
	Alpha 1.0
	States
	{
	Spawn:
		//TNT1 A 0 A_CustomMissile ("SmallFlameTrails", 2, 0, random (170, 200), 2, random (-20, 20))
		TNT1 A 0 A_SpawnItem ("SmallFlameTrails")
		TNT1 A 0 A_CustomMissile ("ExplosionParticleHeavy", 2, 0, random (0, 360), 2, random (0, 290))
		TNT1 A 1 A_SpawnItem("RedFlareSmall")
		TNT1 A 0 A_CustomMissile ("ExplosionParticleHeavy", 2, 0, random (0, 360), 2, random (0, 290))
		TNT1 A 1 A_SpawnItem("RedFlareSmall")
		Loop
	
	Death:
		TNT1 A 0 A_SpawnItemEx("TinyBurningPiece", random (-15, 15), random (-15, 15))
		Stop
	}
}
