////////////////////////Blood

Actor BloodParticleX
{
	Radius 2
	Height 2
	+Missile
	-NoGravity  +FORCEXYBILLBOARD
	+THRUACTORS  +CLIENTSIDEONLY
	+NOTELEPORT  +DontSplash
	decal Bloodsplash
	BounceFactor 0.1
	Gravity 0.5
	RenderStyle Add
	Scale 1.0
	Alpha 0.5
	Translation "192:207=176:191"
	Speed 2
	States
	{
	Spawn:
		TNT1 A 1
		TNT1 A 0 A_ChangeFlag(DOOMBOUNCE, 0)
		TNT1 A 1
		Goto Stand
	Stand:
		WSPH ABCDDDDDDDD 4
		Stop
	Death:
		TNT1 A 0
		TNT1 A 0 A_SetScale(0.6, 0.6)
		BSPL ABCDEFGH 1
		Stop
	}
}

Actor BloodParticleXFAster: BloodParticleX
{
  Speed 4
}

Actor BloodParticleXSuperFast: BloodParticleX
{
  Speed 6
  Scale 1.6
}

Actor BloodParticleXSpawner
{
	Projectile
	+RANDOMIZE
	+FORCEXYBILLBOARD
	+NOTELEPORT
	damage 0
	radius 2
	height 0
	speed 30
	renderstyle ADD
	alpha 0.5
	scale .15
	states
	{
	Spawn:
		TNT1 AA 1 A_JumpIf(waterlevel < 1, "SurfaceSpawn")
		Stop

	SurfaceSpawn:
		TNT1 AAAAAAAAAAA 0 A_CustomMissile ("BloodLiquidParticleX", 0, 0, random (0, 360), 2, random (10, 40))
		TNT1 AAAAA 1 A_SpawnItem("SpawnBloodLiquidParticleX")
		Stop
	Death:
		Stop
	XDeath:
		TNT1 A 0
		Stop
	}
}

Actor SpawnBloodLiquidParticleX
{
+NOCLIP
+NOGRAVITY
+NOTELEPORT
states
	{
	Spawn:
        TNT1 AAA 0 A_CustomMissile ("BloodLiquidParticleX", 0, 0, random (0, 360), 2, random (10, 90))
		Stop
	}
}

Actor BloodLiquidParticleX
{
  Height 1
  Radius 1
  Mass 0
  +Missile
  -NoGravity
  +DontSplash
  +BOUNCEONCEILINGS
  +FORCEXYBILLBOARD
  +THRUACTORS
  +CLIENTSIDEONLY
  +NOTELEPORT
  +DontSplash
  BounceFactor 0.1
  Gravity 0.5
  RenderStyle Translucent
  Scale 2.0
  Alpha 0.3
  Speed 7
  States
  {
	  Spawn:
			MSBL ABCDEFG 2
			MSBL H 100
		Stop
 Death:
 TNT1 A 0
 TNT1 A 0 A_SetScale(1.9, 1.9)
 BSPL ABCDEFGH 1
 Stop

  }
}

actor BloodSplashBase3
{
  Radius 1
  Height 1
  Mass 999999
  alpha .6
  Scale 1.6
  +NOGRAVITY
  +THRUACTORS
  +DONTSPLASH
  +CLIENTSIDEONLY
  States
  {
  Spawn:
	TNT1 AA 0 A_CustomMissile ("BloodParticleX", 2, random(-5,5), random (0, 360), 2, random (50, 90))
	TNT1 AA 0 A_CustomMissile ("BloodParticleXFaster", 2, random(-5,5), random (0, 360), 2, random (50, 90))
	TNT1 A 0 A_RadiusGive("IsOverBlood", 64, RGF_OBJECTS, 1)

	TNT1 A 0 A_SpawnItem("BloodSplashWaves")
	TNT1 A 16
	TNT1 A 0 A_SpawnItem("BloodSplashWaves")
	TNT1 A 16
	TNT1 A 0 A_SpawnItem("BloodSplashWaves")
    Stop
  }
}

Actor BloodSplashWaves
{
	+CLIENTSIDEONLY
	+THRUACTORS
	+DONTSPLASH
	Mass 0
	States
		{
			Spawn:
			TNT1 A 0
			TNT1 A 0 ACS_NamedExecuteAlways("BDCheckWaterRipples", 0, 0, 0, 0)
			TNT1 A 3
			TNT1 A 0 A_JumpIfInventory("Clip2", 1, "Vanish")
			SLDG DE 4 A_SetScale(1.8, 1.8)
			SLDG FHI 4
			TNT1 A 1 A_SetScale(2.2, 1.4)
			SLDG DEFHI 6
			TNT1 A 1 A_SetScale(2.8, 0.8)
			SLDG DEFHI 8
			//TNT1 A 1 A_SetScale(2.8, 0.5)
			//SPSH DEFHI 16
			Stop


			Vanish:
				TNT1 A 0
				Stop
			}
}

