Actor ChaosStormCauser
{
//Creator: High Councilor
//Origin: Nexus Infinity
//Sprite: ST0C
//Title: "Chaos Storm Causer"
  Monster
  Health 12500
  Mass 50000
  Scale 1.25
  Speed 14
  Radius 96
  Height 128
  PainChance 0
  DamageFactor "SuperWeapon", 0.0
  DamageFactor "LegendaryGuruPlayer", 0.015
  DamageFactor "PlayerHellfire", 0.1
  DamageFactor "DTRailgun", 0.1
  DamageFactor "PDTPuff", 0.1
  DamageFactor "RailG", 0.1
  DamageFactor "Player", 0.1
  DamageFactor "TrueLegendaryDamage", 0.75
  DamageFactor "TrueLegendaryPlayer", 0.75
  DamageFactor "PlayerNemesisPlasma", 0.5
  DamageFactor "Legendary", 0.1
  DamageFactor "LegendaryPlayer", 0.1
  DamageFactor "Normal", 0.25
  Damagefactor 0.5
  DamageFactor "Crush", 0.05
  Damagefactor "Melee", 0.05
  Damagefactor "Acid", 0.05
  DamageFactor "Ice", 0.05
  Damagefactor "Fire", 0.05
  Damagefactor "Poison", 0.05
  Damagefactor "PoisonCloud", 0.05
  Damagefactor "Electric", 0.05
  Damagefactor "Disintegrate", 0.05
  Damagefactor "Mine", 0.1
  Damagefactor "Explosion", 0.1
  Damagefactor "NuclearFire", 0.01
  DamageFactor "PyroShot", 0.01
  DamageFactor "PlayerPyro", 0.01
  DamageFactor "Extreme", 0.01
  DamageFactor "PDTPuff", 0.01
  DamageFactor "Player", 0.0
  DamageFactor "BFG10K", 0.65
  DamageFactor "BFG9500Ball", 0.5
  DamageFactor "UpBFG9500Ball", 0.5
  DamageFactor "BFGSplash", 0.5
  DamageFactor "UpBFGSplash", 0.5
  DamageFactor "PDTBFG", 0.03
  DamageFactor "PDTBFGTracer", 0.03
  DamageFactor "PlayerDevBall", 0.02
  DamageFactor "PlayerDevBall2", 0.02
  DamageFactor "PlayerDevTracer", 0.02
  DamageFactor "PlayerBHole", 0.05
  DamageFactor "PlayerDBFG2", 0.05
  DamageFactor "PlayerDBFG10K2", 0.05
  DamageFactor "PlayerDBFGSplash2", 0.05
  DamageFactor "SatanGuard", 0.01
  DamageFactor "AbyssalSatyr", 0.01
  Damagefactor "Moloch", 0.01
  DamageFactor "Exos", 0.0
  DamageFactor "SS", 0.0
  DamageFactor "RST", 0.0
  DamageFactor "MiniRocket", 0.0
  DamageFactor "ZombieDev", 0.0
  DamageFactor "Legendary1", 0.0
  DamageFactor "LegendaryGuru", 0.0
  DamageFactor "UltimateLegendary", 0.0
  DamageFactor "Terminator", 0.0
  DamageFactor "Nobles", 0.0
  DamageFactor "VileFires", 0.0
  DamageFactor "DarkBruiserBFG10K", 0.0
  DamageFactor "DarkBruiserRailgunSlug", 0.0
  DamageFactor "Cybers", 0.0
  DamageFactor "Cyber10K", 0.0
  DamageFactor "DemolisherEx", 0.0
  DamageFactor "DarkDemoEx", 0.0
  DamageFactor "CerChainguns", 0.0
  DamageFactor "CerEnergyBall", 0.0
  DamageFactor "LegMind", 0.0
  DamageFactor "BeheComet", 0.0
  DamageFactor "NobleComet", 0.0
  DamageFactor "CacoComet", 0.0
  DamageFactor "CadaverRocket", 0.0
  DamageFactor "DBFG2", 0.0
  DamageFactor "DBFG10K2", 0.0
  DamageFactor "DBFGSplash2", 0.0
  DamageFactor "Hell", 0.0
  DamageFactor "HellComet", 0.0
  DamageFactor "HFCyber", 0.0
  DamageFactor "Commander", 0.0
  Damagefactor "T3rm", 0.0
  Damagefactor "Term", 0.0
  DamageFactor "MagaReimu", 0.0
  DamageFactor "Mainyu", 0.1
  DamageFactor "Touhou", 0.1
  DamageFactor "DJB", 0.05
  +DONTHURTSPECIES
  +DONTHARMSPECIES
  +BOSS
  +BOSSDEATH
  +NOICEDEATH
  +NORADIUSDMG
  +NOTIMEFREEZE
  +DONTGIB
  +DONTRIP
  +DONTMORPH
  +NEVERRESPAWN
  +NOFEAR
  +NOPAIN
  +NOBLOOD
  +QUICKTORETALIATE
  +MISSILEMORE
  +MISSILEEVENMORE
  +CANTSEEK
  +FIRERESIST
  +NOTELEFRAG
  +FLOAT
  +NOGRAVITY	
  -FLOORCLIP
  +BRIGHT
  seesound "StormCauser/See"
  painsound ""
  deathsound "StormCauser/Death"
  activesound ""
  HitObituary "%o was disappeared by the Chaos Storm Causer."
  Tag "\c[m4]Chaos\c- \c[r5]Storm\c- \c[m4]Causer\c-"
  var int user_missile;
  var int user_music;
  var int user_combo;
  var int user_deathloop;
  States
  {
  Spawn:
	ST0C A 10 A_Look
	Loop
  See:
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	//TNT1 A 0 ACS_NamedExecuteAlways("InfinityMusic",0,969,914)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,969)
	TNT1 A 0 A_SetUserVar("user_music",1)
    ST0C AAAA 2 A_Chase
	TNT1 A 0 A_Jump(64,"Teleport","Evade","Rush")
    Loop
/*
	TNT1 A 0 A_Jump(32,"Teleport","Evade")
	ST0C AAAA 3 A_Chase
	ST0C BBBB 3 A_Chase
	TNT1 A 0 A_Jump(32,"Teleport","Evade")
	ST0C CCCC 3 A_Chase
	ST0C DDDD 3 A_Chase
	TNT1 A 0 A_Jump(32,"Teleport","Evade")
	ST0C AAAA 3 A_Chase
	ST0C EEEE 3 A_Chase
	TNT1 A 0 A_Jump(32,"Teleport","Evade")
	ST0C FFFF 3 A_Chase
	ST0C GGGG 3 A_Chase
    Loop
*/
  Rush:
    TNT1 A 0 A_SpawnItemEx("CStormCauserGhost")
    TNT1 A 0 A_Chase
    ST0C A 1 A_Chase
    TNT1 A 0 A_SpawnItemEx("CStormCauserGhost")
    TNT1 A 0 A_Chase
    ST0C A 1 A_Chase
    TNT1 A 0 A_SpawnItemEx("CStormCauserGhost")
    TNT1 A 0 A_Chase
    ST0C A 1 A_Chase
    TNT1 A 0 A_SpawnItemEx("CStormCauserGhost")
    TNT1 A 0 A_Chase
    ST0C A 1 A_Chase
    TNT1 A 0 A_SpawnItemEx("CStormCauserGhost")
    TNT1 A 0 A_Chase
    ST0C A 1 A_Chase
    TNT1 A 0 A_SpawnItemEx("CStormCauserGhost")
    TNT1 A 0 A_Chase
    ST0C A 1 A_Chase
	TNT1 A 0 A_Jump(16,"Teleport","Evade")
    Loop
  Evade:
	TNT1 A 0 A_Jump(128,19)
	TNT1 A 0 ThrustThing(Angle*256/360+64,20,0,0)
	ST0C AAAAAAAA 2 Bright A_Chase("","")
	TNT1 A 0 A_Stop
	Goto See
	TNT1 A 0 ThrustThing(Angle*256/360+192,20,0,0)
	ST0C AAAAAAAA 2 Bright A_Chase("","")
	TNT1 A 0 A_Stop
	Goto See
  Teleport:
	ST0C A 1 A_UnSetShootable
	ST0C AAAAAAAAAAAA 0 A_SpawnItemEx("StormCauserLineSpawner")
	ST0C AAAAAAAAAAA 1 A_FadeOut(0.1,0)
	ST0C AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	ST0C AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	ST0C A 1 A_PlayWeaponSound("boss/teleport")
	ST0C AAAAAAAAAAAA 0 A_SpawnItemEx("StormCauserLineSpawner")
	ST0C AAAAAAAAAAA 1 A_FadeIn(0.1)
	ST0C A 1 A_SetShootable
	Goto See
  Missile:
    TNT1 A 0 A_Jump(140,2)
    TNT1 A 0 A_JumpIfCloser(500,"FlameThrower")
	TNT1 A 0 A_Jump(150,"MiniLasers","VeloGhosts","BFG10K","DTBFG10k","PlasmaRepeaters","BigLaser","BFG9500","LaserCombo")
	TNT1 A 0 A_Jump(125,"ChaosLightningBalls","RocketRain","PlasmaticCannon","Gurucannon","DevastatorPrototype","FantasySeal","DBFG10K")
  Normal:
    ST0C A 1 A_FaceTarget
    ST0C HJKLMNOPQRSTU 1 A_FaceTarget(45)
	TNT1 A 0 A_SetUserVar("user_missile",0)
  NormalLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 30,"PlasmaRepeatersEnd")
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
    ST0C V 1 A_FaceTarget
	TNT1 A 0 A_CustomMissile("StormCauserSmallGreenOrb",100,45,frandom(-5,5),CMF_OFFSETPITCH,frandom(-2,2))
	TNT1 A 0 A_CustomMissile("StormCauserSmallGreenOrbNosound",100,-45,frandom(-5,5),CMF_OFFSETPITCH,frandom(-2,2))
    ST0C W 1 A_FaceTarget
    ST0C V 1 A_FaceTarget
	TNT1 A 0 A_CustomMissile("StormCauserSmallGreenOrbNosound",100,45,frandom(-5,5),CMF_OFFSETPITCH,frandom(-2,2))
	TNT1 A 0 A_CustomMissile("StormCauserSmallGreenOrb",100,-45,frandom(-5,5),CMF_OFFSETPITCH,frandom(-2,2))
    ST0C W 1 A_FaceTarget
	Loop
  LaserCombo:
    ST0C A 1 A_FaceTarget
    ST0C HJKLMNOPQRSTU 1 A_FaceTarget(45)
	TNT1 A 0 A_SetUserVar("user_missile",0)
	TNT1 A 0 A_SetUserVar("user_combo",0)
  LaserComboLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 30,"PlasmaRepeatersEnd")
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_JumpIf(user_combo >= 5,"LaserAndSeeker")
	TNT1 A 0 A_SetUserVar("user_combo",user_combo+1)
    ST0C V 1 A_FaceTarget
	TNT1 A 0 A_CustomMissile("StormCauserSmallGreenOrb",100,45,frandom(-5,5),CMF_OFFSETPITCH,frandom(-2,2))
	TNT1 A 0 A_CustomMissile("StormCauserSmallGreenOrbNosound",100,-45,frandom(-5,5),CMF_OFFSETPITCH,frandom(-2,2))
    ST0C W 1 A_FaceTarget
    ST0C V 1 A_FaceTarget
	TNT1 A 0 A_CustomMissile("StormCauserSmallGreenOrbNosound",100,45,frandom(-5,5),CMF_OFFSETPITCH,frandom(-2,2))
	TNT1 A 0 A_CustomMissile("StormCauserSmallGreenOrb",100,-45,frandom(-5,5),CMF_OFFSETPITCH,frandom(-2,2))
    ST0C W 1 A_FaceTarget
	Loop
  LaserAndSeeker:
	TNT1 A 0 A_SetUserVar("user_combo",0)
    ST0C V 1 A_FaceTarget
	TNT1 A 0 A_CustomMissile("StormCauserSmallGreenOrb",100,45,frandom(-3,3),CMF_OFFSETPITCH,frandom(-2,2))
	TNT1 A 0 A_CustomMissile("StormCauserSmallGreenOrb",100,-45,frandom(-3,3),CMF_OFFSETPITCH,frandom(-2,2))
	TNT1 A 0 A_CustomMissile("StormCauserRailLaser",30,35)
	TNT1 A 0 A_CustomMissile("StormCauserRailLaser",30,-35)
    ST0C W 1 A_FaceTarget
    Goto LaserComboLoop
  FlameThrower:
    ST0C A 1 A_JumpIfCloser(550,1)
	Goto Missile
	TNT1 A 0 A_PlaySound("hectebus/flameready")
    ST0C AAAA 5 A_FaceTarget
	TNT1 A 0 A_SetUserVar("user_missile",0)
	TNT1 A 0 A_PlaySound("monsters/fatsofire")
  FlameThrowerLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 15,"See")
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
    TNT1 A 0 A_CustomMissile("CSTGreenBreath",60,0,random(-4,4))
	TNT1 A 0 A_CustomMissile("CSTGreenFlameBreath",60,0,random(-2,2))
	ST0C X 1 Bright A_FaceTarget
    TNT1 A 0 A_CustomMissile("CSTGreenBreath",60,0,random(-4,4))
	TNT1 A 0 A_CustomMissile("CSTGreenFlameBreath",60,0,random(-2,2))
	ST0C Y 1 Bright A_FaceTarget
    Loop
  VeloGhosts:
	ST0C AAAAXXXX 2 A_FaceTarget
	TNT1 A 0 A_SetUserVar("user_missile",0)
  VeloGhostsLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 40,"See")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
    ST0C X 1 A_FaceTarget
	ST0C Y 2 A_CustomMissile("StormCauserVeloGhost",60,0,Random(-7,7),CMF_OFFSETPITCH,frandom(-3,3))
    Loop
  MiniLasers:
	TNT1 A 0 A_PlaySound("Plamexis/Ding",1)
	ST0C AAAAAXXXXY 2 A_FaceTarget
	ST0C Y 4 A_CustomMissile("StormCauserMiniLaser",60)
	TNT1 A 0 A_PlaySound("Plamexis/Ding",1)
	ST0C AAAAAXXXXY 2 A_FaceTarget
	ST0C Y 4 A_CustomMissile("StormCauserMiniLaser",60)
	TNT1 A 0 A_PlaySound("Plamexis/Ding",1)
	ST0C AAAAAXXXXY 2 A_FaceTarget
	ST0C Y 4 A_CustomMissile("StormCauserMiniLaser",60)
	TNT1 A 0 A_PlaySound("Plamexis/Ding",1)
	ST0C AAAAAXXXXY 2 A_FaceTarget
	ST0C Y 4 A_CustomMissile("StormCauserMiniLaser",60)
	TNT1 A 0 A_PlaySound("Plamexis/Ding",1)
	ST0C AAAAAXXXXY 2 A_FaceTarget
	ST0C Y 5 A_CustomMissile("StormCauserMiniLaser",60)
	TNT1 A 0 A_Jump(75,"FantasySeal","VeloGhosts","BFG10K")
    Goto See
  FantasySeal:
    TNT1 A 0 A_PlaySound("FantasyStaff/Charge",7)
    ST0C AAAA 8 A_FaceTarget
    ST0C XXX 8 A_FaceTarget //haha three x
	TNT1 A 0 A_FaceTarget
    TNT1 A 0 A_PlaySound("FantasyStaff/Fire2",6)
    TNT1 A 0 A_PlaySound("FantasyStaff/Meltdown",7)
    ST0C Y 15 A_CustomMissile("StormCauserFantasySeal",60,0,0,0,0)
    ST0C XXX 5 A_FaceTarget
    ST0C Y 15 A_CustomMissile("StormCauserFantasySeal",60,0,0,0,0)
    ST0C XXX 5 A_FaceTarget
    ST0C Y 15 A_CustomMissile("StormCauserFantasySeal",60,0,0,0,0)
    ST0C XXX 5 A_FaceTarget
    ST0C A 10
    Goto See
  PlasmaRepeaters:
    ST0C A 1 A_FaceTarget
    ST0C HJKLMNOPQRSTU 1 A_FaceTarget(45)
	TNT1 A 0 A_SetUserVar("user_missile",0)
  RepeatersLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 60,"PlasmaRepeatersEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_CustomMissile("OverseerPlasma",100,45,frandom(-6,6),CMF_OFFSETPITCH,frandom(-2,2))
	TNT1 A 0 A_CustomMissile("OverseerPlasma",100,-45,frandom(-6,6),CMF_OFFSETPITCH,frandom(-2,2))
    ST0C V 2 A_FaceTarget
	TNT1 A 0 A_CustomMissile("OverseerPlasma",100,45,frandom(-6,6),CMF_OFFSETPITCH,frandom(-2,2))
	TNT1 A 0 A_CustomMissile("OverseerPlasma",100,-45,frandom(-6,6),CMF_OFFSETPITCH,frandom(-2,2))
    ST0C W 2 A_FaceTarget
	Loop
  PlasmaRepeatersEnd:
    ST0C VV 2
	ST0C UTSRQPONMLKJA 1
	TNT1 A 0 A_Jump(75,"BigLaser","VeloGhosts","DTBFG10k")
    Goto See
  BFG10K:
    ST0C A 1 A_FaceTarget
    ST0C HJKLMNOPQRSTU 1 A_FaceTarget(45)
	TNT1 A 0 A_PlaySound("weapons/charge15k")
    ST0C VVVV 4 A_FaceTarget
	TNT1 A 0 A_SetUserVar("user_missile",0)
  BFG10KLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 35,"BFG10KEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	//TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	//TNT1 A 0 A_CustomMissile("DarkDemo10K",100,45,frandom(-5,5),CMF_OFFSETPITCH,frandom(-2,2))
	//TNT1 A 0 A_CustomMissile("DarkDemo10K",100,-45,frandom(-5,5),CMF_OFFSETPITCH,frandom(-2,2))
    ST0C V 3 A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	TNT1 A 0 A_CustomMissile("DarkDemo10K",100,45,frandom(-5,5),CMF_OFFSETPITCH,frandom(-2,2))
	TNT1 A 0 A_CustomMissile("DarkDemo10K",100,-45,frandom(-5,5),CMF_OFFSETPITCH,frandom(-2,2))
    ST0C W 2 A_FaceTarget
	Loop
  DBFG10K:
    ST0C A 1 A_FaceTarget
    ST0C HJKLMNOPQRSTU 1 A_FaceTarget(45)
	TNT1 A 0 A_PlaySound("Weapons/dbfgcharge2")
    ST0C VVVV 4 A_FaceTarget
	TNT1 A 0 A_SetUserVar("user_missile",0)
  DBFG10KLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 20,"BFG10KEnd") 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
    ST0C V 3 A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/dbfgfire2")
	TNT1 A 0 A_CustomMissile("StormCauserT3DBFG10kShot",100,45,frandom(-5,5),CMF_OFFSETPITCH,frandom(-2,2))
	TNT1 A 0 A_CustomMissile("StormCauserT3DBFG10kShot",100,-45,frandom(-5,5),CMF_OFFSETPITCH,frandom(-2,2))
    ST0C W 2 A_FaceTarget
	Loop
  BFG10KEnd:
	ST0C V 2 A_PlaySound("weapons/bfg15kcooldown",CHAN_AUTO)
	ST0C UTSRQPONMLKJA 1
	TNT1 A 0 A_Jump(75,"VeloGhosts","DTBFG10k","Minilasers")
    Goto See
  BigLaser:
    ST0C X 20 A_FaceTarget
    TNT1 A 0 A_Playsound("Cardinal/9k",1)
    ST0C YYYY 8 Bright A_FaceTarget
  LaserFire:
	TNT1 A 0 A_SetUserVar("user_missile",0)
	TNT1 A 0 A_Playsound("MasterSpark",0,1,0,ATTN_NONE)
	TNT1 A 0 A_JumpIf(user_missile >= 90,"See")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_FaceTarget
	ST0C Y 1 Bright A_CustomMissile("SpiderMasterLaserGreen",60,0,0)
	Goto LaserFire+2
  BFG9500:
	TNT1 A 0 A_PlaySound("weapons/bfgf")
	ST0C XXXXXXXXXXXXYYYY 2 A_FaceTarget
	ST0C YYYYYY 2 A_CustomMissile("SpiderBFG9500Ball",60,0,Random(5,-5))
    Goto See
  DTBFG10k:
	TNT1 A 0 A_PlaySound("Cardinal/9k")
	ST0C XXXXXXXXYYY 4 A_FaceTarget
	TNT1 A 0 A_CustomMissile("OverseerDTBFG10KBall",50,0,-20)
	TNT1 A 0 A_CustomMissile("OverseerDTBFG10KBall",50,0,20)
	ST0C Y 4 A_CustomMissile("OverseerDTBFG10KBall",50,0)
	ST0C YXX 4
	TNT1 A 0 A_jump(50,"DevastatorPrototype","BigLaser") 
	Goto see
  DevastatorPrototype:
	TNT1 A 0 A_PlaySound("devastator/charge")
	ST0C AAXXXXXXXXXXXXXYYY 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("devastator/fire")
	ST0C Y 4 A_CustomMissile("StormCauserProtoDevastatorBall",60,0,0)
	ST0C YYXXX 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("devastator/fire")
	ST0C Y 4 A_CustomMissile("StormCauserProtoDevastatorBall",60,0,0)
	ST0C YYXXX 4 A_FaceTarget
	TNT1 A 0 A_PlaySound("devastator/fire")
	ST0C Y 4 A_CustomMissile("StormCauserProtoDevastatorBall",60,0,0)
	TNT1 A 0 A_jump(50,"PlasmaticCannon","BigLaser")
    Goto See
  ChaosLightningBalls:
	ST0C AAAAAA 3 Bright
	TNT1 A 0 A_SetInvulnerable
	TNT1 A 0 Radius_Quake(10,80,0,24,0)
	TNT1 A 0 A_PlaySound("StormCauser/See",2)
	TNT1 A 0 A_FaceTarget
	ST0C XXX 4 Bright A_SpawnItem("ChaosSuperLightningFX",120,70,0,0)
	TNT1 A 0 A_FaceTarget
	ST0C XXX 4 Bright A_SpawnItem("ChaosSuperLightningFX",120,70,0,0)
	TNT1 A 0 A_FaceTarget
	ST0C XX 4 Bright A_SpawnItem("ChaosSuperLightningFX",120,70,0,0)
	TNT1 A 0 A_FaceTarget
	ST0C XX 4 Bright A_SpawnItem("ChaosSuperLightningFX",120,70,0,0)
	TNT1 A 0 A_FaceTarget
	ST0C XX 4 Bright A_SpawnItem("ChaosSuperLightningFX",120,70,0,0)
	TNT1 A 0 A_FaceTarget
	ST0C XX 4 Bright A_SpawnItem("ChaosSuperLightningFX",120,70,0,0)
	TNT1 A 0 A_SetUserVar("user_missile",0)
  ChaosLightningBallsLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 20,"LightningBallEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_SpawnItem("ChaosSuperLightningFX",120,70,0,0)
	ST0C Y 4 Bright A_CustomMissile("SacroOverseerLightningBall",60,0,random(-15,15),CMF_OFFSETPITCH,random(-5,5))
	Loop
  LightningBallEnd:
	TNT1 A 0 A_UnSetInvulnerable
	ST0C XXXXAAAAAA 3 Bright A_SpawnItem("OverseerBrainSFX",0,0,0,0)
	TNT1 A 0 A_Jump(100,"Normal","VeloGhosts","PlasmaRepeaters")
	Goto See
  GuruCannon:
	TNT1 A 0 A_PlaySound("EnragedDTech/Charge",0,1,0,ATTN_NONE)
	TNT1 A 0 A_PlaySound("StormCauser/See",2)
	ST0C XXXXXXXX 4 A_FaceTarget
	TNT1 A 0 A_SetUserVar("user_missile",0)
  GuruCannonFire:
	TNT1 A 0 A_JumpIf(user_missile >= 4,"See")
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_FaceTarget
    TNT1 A 0 A_PlaySound("EnragedDTech/Fire",0,1,0,ATTN_NONE)
	ST0C Y 4 A_CustomMissile("SacrosanctGuruBall",60)
	ST0C Y 4 A_FaceTarget
	ST0C XXXXXX 4 A_FaceTarget
	TNT1 A 0 A_Jump(75,"GuruCannonTeleport")
	Loop
  GuruCannonTeleport:
	ST0C A 1 A_UnSetShootable
	ST0C AAAAAAAAAAAA 0 A_SpawnItemEx("StormCauserLineSpawner")
	ST0C AAAAAAAAAAA 1 A_FadeOut(0.1,0)
	ST0C AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	ST0C AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	ST0C A 1 A_PlayWeaponSound("boss/teleport")
	ST0C AAAAAAAAAAAA 0 A_SpawnItemEx("StormCauserLineSpawner")
	ST0C AAAAAAAAAAA 1 A_FadeIn(0.1)
	ST0C A 1 A_SetShootable
	Goto GuruCannonfire
  PlasmaticCannon:
	//TNT1 A 0 A_JumpIfTargetInLOS("PlasmaticCannonfire",360,JLOSF_DEADNOJUMP|JLOSF_TARGETLOS,0,2000)
	TNT1 A 0 A_ChangeFlag(FRIGHTENED,1)
	TNT1 A 0 A_ChangeFlag(NOFEAR,0)
	TNT1 A 0 A_SetInvulnerable
	TNT1 A 0 A_SetUserVar("user_missile",0)
  PlasmaticCannonRun:
	TNT1 A 0 A_JumpIf(user_missile >= 5,"PlasmaticCannonFire")
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	ST0C AAAAA 1 A_Chase("","")
/*
	ST0C BBBBB 1 A_Chase("","")
	ST0C CCCCC 1 A_Chase("","")
	ST0C DDDDD 1 A_Chase("","")
*/
	ST0C AAAAA 1 A_Chase("","")
