//kept around for inheritance purposes
ACTOR ExplosionFire
{
	Game Doom
	Radius 1
	Height 1
	Speed 4
	Damage 0 
    +NOBLOCKMAP
    +NOTELEPORT
    +DONTSPLASH
	+MISSILE
	+FORCEXYBILLBOARD
    +CLIENTSIDEONLY
    +NOINTERACTION
	+NOCLIP
    DamageType Flames
	Gravity 0
	Renderstyle Add
	States
	{
    Spawn:
        MISL BCDEFG 2 BRIGHT
        Stop
	}
}

ACTOR SmoothBulletPuff Replaces BulletPuff
{
	Game Doom
	SpawnID 131
	+NOBLOCKMAP
	+NOGRAVITY
	+ALLOWPARTICLES
	+RANDOMIZE
	RenderStyle Translucent
	Alpha 0.7
	VSpeed 1
	Mass 5
	States
	{
	spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(CallACS("PuffStyle")==1, "FancyPuff")
		spuf abcd 2 bright
		spuf efghi 2
		stop
	FancyPuff:
		PUFF A 2 Bright
		TNT1 AAAAA 0 A_CustomMissile ("PuffParticles", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 AAA 0 A_CustomMissile ("PuffSmoke", 0, 0, random (0, 360), 2, random (0, 360))
		PUFF B 2
	Melee:
		PUFF CD 2
		Stop
	}
}

ACTOR BulletPuffGibby : SmoothBulletPuff
{
  DamageType GibbyHaynes
  }

ACTOR PuffParticles: ExplosionFire
{
    Speed 10
	Scale 0.6
	Renderstyle Add
	States
	{
    Spawn:
        PUFF A 2 BRIGHT
		PUFF A 2
        Stop
	}
}

ACTOR PuffSmoke: ExplosionFire
{
    Speed 1
	Scale 0.9
	Renderstyle Translucent
	Alpha 0.9
	States
	{
    Spawn:
	TNT1 A 0
	TNT1 A 0 A_Jump(128, "Spawn2")
    PUFF CCCCCCCCCCCCCCCCCC 1 A_FadeOut(0.05)
	Stop
	Spawn2:
	PUFF DDDDDDDDDDDDDDDDDD 1 A_FadeOut(0.05)
    Stop
	}
}

Actor bulletcasing
{
  scale 0.17
  radius 3
  projectile
  bouncefactor 0.5
  wallbouncefactor 0.4
  bouncecount 5
  bouncesound "casings/bullet/bounce"
  bouncetype Doom
  -NOGRAVITY
  -NOBLOCKMAP
//  -BOUNCEONCEILINGS
  +NOTELEPORT
  +THRUACTORS
  +DROPOFF
  +FLOORCLIP
  -BOUNCEONACTORS
  states
	{
	Spawn:
		BCAS ABCDEFGH 1
		loop
	Death:
		TNT1 A 0 A_Jump(255, "Death1", "Death2", "Death3", "Death4")
		goto death1
	Death1:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(CallACS("LiquidCheck"),"disappear")
		BCAS I -1 a_playsound ("casings/bullet/die") 
		stop
	Death2:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(CallACS("LiquidCheck"),"disappear")
		BCAS J -1 a_playsound ("casings/bullet/die") 
		stop
	Death3:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(CallACS("LiquidCheck"),"disappear")
		BCAS K -1 a_playsound ("casings/bullet/die") 
		stop
	Death4:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(CallACS("LiquidCheck"),"disappear")
		BCAS L -1 a_playsound ("casings/bullet/die") 
		stop
	disappear:
		tnt1 a 1
		stop
	}
}

Actor shellcasing
{
  projectile
  scale 0.26
  radius 3
  bouncefactor 0.5
  wallbouncefactor 0.4
  bouncecount 5
  bouncesound "casings/shell/bounce"
  bouncetype Doom
  -NOGRAVITY
  -NOBLOCKMAP
 // -BOUNCEONCEILINGS
  +DROPOFF
  +THRUACTORS
  +NOTELEPORT
  +BOUNCEONACTORS
  +FLOORCLIP
  states
	{
	Spawn:
		SCAS ABCDEFGH 2
		loop
	Death:
		TNT1 A 0 A_Jump(255, "Death1", "Death2", "Death3", "Death4", "Death6")
		goto death1
		
	Death1:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(CallACS("LiquidCheck"),"disappear")
		SHDY a -1 a_playsound ("casings/shell/die")
		stop
	Death2:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(CallACS("LiquidCheck"),"disappear")
		SHDY b -1 a_playsound ("casings/shell/die")
		stop
	Death3:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(CallACS("LiquidCheck"),"disappear")
		SHDY c -1 a_playsound ("casings/shell/die")
		stop
	Death4:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(CallACS("LiquidCheck"),"disappear")
		SHDY d -1 a_playsound ("casings/shell/die")
		stop
	Death5:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(CallACS("LiquidCheck"),"disappear")
		SHDY e -1 a_playsound ("casings/shell/die")
		stop
	Death6:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(CallACS("LiquidCheck"),"disappear")
		SHDY f -1 a_playsound ("casings/shell/die")
		stop
	disappear:
		tnt1 a 1
		stop
	}
}

actor smoothfog : teleportfog replaces teleportfog
{
states
	{
	spawn:
	SFOG abcdefghijklmnopqrstrqpo 2 bright
	stop
	}
}

actor smoothtrail : rocketsmoketrail replaces rocketsmoketrail
{
states
	{
	Spawn:
    SMOK ABCDEFGHIJ 2
    Stop
	}
}

actor bluesparkle : rocketsmoketrail
{
alpha 0.4
states
	{
	spawn:
	bspk abcde 3 bright
	stop
	}
}

actor greensparkle : rocketsmoketrail
{
alpha 0.4
states
	{
	spawn:
	gsmk defghi 3 bright
	stop
	}
}