actor BloodSplashBaseSmall
{
	Radius 1
	Height 1
	Mass 999999
	alpha .6
	Scale 0.7
	+DONTSPLASH
	+NOGRAVITY
	+THRUACTORS
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		TNT1 AA 0 A_CustomMissile ("BloodParticleX", 12, 0, random (0, 360), 2, random (50, 140))
		TNT1 AA 0 A_CustomMissile ("BloodParticleXFaster", 12, 0, random (0, 360), 2, random (50, 140))
		TNT1 A 0 A_RadiusGive("IsOverBlood", 64, RGF_OBJECTS, 1)
		TNT1 A 10
		TNT1 A 0 A_ChangeFLag("SHOOTABLE", 0)
		TNT1 A 0 A_NoBlocking
		Stop
	Death.CauseWaterSplash:
		TNT1 A 0 A_CustomMissile ("BloodParticleXSpawner", 0, 0, random (0, 360), 2, random (80, 110))
		TNT1 A 0 A_PlaySound("bigspl1")
		TNT1 A 0 A_NoBlocking
		TNT1 A 30
		Stop
	}
}

/////////////////// Nukage

Actor nukageParticleX
{
	Radius 2
	Height 2
	+Missile
	-NoGravity  +FORCEXYBILLBOARD
	+THRUACTORS  +CLIENTSIDEONLY
	+NOTELEPORT  +DontSplash
	decal Nukeagesplash
	BounceFactor 0.1
	Gravity 0.5
	RenderStyle Add
	Scale 1.0
	Alpha 0.5
	Speed 2
	States
	{
	Spawn:
		TNT1 A 1
		TNT1 A 0 A_ChangeFlag(DOOMBOUNCE, 0)
		TNT1 A 1
		Goto Stand
	Stand:
		NKSH ABCDDDDDD 4
		Stop
	Death:
		TNT1 A 0
		TNT1 A 0 A_SetScale(0.6, 0.6)
		NSPL ABCDEFGH 1
		Stop
	}
}

Actor nukageParticleXFAster: nukageParticleX
{
  Speed 4
}

Actor nukageParticleXSuperFast: nukageParticleX
{
  Speed 6
  Scale 1.6
}

actor NukageSplashBase
{
	Radius 1
	Height 1
	Mass 999999
	alpha .6
	Scale 1.6
	+NOGRAVITY
	+THRUACTORS
	+DONTSPLASH
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		TNT1 AA 0 A_CustomMissile ("NukageParticleX", 2, random(-5,5), random (0, 360), 2, random (50, 90))
		TNT1 AA 0 A_CustomMissile ("NukageParticleXFaster", 2, random(-5,5), random (0, 360), 2, random (50, 90))
		TNT1 A 0 A_RadiusGive("IsOverNukage", 64, RGF_OBJECTS, 1)

		TNT1 A 0 A_SpawnItem("NukageSplashWaves")
		TNT1 A 16
		TNT1 A 0 A_SpawnItem("NukageSplashWaves")
		TNT1 A 16
		TNT1 A 0 A_SpawnItem("NukageSplashWaves")
		Stop
	}
}

Actor NukageSplashWaves
{
	+CLIENTSIDEONLY
	+THRUACTORS
	+DONTSPLASH
	Mass 0
	States
		{
			Spawn:
			TNT1 A 0
			TNT1 A 0 ACS_NamedExecuteAlways("BDCheckWaterRipples", 0, 0, 0, 0)
			TNT1 A 3
			TNT1 A 0 A_JumpIfInventory("Clip2", 1, "Vanish")
			SLDG DE 4 BRIGHT A_SetScale(1.2, 1.4)
			SLDG FHI 4 BRIGHT
			TNT1 A 1 A_SetScale(1.6, 1.0)
			SLDG DEFHI 6 BRIGHT
			TNT1 A 1 A_SetScale(1.8, 0.6)
			SLDG DEFHI 8 BRIGHT
			Stop

			Vanish:
				TNT1 A 0
				Stop
			}
}

actor NukageSplashBaseSmall
{
	Radius 1
	Height 1
	Mass 999999
	alpha .6
	Scale 0.7
	+DONTSPLASH
	+NOGRAVITY
	+THRUACTORS
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		TNT1 AA 0 A_CustomMissile ("NukageParticleX", 12, 0, random (0, 360), 2, random (50, 140))
		TNT1 AA 0 A_CustomMissile ("NukageParticleXFaster", 12, 0, random (0, 360), 2, random (50, 140))
		TNT1 A 0 A_RadiusGive("IsOverNukage", 64, RGF_OBJECTS, 1)
		TNT1 A 10
		TNT1 A 0 A_ChangeFLag("SHOOTABLE", 0)
		TNT1 A 0 A_NoBlocking
		Stop
	Death.CauseWaterSplash:
		TNT1 A 0 A_CustomMissile ("GreenParticleXSpawner", 0, 0, random (0, 360), 2, random (80, 110))
		TNT1 A 0 A_PlaySound("bigspl1")
		TNT1 A 0 A_NoBlocking
		TNT1 A 30
		Stop
	}
}

Actor GreenParticleXSpawner: BloodParticleXSpawner
{
Translation "179:191=112:127"
states
	{
	Spawn:
		TNT1 AA 1 A_JumpIf(waterlevel < 1, "SurfaceSpawn")
		Stop

	SurfaceSpawn:
		TNT1 AAAAAAAAAAA 0 A_CustomMissile ("GreenLiquidParticleX", 0, 0, random (0, 360), 2, random (30, 45))
		TNT1 AAAAA 1 A_SpawnItem("SpawnGreenLiquidParticleX")
		Stop
	Death:
		Stop
	XDeath:
	TNT1 A 0
	Stop
	}
}

Actor SpawnGreenLiquidParticleX
{
+NOCLIP
+NOGRAVITY
+NOTELEPORT
states
	{
	Spawn:
        TNT1 AAA 0 A_CustomMissile ("GreenLiquidParticleX", 0, 0, random (0, 360), 2, random (40, 85))
		Stop
	}
}

