actor Spark_BD1
{
  height 1
  radius 2
  mass 0
  speed 3
+CLIENTSIDEONLY
  +MISSILE +NOBLOCKMAP +DOOMBOUNCE
  bouncefactor 0.3
  renderstyle Add
  scale 0.03
  Gravity 0.3
  states
  {
  Spawn:
    SPRX A 1 bright A_JumpIf(waterlevel > 1, "Underwater")
    loop
  Death:
    TNT1 A 0 A_JumpIf(waterlevel > 1, "Underwater")
    SPRX A 1 bright A_FadeOut (0.1)
    loop

  Underwater:
  TNT1 A 0
  Stop
  }
}

actor Spark_BD2 : Spark_BD1  { speed 0.5  }
actor Spark_BD3 : Spark_BD1  { speed 0.75 }
actor Spark_BD4 : Spark_BD1  { speed 1.0  }
actor Spark_BD5 : Spark_BD1  { speed 1.25 }
actor Spark_BD6 : Spark_BD1  { speed 1.5  }
actor Spark_BD7 : Spark_BD1  { speed 1.75 }
actor Spark_BD8 : Spark_BD1  { speed 2.0  }
actor Spark_BD9 : Spark_BD1  { speed 2.25 }
actor Spark_BD10 : Spark_BD1 { speed 2.5  }
actor Spark_BD11 : Spark_BD1 { speed 2.75 }
actor Spark_BD12 : Spark_BD1 { speed 3.0  }
actor Spark_BD13 : Spark_BD1 { speed 3.25 }
actor Spark_BD14 : Spark_BD1 { speed 3.5  }
actor Spark_BD15 : Spark_BD1 { speed 3.75 }
actor Spark_BD16 : Spark_BD1 { speed 4.0  }

actor SparkFlare_BD1
{
  height 0
  radius 0
  mass 0
  +MISSILE +NOBLOCKMAP +NOCLIP +NOGRAVITY
+CLIENTSIDEONLY
  renderstyle Add
  scale 0.25
  states
  {
  Spawn:
    SPRX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 bright A_FadeOut (0.1)
    Stop
  }
}

actor SparkFlare_BD2 : SparkFlare_BD1 { states { Spawn: SPKW B 1 bright A_FadeOut (0.1) loop } }
actor SparkFlare_BD3 : SparkFlare_BD1 { states { Spawn: SPKW C 1 bright A_FadeOut (0.1) loop } }
actor SparkFlare_BD4 : SparkFlare_BD1 { states { Spawn: SPKW D 1 bright A_FadeOut (0.1) loop } }
actor SparkFlare_BD5 : SparkFlare_BD1 { states { Spawn: SPKW E 1 bright A_FadeOut (0.1) loop } }
actor SparkFlare_BD6 : SparkFlare_BD1 { states { Spawn: SPKW F 1 bright A_FadeOut (0.1) loop } }


// End of Sparks-------------------------








