ACTOR "True Legendary Plasmatic Cannon" : Weapon 24526
{
//$Category Weapons/BFG20K
//$Sprite IONGX0
//$Title "True Legendary Plasmatic Cannon"
Tag "True Legendary Plasmatic Cannon"
inventory.pickupsound "weapons/PlanetCrackerPickup"
inventory.PickupMessage "The True Legendary Plasmatic Cannon"
obituary "%o was blasted off to another galaxy by %k's concentrated \cnLegendary\c- plasma."
Weapon.UpSound "weapons/PlanetCrackerUp"
Weapon.SelectionOrder 1
Weapon.AmmoType "TrueLegendaryCell"
Weapon.AmmoType2 "TrueLegendaryCell"
Weapon.AmmoGive 250
Weapon.AmmoUse 50
Weapon.AmmoUse2 150
Weapon.Kickback 105
Weapon.SlotNumber 0
Weapon.PreferredSkin "BFG9500-Marine"
+INVENTORY.UNDROPPABLE
States
{
Spawn:
IONG X -1
Loop
Ready:
IONG ABCDEF 1 A_Weaponready
TNT1 A 0 A_PlayWeaponSound("weapons/bfg15kidle")
IONG EDCBA 1 A_Weaponready
Loop
Deselect:
IONR A 0 A_PlayWeaponSound("weapons/PlanetCrackerDown")
IONG A 1 A_Lower
Goto Deselect+1
Select:
IONG A 1 A_Raise
Loop
Fire:
TNT1 A 0 A_JumpIfNoAmmo("Empty")
IONG A 0 A_PlaySound("weapons/PlanetCracker_Fire",6)
IONZ A 0 A_FireCustomMissile("PlanetBeam", 0, 1, 15, 10)
IONZ A 0 A_PlayWeaponSound("weapons/plasmacellin")
IONZ A 0 A_Recoil(30)
TNT1 A 0 A_Quake(7,25,0,2,0)
IONG A 0 A_SetBlend("Blue",0.1,40)
IONF A 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
IONF A 0 A_ZoomFactor(0.985)
IONF B 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
IONF B 0 A_ZoomFactor(0.965)
IONF C 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
IONF C 0 A_ZoomFactor(0.92)
IONF D 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
IONF D 0 A_ZoomFactor(0.85)
IONF E 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
IONF E 0 A_ZoomFactor(0.8)
IONF F 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
IONF F 0 A_ZoomFactor(0.825)
IONF G 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
IONF G 0 A_ZoomFactor(0.85)
IONF F 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
IONF F 0 A_ZoomFactor(0.875)
IONF E 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
IONF E 0 A_ZoomFactor(0.9)
IONF D 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
IONF D 0 A_ZoomFactor(0.925)
IONF C 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
IONF C 0 A_ZoomFactor(0.95)
IONF B 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
IONF B 0 A_ZoomFactor(0.975)
IONF A 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
IONF A 0 A_ZoomFactor(1)
IONG AAAAA 3 A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
IONG A 0 A_PlaySoundEx("weapons/PlanetCrackerReload","SoundSlot5")
IONR ABC 2
IONR DEFDEFDEF 2
IONR CBA 2
IONG A 10
Goto Ready
Empty:
IONR A 1 A_WeaponReady(WRF_NOFIRE)
IONR A 1 A_PlayWeaponSound("weapons/click3")
Goto Ready
Empty2:
IONR A 1 A_WeaponReady(WRF_NOFIRE)
IONR A 1 A_PlayWeaponSound("weapons/click3")
Goto Ready
Altfire:
   	IONG A 0 A_PlaySound("weapons/PlanetCracker_Charge",5)
   	IONG A 0 A_PlaySound("weapons/PlanetCracker_MiniBip1",1)
   	IONG A 0 A_PlaySound("weapons/PlanetCracker_MiniCharge1",6)
   	TNT1 A 0 A_Quake(1,43,0,2,0)
	IONG ABCDEF 5 BRIGHT
	IONC A 13 BRIGHT
	TNT1 A 0 A_Quake(3,21,0,2,0)
   	IONG A 0 A_PlaySound("weapons/PlanetCracker_MiniCharge2",6)
   	IONG A 0 A_PlaySound("weapons/PlanetCracker_MiniBip2",1)
	IONC ABCDEFGHIJKKKKKKKKKKK 1 BRIGHT
   	IONG A 0 A_PlaySound("weapons/PlanetCracker_MiniCharge3",6)
   	IONG A 0 A_PlaySound("weapons/PlanetCracker_MiniBip3",1)
	TNT1 A 0 A_Quake(5,52,0,2,0)
	IONC LMNO 13 BRIGHT
   	IONG A 0 A_PlaySound("weapons/PlanetCracker_Ready",6)
   	IONG A 0 A_PlaySound("weapons/PlanetCracker_Cling",1)
	TNT1 A 0 A_Quake(7,13,0,2,0)
   	IONZ ABCDEFGHIJKLM 1 BRIGHT
   	TNT1 A 0 A_Quake(7,10,0,6,0)
   	IONZ M 10 BRIGHT
   	TNT1 A 0 A_Quake(7,14,0,2,0)
    IONG A 0 A_PlaySound("weapons/PlanetCracker_Void",6)
   	IONO ABCDEFG 2 BRIGHT
    IONG A 0 A_PlaySound("weapons/PlanetCracker_Mechanism1",0)
   	TNT1 A 0 A_Quake(8,8,0,2,0)
   	IONO HIJK 2 BRIGHT
    IONG A 0 A_PlaySound("weapons/PlanetCracker_Mechanism2",0)
   	TNT1 A 0 A_Quake(9,90,0,2,0)
    IONO LMNOP 10 BRIGHT
	IONZ A 0 A_Recoil(70)
   	IONG A 0 A_SetBlend("Blue",0.4,180)
   	IONG A 0 A_SetBlend("Cyan",0.8,180)
    IONG A 0 A_PlaySound("weapons/PlanetCracker_Hyper",5)
    IONG A 0 A_PlaySound("weapons/PlanetCracker_Fire",6)
	IONZ A 0 A_FireCustomMissile("PlanetBeamSuper", 0, 1, 15, 10)
   	TNT1 A 0 A_Quake(9,35,0,2,0)
	IONO A 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
	IONF A 0 A_ZoomFactor(0.95)
	IONO B 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
	IONF B 0 A_ZoomFactor(0.85)
	IONO C 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
	IONF C 0 A_ZoomFactor(0.8)
	IONO D 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
	IONF D 0 A_ZoomFactor(0.7)
	IONO E 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
	IONF E 0 A_ZoomFactor(0.55)
	IONO F 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
	IONF F 0 A_ZoomFactor(0.5)
	IONO G 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
	IONF G 0 A_ZoomFactor(0.515)
	IONO F 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
	IONF F 0 A_ZoomFactor(0.525)
	IONO E 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
	IONF E 0 A_ZoomFactor(0.55)
	IONO D 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
	IONF D 0 A_ZoomFactor(0.575)
	IONO C 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
	IONF C 0 A_ZoomFactor(0.6)
	IONO B 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
	IONF B 0 A_ZoomFactor(0.75)
	IONO A 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
	IONF A 0 A_ZoomFactor(0.85)
	IONO M 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
	IONF A 0 A_ZoomFactor(0.9)
	IONO M 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
	IONF A 0 A_ZoomFactor(0.925)
	IONO M 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
	IONF A 0 A_ZoomFactor(0.95)
	IONO P 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
	IONF A 0 A_ZoomFactor(0.975)
	IONO P 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
	IONF A 0 A_ZoomFactor(0.985)
	IONO P 1 Bright A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
	IONO A 0 A_ZoomFactor(1)
	IONO PPPPPPP 2 BRIGHT A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
	IONO ONML 2 BRIGHT A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
	IONO KJIHGFEDCBA 2 BRIGHT A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
   	IONG A 0 A_PlaySound("weapons/PlanetCracker_MiniCharge1",5)
   	IONZ MLKJIHGFEDCBA 1 BRIGHT A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
  	IONC ONML 4 BRIGHT A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
   	IONG A 0 A_PlaySound("weapons/PlanetCracker_MiniBip4",1)
  	IONC KJIHGFEDCBA 2 BRIGHT A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
  	IONG FEDCBA 3 BRIGHT A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
   	IONG AAAAA 4 A_FireCustomMissile("PlanetCrackerSmokeSpawner",0,0,8,5)
   	IONG A 5
Goto Ready 
}
}