Actor GreenLiquidParticleX: BloodLiquidParticleX
{
  Translation "179:191=112:127", "45:47=112:127"
  RenderStyle Add
  Alpha 0.8
  damagetype "Slime"
  States
  {
	  Spawn:
			MSBL ABCDEFG 2 BRIGHT
			MSBL H 120 BRIGHT
		Stop
 Death:
 TNT1 A 0
 TNT1 A 0 A_SetScale(1.9, 1.9)
 //TNT1 A 0 A_Explode(10, 120)
 BSPL ABCDEFGH 1
 Stop

  }
}

/////////////////// Orange

Actor OrangeParticleX
{
	Radius 2
	Height 2
	+Missile
	-NoGravity  +FORCEXYBILLBOARD
	+THRUACTORS  +CLIENTSIDEONLY
	+NOTELEPORT  +DontSplash
	decal Orangesplash
	BounceFactor 0.1
	Gravity 0.5
	RenderStyle Add
	Scale 1.0
	Alpha 0.5
	Speed 2
	States
	{
	Spawn:
		TNT1 A 1
		TNT1 A 0 A_ChangeFlag(DOOMBOUNCE, 0)
		TNT1 A 1
		Goto Stand
	Stand:
		OSPH ABCDDDDDDDD 4
		Stop
	Death:
		TNT1 A 0
		TNT1 A 0 A_SetScale(0.6, 0.6)
		OSPL ABCDEFGH 1
		Stop
	}
}

Actor OrangeParticleXFAster: OrangeParticleX
{
  Speed 4
}

Actor OrangeParticleXSuperFast: OrangeParticleX
{
  Speed 6
  Scale 1.6
}

actor OrangeSplashBase
{
	Radius 1
	Height 1
	Mass 999999
	alpha .6
	Scale 1.6
	+NOGRAVITY
	+THRUACTORS
	+DONTSPLASH
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		TNT1 AA 0 A_CustomMissile ("OrangeParticleX", 2, random(-5,5), random (0, 360), 2, random (50, 90))
		TNT1 AA 0 A_CustomMissile ("OrangeParticleXFaster", 2, random(-5,5), random (0, 360), 2, random (50, 90))
		TNT1 A 0 A_RadiusGive("IsOverOrange", 64, RGF_OBJECTS, 1)

		TNT1 A 0 A_SpawnItem("OrangeSplashWaves")
		TNT1 A 16
		TNT1 A 0 A_SpawnItem("OrangeSplashWaves")
		TNT1 A 16
		TNT1 A 0 A_SpawnItem("OrangeSplashWaves")
		Stop
	}
}

Actor OrangeSplashWaves
{
	+CLIENTSIDEONLY
	+THRUACTORS
	+DONTSPLASH
	Mass 0
	States
		{
			Spawn:
			TNT1 A 0
			TNT1 A 0 ACS_NamedExecuteAlways("BDCheckWaterRipples", 0, 0, 0, 0)
			TNT1 A 3
			TNT1 A 0 A_JumpIfInventory("Clip2", 1, "Vanish")
			SLDG DE 4 BRIGHT A_SetScale(1.2, 1.4)
			SLDG FHI 4 BRIGHT
			TNT1 A 1 A_SetScale(1.6, 1.0)
			SLDG DEFHI 6 BRIGHT
			TNT1 A 1 A_SetScale(1.8, 0.6)
			SLDG DEFHI 8 BRIGHT
			//TNT1 A 1 A_SetScale(2.8, 0.5)
			//SPSH DEFHI 16
			Stop

			Vanish:
				TNT1 A 0
				Stop
		}
}

actor OrangeSplashBaseSmall
{
	Radius 1
	Height 1
	Mass 999999
	alpha .6
	Scale 0.7
	+DONTSPLASH
	+NOGRAVITY
	+THRUACTORS
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		TNT1 AA 0 A_CustomMissile ("OrangeParticleX", 12, 0, random (0, 360), 2, random (50, 140))
		TNT1 AA 0 A_CustomMissile ("OrangeParticleXFaster", 12, 0, random (0, 360), 2, random (50, 140))
		TNT1 A 0 A_RadiusGive("IsOverOrange", 64, RGF_OBJECTS, 1)
		TNT1 A 10
		TNT1 A 0 A_ChangeFLag("SHOOTABLE", 0)
		TNT1 A 0 A_NoBlocking
		Stop
	Death.CauseWaterSplash:
		TNT1 A 0 A_CustomMissile ("OrangeParticleXSpawner", 0, 0, random (0, 360), 2, random (80, 110))
		TNT1 A 0 A_PlaySound("bigspl1")
		TNT1 A 0 A_NoBlocking
		TNT1 A 30
		Stop
	}
}

Actor OrangeParticleXSpawner: BloodParticleXSpawner
{
states
	{
	Spawn:
		TNT1 AA 1 A_JumpIf(waterlevel < 1, "SurfaceSpawn")
		Stop

	SurfaceSpawn:
		TNT1 AAAAAAAAAAA 0 A_CustomMissile ("OrangeLiquidParticleX", 0, 0, random (0, 360), 2, random (30, 45))
		TNT1 AAAAA 1 A_SpawnItem("SpawnOrangeLiquidParticleX")
		Stop
	Death:
		Stop
	XDeath:
	TNT1 A 0
	Stop
	}
}

