// --------------------------------------------------------------------------
//
//	Updated Smoke
//
// --------------------------------------------------------------------------

ACTOR U_ExplosionSmoke: ExplosionSmoke replaces ExplosionSmoke
{
	Alpha 0.0
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(waterlevel > 1, "Stap")
		TNT1 A 0 ThrustThingZ (0,random(2,5),0,0)
		TNT1 A 0 A_Jump(256,1,2,3)
		SMK3 BBBBBBBB 1 A_FadeIn(0.05)
		TNT1 A 0 A_Jump(256,1,2,3)
		SMK3 BBBBBB 4
		SMK3 CDEFGHIJKLM 3
		Goto Death
    }
}

Actor U_PlasmaSmoke: U_ExplosionSmoke replaces PlasmaSmoke
{
	Scale 0.5
}

ACTOR U_BarrelExplosionSmokeColumn replaces BarrelExplosionSmokeColumn
{
    Radius 0
    Height 0
	Alpha 0.0
	RenderStyle Translucent
	XScale 1.4
    +NOBLOCKMAP
    +NOTELEPORT
    +DONTSPLASH
	+CLIENTSIDEONLY
    States
    {
    Spawn:
		TNT1 A 0
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Stap")
	    SB17 ABCDABCD 4 A_FadeIn(0.05)
		TNT1 A 0 A_Jump(256,1,5,9,13)
		SB17 ABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCD 4
	Death:
		SB17 ABCD 4 A_FadeOut(0.01)
		Loop
	Stap:		
		TNT1 A 0
		Stop
    }
}

ACTOR U_ExplosionSimpleSmokeColumn: U_BarrelExplosionSmokeColumn replaces ExplosionSimpleSmokeColumn
{
	XScale 1.5
	YScale 0.6
}

ACTOR U_ExplosionSimpleSmokeColumn2: U_ExplosionSimpleSmokeColumn replaces ExplosionSimpleSmokeColumn2
{
   +NOGRAVITY
}


// --------------------------------------------------------------------------
//
//	Updated Explosions
//
// --------------------------------------------------------------------------

ACTOR U_ExplosionFlames: FlameTrails replaces ExplosionFlames
{
	Scale 3.3
	Speed 2
	States
	{
    Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(256, "Exp1", "Exp2", "Exp3")
	Exp1:
        EXPL AA 2 BRIGHT A_SpawnItem("RedFlare",0,0)
		EXPL AA 0 A_CustomMissile ("ExplosionSmoke", 0, 0, random (0, 360), 2, random (0, 360))
        EXPL BBCCDDFFGGHHII 1 BRIGHT A_FadeOut(0.04)
        Stop
	Exp2:
        EXPL JJ 2 BRIGHT A_SpawnItem("RedFlare",0,0)
		EXPL AA 0 A_CustomMissile ("ExplosionSmoke", 0, 0, random (0, 360), 2, random (0, 360))
        EXPL KKLLMMNNOOPPQQ 1 BRIGHT A_FadeOut(0.04)
        Stop
	Exp3:
        EXPL RR 2 BRIGHT A_SpawnItem("RedFlare",0,0)
		EXPL AA 0 A_CustomMissile ("ExplosionSmoke", 0, 0, random (0, 360), 2, random (0, 360))
        EXPL SSTTUUVVWWXXYY 1 BRIGHT A_FadeOut(0.04)
        Stop
	}
}

ACTOR U_MediumExplosionFlames: U_ExplosionFlames replaces MediumExplosionFlames
{
	Scale 1.95
	Speed 2
}

ACTOR U_SmallExplosionFlames: U_ExplosionFlames replaces SmallExplosionFlames
{
	Scale 1.35
	Speed 2
}

ACTOR ExplosionLight
{
	+DONTSPLASH
	+THRUACTORS
	States 
	{
	Spawn:
		TNT1 A 0
		TNT1 AAABBBCCCDDD 2
	Death:
		Stop
	}
}


// --------------------------------------------------------------------------
//
//	Updated Fire
//
// --------------------------------------------------------------------------