ACTOR DullInheritance
{ 
    RenderStyle Add
    +NOINTERACTION
    +NOGRAVITY
}

/*ACTOR ConcentratedRail : FastProjectile
{
Radius 6
Height 6
Speed 300
Damage (Random(1000,1505))
Scale 1.26
Species "Player"
DeathSound "cyberrail/impact"
MissileType "BlueCyberRailTrail"
+RIPPER
+THRUSPECIES
+EXTREMEDEATH
+BLOODLESSIMPACT
+RANDOMIZE
States
	{
	Spawn:
		TNT1 A 1
		Loop
	Death:
		TNT1 A 1	
		Stop
	}
}

ACTOR BlueCyberRailTrail
{
Scale 1
RenderStyle Add
+NOCLIP
+NOBLOCKMAP
+NOTELEPORT
+DONTSPLASH
+THRUACTORS
+NOINTERACTION
+CLIENTSIDEONLY
States
	{
	Spawn:
		TNT1 A 0
		BCRL ABCDEFGHIJKLMNOP 2 A_FadeOut(0.04,1)
		Stop
	}
}
*/
ACTOR PlanetBeam : FastProjectile
{
  Speed 100
  Radius 19
  Height 10
  Damage (800)
  Renderstyle Add
  +RIPPER
  -CANNOTPUSH
  -NODAMAGETHRUST
  +EXTREMEDEATH
  +FORCERADIUSDMG
  +EXPLODEONWATER
  +DONTBLAST
  DeathSound ""
  Species "Player"
  MissileType "PlanetBeamTrail"
  DamageType "LegendaryGuruPlayer"
  Scale 0.2
  states
  {
  Spawn:
      TNT1 A 0
      TNT1 A 1 A_Explode(3000,92,0,0)
	  TNT1 A 0 Bright A_PlaySoundEx("weapons/dtech10kball","Voice",1)
      Loop
  Death:
      TNT1 A 0 A_PlaySoundEx("PlanetCrackerImpact","Normal")
      TNT1 A 0 A_Explode(5000,256,0,1)
      TNT1 A 0 A_SpawnItemEx("PlanetCrackerImpact1", 0, 0, 0, 0, 0, 0, 0, 128, 0)
      TNT1 A 0 A_SpawnItemEx("PlanetCrackerImpact2", 0, 0, 0, 0, 0, 0, 0, 128, 0)
      TNT1 A 0 A_SpawnItemEx("PlanetCrackerImpact3", 0, 0, 0, 0, 0, 0, 0, 128, 0)
      TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("IonRainFlare",random(-150,150),random(-150,150),random(-25,50),0,0,frandom(1,2),0,0,0)
      TNT1 A 1 A_SpawnItemEx("PlanetCrackerBeamHit", 0, 0, 0, 0, 0, 0, 0, 128, 0)
      TNT1 AAAAAAAAAAA 1 A_SpawnItemEx("IonRainFlare",random(-150,150),random(-150,150),random(-25,50),0,0,frandom(1,2),0,0,0)
      Stop
  }
}

