
/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////
// Extra Large Explosion (25% larger than the "Large Explosion")
/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////


actor Explosion_Spawner_XL
{
  SeeSound "weapons/rocklx"
  +NOGRAVITY

  States
  {   
    Spawn:
    TNT1 A 0
    TNT1 A 0 bright A_SpawnItemEx("Explosion_RingSpawner_XL", 0, 0, 0, 0, 0, 0, 0, 128, 0)

    Spawn2:
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("Ash", random(-48, 48), random(-48, 48), 
random(-48, 48), 0,0,0, 0, 128, 0)
	TNT1 A 0 A_SpawnItemEx("Scorch_XL", 0, 0, 0, 0, 0, 0, 0, 0, 0)
    TNT1 AAAA 0 bright A_SpawnItemEx("Explosion_Part_XL", random(-32, 32), random(-32, 32), 
random(-32, 32), 0,0,0, 0, 128, 0)
    TNT1 AAAA 0 bright A_SpawnItemEx("Explosion_PartSmoke_XL", 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_XL", 0, 0, 0, 0, 0, 0, 0, 128, 0)    
    stop
  }
}



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



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

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

actor Explosion_RingSpawner_XL
{
  +NOGRAVITY
  States
  {
	Spawn:
		TNT1 A 1 A_SpawnItemEx ("Explosion_Ring1_XL", 0, 0, 0, 0, 0, 0)
		TNT1 A 1 A_SpawnItemEx ("Explosion_Ring2_XL", 0, 0, 0, 0, 0, 0)
		TNT1 A 1 A_SpawnItemEx ("Explosion_Ring3_XL", 0, 0, 0, 0, 0, 0)
		TNT1 A 1 A_SpawnItemEx ("Explosion_Ring4_XL", 0, 0, 0, 0, 0, 0)
		TNT1 A 1 A_SpawnItemEx ("Explosion_Ring5_XL", 0, 0, 0, 0, 0, 0)
		TNT1 A 1 A_SpawnItemEx ("Explosion_Ring6_XL", 0, 0, 0, 0, 0, 0)
		TNT1 A 1 A_SpawnItemEx ("Explosion_Ring7_XL", 0, 0, 0, 0, 0, 0)
		TNT1 A 1 A_SpawnItemEx ("Explosion_Ring8_XL", 0, 0, 0, 0, 0, 0)
		TNT1 A 1 A_SpawnItemEx ("Explosion_Ring9_XL", 0, 0, 0, 0, 0, 0)
		TNT1 A 1 A_SpawnItemEx ("Explosion_Ring10_XL", 0, 0, 0, 0, 0, 0)	 		
		stop
  }
}

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

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

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

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

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

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

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

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

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

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