ACTOR U_TinyBurningPiece replaces TinyBurningPiece
{
    Radius 0
    Height 0
    +NOBLOCKMAP
    +NOTELEPORT
    +DONTSPLASH
	+EXPLODEONWATER
	Damagetype "Fire"
	Alpha 0.9
	RenderStyle Add
	Scale 1.1
	States
	{
	Spawn:
		CFCF ABCD 1 BRIGHT
		TNT1 A 0 A_Explode(2, 60)
		CFCF EFGHIJKLM 1 BRIGHT
		TNT1 A 0 A_Jump(24, "StopBurning")
		Loop
	StopBurning:
		CFCF NOP 1 BRIGHT A_SpawnItem("RedFlareSmall", 0, 5)
		Stop
	Death:
		Stop
    }
}

ACTOR U_TinyBurningPiece2: U_TinyBurningPiece replaces TinyBurningPiece2
{
	Scale 0.7
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		CFCF ABCD 1 BRIGHT
		TNT1 A 0 A_Explode(1, 45)
		CFCF EFGHIJKLM 1 BRIGHT
		TNT1 A 0 A_Jump(24, "StopBurning")
		Loop
    }
}

ACTOR U_TinyBurningPiece3: U_TinyBurningPiece2 replaces TinyBurningPiece3
{
	Scale 0.5
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		CFCF ABCDEFGHIJKLM 1 BRIGHT
		TNT1 A 0 A_Explode(1, 30)
		CFCF ABCDEFGHIJKLM 1 BRIGHT
		TNT1 A 0 A_Jump(32, "StopBurning")
		Loop
    }
}


// --------------------------------------------------------------------------
//
//	Updated General FX
//
// --------------------------------------------------------------------------

Actor U_BluePlasmaParticle: BluePlasmaParticle replaces BluePlasmaParticle
{
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_ScaleVelocity(frandom(0.5,1.3))
	Death:
		TNT1 A 0 A_Jump(256,"Fade1","Fade2","Fade3")
	Fade1:
		SPKB A 1 Bright A_FadeOut(0.02)
		Loop
	Fade2:
		SPKB A 1 Bright A_FadeOut(0.03)
		Loop
	Fade3:
		SPKB A 1 Bright A_FadeOut(0.04)
		Loop
	}
}

ACTOR MetalShardz1
{
	Game Doom
	Scale 0.15
	Speed 9
	Gravity 0.5
	BounceFactor 0.4
	Radius 1
	Height 1
	Damage 0
	+MISSILE
	+CLIENTSIDEONLY
	+NOTELEPORT
	+NOBLOCKMAP
	+BLOODLESSIMPACT 
	+FORCEXYBILLBOARD
	+FORCEXYBILLBOARD
	+CLIENTSIDEONLY
	+DOOMBOUNCE
	+DONTSPLASH
	+THRUACTORS
	+THRUGHOST
	+GHOST
    States
    {
    Spawn:
		TNT1 A 0
		TNT1 A 0 A_ScaleVelocity(frandom(0.5,1.5))
	Fly:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Death")
		JNK1 ABCDEFGH 3
        Loop
	Death:
        JNK1 H 200
		JNK1 H 1 A_FadeOut(0.01)
        Wait
    }
}

ACTOR MetalShardz2: MetalShardz1
{
    States
    {
    Spawn:
		TNT1 A 0
		TNT1 A 0 A_ScaleVelocity(frandom(0.5,1.5))
	Fly:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Death")
		JNK2 ABCDEFGH 3
        Loop
	Death:
        JNK2 C 200
		JNK2 C 1 A_FadeOut(0.01)
        Wait
    }
}

ACTOR MetalShardz3: MetalShardz1
{
    States
    {
    Spawn:
		TNT1 A 0
		TNT1 A 0 A_ScaleVelocity(frandom(0.5,1.5))
	Fly:
	    TNT1 A 0 A_JumpIf(waterlevel > 1, "Death")
		JNK3 ABCDEFGH 3
        Loop
	Death:
        JNK3 H 200
		JNK3 H 1 A_FadeOut(0.01)
        Wait
    }
}