ACTOR PlanetCrackerImpact1
{
  +NOGRAVITY
  +NOINTERACTION
  +CLIENTSIDEONLY
  Renderstyle Add
  Alpha 0.99
  Scale 0.5
  States
  {
  Spawn:
  TNT1 A 2
  Looplet:
  TNT1 A 0 //A_SetScale(ScaleX +0.04, ScaleY +0.04)
  TNT1 A 0 A_FadeOut(0.07)
  BLUF A 1 Bright
  Loop
  }
}

ACTOR PlanetCrackerImpact2 : PlanetCrackerImpact1
{
  Scale 0.75
  Alpha 0.8
  +CLIENTSIDEONLY
  States
  {
  Spawn:
  TNT1 A 4
  Looplet:
  TNT1 A 0 //A_SetScale(ScaleX +0.05, ScaleY +0.05)
  TNT1 A 0 A_FadeOut(0.07)
  BLUF A 1 Bright
  Loop
  }
}

ACTOR PlanetCrackerImpact3 : PlanetCrackerImpact1
{
  Scale 0.9
  Alpha 0.7
  +CLIENTSIDEONLY
  States
  {
  Spawn:
  TNT1 A 6
  Looplet:
  TNT1 A 0 //A_SetScale(ScaleX +0.06, ScaleY +0.06)
  TNT1 A 0 A_FadeOut(0.07)
  BLUF A 1 Bright
  Loop
  }
}