Actor SpawnOrangeLiquidParticleX
{
+NOCLIP
+NOGRAVITY
+NOTELEPORT
states
	{
	Spawn:
        TNT1 AAA 0 A_CustomMissile ("OrangeLiquidParticleX", 0, 0, random (0, 360), 2, random (40, 85))
		Stop
	}
}

Actor OrangeLiquidParticleX: BloodLiquidParticleX
{
  Translation "179:191=[255,127,0]:[127,63,0]", "45:47=[255,127,0]:[127,63,0]"
  RenderStyle Add
  Alpha 0.8
  States
  {
	Spawn:
		MSBL ABCDEFG 2 BRIGHT
		MSBL H 120 BRIGHT
		Stop
	Death:
		TNT1 A 0
		TNT1 A 0 A_SetScale(1.9, 1.9)
		BSPL ABCDEFGH 1
		Stop
  }
}

/////////////////// PinaColada

Actor PinaColadaParticleX
{
	Radius 2
	Height 2
	+Missile
	-NoGravity  +FORCEXYBILLBOARD
	+THRUACTORS  +CLIENTSIDEONLY
	+NOTELEPORT  +DontSplash
	decal PinaColadasplash
	BounceFactor 0.1
	Gravity 0.5
	RenderStyle Add
	Scale 1.0
	Alpha 0.5
	Speed 2
	States
	{
	Spawn:
		TNT1 A 1
		TNT1 A 0 A_ChangeFlag(DOOMBOUNCE, 0)
		TNT1 A 1
		Goto Stand
	Stand:
		QSPH ABCDDDDDDDD 4
		Stop
	Death:
		TNT1 A 0
		TNT1 A 0 A_SetScale(0.6, 0.6)
		QSPL ABCDEFGH 1
		Stop
	}
}

Actor PinaColadaParticleXFAster: PinaColadaParticleX
{
  Speed 4
}

Actor PinaColadaParticleXSuperFast: PinaColadaParticleX
{
  Speed 6
  Scale 1.6
}

actor PinaColadaSplashBase
{
	Radius 1
	Height 1
	Mass 999999
	alpha .6
	Scale 1.6
	+NOGRAVITY
	+THRUACTORS
	+DONTSPLASH
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		TNT1 AA 0 A_CustomMissile ("PinaColadaParticleX", 2, random(-5,5), random (0, 360), 2, random (50, 90))
		TNT1 AA 0 A_CustomMissile ("PinaColadaParticleXFaster", 2, random(-5,5), random (0, 360), 2, random (50, 90))
		TNT1 A 0 A_RadiusGive("IsOverPinaColada", 64, RGF_OBJECTS, 1)

		TNT1 A 0 A_SpawnItem("PinaColadaSplashWaves")
		TNT1 A 16
		TNT1 A 0 A_SpawnItem("PinaColadaSplashWaves")
		TNT1 A 16
		TNT1 A 0 A_SpawnItem("PinaColadaSplashWaves")
		Stop
	}
}

Actor PinaColadaSplashWaves
{
	+CLIENTSIDEONLY
	+THRUACTORS
	+DONTSPLASH
	Mass 0
	States
		{
			Spawn:
			TNT1 A 0
			TNT1 A 0 ACS_NamedExecuteAlways("BDCheckWaterRipples", 0, 0, 0, 0)
			TNT1 A 3
			TNT1 A 0 A_JumpIfInventory("Clip2", 1, "Vanish")
			SLDG DE 4 BRIGHT A_SetScale(1.2, 1.4)
			SLDG FHI 4 BRIGHT
			TNT1 A 1 A_SetScale(1.6, 1.0)
			SLDG DEFHI 6 BRIGHT
			TNT1 A 1 A_SetScale(1.8, 0.6)
			SLDG DEFHI 8 BRIGHT
			//TNT1 A 1 A_SetScale(2.8, 0.5)
			//SPSH DEFHI 16
			Stop

			Vanish:
				TNT1 A 0
				Stop
		}
}

actor PinaColadaSplashBaseSmall
{
	Radius 1
	Height 1
	Mass 999999
	alpha .6
	Scale 0.7
	+DONTSPLASH
	+NOGRAVITY
	+THRUACTORS
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		TNT1 AA 0 A_CustomMissile ("PinaColadaParticleX", 12, 0, random (0, 360), 2, random (50, 140))
		TNT1 AA 0 A_CustomMissile ("PinaColadaParticleXFaster", 12, 0, random (0, 360), 2, random (50, 140))
		TNT1 A 0 A_RadiusGive("IsOverPinaColada", 64, RGF_OBJECTS, 1)
		TNT1 A 10
		TNT1 A 0 A_ChangeFLag("SHOOTABLE", 0)
		TNT1 A 0 A_NoBlocking
		Stop
	Death.CauseWaterSplash:
		TNT1 A 0 A_CustomMissile ("PinaColadaParticleXSpawner", 0, 0, random (0, 360), 2, random (80, 110))
		TNT1 A 0 A_PlaySound("bigspl1")
		TNT1 A 0 A_NoBlocking
		TNT1 A 30
		Stop
	}
}

