

/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////
// Large Explosion 
/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////


actor Explosion_Spawner_L
{
  SeeSound "weapons/rocklx"
  +NOGRAVITY
  States
  {   
    Spawn:
    TNT1 A 0
    TNT1 A 0 bright A_SpawnItemEx("Explosion_RingSpawner_L", 0, 0, 0, 0, 0, 0, 0, 128, 0)

    Spawn2:
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("Ash", random(-32, 32), random(-32, 32), 
random(-32, 32), 0,0,0, 0, 128, 0)
	TNT1 A 0 A_SpawnItemEx("Scorch_L", 0, 0, 0, 0, 0, 0, 0, 0, 0)
	TNT1 AAAA 0 bright A_SpawnItemEx("Explosion_Part_L", random(-32, 32), random(-32, 32), 
random(-32, 32), 0,0,0, 0, 128, 0)
    TNT1 AAAA 0 bright A_SpawnItemEx("Explosion_PartSmoke_L", random(-16, 16), random(-16, 
16), random(-16, 16), random(-1, 1),random(-1, 1),random(-1, 1), 0, 128, 0)    
    TNT1 A 0 bright A_SpawnItemEx("Explosion_Radius_L", 0, 0, 0, 0, 0, 0, 0, 128, 0)    
    stop
  }
}



actor Explosion_Radius_L
{
  alpha 0.7
  scale 1
  renderstyle add
  +NOGRAVITY
  States
  {   
    Spawn:
    EXPL ABCDEF 1 bright A_FadeOut(0.1)
    stop
  }
}



actor Explosion_Part_L
{
  alpha 1
  scale 2
  renderstyle add
  +NOBLOCKMAP
  +NOTELEPORT
  +NOGRAVITY
  States
  {
	Spawn:
  		PART B 1 A_FadeOut(0.03)
  	Loop
  }
}

actor Explosion_PartSmoke_L
{
  alpha 1
  scale 3
  renderstyle add
  +NOBLOCKMAP
  +NOTELEPORT
  +NOGRAVITY
  States
  {
	Spawn:
  		PART N 1 A_FadeOut(0.01)
  	Loop
  }
}

actor Explosion_RingSpawner_L
{
  +NOGRAVITY
  States
  {
	Spawn:
		TNT1 A 1 A_SpawnItemEx ("Explosion_Ring1_L", 0, 0, 0, 0, 0, 0)
		TNT1 A 1 A_SpawnItemEx ("Explosion_Ring2_L", 0, 0, 0, 0, 0, 0)
		TNT1 A 1 A_SpawnItemEx ("Explosion_Ring3_L", 0, 0, 0, 0, 0, 0)
		TNT1 A 1 A_SpawnItemEx ("Explosion_Ring4_L", 0, 0, 0, 0, 0, 0)
		TNT1 A 1 A_SpawnItemEx ("Explosion_Ring5_L", 0, 0, 0, 0, 0, 0)
		TNT1 A 1 A_SpawnItemEx ("Explosion_Ring6_L", 0, 0, 0, 0, 0, 0)
		TNT1 A 1 A_SpawnItemEx ("Explosion_Ring7_L", 0, 0, 0, 0, 0, 0)
		TNT1 A 1 A_SpawnItemEx ("Explosion_Ring8_L", 0, 0, 0, 0, 0, 0)
		TNT1 A 1 A_SpawnItemEx ("Explosion_Ring9_L", 0, 0, 0, 0, 0, 0)
		TNT1 A 1 A_SpawnItemEx ("Explosion_Ring10_L", 0, 0, 0, 0, 0, 0)	 		
		stop
  }
}

actor Explosion_Ring1_L
{
  alpha 1
  Mass 5
  scale 0.2
  renderstyle add
  +NOBLOCKMAP
  +NOTELEPORT
  +NOGRAVITY
  States
  {
	Spawn:
  		PART Q 2
  	stop
  }
}

actor Explosion_Ring2_L
{
  alpha 0.9
  Mass 5
  scale 0.4
  renderstyle add
  +NOBLOCKMAP
  +NOTELEPORT
  +NOGRAVITY
  States
  {
	Spawn:
  		PART Q 2
  	stop
  }
}

actor Explosion_Ring3_L
{
  alpha 0.8
  Mass 5
  scale 0.6
  renderstyle add
  +NOBLOCKMAP
  +NOTELEPORT
  +NOGRAVITY
  States
  {
	Spawn:
  		PART Q 2
  	stop
  }
}

actor Explosion_Ring4_L
{
  alpha 0.7
  Mass 5
  scale 0.8
  renderstyle add
  +NOBLOCKMAP
  +NOTELEPORT
  +NOGRAVITY
  States
  {
	Spawn:
  		PART Q 2
  	stop
  }
}

actor Explosion_Ring5_L
{
  alpha 0.6
  Mass 5
  scale 1
  renderstyle add
  +NOBLOCKMAP
  +NOTELEPORT
  +NOGRAVITY
  States
  {
	Spawn:
  		PART Q 2
  	stop
  }
}

actor Explosion_Ring6_L
{
  alpha 0.5
  Mass 5
  scale 1.2
  renderstyle add
  +NOBLOCKMAP
  +NOTELEPORT
  +NOGRAVITY
  States
  {
	Spawn:
  		PART Q 2 
  	stop
  }
}

actor Explosion_Ring7_L
{
  alpha 0.4
  Mass 5
  scale 1.4
  renderstyle add
  +NOBLOCKMAP
  +NOTELEPORT
  +NOGRAVITY
  States
  {
	Spawn:
  		PART Q 2 
  	stop
  }
}

actor Explosion_Ring8_L
{
  alpha 0.3
  Mass 5
  scale 1.6
  renderstyle add
  +NOBLOCKMAP
  +NOTELEPORT
  +NOGRAVITY
  States
  {
	Spawn:
  		PART Q 2 
  	stop
  }
}

actor Explosion_Ring9_L
{
  alpha 0.2
  Mass 5
  scale 1.8
  renderstyle add
  +NOBLOCKMAP
  +NOTELEPORT
  +NOGRAVITY
  States
  {
	Spawn:
  		PART Q 2 
  	stop
  }
}

actor Explosion_Ring10_L
{
  alpha 0.1
  Mass 5
  scale 2
  renderstyle add
  +NOBLOCKMAP
  +NOTELEPORT
  +NOGRAVITY
  States
  {
	Spawn:
  		PART Q 2 
  	stop
  }
}