ACTOR PlanetCrackerMiniImpact : PlanetCrackerImpact1
{
  Scale 0.2
  +CLIENTSIDEONLY
  States
  {
  Spawn:
  TNT1 A 2
  Looplet:
  TNT1 A 0 //A_SetScale(ScaleX +0.05, ScaleY +0.05)
  TNT1 A 0 A_FadeOut(0.07)
  BLUF A 1 Bright
  Loop
  }
}

ACTOR PlanetCrackerBeamHit
{ 
    Projectile
    Scale 2.5
    Alpha 0.8
    RenderStyle Add
    +NOINTERACTION
+CLIENTSIDEONLY
    +NOGRAVITY
    States
    {
    Spawn:
      PBOM ABCDEFGHIJKLMN 1 BRIGHT //A_SetScale(ScaleX +0.06, ScaleY +0.06)
      Stop
    }
}

ACTOR PlanetSmoke
{
Radius 1
Height 1
RenderStyle ADD
Alpha 0.3
Scale 0.2
Speed 0.65
+NOGRAVITY
+NOBLOCKMAP
+FLOORCLIP
+FORCEXYBILLBOARD
+CLIENTSIDEONLY
States
{
Spawn:
ISMK ABCDEFGHIJKLMNOP 3
Stop
}
}

ACTOR PlanetSmoke2 : PlanetSmoke
{
Speed 1
}

ACTOR PlanetSmoke3 : PlanetSmoke
{
Speed 0.35
}

//Trails

ACTOR PlanetBeamTrail
{
  RenderStyle Add
  Alpha 0.75
  Scale 0.15
  +NOCLIP
  +NOGRAVITY
  +CLIENTSIDEONLY
  States
  {
  Spawn:
    BLUF A 0
    BLUF A 0 A_SpawnItemEx("PlanetCrackerProjectileTrail1", random(15,-15), random(15,-15), random(15,-15), 0, 0, 0, 0, 128, 0)
  Looplet:
    BLUF A 0 //A_SetScale(ScaleX -0.006, ScaleY -0.006)
    BLUF A 2 bright A_FadeOut(0.05)
    Loop
  }
}

ACTOR PlanetBeamTrailSmall : PlanetBeamTrail
{
  Scale 0.05
  +CLIENTSIDEONLY
  States
  {
  Spawn:
    BLUF A 0
    BLUF A 2 bright A_FadeOut(0.05)
    Wait
  }
}

ACTOR PlanetCrackerProjectileTrail1 : DullInheritance
{ 
    Scale 1
    Alpha 0.25
+CLIENTSIDEONLY
    States
    {
    Spawn:
      PBOM EFGHIJKLMN 2 BRIGHT
      Stop
    }
}

ACTOR PlanetCrackerProjectileTrail2 : DullInheritance
{ 
    Scale 2
    Alpha 0.5
+CLIENTSIDEONLY
    States
    {
    Spawn:
      PLNS ABCDEFGHIJKLMNOP 3 BRIGHT A_ChangeVelocity (1, frandom(-3, 3), frandom(-3, 3), 1)
      Stop
    }
}

//Fire smoke