Actor PinaColadaParticleXSpawner: BloodParticleXSpawner
{
states
	{
	Spawn:
		TNT1 AA 1 A_JumpIf(waterlevel < 1, "SurfaceSpawn")
		Stop

	SurfaceSpawn:
		TNT1 AAAAAAAAAAA 0 A_CustomMissile ("PinaColadaLiquidParticleX", 0, 0, random (0, 360), 2, random (30, 45))
		TNT1 AAAAA 1 A_SpawnItem("SpawnPinaColadaLiquidParticleX")
		Stop
	Death:
		Stop
	XDeath:
	TNT1 A 0
	Stop
	}
}

Actor SpawnPinaColadaLiquidParticleX
{
+NOCLIP
+NOGRAVITY
+NOTELEPORT
states
	{
	Spawn:
        TNT1 AAA 0 A_CustomMissile ("PinaColadaLiquidParticleX", 0, 0, random (0, 360), 2, random (40, 85))
		Stop
	}
}

Actor PinaColadaLiquidParticleX: BloodLiquidParticleX
{
  Translation "179:191=[255,255,255]:[127,127,127]", "45:47=[255,255,255]:[127,127,127]"
  RenderStyle Add
  Alpha 0.8
  States
  {
	Spawn:
		MSBL ABCDEFG 2 BRIGHT
		MSBL H 120 BRIGHT
		Stop
	Death:
		TNT1 A 0
		TNT1 A 0 A_SetScale(1.9, 1.9)
		BSPL ABCDEFGH 1
		Stop
  }
}

/////////////////// Purple

Actor PurpleParticleX
{
	Radius 2
	Height 2
	+Missile
	-NoGravity  +FORCEXYBILLBOARD
	+THRUACTORS  +CLIENTSIDEONLY
	+NOTELEPORT  +DontSplash
	decal Purplesplash
	BounceFactor 0.1
	Gravity 0.5
	RenderStyle Add
	Scale 1.0
	Alpha 0.5
	Speed 2
	States
	{
	Spawn:
		TNT1 A 1
		TNT1 A 0 A_ChangeFlag(DOOMBOUNCE, 0)
		TNT1 A 1
		Goto Stand
	Stand:
		PUSH ABCDDDDDDDD 4
		Stop
	Death:
		TNT1 A 0
		TNT1 A 0 A_SetScale(0.6, 0.6)
		PSPL ABCDEFGH 1
		Stop
	}
}

Actor PurpleParticleXFAster: PurpleParticleX
{
  Speed 4
}

Actor PurpleParticleXSuperFast: PurpleParticleX
{
  Speed 6
  Scale 1.6
}

actor PurpleSplashBase
{
	Radius 1
	Height 1
	Mass 999999
	alpha .6
	Scale 1.6
	+NOGRAVITY
	+THRUACTORS
	+DONTSPLASH
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		TNT1 AA 0 A_CustomMissile ("PurpleParticleX", 2, random(-5,5), random (0, 360), 2, random (50, 90))
		TNT1 AA 0 A_CustomMissile ("PurpleParticleXFaster", 2, random(-5,5), random (0, 360), 2, random (50, 90))
		TNT1 A 0 A_RadiusGive("IsOverPurple", 64, RGF_OBJECTS, 1)

		TNT1 A 0 A_SpawnItem("PurpleSplashWaves")
		TNT1 A 16
		TNT1 A 0 A_SpawnItem("PurpleSplashWaves")
		TNT1 A 16
		TNT1 A 0 A_SpawnItem("PurpleSplashWaves")
		Stop
	}
}

Actor PurpleSplashWaves
{
	+CLIENTSIDEONLY
	+THRUACTORS
	+DONTSPLASH
	Mass 0
	States
		{
			Spawn:
			TNT1 A 0
			TNT1 A 0 ACS_NamedExecuteAlways("BDCheckWaterRipples", 0, 0, 0, 0)
			TNT1 A 3
			TNT1 A 0 A_JumpIfInventory("Clip2", 1, "Vanish")
			SLDG DE 4 BRIGHT A_SetScale(1.2, 1.4)
			SLDG FHI 4 BRIGHT
			TNT1 A 1 A_SetScale(1.6, 1.0)
			SLDG DEFHI 6 BRIGHT
			TNT1 A 1 A_SetScale(1.8, 0.6)
			SLDG DEFHI 8 BRIGHT
			//TNT1 A 1 A_SetScale(2.8, 0.5)
			//SPSH DEFHI 16
			Stop

			Vanish:
				TNT1 A 0
				Stop
		}
}

actor PurpleSplashBaseSmall
{
	Radius 1
	Height 1
	Mass 999999
	alpha .6
	Scale 0.7
	+DONTSPLASH
	+NOGRAVITY
	+THRUACTORS
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		TNT1 AA 0 A_CustomMissile ("PurpleParticleX", 12, 0, random (0, 360), 2, random (50, 140))
		TNT1 AA 0 A_CustomMissile ("PurpleParticleXFaster", 12, 0, random (0, 360), 2, random (50, 140))
		TNT1 A 0 A_RadiusGive("IsOverPurple", 64, RGF_OBJECTS, 1)
		TNT1 A 10
		TNT1 A 0 A_ChangeFLag("SHOOTABLE", 0)
		TNT1 A 0 A_NoBlocking
		Stop
	Death.CauseWaterSplash:
		TNT1 A 0 A_CustomMissile ("PurpleParticleXSpawner", 0, 0, random (0, 360), 2, random (80, 110))
		TNT1 A 0 A_PlaySound("bigspl1")
		TNT1 A 0 A_NoBlocking
		TNT1 A 30
		Stop
	}
}