/*
	ST0C EEEEE 1 A_Chase("","")
	ST0C FFFFF 1 A_Chase("","")
	ST0C GGGGG 1 A_Chase("","")
*/
    Loop
  PlasmaticCannonfire:
	TNT1 A 0 A_ChangeFlag(FRIGHTENED,0)
	TNT1 A 0 A_ChangeFlag(NOFEAR,1)
	TNT1 A 0 A_UnSetInvulnerable
	ST0C AAAAAAAAAAA 1 A_FaceTarget(45)
	TNT1 A 0 A_SetUserVar("user_missile",0)
  PlasmaticCannonfireLoop:
 	TNT1 A 0 A_JumpIf(user_missile >= 25,"See")
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	ST0C Y 3 A_FaceTarget
	TNT1 A 0 A_PlaySound("NemesisCannon/Fire",1)
    TNT1 A 0 A_Jump(100,2)
	ST0C Y 0 A_CustomMissile("CStormCauserCannonProj",60,0,random(-16,16),0,frandom(-8,8))
	ST0C Y 3 A_CustomMissile("CStormCauserCannonProj",60,0,random(-8,8),0,frandom(-4,4))
    Loop
  RocketRain:
	ST0C AAAAAAAAAA 2 A_SpawnItemEx("StormCauserRocketRainUpwards",120,0,100,frandom(5.0,-5.0),frandom(5.0,-5.0),20,0,SXF_NOCHECKPOSITION)
	ST0C AAAAAAAAAA 2 A_SpawnItemEx("StormCauserRocketRainUpwards",120,0,100,frandom(5.0,-5.0),frandom(5.0,-5.0),20,0,SXF_NOCHECKPOSITION)
	ST0C AAAAAAAAAA 2 A_SpawnItemEx("StormCauserRocketRainUpwards",120,0,100,frandom(5.0,-5.0),frandom(5.0,-5.0),20,0,SXF_NOCHECKPOSITION)
	ST0C AAAAAAAAAA 2 A_SpawnItemEx("StormCauserRocketRainUpwards",120,0,100,frandom(5.0,-5.0),frandom(5.0,-5.0),20,0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SetUserVar("user_missile",0)
	TNT1 A 0 Radius_Quake(6,60,0,18,0)
  RocketRainLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 30,"RocketRainEnd")
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	ST0C A 2 A_SpawnItemEx("StormCauserFallingRocket",random(-1500,1500),random(-1500,1500),999,0,0,0,SXF_NOCHECKPOSITION,0)
	Loop
  RocketRainEnd:
    ST0C AAAAA 2
	TNT1 A 0 A_Jump(100,"Normal","BFG10k","PlasmaRepeaters")
    Goto See
  Death:
	TNT1 A 0
	TNT1 A 0 A_SetUserVar("user_missile",0)
 	TNT1 A 0 A_Changeflag(BRIGHT,0)
	TNT1 A 0 A_NoBlocking
  DeathLoop:
	TNT1 A 0 A_JumpIf(user_deathloop >= 30,"DeathLoop2")   
	TNT1 A 0 A_SetUserVar("user_deathloop",user_deathloop+1)
    ST0C A 0 A_CustomMissile("Kaboom5", random(20,80), random(20,-20), random(0,360), 2, random(0,360))
    ST0C AA 2 A_CustomMissile("CSTGreenKaboom",random(40,160),random(40,-40),random(0,360),2,random(0,360))
    ST0C A 0 A_CustomMissile("Kaboom5", random(20,80), random(20,-20), random(0,360), 2, random(0,360))
    ST0C AA 2 A_CustomMissile("CSTGreenKaboom",random(40,160),random(40,-40),random(0,360),2,random(0,360))
    Loop
  DeathLoop2:
	TNT1 A 0 A_SpawnItemEx("SacrosanctDeathBall")
	TNT1 A 0 A_JumpIf(user_deathloop >= 80,"DeathEnd")   
	TNT1 A 0 A_SetUserVar("user_deathloop",user_deathloop+1)
    ST0C A 0 A_CustomMissile("Kaboom5", random(20,80), random(20,-20), random(0,360), 2, random(0,360))
    ST0C AA 1 A_CustomMissile("CSTGreenKaboom",random(40,160),random(40,-40),random(0,360),2,random(0,360))
    Goto DeathLoop2+1
  DeathEnd:
	TNT1 A 0 A_PlaySound("DoomsdayCannon/Hiss",6)
	TNT1 A 0 A_SpawnItemEx("SacrosanctDeathBall")
    ST0C AAAAAAAAAAAA 2 A_CustomMissile("CSTGreenKaboom",random(40,160),random(40,-40),random(0,360),2,random(0,360))
    ST0C AAAAAAAAAA 2 A_CustomMissile("CSTGreenKaboom",random(40,160),random(40,-40),random(0,360),2,random(0,360))
    ST0C AAAAAAAAAA 2 A_CustomMissile("CSTGreenKaboom",random(40,160),random(40,-40),random(0,360),2,random(0,360))
	TNT1 A 0 A_PlaySound("DoomsdayCannon/Boom",1)
	TNT1 A 0 A_SpawnItemEx("SacrosanctDoomsdayExploder",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS,0)
  	TNT1 A 1 A_Scream
	//TNT1 A 0 A_CustomMissile("StormCauserPart1",60,0,Random(0,359))
	//TNT1 A 0 A_CustomMissile("StormCauserPart2",60,0,Random(0,359))
	//TNT1 A 0 A_CustomMissile("StormCauserPart3",60,0,Random(0,359))
	//TNT1 A 0 A_CustomMissile("StormCauserPart4",60,0,Random(0,359))
	//TNT1 A 0 A_CustomMissile("StormCauserPart5",60,0,Random(0,359))
	//TNT1 A 0 A_CustomMissile("StormCauserPart6",60,0,Random(0,359))
	TNT1 AA 0 A_SpawnItemEx("DCellPack",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 AA 0 A_SpawnItemEx("NewCellPack",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 AA 0 A_SpawnItemEx("NewCell",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 AA 0 A_SpawnItemEx("DCell",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("SphereOfPower",0,0,64,random(1,8),0,2,random(0,360),0,32)
	TNT1 A 0 A_SpawnItemEx("D-BFG",0,0,64,random(1,8),0,2,random(0,360),0,32)
	TNT1 A 0 A_SpawnItemEx("BFG10K ",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("PlasmaRepeater",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Demon Tech Rifle",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Demon Tech BFG10K",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("ChaosEssence",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("LegendaryUltrasphere",0,0,64,random(1,8),0,2,random(0,360),0,32)
  	TNT1 A 0 A_BossDeath
	TNT1 A 0 A_KillMaster
    TNT1 A 1
    Stop
	}
}

ACTOR CStormCauserGhost
{
Scale 1.25
RENDERSTYLE Translucent
Alpha 0.75
+NOTIMEFREEZE
+NOGRAVITY
+CLIENTSIDEONLY
+DONTSPLASH
+NOINTERACTION
+NOCLIP
States
{
Spawn:
    TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
	ST0C A 2 A_FadeOut(0.18)
	Wait
	}
}

Actor StormCauserRocketRainUpwards
{
	Projectile
	Speed 0
	Radius 3
	Height 2
	+THRUACTORS
	+SKYEXPLODE
	+CLIENTSIDEONLY
	Scale 1
	States
	{
	Spawn:
		SKYZ C 50 Bright
		Goto Death
	Death:
		TNT1 A 0 A_Stop
		TNT1 A 0 A_ChangeFlag(NOINTERACTION,1)
		TNT1 A 50
		Stop
	}
}

Actor GreenFireSpawnerTail : CometTail 
{
Scale 0.47
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
FRT0 ABCDEFGHI 1 Bright
Stop
}
}

Actor StormCauserFallingRocket : DraugrMissile
{
 DamageType "Cyber10k"
 Speed 1
 +NOCLIP
 -MISSILE
 +SPAWNCEILING
  States
  {
  Spawn:
    TNT1 A 0 A_CustomMissile("MissileTrail",Random(6,8),Random(-2,2)) 
    TNT1 A 0 A_CustomMissile("ProjectileTrailParticleGreen2",Random(6,8),Random(-2,2)) 
    TNT1 A 0 A_SpawnItemEx("GreenFireSpawnerTail",-3,0,8)
	SKYZ B 2 Bright
	TNT1 A 0 A_Gravity
    TNT1 A 0 A_SetGravity(1.0)
    TNT1 A 0 A_ChangeFlag(NOCLIP,0)
    TNT1 A 0 A_ChangeFlag(MISSILE,1)
  Looped:
    TNT1 A 0 A_CustomMissile("MissileTrail",Random(6,8),Random(-2,2)) 
    TNT1 A 0 A_CustomMissile("ProjectileTrailParticleGreen2",Random(6,8),Random(-2,2)) 
    TNT1 A 0 A_SpawnItemEx("GreenFireSpawnerTail",-3,0,8)
	SKYZ B 1 Bright
    Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("GreenParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
    TNT1 AAAAAAAA 0 A_CustomMissile("Kaboom4", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAAA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))
    TNT1 AAAA 0 A_SpawnItemEx("Debris",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,128)
	TNT1 A 0 A_SpawnItemEx("ChaosGreenProjParticleLarge")
    TNT1 A 0 A_Explode(130,300,0,0)
	//TNT1 AAAAA 0 A_CustomMissile("VeloFireSpawner",0,0,random(0,359))
    MIS3 B 6 Bright A_Explode
    MIS3 CDEF 4 Bright A_SetTranslucent(0.75,1)
    Stop
    }
}

ACTOR StormCauserSmallGreenOrb : GenericWeakOrb
{
  Speed 50
  FastSpeed 55
  damage (random(10,30))
  SeeSound "remishot"
  States
  {
  Spawn:
    CLBA H 1 Bright
    Loop
  Death:
	TNT1 A 0
	TNT1 AA 0 A_SpawnItemEx("GreenProjParticle",0,0,0,frandom(-4,4),frandom(-4,4),frandom(-4,4),random(0,359))
    CLBA H 1 Bright A_FadeOut(0.2)
    Goto Death+1
  }
}

ACTOR StormCauserSmallGreenOrbNosound : StormCauserSmallGreenOrb
{
  SeeSound ""
}

ACTOR StormCauserVeloGhost : VeloGhost
{
Speed 45
Damage 8
+SEEKERMISSILE
+DOOMBOUNCE
BounceCount 1
States
{
   Spawn:
	SPI2 ABABABABABABABAB 2 Bright A_SpawnItemEx("GHellionSmoke")
    TNT1 A 0 A_SeekerMissile(90,90)
    SPI2 AB 2 Bright A_SpawnItemEx("GHellionSmoke")
    TNT1 A 0 A_SeekerMissile(90,90)
    SPI2 AB 2 Bright A_SpawnItemEx("GHellionSmoke")
	TNT1 A 0 A_SeekerMissile(90,90)
    SPI2 AB 2 Bright A_SpawnItemEx("GHellionSmoke")
   Fly:
    SPI2 AB 2 Bright A_SpawnItemEx("GHellionSmoke")
    Loop
	}
}

Actor CStormCauserCannonProj : LegendaryCannonProj
{
Damage 20
Species " "
BounceCount 4
BounceFactor 1.0
WallBounceFactor 1.0
States
	{
  Spawn:
	TNT1 A 0
    TNT1 A 0 A_Jump(100,"NotSeeker")
	TNT1 A 0 A_SeekerMissile(15,8,SMF_LOOK)
	GRB3 AA 1 Bright A_SpawnItemEx("GreenSuperBallTrail2",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_SeekerMissile(15,8,SMF_LOOK)
	GRB3 BB 1 Bright A_SpawnItemEx("GreenSuperBallTrail2",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_SeekerMissile(15,8,SMF_LOOK)
	GRB3 CC 1 Bright A_SpawnItemEx("GreenSuperBallTrail2",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_SeekerMissile(15,8,SMF_LOOK)
	GRB3 DD 1 Bright A_SpawnItemEx("GreenSuperBallTrail2",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	Loop
  NotSeeker:
	GRB3 AA 1 Bright A_SpawnItemEx("GreenSuperBallTrail2",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	GRB3 BB 1 Bright A_SpawnItemEx("GreenSuperBallTrail2",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	GRB3 CC 1 Bright A_SpawnItemEx("GreenSuperBallTrail2",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	GRB3 DD 1 Bright A_SpawnItemEx("GreenSuperBallTrail2",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
    TNT1 A 0 A_Jump(50,"Spawn")
    Loop
  Death:
	TNT1 A 0 A_PlaySound("weapons/rocklx",2)
  XDeath:
	TNT1 AA 0 A_SpawnItemEx("GreenParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0) 
	TNT1 AAA 0 A_CustomMissile("Kaboom7",0,0,random(0,360),2,random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),2,random(0,360))
	TNT1 A 0 A_CustomMissile("NemesisCannonShotExplosion",0,0,0,2)
	TNT1 I 8 Bright A_Explode(128,128,0)
	TNT1 J 6 Bright
	TNT1 K 4 Bright
	Stop
	}
}

Actor StormCauserT3DBFG10kShot : T3DBFG10kShot
{
Speed 200
DamageType "DBFG10K2"
DeathSound "Weapons/dbfgexplode2"
States
	{
  Spawn:
	TRA2 A 1 Bright
	Loop
  Death:
  XDeath:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("GreenT3DBFG10kDeathParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("GreenT3DBFGShotShockwave",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_Detonate
	BFE1 A 3 Bright A_SpawnItemEx("T3DBFGShotShockwaveDmg",16,16,0,0,0,0,0,SXF_SETMASTER,0)
	BFE1 B 3 Bright A_SpawnItemEx("T3DBFGShotShockwaveDmg",-16,16,0,0,0,0,0,SXF_SETMASTER,0)
	BFE1 C 3 Bright A_SpawnItemEx("T3DBFGShotShockwaveDmg",16,-16,0,0,0,0,0,SXF_SETMASTER,0)
	BFE1 D 3 Bright A_SpawnItemEx("T3DBFGShotShockwaveDmg",-16,-16,0,0,0,0,0,SXF_SETMASTER,0)
	BFE1 E 3 Bright A_SpawnItemEx("T3DBFGShotShockwaveDmg",0,0,16,0,0,0,0,SXF_SETMASTER,0)
	BFE1 F 3 Bright A_SpawnItemEx("T3DBFGShotShockwaveDmg",0,0,-16,0,0,0,0,SXF_SETMASTER,0)
	Stop
	}
}

Actor GreenT3DBFG10kDeathParticleSpawner
{
+Missile
+NoClip
+NoBlockMap
+NoGravity
+NOTELEPORT
+CLIENTSIDEONLY
+NOINTERACTION
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
		TNT1 AAAAA 1 A_SpawnItemEx("GreenT3DBFG10kDeathParticle", 0, 0, 0, (0.1)*Random(20, 45), 0, (0.1)*Random(-40, 40), Random(0, 360), SXF_CLIENTSIDE)
		TNT1 AAAAA 0 A_SpawnItemEx("GreenT3DBFG10kDeathParticle", 0, 0, 0, (0.1)*Random(20, 45), 0, (0.1)*Random(-40, 40), Random(0, 360), SXF_CLIENTSIDE)
		TNT1 AAAAA 1 A_SpawnItemEx("GreenT3DBFG10kDeathParticle", 0, 0, 0, (0.1)*Random(20, 45), 0, (0.1)*Random(-40, 40), Random(0, 360), SXF_CLIENTSIDE)
		TNT1 AAAAA 0 A_SpawnItemEx("GreenT3DBFG10kDeathParticle", 0, 0, 0, (0.1)*Random(20, 45), 0, (0.1)*Random(-40, 40), Random(0, 360), SXF_CLIENTSIDE)
		TNT1 A 1 Bright
		Stop
	}
}

Actor GreenT3DBFG10kDeathParticle
{
Height 0
Radius 0
Mass 0
Scale 0.05
RenderStyle Add
+Missile
-NoGravity
+NoBlockMap
+NOTELEPORT
+LowGravity
+DontSplash
+DoomBounce
+CLIENTSIDEONLY
BounceFactor 0.7
States
	{
	Spawn:
		TNT1 A 0
	Death:
		SPKG A 2 Bright A_FadeOut(0.05,1)
		Loop
	}
}

ACTOR GreenT3DBFGShotShockwave : T3BaseEffect
{
Scale 0.75
Renderstyle Add
Alpha 0.9
+DONTSPLASH
+FORCEXYBILLBOARD
States
	{
	Spawn:
		TNT1 A 0
		HBRG ABCDEFGHIJKLMNOPQR 1 Bright A_FadeOut(0.04,1)
		Stop
	}
}

ACTOR StormCauserProtoDevastatorBall : FusionDevastatorBall
{
Speed 30
Decal BFG9500Lightning
States
{
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_PlaySoundEx("devastator/fly","Voice",1)
	CGS1 A 0 Bright A_CustomMissile("GreenDevLiteShot",0,0,Random(0,360))
    CGS1 E 1 Bright A_SpawnItemEx("BFGTrailParticleGreen",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningGreen",Random(6,-6),Random(6,-6),Random(6,-6),0,0,0,0,128)
	CGS1 E 1 Bright A_CustomMissile("OverseerDTBFGProjectileAttack",Random(-10,10),0,0,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("GreenDevastatorTrail",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER,0)
	TNT1 A 0 A_Explode(32,450,0)
	CGS1 A 0 Bright A_CustomMissile("GreenDevLiteShot",0,0,Random(0,360))
    CGS1 F 1 Bright A_SpawnItemEx("BFGTrailParticleGreen",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningGreen",Random(6,-6),Random(6,-6),Random(6,-6),0,0,0,0,128)
	CGS1 F 1 Bright A_CustomMissile("OverseerDTBFGProjectileAttack",Random(-10,10),0,0,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("GreenDevastatorTrail",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER,0)
	TNT1 A 0 A_Explode(32,450,0)
	CGS1 A 0 Bright A_CustomMissile("GreenDevLiteShot",0,0,Random(0,360))
    CGS1 G 1 Bright A_SpawnItemEx("BFGTrailParticleGreen",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningGreen",Random(6,-6),Random(6,-6),Random(6,-6),0,0,0,0,128)
	CGS1 G 1 Bright A_CustomMissile("OverseerDTBFGProjectileAttack",Random(-10,10),0,0,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("GreenDevastatorTrail",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER,0)
	TNT1 A 0 A_Explode(32,450,0)
	CGS1 A 0 Bright A_CustomMissile("GreenDevLiteShot",0,0,Random(0,360))
    CGS1 H 1 Bright A_SpawnItemEx("BFGTrailParticleGreen",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningGreen",Random(6,-6),Random(6,-6),Random(6,-6),0,0,0,0,128)
	CGS1 H 1 Bright A_CustomMissile("OverseerDTBFGProjectileAttack",Random(-10,10),0,0,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("GreenDevastatorTrail",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER,0)
	TNT1 A 0 A_Explode(32,450,0)
	Loop
  Death:
    TNT1 A 0
	TNT1 A 0 A_SetTranslucent(0.75,1)
	TNT1 A 0 Radius_Quake(3,35,0,10,0)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,0,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,10,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,20,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,30,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,40,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,50,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,60,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,70,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,80,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,90,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,100,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,110,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,120,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,130,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,140,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,150,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,160,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,170,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,180,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,190,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,200,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,210,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,220,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,230,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,240,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,250,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,260,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,270,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,280,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,290,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,300,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,310,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,320,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,330,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,340,CMF_TRACKOWNER)
	TNT1 A 0 A_CustomMissile("DTBFG10KTracerOverseer",0,0,350,CMF_TRACKOWNER)
	TNT1 A 0 A_SpawnItemEx("DTBFGLightningGreenSpawner",0,0,0,0,0,0,0,128)	
	TNT1 A 0 A_Explode(80,256)
	CGS1 E 6 Bright A_SpawnItemEx("GreenDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	CGS1 F 6 Bright A_SpawnItemEx("GreenDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	CGS1 G 6 Bright A_SpawnItemEx("GreenDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	CGS1 H 6 Bright A_SpawnItemEx("GreenDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	CGS1 E 6 Bright A_SpawnItemEx("GreenDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	CGS1 F 6 Bright A_SpawnItemEx("GreenDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	CGS1 G 6 Bright A_SpawnItemEx("GreenDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	CGS1 H 6 Bright A_SpawnItemEx("GreenDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	CGS1 E 6 Bright A_SpawnItemEx("GreenDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	CGS1 F 6 Bright A_SpawnItemEx("GreenDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	CGS1 G 6 Bright A_SpawnItemEx("GreenDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(80,256)
	CGS1 H 6 Bright A_SpawnItemEx("GreenDevastatorShockWave",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Explode(128,1024,0)
	TNT1 A 0 A_Explode(460,640,0)
	TNT1 A 0 A_Explode(618,256)
	TNT1 A 0 A_StopSoundEx("Voice")
	TNT1 A 0 Radius_Quake(20,12,0,12,0)
	TNT1 A 0 A_PlaySound("weapons/dtech10kexplode")
	TNT1 A 0 A_SpawnItemEx("GreenDevastatorShockWave2",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_SpawnItem("PlayerDTBFGEx",0,-10)
	CGE1 D 0 Bright A_CustomMissile("GreenDevastatorBall2",0,0,18,2)
    CGE1 D 0 Bright A_CustomMissile("GreenDevastatorBall2",0,0,36,2)
    CGE1 D 0 Bright A_CustomMissile("GreenDevastatorBall2",0,0,54,2)
    CGE1 D 0 Bright A_CustomMissile("GreenDevastatorBall2",0,0,72,2)
    CGE1 D 0 Bright A_CustomMissile("GreenDevastatorBall2",0,0,90,2)
    CGE1 D 0 Bright A_CustomMissile("GreenDevastatorBall2",0,0,108,2)
    CGE1 D 0 Bright A_CustomMissile("GreenDevastatorBall2",0,0,126,2)
    CGE1 D 0 Bright A_CustomMissile("GreenDevastatorBall2",0,0,144,2)
    CGE1 D 0 Bright A_CustomMissile("GreenDevastatorBall2",0,0,144,2)
    CGE1 D 0 Bright A_CustomMissile("GreenDevastatorBall2",0,0,162,2)
    CGE1 D 0 Bright A_CustomMissile("GreenDevastatorBall2",0,0,180,2)
    CGE1 D 0 Bright A_CustomMissile("GreenDevastatorBall2",0,0,196,2)
    CGE1 D 0 Bright A_CustomMissile("GreenDevastatorBall2",0,0,216,2)
    CGE1 D 0 Bright A_CustomMissile("GreenDevastatorBall2",0,0,234,2)
    CGE1 D 0 Bright A_CustomMissile("GreenDevastatorBall2",0,0,252,2)
    CGE1 D 0 Bright A_CustomMissile("GreenDevastatorBall2",0,0,270,2)
    CGE1 D 0 Bright A_CustomMissile("GreenDevastatorBall2",0,0,288,2)
    CGE1 D 0 Bright A_CustomMissile("GreenDevastatorBall2",0,0,306,2)
    CGE1 D 0 Bright A_CustomMissile("GreenDevastatorBall2",0,0,324,2)
    CGE1 D 0 Bright A_CustomMissile("GreenDevastatorBall2",0,0,342,2)
	CGE1 AAAAAABBBBBBCCCCCCDDDDDD 1 A_CustomMissile("GreenKaboomDevastator2",0,0,random(0,360),2,random(0,360))
    CGE1 EF 6 Bright
    Stop
	}
}

ACTOR GreenDevastatorBall2 : FusionDevastatorBall2
{
  Speed 75
  Damage 12
  Decal DoomImpScorch
  States
  {
  Spawn:
	BBGB AB 4 Bright
	Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("GreenParticleSpawner",0,0,0,0,0,0,0,128)
	TNT1 AAA 0 A_CustomMissile("Kaboom7",0,0,random(0,360),2,random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX4",0,0,random(0,360),2,random(0,360)) 
    TNT1 A 0 A_CustomMissile("GreenDevastatorBall3",0,0,18,2)
    TNT1 A 0 A_CustomMissile("GreenDevastatorBall3",0,0,36,2)
    TNT1 A 0 A_CustomMissile("GreenDevastatorBall3",0,0,54,2)
    TNT1 A 0 A_CustomMissile("GreenDevastatorBall3",0,0,72,2)
    TNT1 A 0 A_CustomMissile("GreenDevastatorBall3",0,0,90,2)
    TNT1 A 0 A_CustomMissile("GreenDevastatorBall3",0,0,108,2)
    TNT1 A 0 A_CustomMissile("GreenDevastatorBall3",0,0,126,2)
    TNT1 A 0 A_CustomMissile("GreenDevastatorBall3",0,0,144,2)
    TNT1 A 0 A_CustomMissile("GreenDevastatorBall3",0,0,144,2)
    TNT1 A 0 A_CustomMissile("GreenDevastatorBall3",0,0,162,2)
    TNT1 A 0 A_CustomMissile("GreenDevastatorBall3",0,0,180,2)
    TNT1 A 0 A_CustomMissile("GreenDevastatorBall3",0,0,196,2)
    TNT1 A 0 A_CustomMissile("GreenDevastatorBall3",0,0,216,2)
    TNT1 A 0 A_CustomMissile("GreenDevastatorBall3",0,0,234,2)
    TNT1 A 0 A_CustomMissile("GreenDevastatorBall3",0,0,252,2)
    TNT1 A 0 A_CustomMissile("GreenDevastatorBall3",0,0,270,2)
    TNT1 A 0 A_CustomMissile("GreenDevastatorBall3",0,0,288,2)
    TNT1 A 0 A_CustomMissile("GreenDevastatorBall3",0,0,306,2)
    TNT1 A 0 A_CustomMissile("GreenDevastatorBall3",0,0,324,2)
    TNT1 A 0 A_CustomMissile("GreenDevastatorBall3",0,0,342,2)
	BBGB C 3 Bright A_Explode(64,64,0)
	BBGB DE 3 Bright
	Stop
	}
}

ACTOR GreenDevastatorBall3 : GreenDevastatorBall2
{
  States
  {
  Death:
	TNT1 A 0
	BBGB C 3 Bright A_Explode(64,64,0)
	BBGB DE 3 Bright
	Stop
	}
}

ACTOR GreenKaboomDevastator2 : KaboomDevastator
{
Speed 1
Scale 1.5
States
{
	Spawn:
	GVPR ABCDEFGHIJKLMNOP 1 Bright A_FadeOut(0.025)
	Stop
	}
}

ACTOR GreenDevastatorShockWave
{
Speed 0
Scale 1
Radius 1
Height 1
Speed 2
Damage 0
Renderstyle Translucent
Alpha 0.75
PROJECTILE
+NOBLOCKMAP
+NOTELEPORT
+DONTSPLASH
+NOGRAVITY
+MISSILE
+NOTIMEFREEZE
+FORCEXYBILLBOARD
+CLIENTSIDEONLY
+NOINTERACTION
+NOCLIP
Scale 1.15
States
{
Spawn:
SHOG ABCDEFGHIJKLMNOPQR 1 Bright A_FadeOut(0.025)
Stop
}
}

ACTOR GreenDevastatorShockWave2 : GreenDevastatorShockWave
{
Speed 0
Scale 2.5
States
{
Spawn:
SHOG ABCDEFGHIJKLMNOPQR 2 Bright A_FadeOut(0.015)
Stop
}
}

ACTOR GreenDevLiteShot : LiteShot
{
   States
   {
   Spawn:
      TATL AAABBBCCC 1 Bright A_SpawnItem ("GreenLiteTrail",0,0,0)
      Loop
   Death:
      TATL DEFGHIJKLMNO 1 Bright
      Stop
   }
}

ACTOR GreenLiteTrail
{
   Radius 1
   Height 1
   PROJECTILE
   RENDERSTYLE ADD
   ALPHA 0.67
   +CLIENTSIDEONLY
   +NOINTERACTION
   States
   {
   Spawn:
      TNT1 A 0
      TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
      TATL ABC 3 Bright
      Stop
   }
}

Actor GreenDevastatorTrail
{
  +NoBlockMap
  +NoGravity
  +ClientSideOnly
  +NOINTERACTION
  Scale 1.45
  RenderStyle Add
  Radius 1
  Height 2
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    PDCP Z 4 bright A_FadeOut(0.1)
    Goto Spawn+2
  }
}

ACTOR StormCauserFantasySeal : FantasySeal
{
  Speed 80
  Damage 50
  MissileType "GreenFantasySealTrail"
  +SEEKERMISSILE
  States
  {
  Spawn:
    TNT1 A 1 Bright
    Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_CustomMissile("GreenFantasySealExplosion",0,0,0,CMF_AIMDIRECTION,0)
	TNT1 A 0 A_CustomMissile("GreenFantasySealExplosion",0,0,60,CMF_AIMDIRECTION,0)
	TNT1 A 0 A_CustomMissile("GreenFantasySealExplosion",0,0,120,CMF_AIMDIRECTION,0)
	TNT1 A 0 A_CustomMissile("GreenFantasySealExplosion",0,0,180,CMF_AIMDIRECTION,0)
	TNT1 A 0 A_CustomMissile("GreenFantasySealExplosion",0,0,240,CMF_AIMDIRECTION,0)
	TNT1 A 0 A_CustomMissile("GreenFantasySealExplosion",0,0,300,CMF_AIMDIRECTION,0)
	TNT1 A 0 A_CustomMissile("GreenFantasySealExplosion2",0,0,0,CMF_AIMDIRECTION,0)
	TNT1 A 0 A_SpawnItem("ChaosGreenProjParticleLarge")
	TNT1 A 0 A_Explode(30,200)
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("ChaosGreenProjParticleSuperLarge",0,0,0,frandom(-7,7),frandom(-7,7),frandom(-7,7),random(0,359))
    CLBB C 1 Bright A_FadeOut(0.2)
    Goto Death+8
  }
}

ACTOR GreenFantasySealExplosion : FantasySealExplosion
{
  States
  {
  Spawn:
	TNT1 AAAAAAAA 1 A_SpawnItemEx("StormCauserFantasySealMiniExplode",random(-30,30),random(-30,30),random(-30,30),random(-4,4),random(-4,4),random(-4,4),random(0,359))
  Death:
	TNT1 A 0
	TNT1 A 0 A_Stop
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2 A_SpawnItemEx("StormCauserFantasySealMiniExplode",random(-100,100),random(-100,100),random(-100,100),random(-4,4),random(-4,4),random(-4,4),random(0,359))
	Stop
  }
}

ACTOR GreenFantasySealExplosion2 : GreenFantasySealExplosion
{
  States
  {
  Spawn:
  Death:
	TNT1 A 0
	TNT1 A 0 A_Stop
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2 A_SpawnItemEx("StormCauserFantasySealMiniExplode",random(-100,100),random(-100,100),random(-100,100),random(-4,4),random(-4,4),random(-4,4),random(0,359))
	Stop
  }
}

ACTOR StormCauserFantasySealMiniExplode : FantasySealMiniExplode
{
  States
  {
  Spawn:
	TNT1 A 0
	GXPO AB 2 Bright A_FadeOut(0.05)
	TNT1 A 0 A_Explode(30,75,0,0,40)
	GXPO CD 1 Bright A_FadeOut(0.05)
	TNT1 A 0 A_Explode(30,75,0,0,40)
	GXPO EF 1 Bright A_FadeOut(0.05)
	TNT1 A 0 A_Explode(30,75,0,0,40)
	GXPO GHIJKLM 1 Bright A_FadeOut(0.05)
	Stop
  }
}

ACTOR GreenFantasySealTrail : HellStaffParticle
{
  Scale 0.6
  States
  {
  Spawn:
	TNT1 A 0 A_Jump(220,"Spark")
    CLBA HHHHHHHHHHHHHHHHHHHH 1 Bright
    TNT1 A 0 A_SetScale(0.55)
    TNT1 A 0 A_FadeOut(0.1)
    CLBA H 1
    TNT1 A 0 A_SetScale(0.5)
    TNT1 A 0 A_FadeOut(0.1)
    CLBA H 1
    TNT1 A 0 A_SetScale(0.45)
    TNT1 A 0 A_FadeOut(0.1)
    CLBA H 1
    TNT1 A 0 A_SetScale(0.4)
    TNT1 A 0 A_FadeOut(0.1)
    CLBA H 1
    TNT1 A 0 A_SetScale(0.35)
    TNT1 A 0 A_FadeOut(0.1)
    CLBA H 1
    TNT1 A 0 A_SetScale(0.3)
    TNT1 A 0 A_FadeOut(0.1)
    CLBA H 1
    TNT1 A 0 A_SetScale(0.25)
    TNT1 A 0 A_FadeOut(0.1)
    CLBA H 1
    TNT1 A 0 A_SetScale(0.2)
    TNT1 A 0 A_FadeOut(0.1)
    CLBA H 1
    TNT1 A 0 A_SetScale(0.15)
    TNT1 A 0 A_FadeOut(0.1)
    CLBA H 1
    Stop
  Spark:
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("BlueProjParticleLarge",0,0,0,frandom(-4,4),frandom(-4,4),frandom(-4,4),random(0,359))
    Goto Spawn+1
  }
}

ACTOR ChaosGreenProjExplodeLarge : HellStaffParticle
{   
  Scale 0.1
  States
  {
  Spawn:
	CLBC H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.2)
	CLBC H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.3)
	CLBC H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.4)
	CLBC H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.5)
	CLBC H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.6)
	CLBC H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.7)
	CLBC H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.8)
	CLBC H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.9)
	CLBC H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(1.0)
	CLBC H 1 Bright A_FadeOut(0.1)
  Stop
  }
}

ACTOR ChaosGreenProjParticleLarge : HellStaffParticle
{
  Scale 0.05
  States
  {
  Spawn:
	TNT1 A 2
	CLBA H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.048)
	CLBA H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.046)
	CLBA H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.044)
	CLBA H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.042)
	CLBA H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.040)
	CLBA H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.038)
	CLBA H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.036)
	CLBA H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.034)
	CLBA H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.032)
    Stop
  }
}

ACTOR ChaosGreenProjParticleSuperLarge : HellStaffParticle
{
  Scale 0.3
  States
  {
  Spawn:
	TNT1 A 2
	CLBA H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.28)
	CLBA H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.26)
	CLBA H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.24)
	CLBA H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.22)
	CLBA H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.2)
	CLBA H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.18)
	CLBA H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.16)
	CLBA H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.14)
	CLBA H 1 Bright A_FadeOut(0.1)
	TNT1 A 0 A_SetScale(0.12)
    Stop
  }
}

ACTOR StormCauserMiniLaser : PlamexisLaser
{
  MissileType "StormCauserMiniLaserTrail"
  States
  {
  Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("SacrosanctGuruChunkSpark",0,0,0,3)
  SpawnLoop:
    TNT1 A 1 A_Explode(30,200)
    Loop
  Death:
	TNT1 A 0 A_Explode(450,200)
    TNT1 AAAAAAAAAAAAAAA 1 A_SpawnItemEx("SacrosanctGuruChunkSpark",0,0,0,frandom(-6,6),frandom(-6,6),frandom(-6,6))
    Stop
  }
}

ACTOR StormCauserMiniLaserTrail : BaseProjectileEffect
{
  Scale 1.0
  States
  {
  Spawn:
    CLBA HHHHHHHHHHHHHHHHH 1 Bright
  SpawnLoop:
    TNT1 A 0 A_SetScale(ScaleX-0.05)
    CLBA H 1 A_FadeOut(0.1)
    Loop
  }
}

ACTOR StormCauserRailLaser : NemesisCyberRailLaser
{
  RenderStyle Add
  Seesound "DG/LaserBeam"
  Missiletype "StormCauserRailLaserTrail"
  Damagetype "Legendary"
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 1
	Loop
  Death:
	TNT1 A 1
	Stop
  }
}

ACTOR StormCauserRailLaserTrail : NemesisCyberRailLaserTrail
{
  Damagetype "Legendary"
  Renderstyle Add
  States
  {
  Spawn:
	TNT1 A 0
	CLBA HHHHHHHHHHHHHHHHHHHH 1 Bright A_Explode(2,60)
	TNT1 A 0 A_SetScale(0.55)
	TNT1 A 0 A_FadeOut(0.1)
	CLBA H 1
	TNT1 A 0 A_SetScale(0.5)
	TNT1 A 0 A_FadeOut(0.1)
	CLBA H 1
	TNT1 A 0 A_SetScale(0.45)
	TNT1 A 0 A_FadeOut(0.1)
	CLBA H 1
	TNT1 A 0 A_SetScale(0.4)
	TNT1 A 0 A_FadeOut(0.1)
	CLBA H 1
	TNT1 A 0 A_SetScale(0.35)
	TNT1 A 0 A_FadeOut(0.1)
	CLBA H 1
	TNT1 A 0 A_SetScale(0.3)
	TNT1 A 0 A_FadeOut(0.1)
	CLBA H 1
	TNT1 A 0 A_SetScale(0.25)
	TNT1 A 0 A_FadeOut(0.1)
	CLBA H 1
	TNT1 A 0 A_SetScale(0.2)
	TNT1 A 0 A_FadeOut(0.1)
	CLBA H 1
	TNT1 A 0 A_SetScale(0.15)
	TNT1 A 0 A_FadeOut(0.1)
	CLBA H 1
	Stop
  }
}

ACTOR CSTGreenFlameBreath
{
Speed 45
Damage 15
Renderstyle Add
Alpha 0.75
PROJECTILE
+FORCERADIUSDMG
+FORCEXYBILLBOARD
Scale 1.2 //0.650
States
{
  Spawn:
	GXPO ABBCDEFGHIJKLM 2 Bright A_Explode(2,192,0)
	Stop
  Death:
    TNT1 A 0
  	TNT1 A 0 A_SpawnItemEx("GreenParticleSpawner",0,0,0,0,0,0,0,128)
    TNT1 AA 0 A_CustomMissile("Kaboom4",0,0,random(0,360),2,random(0,360))
	GXPO GHIJKLM 1 Bright
	Stop
	}
}

ACTOR CSTGreenBreath : MagmaBreath
{
  Height 10
  Radius 10
  Scale 0.7
  Speed 30
  Decal Scorch
  -THRUSPECIES 
  -THRUACTORS
  -SKYEXPLODE
  +FORCERADIUSDMG
  States 
  { 
  Spawn:
	TNT1 A 0
	GMKE LKJIHGFEDCB 2 Bright A_Explode(10,100,0)
	Goto Death
  Death:
	GMKE AAAAA 2 Bright A_FadeOut(0.25,1)
	Stop
	} 
}

ACTOR CSTGreenKaboom : Kaboom
{
States
{
Spawn:
TNT1 A 0
//TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
GXPO A 1 Bright A_PlaySound("weapons/rocklx")
GXPO ABBCDEFGHIJKLM 1 Bright A_FadeOut(0.05)
Stop
}
}

ACTOR StormCauserLineSpawner : BluePowerLineSpawner
{
States
	{
	Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
	TNT1 AAAAA 0 A_SpawnItemEx("SCGreenPowerLine",random(-64,64),random(-64,64),random(0,54),0,0,random(2,8),0,128,0) 	
	TNT1 A 1 A_SpawnItemEx("SCGreenPowerLine",random(-64,64),random(-64,64),random(0,54),0,0,random(2,8),0,128,0) 
	Stop  
	}
}

ACTOR SCGreenPowerLine : BluePowerLine
{
Translation "80:111=112:127"
Scale 0.84
States
	{
	Spawn:
		TNT1 A 0
		SPFX A 5 Bright
		TNT1 A 0 A_Jump(128,"FadeOut2")
		Goto Normal
	Normal:
		SPFX AAAAAAAA 1 Bright A_FadeOut(0.025,1)
		Stop
	FadeOut2:
		SPFX AAAAAAAA 1 Bright A_FadeOut(0.03,1)
		Stop
	}
}