ACTOR PlanetCrackerSmokeSpawner
{
    Radius 1
    Height 1
    Speed 25
+CLIENTSIDEONLY
    PROJECTILE
    States
    {
    Spawn:
TNT1 A 1
TNT1 A 0 A_Die
Goto Death
    Death:
TNT1 AAAAA 0 A_CustomMissile("PlanetSmoke",0, 0, random(-90, 90), 2, random(-90, 90))
TNT1 AAAAA 0 A_CustomMissile("PlanetSmoke2",0, 0, random(-90, 90), 2, random(-90, 90))
TNT1 AAAAA 0 A_CustomMissile("PlanetSmoke3",0, 0, random(-90, 90), 2, random(-90, 90))
Stop
    }
}

ACTOR PlanetCrackerProjectileBoom : DullInheritance
{ 
    Projectile
    Scale 2
    Alpha 0.5
+CLIENTSIDEONLY
    Renderstyle Add
    States
    {
    Spawn:
      PULS ABCDEFGHIJKLMNOPQRST 2 BRIGHT
      Stop
    }
}

Actor IonRain
{
 +NoInteraction
 Height 3
 Radius 2
 RenderStyle Add
 Scale 0.4
 +CLIENTSIDEONLY
 reactiontime 11
 States
 {
  Spawn:
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 3 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 3 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 3 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 3 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 3 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 3 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 3 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 3 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 3 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 3 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 3 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 2 A_SpawnItemEx("IonRainFlare",random(-1200,1200),random(-1200,1200),random(50,800),0,0,frandom(1,2),0,SXF_TRANSFERPOINTERS,0)
   TNT1 A 0 A_Countdown
   loop
  Death:
   TNT1 A 0
   stop
 }
}

actor IonRainFlare
{
  RenderStyle Add
  alpha 1
  +NOINTERACTION
  +RANDOMIZE
  +NOCLIP
  +NOGRAVITY
  +CLIENTSIDEONLY
  Scale 0.4
  states
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_ChangeVelocity (frandom(-0.2, 0.2), frandom(-0.2, 0.2), frandom(-0.1, 0.1), 0)
    //TNT1 A 0 A_CustomMissile("PlanetCrackerIonBolter",0,0,random(0,360),CMF_TRACKOWNER,random(45,0))
    PBAL B 5 bright A_FadeOut(0.1)
    Loop
  }
}


//Supercharged shot

ACTOR PlanetBeamSuper : FastProjectile
{
  Speed 75
  Radius 19
  Height 10
  Damage 800
  PROJECTILE
  +NODAMAGETHRUST
  +EXTREMEDEATH
  +FORCERADIUSDMG
  +EXPLODEONWATER
  +DONTBLAST
  +FOILINVUL
  +PIERCEARMOR
  +MTHRUSPECIES
  +DONTHURTSPECIES
  species "player"
  Renderstyle Add
  MissileType "PlanetBeamTrail"
  DamageType "LegendaryGuruPlayer"
  DeathSound ""
  states
  {
  Spawn:
      TNT1 A 1
      Loop
  Death:
      TNT1 A 0 A_StopSoundEx("Body")
      TNT1 A 0 A_PlaySound("weapons/PlanetCrackerBoom",6)
      TNT1 A 0 A_Explode(5000,512,0,1)
	  TNT1 AA 0 A_SpawnItemEx("BlueGuruStruckGlowX",0,0,10,0,0,0,0,128,0)
	  TNT1 AA 0 A_SpawnItemEx("BlueGuruStruckGlowY",0,0,10,0,0,0,0,128,0)
	  TNT1 AAAAAA 0 A_SpawnItemEx("playertruelegbfgsmoke",random(126,-126),random(126,-126),random(66,-66),0.00001*random(100000,-100000),0.00001*random(100000,-100000),0.00001*random(100000,-100000),random(0,359),SXF_TRANSFERPOINTERS,0)
      PBAL BBBB 1 A_SpawnItemEx("PlanetCrackerProjectileBoom", 0, 0, 0, 0.1*random(20,15), 0.1*random(25,15), 2+random(1,-1), 0, 128, 0)
      PBAL BBBB 1 A_SpawnItemEx("PlanetCrackerProjectileBoom", 0, 0, 0, random(3,2), random(3,2), 3+random(3,2), 0, 128, 0)
	  PBAL A 0 A_SpawnItemEx("PCStrikeSpawner",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS)
	  PBAL B 1 A_FadeOut(0.05)
      Wait
  }
}