Actor PurpleParticleXSpawner: BloodParticleXSpawner
{
states
	{
	Spawn:
		TNT1 AA 1 A_JumpIf(waterlevel < 1, "SurfaceSpawn")
		Stop

	SurfaceSpawn:
		TNT1 AAAAAAAAAAA 0 A_CustomMissile ("PurpleLiquidParticleX", 0, 0, random (0, 360), 2, random (30, 45))
		TNT1 AAAAA 1 A_SpawnItem("SpawnPurpleLiquidParticleX")
		Stop
	Death:
		Stop
	XDeath:
	TNT1 A 0
	Stop
	}
}

Actor SpawnPurpleLiquidParticleX
{
+NOCLIP
+NOGRAVITY
+NOTELEPORT
states
	{
	Spawn:
        TNT1 AAA 0 A_CustomMissile ("PurpleLiquidParticleX", 0, 0, random (0, 360), 2, random (40, 85))
		Stop
	}
}

Actor PurpleLiquidParticleX: BloodLiquidParticleX
{
  Translation "179:191=[160,32,240]:[80,16,120]", "45:47=[160,32,240]:[80,16,120]"
  RenderStyle Add
  Alpha 0.8
  States
  {
	Spawn:
		MSBL ABCDEFG 2 BRIGHT
		MSBL H 120 BRIGHT
		Stop
	Death:
		TNT1 A 0
		TNT1 A 0 A_SetScale(1.9, 1.9)
		BSPL ABCDEFGH 1
		Stop
  }
}

/////////////////// Slime

Actor SlimeParticleX
{
	Radius 2
	Height 2
	+Missile
	-NoGravity  +FORCEXYBILLBOARD
	+THRUACTORS  +CLIENTSIDEONLY
	+NOTELEPORT  +DontSplash
	decal Slimesplash
	BounceFactor 0.1
	Gravity 0.5
	RenderStyle Add
	Scale 1.0
	Alpha 0.5
	Translation "192:207=128:143"
	Speed 2
	States
	{
	Spawn:
		TNT1 A 1
		TNT1 A 0 A_ChangeFlag(DOOMBOUNCE, 0)
		TNT1 A 1
		Goto Stand
	Stand:
		WSPH ABCDDDDDDDD 4
		Stop
	Death:
		TNT1 A 0
		TNT1 A 0 A_SetScale(0.6, 0.6)
		LSPL ABCDEFGH 1
		Stop
	}
}

Actor SlimeParticleXFaster: SlimeParticleX
{
  Speed 3
}

Actor slimeParticleXSuperFast: SlimeParticleX
{
  Speed 4
  Scale 1.6
}

Actor BrownParticleXSpawner: BloodParticleXSpawner
{
Translation "179:191=144:151"
states
	{
	Spawn:
		TNT1 AA 1 A_JumpIf(waterlevel < 1, "SurfaceSpawn")
		Stop

	SurfaceSpawn:
		TNT1 AAAAAAAAAAA 0 A_CustomMissile ("BrownLiquidParticleX", 0, 0, random (0, 360), 2, random (30, 45))
		TNT1 AAAAA 1 A_SpawnItem("SpawnBrownLiquidParticleX")
		Stop
	Death:
		Stop
	XDeath:
	TNT1 A 0
	Stop
	}
}

Actor SpawnBrownLiquidParticleX
{
	+NOCLIP
	+NOGRAVITY
	+NOTELEPORT
	states
	{
		Spawn:
		TNT1 AAA 0 A_CustomMissile ("BrownLiquidParticleX", 0, 0, random (0, 360), 2, random (40, 85))
		Stop
	}
}

Actor BrownLiquidParticleX: BloodLiquidParticleX
{
	Translation "179:191=144:151", "45:47=144:151"
	RenderStyle Add
	Alpha 0.8
	damagetype "Slime"
	States
	{
	Spawn:
		MSBL ABCDEFG 2 BRIGHT
		MSBL H 120 BRIGHT
		Stop
	Death:
		TNT1 A 0
		TNT1 A 0 A_SetScale(1.9, 1.9)
		//TNT1 A 0 A_Explode(10, 120)
		BSPL ABCDEFGH 1
		Stop
	}
}

actor SlimeSplashBase
{
	Radius 1
	Height 1
	Mass 999999
	alpha .6
	Scale 1.6
	+NOGRAVITY
	+THRUACTORS
	+DONTSPLASH
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		TNT1 AA 0 A_CustomMissile ("SlimeParticleX", 2, random(-5,5), random (0, 360), 2, random (50, 90))
		TNT1 AA 0 A_CustomMissile ("SlimeParticleXFaster", 2, random(-5,5), random (0, 360), 2, random (50, 90))
		TNT1 A 0 A_RadiusGive("IsOverSlime", 64, RGF_OBJECTS, 1)

		TNT1 A 0 A_SpawnItem("SlimeSplashWaves")
		TNT1 A 16
		TNT1 A 0 A_SpawnItem("SlimeSplashWaves")
		TNT1 A 16
		TNT1 A 0 A_SpawnItem("SlimeSplashWaves")
		Stop
	}
}

