ACTOR ExplosiveBarrel1 Replaces ExplosiveBarrel
{
	Game Doom
    damagefactor "Trample", 0.0
    damagefactor "Kick", 0.1
    damagefactor "Melee", 0.1
	damagefactor "Fatality", 10.1
	damagefactor "SuperPunch", 10.1
	damagefactor "ExplosiveImpact", 0.4
	damagefactor "Fire", 3.5
damagefactor "Blood", 0.0    damagefactor "GreenBlood", 0.0    damagefactor "BlueBlood", 0.0    damagefactor "Taunt", 0.0    damagefactor "KillMe", 0.0  damagefactor "Avoid", 0.0  damagefactor "Taunt", 0.0 damagefactor "Head", 0.0 damagefactor "minorhead", 0.0
	SpawnID 125
	Health 20
	Radius 10
	Height 34
    Mass 200
	DamageType ExplosiveImpact
	+SOLID
	+SHOOTABLE
	+NOBLOOD
	+ACTIVATEMCROSS
	+NOICEDEATH
    +PUSHABLE
	+SLIDESONWALLS
    +WINDTHRUST
    +TELESTOMP
	+NOBLOCKMONST
	+FLOORCLIP
	PainChance "Kick", 255
	DeathSound "Explosion"
	Obituary "$OB_BARREL"
	States
	{
	Spawn:
	    TNT1 A 0 A_CheckSight("Spawn2")
		BAR1 A 4  A_SpawnItem("greenlensflarealtsmall",0,32)
		TNT1 A 0 A_CheckSight("Spawn2")
		BAR1 A 4  A_SpawnItem("greenlensflarealtsmall",0,32)
		TNT1 A 0 A_CheckSight("Spawn2")
		BAR1 B 4  A_SpawnItem("greenlensflarealtsmall",0,32)
		TNT1 A 0 A_CheckSight("Spawn2")
		BAR1 B 4  A_SpawnItem("greenlensflarealtsmall",0,32)
		Loop
	Spawn2:
	    BAR1 A 2
		Goto Spawn
    Pain.Kick:
	    BAR1 A 1 A_Pain
        BAR1 A 1 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+128, 20, 0, 0)
		TNT1 A 0 ThrustThingZ(0,10,0,1)
        Goto Spawn
	Death:
        BAR1 A 1 BRIGHT
        BEXP ABCD 2 BRIGHT
	    TNT1 A 0 A_NoBlocking
	    TNT1 A 0 A_Fall
        TNT1 A 0 A_AlertMonsters
		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_SpawnItemEx ("BarrelExplosion",0,0,30,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItemEx ("BarrelKaboom",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 AAAAAAA 0 A_CustomMissile ("ExplosionFlames", 0, 0, random (0, 360), 2, random (0, 360))
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("ExplosionParticleHeavy", 0, 0, random (0, 360), 2, random (0, 180))
        TNT1 AAAAAA 0 A_CustomMissile ("ExplosionParticleHeavy", 0, 0, random (0, 360), 2, random (0, 180))
	    EXPL A 0 Radius_Quake (2, 24, 0, 15, 0)
		BEXP B 0 BRIGHT A_Scream
        
		TNT1 AA 0 A_CustomMissile ("MetalShard1", 5, 0, random (0, 360), 2, random (30, 160))
		TNT1 AA 0 A_CustomMissile ("MetalShard2", 5, 0, random (0, 360), 2, random (30, 160))
		TNT1 AA 0 A_CustomMissile ("MetalShard3", 5, 0, random (0, 360), 2, random (30, 160))
		TNT1 A 0 A_PlaySound("FAREXPL", 3)
		
		TNT1 A 0 A_SpawnItem("BarrelExplosionSmokeColumn")
		TNT1 AAAAA 8 A_CustomMissile ("ExplosionSmoke", 1, 0, random (0, 360), 2, random (50, 130))

		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
	}
}



actor GreatKaboom: DeadMarine
{
	Game Doom
	States
	{
Spawn:
TNT1 A 50
TNT1 AAAA 0 A_CustomMissile ("ExplosionSpawner", 20, 0, random (0, 360), 2, random (0, 180))
        TNT1 AAAAAA 0 A_CustomMissile ("ExplosionSpawner", 20, 0, random (0, 360), 2, random (0, 180))
Stop
	}
}


actor UltraKaboom: DeadMarine
{
	Game Doom
	States
	{
Spawn:
TNT1 A 50
TNT1 AAAA 0 A_CustomMissile ("LongExplosionSpawner", 20, 0, random (0, 360), 2, random (0, 180))
        TNT1 AAAAAA 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 AAAAAA 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 AAAA 2 A_SpawnItem("SpawnedExplosionSmall")
		Stop
	}
}


Actor LongExplosionSpawner: ExplosionSpawner
{
speed 66
renderstyle ADD
alpha 0.9
scale .15
Decal "BigScorch"
states
	{
	Spawn:
		TNT1 AAAAAA 2 A_SpawnItem("SpawnedExplosion")
		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 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 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
    }
}