//------------------------------------------------------------------------------------------------------------
// Spark Particles
//------------------------------------------------------------------------------------------------------------

actor Spark_W1
{
  height 1
  radius 2
  mass 0
  speed 3
+CLIENTSIDEONLY
  +MISSILE +NOBLOCKMAP +DOOMBOUNCE
  bouncefactor 0.3
  renderstyle Add
  scale 0.025
  Gravity 0.3
  states
  {
  Spawn:
    SPRK A 1 bright
    loop
  Death:
    SPRK A 1 bright A_FadeOut (0.1)
    loop
  }
}

actor Spark_W2 : Spark_W1  { speed 0.5  }
actor Spark_W3 : Spark_W1  { speed 0.75 }
actor Spark_W4 : Spark_W1  { speed 1.0  }
actor Spark_W5 : Spark_W1  { speed 1.25 }
actor Spark_W6 : Spark_W1  { speed 1.5  }
actor Spark_W7 : Spark_W1  { speed 1.75 }
actor Spark_W8 : Spark_W1  { speed 2.0  }
actor Spark_W9 : Spark_W1  { speed 2.25 }
actor Spark_W10 : Spark_W1 { speed 2.5  }
actor Spark_W11 : Spark_W1 { speed 2.75 }
actor Spark_W12 : Spark_W1 { speed 3.0  }
actor Spark_W13 : Spark_W1 { speed 3.25 }
actor Spark_W14 : Spark_W1 { speed 3.5  }
actor Spark_W15 : Spark_W1 { speed 3.75 }
actor Spark_W16 : Spark_W1 { speed 4.0  }

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

actor SparkFlare_W2 : SparkFlare_W1 { states { Spawn: SPKW B 1 bright A_FadeOut (0.1) loop } }
actor SparkFlare_W3 : SparkFlare_W1 { states { Spawn: SPKW C 1 bright A_FadeOut (0.1) loop } }
actor SparkFlare_W4 : SparkFlare_W1 { states { Spawn: SPKW D 1 bright A_FadeOut (0.1) loop } }
actor SparkFlare_W5 : SparkFlare_W1 { states { Spawn: SPKW E 1 bright A_FadeOut (0.1) loop } }
actor SparkFlare_W6 : SparkFlare_W1 { states { Spawn: SPKW F 1 bright A_FadeOut (0.1) loop } }


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








actor Spark_Down 8914
{
	//$Category SpecialFX
  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_W1")
    goto SpawnSparks
    TNT1 A 1 A_SpawnItem ("SparkFlare_W1")
    goto SpawnSparks
    TNT1 A 1 A_SpawnItem ("SparkFlare_W1")
    goto SpawnSparks
    TNT1 A 1 A_SpawnItem ("SparkFlare_W1")
    goto SpawnSparks
    TNT1 A 1 A_SpawnItem ("SparkFlare_W1")
    goto SpawnSparks
    TNT1 A 1 A_SpawnItem ("SparkFlare_W1")
  SpawnSparks:
    TNT1 A 0 A_CustomMissile ("Spark_W1", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W1", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W2", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W2", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W3", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W3", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W4", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W4", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W5", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W5", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W6", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W6", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W7", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W7", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W8", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W8", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W9", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W9", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W10", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W10", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W11", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W11", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W12", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W12", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W13", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W13", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W14", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W14", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W15", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W15", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W16", 0.0, 0, random (0, 360), 2, random (270, 315))
    TNT1 A 0 A_CustomMissile ("Spark_W16", 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 Spark_Up 8901
{
	//$Category SpecialFX
  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_W1")
    goto SpawnSparks
    TNT1 A 1 A_SpawnItem ("SparkFlare_W1")
    goto SpawnSparks
    TNT1 A 1 A_SpawnItem ("SparkFlare_W1")
    goto SpawnSparks
    TNT1 A 1 A_SpawnItem ("SparkFlare_W1")
    goto SpawnSparks
    TNT1 A 1 A_SpawnItem ("SparkFlare_W1")
    goto SpawnSparks
    TNT1 A 1 A_SpawnItem ("SparkFlare_W1")
  SpawnSparks:
    TNT1 A 0 A_CustomMissile ("Spark_W1", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W1", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W2", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W2", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W3", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W3", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W4", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W4", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W5", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W5", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W6", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W6", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W7", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W7", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W8", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W8", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W9", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W9", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W10", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W10", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W11", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W11", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W12", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W12", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W13", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W13", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W14", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W14", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W15", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W15", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W16", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W16", 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_W1")
    TNT1 A 0 A_CustomMissile ("Spark_W1", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W1", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W2", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W2", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W3", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W3", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W4", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W4", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W5", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W5", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W6", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W6", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W7", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W7", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W8", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W8", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W9", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W9", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W10", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W10", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W11", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W11", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W12", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W12", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W13", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W13", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W14", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W14", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W15", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W15", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W16", 0.0, 0, random (0, 360), 2, random (67, 113))
    TNT1 A 0 A_CustomMissile ("Spark_W16", 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
  }
}