Actor SlimeSplashWaves
{
	+CLIENTSIDEONLY
	+THRUACTORS
	+DONTSPLASH
	Mass 0
	States
		{
			Spawn:
			TNT1 A 0
			TNT1 A 0 ACS_NamedExecuteAlways("BDCheckWaterRipples", 0, 0, 0, 0)
			TNT1 A 3
			TNT1 A 0 A_JumpIfInventory("Clip2", 1, "Vanish")
			SLDG DE 4 A_SetScale(1.8, 1.8)
			SLDG FHI 4
			TNT1 A 1 A_SetScale(2.2, 1.4)
			SLDG DEFHI 6
			TNT1 A 1 A_SetScale(2.8, 0.8)
			SLDG DEFHI 8
			Stop

			Vanish:
				TNT1 A 0
				Stop
		}
}

actor SlimeSplashBaseSmall
{
	Radius 1
	Height 1
	Mass 999999
	alpha .6
	Scale 0.7
	+DONTSPLASH
	+NOGRAVITY
	+THRUACTORS
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		TNT1 AA 0 A_CustomMissile ("SlimeParticleX", 12, 0, random (0, 360), 2, random (50, 140))
		TNT1 AA 0 A_CustomMissile ("SlimeParticleXFaster", 12, 0, random (0, 360), 2, random (50, 140))
		TNT1 A 0 A_RadiusGive("IsOverSlime", 64, RGF_OBJECTS, 1)
		TNT1 A 10
		TNT1 A 0 A_ChangeFLag("SHOOTABLE", 0)
		TNT1 A 0 A_NoBlocking
		Stop
	Death.CauseWaterSplash:
		TNT1 A 0 A_CustomMissile ("BrownParticleXSpawner", 0, 0, random (0, 360), 2, random (80, 110))
		TNT1 A 0 A_PlaySound("bigspl1")
		TNT1 A 0 A_NoBlocking
		TNT1 A 30
		Stop
	}
}

actor LavaSplashBase : slimeSplashBase
{
	Radius 1
	Height 1
	Mass 999999
	Scale 0.5
	renderstyle Add
	alpha 1.0
	+DONTSPLASH
	+NOGRAVITY
	+THRUACTORS
	+DONTSPLASH
	+CLIENTSIDEONLY
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_CustomMissile ("OldschoolRocketSmokeTrailDarker", 12, 0, random (160, 210), 2, random (10, 90))
	TNT1 A 0 A_SpawnItemEx("TinyBurningPiece3", random (-5, 5), random (-5, 5))
	TNT1 AAAAA 0 A_CustomMissile ("ExplosionParticleHeavy", 10, 0, random (0, 180), 2, random (10, 90))
	TNT1 A 0 A_RadiusGive("IsOverLava", 64, RGF_OBJECTS, 1)
	INFE ABCDEFGHIJKLMNOPQR 1 BRIGHT
	INFE ST 1 BRIGHT A_CustomMissile ("OldschoolRocketSmokeTrailDarker", 32, 0, random (160, 210), 2, random (10, 90))
	TNT1 AAA 4 A_CustomMissile ("OldschoolRocketSmokeTrailDarker", 14, 0, random (160, 210), 2, random (10, 90))
    Stop
  }
}

actor MagentaSplashBase : slimeSplashBase
{
	Radius 1
	Height 1
	Mass 999999
	Scale 0.5
	renderstyle Add
	alpha 1.0
	+DONTSPLASH
	+NOGRAVITY
	+THRUACTORS
	+DONTSPLASH
	+CLIENTSIDEONLY
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_CustomMissile ("OldschoolRocketSmokeTrailDarker", 12, 0, random (160, 210), 2, random (10, 90))
	TNT1 A 0 A_SpawnItemEx("TinyBurningPiece3M", random (-5, 5), random (-5, 5))
	TNT1 AAAAA 0 A_CustomMissile ("MagentaParticleHeavy", 10, 0, random (0, 180), 2, random (10, 90))
	TNT1 A 0 A_RadiusGive("IsOverMagenta", 64, RGF_OBJECTS, 1)
	INFM ABCDEFGHIJKLMNOPQR 1 BRIGHT
	INFM ST 1 BRIGHT A_CustomMissile ("OldschoolRocketSmokeTrailDarker", 32, 0, random (160, 210), 2, random (10, 90))
	TNT1 AAA 4 A_CustomMissile ("OldschoolRocketSmokeTrailDarker", 14, 0, random (160, 210), 2, random (10, 90))
    Stop
  }
}

actor YavaSplashBase : slimeSplashBase
{
	Radius 1
	Height 1
	Mass 999999
	Scale 0.5
	renderstyle Add
	alpha 1.0
	+DONTSPLASH
	+NOGRAVITY
	+THRUACTORS
	+DONTSPLASH
	+CLIENTSIDEONLY
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_CustomMissile ("OldschoolRocketSmokeTrailDarker", 12, 0, random (160, 210), 2, random (10, 90))
	TNT1 A 0 A_SpawnItemEx("TinyBurningPiece3Y", random (-5, 5), random (-5, 5))
	TNT1 AAAAA 0 A_CustomMissile ("YellowParticleHeavy", 10, 0, random (0, 180), 2, random (10, 90))
	TNT1 A 0 A_RadiusGive("IsOverYava", 64, RGF_OBJECTS, 1)
	INFY ABCDEFGHIJKLMNOPQR 1 BRIGHT
	INFY ST 1 BRIGHT A_CustomMissile ("OldschoolRocketSmokeTrailDarker", 32, 0, random (160, 210), 2, random (10, 90))
	TNT1 AAA 4 A_CustomMissile ("OldschoolRocketSmokeTrailDarker", 14, 0, random (160, 210), 2, random (10, 90))
    Stop
  }
}