actor BDSpark_Down
{
  height 8
  radius 4
  +NOBLOCKMAP
  +NOGRAVITY
  +NOSECTOR
  +NOCLIP
  +SPAWNCEILING
+CLIENTSIDEONLY
  states
  {
  Spawn:
  Active:
    TNT1 A 0
    TNT1 A 0 A_PlaySound ("Sparks/Spawn")
    TNT1 A 0 A_Jump (256, 1, 2, 3, 4, 5, 6)
    TNT1 A 1 A_SpawnItem ("SparkFlare_BD1")
    goto SpawnSparks
    TNT1 A 1 A_SpawnItem ("SparkFlare_BD1")
    goto SpawnSparks
    TNT1 A 1 A_SpawnItem ("SparkFlare_BD1")
    goto SpawnSparks
    TNT1 A 1 A_SpawnItem ("SparkFlare_BD1")
    goto SpawnSparks
    TNT1 A 1 A_SpawnItem ("SparkFlare_BD1")
    goto SpawnSparks
    TNT1 A 1 A_SpawnItem ("SparkFlare_BD1")
  SpawnSparks:
    TNT1 A 0 A_CustomMissile ("Spark_BD1", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD1", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD2", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD2", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD3", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD3", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD4", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD4", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD5", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD5", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD6", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD6", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD7", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD7", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD8", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD8", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD9", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD9", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD10", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD10", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD11", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD11", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD12", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD12", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD13", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD13", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD14", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD14", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD15", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD15", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD16", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_BD16", 0.0, 0, random (0, 360), 2, random (270, 315))
	TNT1 A 0 A_Jump (256, 1, 2, 3, 4, 5, 6)
	TNT1 A 100
	Goto Spawn
	TNT1 A 120
	Goto Spawn
	TNT1 A 540
	Goto Spawn
	TNT1 A 80
	Goto Spawn
	TNT1 A 140
	Goto Spawn
	TNT1 A 160
	Goto Spawn
  Inactive:
    TNT1 A -1
    stop
  }
}

actor BDSpark_Up
{
  height 8
  radius 4
  +NOBLOCKMAP
  +NOGRAVITY
  +NOSECTOR
  +NOCLIP
  +CLIENTSIDEONLY
  states
  {
  Spawn:
  Active:
    TNT1 A 0
    TNT1 A 0 A_PlaySound ("Sparks/Spawn")
    TNT1 A 0 A_Jump (256, 1, 2, 3, 4, 5, 6)
    TNT1 A 1 A_SpawnItem ("SparkFlare_BD1")
    goto SpawnSparks
    TNT1 A 1 A_SpawnItem ("SparkFlare_BD1")
    goto SpawnSparks
    TNT1 A 1 A_SpawnItem ("SparkFlare_BD1")
    goto SpawnSparks
    TNT1 A 1 A_SpawnItem ("SparkFlare_BD1")
    goto SpawnSparks
    TNT1 A 1 A_SpawnItem ("SparkFlare_BD1")
    goto SpawnSparks
    TNT1 A 1 A_SpawnItem ("SparkFlare_BD1")
  SpawnSparks:
    TNT1 A 0 A_CustomMissile ("Spark_BD1", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD1", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD2", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD2", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD3", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD3", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD4", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD4", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD5", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD5", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD6", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD6", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD7", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD7", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD8", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD8", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD9", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD9", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD10", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD10", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD11", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD11", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD12", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD12", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD13", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD13", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD14", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD14", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD15", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD15", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD16", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD16", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_Jump (256, 1, 2, 3, 4, 5, 6)
	TNT1 A 100
	Goto Spawn
	TNT1 A 120
	Goto Spawn
	TNT1 A 540
	Goto Spawn
	TNT1 A 80
	Goto Spawn
	TNT1 A 140
	Goto Spawn
	TNT1 A 160
	Goto Spawn
  Inactive:
    TNT1 A -1
    stop
  }
}



actor Spark_UpOnce
{
  height 8
  radius 4
  +NOBLOCKMAP
  +NOGRAVITY
  +NOSECTOR
  +NOCLIP
  +CLIENTSIDEONLY
  states
  {
  Spawn:
  Active:
      TNT1 A 0
    TNT1 A 0 A_PlaySound ("Sparks/Spawn")
    TNT1 A 0
    TNT1 A 1 A_SpawnItem ("SparkFlare_BD1")
    TNT1 A 0 A_CustomMissile ("Spark_BD1", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD1", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD2", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD2", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD3", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD3", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD4", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD4", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD5", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD5", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD6", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD6", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD7", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD7", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD8", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD8", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD9", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD9", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD10", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD10", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD11", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD11", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD12", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD12", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD13", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD13", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD14", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD14", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD15", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD15", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD16", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_BD16", 0.0, 0, random (0, 360), 2, random (67, 113))
    Stop
  }
}




//Radius_Quake (intensity, duration, damrad, tremrad, tid)

actor ShakeYourAssMinor
{
  height 8
  radius 4
  +NOBLOCKMAP
  +NOGRAVITY
  +NOSECTOR
  +NOCLIP
  +CLIENTSIDEONLY
  states
  {
  Spawn:
  TNT1 A 0
  TNT1 A 0 Radius_Quake (1, 4, 0, 1, 0)
  TNT1 A 10
    Stop
  }
}


actor ShakeYourAss
{
  height 8
  radius 4
  +NOBLOCKMAP
  +NOGRAVITY
  +NOSECTOR
  +NOCLIP
  +CLIENTSIDEONLY
  states
  {
  Spawn:
  TNT1 A 0
  TNT1 A 0 Radius_Quake (2, 6, 0, 1, 0)
  TNT1 A 10
    Stop
  }
}


actor ShakeYourAssDouble
{
  height 8
  radius 4
  +NOBLOCKMAP
  +NOGRAVITY
  +NOSECTOR
  +NOCLIP
  +CLIENTSIDEONLY
  states
  {
  Spawn:
  TNT1 A 0
  TNT1 A 0 Radius_Quake (4, 6, 0, 1, 0)
  TNT1 A 10
    Stop
  }
}


actor ShakeYourAssQuad
{
  height 8
  radius 4
  +NOBLOCKMAP
  +NOGRAVITY
  +NOSECTOR
  +NOCLIP
  +CLIENTSIDEONLY
  states
  {
  Spawn:
  TNT1 A 0
  TNT1 A 0 Radius_Quake (8, 6, 0, 1, 0)
  TNT1 A 10
    Stop
  }
}


actor ExplosionQuake
{
  height 8
  radius 4
  +NOBLOCKMAP
  +NOGRAVITY
  +NOSECTOR
  +NOCLIP
  +CLIENTSIDEONLY
  states
  {
  Spawn:
  TNT1 A 0
  TNT1 A 0 Radius_Quake (1, 12, 0, 7, 0)
  TNT1 A 10
    Stop
  }
}