actor TarSplashBase
{
	Radius 1
	Height 1
	Mass 999999
	alpha .6
	Scale 1.6
	+NOGRAVITY
	+THRUACTORS
	+DONTSPLASH
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		TNT1 AA 0 A_CustomMissile ("TarParticleX", 2, random(-5,5), random (0, 360), 2, random (50, 90))
		TNT1 AA 0 A_CustomMissile ("TarParticleXFaster", 2, random(-5,5), random (0, 360), 2, random (50, 90))
		TNT1 A 0 A_RadiusGive("IsOverTar", 64, RGF_OBJECTS, 1)

		TNT1 A 0 A_SpawnItem("TarSplashWaves")
		TNT1 A 16
		TNT1 A 0 A_SpawnItem("TarSplashWaves")
		TNT1 A 16
		TNT1 A 0 A_SpawnItem("TarSplashWaves")
		Stop
	}
}

actor TarSplashBaseSmall
{
	Radius 1
	Height 1
	Mass 999999
	alpha .6
	Scale 0.7
	+DONTSPLASH
	+NOGRAVITY
	+THRUACTORS
	+CLIENTSIDEONLY
	States
	{
	Spawn:
		TNT1 AA 0 A_CustomMissile ("TarParticleX", 12, 0, random (0, 360), 2, random (50, 140))
		TNT1 AA 0 A_CustomMissile ("TarParticleXFaster", 12, 0, random (0, 360), 2, random (50, 140))
		TNT1 A 0 A_RadiusGive("IsOverTar", 64, RGF_OBJECTS, 1)
		TNT1 A 10
		TNT1 A 0 A_ChangeFLag("SHOOTABLE", 0)
		TNT1 A 0 A_NoBlocking
		Stop
	Death.CauseWaterSplash:
		TNT1 A 0 A_CustomMissile ("BlackParticleXSpawner", 0, 0, random (0, 360), 2, random (80, 110))
		TNT1 A 0 A_PlaySound("bigspl1")
		TNT1 A 0 A_NoBlocking
		TNT1 A 30
		Stop
	}
}

Actor TarParticleX
{
	Radius 2
	Height 2
	+Missile
	-NoGravity  +FORCEXYBILLBOARD
	+THRUACTORS  +CLIENTSIDEONLY
	+NOTELEPORT  +DontSplash
	decal Watersplash
	BounceFactor 0.1
	Gravity 0.5
	RenderStyle Add
	Scale 1.0
	Alpha 0.5
	Speed 2
	Translation "192:207=96:111"
	States
	{
	Spawn:
		TNT1 A 1
		TNT1 A 0 A_ChangeFlag(DOOMBOUNCE, 0)
		TNT1 A 1
		Goto Stand
	Stand:
		WSPH ABCDDDDDDDD 4
		Stop
	Death:
		TNT1 A 0
		TNT1 A 0 A_SetScale(0.6, 0.6)
		TSPL ABCDEFGH 1
		Stop
	}
}

Actor TarParticleXFAster: TarParticleX
{
  Speed 3
}

Actor TarParticleXSuperFast: TarParticleX
{
  Speed 4
  Scale 1.6
}

Actor TarSplashWaves
{
	+CLIENTSIDEONLY
	+THRUACTORS
	+DONTSPLASH
	Mass 0
	States
	{
	Spawn:
	TNT1 A 0
	TNT1 A 0 ACS_NamedExecuteAlways("BDCheckWaterRipples", 0, 0, 0, 0)
	TNT1 A 3
	TNT1 A 0 A_JumpIfInventory("Clip2", 1, "Vanish")
	SLDG DE 4 A_SetScale(1.8, 1.8)
	SLDG FHI 4
	TNT1 A 1 A_SetScale(2.2, 1.4)
	SLDG DEFHI 6
	TNT1 A 1 A_SetScale(2.8, 0.8)
	SLDG DEFHI 8
	Stop

	Vanish:
		TNT1 A 0
		Stop
	}
}

Actor BlackParticleXSpawner: BloodParticleXSpawner
{
	states
	{
	Spawn:
		TNT1 AA 1 A_JumpIf(waterlevel < 1, "SurfaceSpawn")
		Stop

	SurfaceSpawn:
		TNT1 AAAAAAAAAAA 0 A_CustomMissile ("BlackLiquidParticleX", 0, 0, random (0, 360), 2, random (10, 40))
		TNT1 AAAAA 1 A_SpawnItem("SpawnBlackLiquidParticleX")
		Stop
	Death:
		Stop
	XDeath:
		TNT1 A 0
		Stop
	}
}

Actor BlackLiquidParticleX: BloodLiquidParticleX
{
	Translation "176:191=96:111","32:47=96:111"
	RenderStyle Add
	Alpha 0.6
	States
	{
		Spawn:
		MSBL ABCDEFG 2 BRIGHT
		MSBL H 120 BRIGHT
		Stop

		Death:
		TNT1 A 0
		TNT1 A 0 A_SetScale(1.9, 1.9)
		BSPL ABCDEFGH 1
		Stop
	}
}

Actor SpawnBlackLiquidParticleX
{
	+NOCLIP
	+NOGRAVITY
	+NOTELEPORT
	states
	{
	Spawn:
        TNT1 AAA 0 A_CustomMissile ("BlackLiquidParticleX", 0, 0, random (0, 360), 2, random (10, 90))
		Stop
	}
}