Actor InsanityDemolisher : DarkDemolisher
{
  Health 5500
  DamageFactor "Normal", 0.65
  Bloodcolor Red
  DropItem "BossLifeEssence" 256 25
  DropItem "BossArmorBonusMax" 256 1
  DropItem "DemonAmmoBox" 128 200
  DropItem "SkullOfPower" 64
  DropItem "DemonicChalice" 64
  DropItem "BFG10K " 100
  DropItem "Railgun " 100
  DropItem "Demon Tech BFG10K" 64
  PainSound "monsters/darkmasterpain"
  SeeSound "monsters/darkmastermindsee"
  DeathSound "monsters/darkmasterminddie"
  Obituary "%o was overwhelmed by an Insanity Demolisher's artillery."
  Tag "\c[i7]Insanity Demolisher\c-"
  States
  {
  Spawn:
	INDM A 10 A_Look
	Loop
  See:
	TNT1 A 0 A_Metal
	TNT1 A 0 A_SpawnItemEx("InsaneDemoGhostA",0,0,0,0,0,0,0,128)
	INDM A 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("InsaneDemoGhostA",0,0,0,0,0,0,0,128)	
	INDM A 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("InsaneDemoGhostB",0,0,0,0,0,0,0,128)
	INDM B 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("InsaneDemoGhostB",0,0,0,0,0,0,0,128)
	INDM B 2 A_Chase
	TNT1 A 0 A_Metal	
	TNT1 A 0 A_SpawnItemEx("InsaneDemoGhostC",0,0,0,0,0,0,0,128)
	INDM C 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("InsaneDemoGhostC",0,0,0,0,0,0,0,128)
	INDM C 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("InsaneDemoGhostD",0,0,0,0,0,0,0,128)
	INDM D 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("InsaneDemoGhostD",0,0,0,0,0,0,0,128)
	INDM D 2 A_Chase
	TNT1 A 0 A_Metal	
	TNT1 A 0 A_SpawnItemEx("InsaneDemoGhostE",0,0,0,0,0,0,0,128)
	INDM E 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("InsaneDemoGhostE",0,0,0,0,0,0,0,128)
	INDM E 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("InsaneDemoGhostF",0,0,0,0,0,0,0,128)
	INDM F 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("InsaneDemoGhostF",0,0,0,0,0,0,0,128)
	INDM F 2 A_Chase	
	TNT1 A 0 A_Jump(84,"See")	
	Loop
  Missile:
	TNT1 A 0 A_Jump(100,"BFG15k","MiniDTBFG","Railgun")
	TNT1 A 0 A_Jump(50,"BFG10k","DTBFG")
	TNT1 A 0 A_Jump(128,"ExplosiveMinigun")
  DemonTech:
	INDM A 20 A_FaceTarget
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("InsanitySpiderDemontech",20,-16,frandom(-10,10),CMF_OFFSETPITCH,frandom(-1,1))
	TNT1 A 0 A_CustomMissile("InsanitySpiderDemontech",20,16,frandom(-10,10),CMF_OFFSETPITCH,frandom(-1,1))
	INDM G 2 Bright A_PlaySoundEx("weapons/demontechfire","Weapon")
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("InsanitySpiderDemontech",20,-16,frandom(-10,10),CMF_OFFSETPITCH,frandom(-1,1))
	TNT1 A 0 A_CustomMissile("InsanitySpiderDemontech",20,16,frandom(-10,10),CMF_OFFSETPITCH,frandom(-1,1))
	INDM H 2 Bright A_PlaySoundEx("weapons/demontechfire","Weapon")
	TNT1 A 0 A_SpidRefire
	Goto DemonTech+1
  ExplosiveMinigun:
	INDM A 20 A_FaceTarget
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("OrangeShellCasing",10,-12,20,Random(2,6),0,Random(1,3),Random(-90,-80),128)
	TNT1 A 0 A_SpawnItemEx("OrangeShellCasing",10,12,20,Random(2,6),0,Random(1,3),Random(80,90),128)
	TNT1 A 0 A_CustomMissile("SentientExplosiveTracer",20,-16,frandom(-8,8))
	TNT1 A 0 A_CustomMissile("SentientExplosiveTracer",20,16,frandom(-8,8))
	INDM G 2 Bright A_PlaySound("sentient/fire")
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("OrangeShellCasing",10,-12,20,Random(2,6),0,Random(1,3),Random(-90,-80),128)
	TNT1 A 0 A_SpawnItemEx("OrangeShellCasing",10,12,20,Random(2,6),0,Random(1,3),Random(80,90),128)
	TNT1 A 0 A_CustomMissile("SentientExplosiveTracer",20,-16,frandom(-8,8))
	TNT1 A 0 A_CustomMissile("SentientExplosiveTracer",20,16,frandom(-8,8))
	INDM H 2 Bright A_PlaySound("sentient/fire")
	TNT1 A 0 A_SpidRefire
	Goto ExplosiveMinigun+1
  BFG15k:
	TNT1 A 0 A_PlaySound("weapons/charge15k")
	INDM GGGGG 5 A_FaceTarget
	TNT1 A 0 A_CustomMissile("InsanitySpider15k",16,-16,frandom(-7,7))
	TNT1 A 0 A_CustomMissile("InsanitySpider15k",16,16,frandom(-7,7))
	INDM HG 4 Bright A_FaceTarget
	TNT1 A 0 A_SpidRefire
	Goto BFG15k+6
  BFG10k:
	TNT1 A 0 A_PlaySound("weapons/charge15k")
	INDM GGGGGGG 5 A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/bfg15kfire")
	TNT1 A 0 A_CustomMissile("Sentient10K",20,-16,frandom(-7,7))
	TNT1 A 0 A_CustomMissile("Sentient10K",20,16,frandom(-7,7))
	INDM HG 4 Bright A_FaceTarget
	TNT1 A 0 A_SpidRefire
	Goto BFG10k+8
  MiniDTBFG:
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGCharge")
	INDM TTTTTTT 5 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire")
	INDM U 8 Bright A_CustomMissile("InsaneSpiderMiniDTBFG",30,0,random(-8,8))
	INDM T 5 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire")
	INDM U 8 Bright A_CustomMissile("InsaneSpiderMiniDTBFG",30,0,random(-8,8))
	INDM T 5 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire")
	INDM U 8 Bright A_CustomMissile("InsaneSpiderMiniDTBFG",30,0,random(-8,8))
	INDM T 5 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire")
	INDM U 8 Bright A_CustomMissile("InsaneSpiderMiniDTBFG",30,0,random(-8,8))
	INDM T 5 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire")
	INDM U 8 Bright A_CustomMissile("InsaneSpiderMiniDTBFG",30,0,random(-8,8))
	INDM T 5 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("LesserCardinal/BFGFire")
	INDM U 8 Bright A_CustomMissile("InsaneSpiderMiniDTBFG",30,0,random(-8,8))
	INDM T 5 Bright A_FaceTarget
	Goto See
  Railgun:
    TNT1 A 0 A_PlaySound("weapons/rgcharge")
	INDM TTTTTT 5 Bright A_FaceTarget
	INDM U 10 Bright A_CustomMissile("CardinalRail",35)
	INDM T 5 Bright A_FaceTarget
	INDM U 10 Bright A_CustomMissile("CardinalRail",35)
	INDM T 5 Bright A_FaceTarget
	INDM U 10 Bright A_CustomMissile("CardinalRail",35)
	INDM T 5 Bright A_FaceTarget
	Goto See
  DTBFG:
	TNT1 A 0 A_PlaySound("Cardinal/9k")
	INDM TTTTT 5 Bright A_FaceTarget
	INDM U 20 Bright A_CustomMissile("SentientDTBFG10KBall",30,0,random(-8,8))
	TNT1 A 0 A_PlaySound("Cardinal/9k")
	INDM TTTTT 5 Bright A_FaceTarget
	INDM U 20 Bright A_CustomMissile("SentientDTBFG10KBall",30,0,random(-8,8))
	TNT1 A 0 A_PlaySound("Cardinal/9k")
	INDM TTTTT 5 Bright A_FaceTarget
	INDM U 20 Bright A_CustomMissile("SentientDTBFG10KBall",30,0,random(-8,8))
	Goto See
  Pain:
	INDM I 6 A_Pain
	TNT1 A 0 A_Jump(128,"Missile")
	Goto See
  Death:
	TNT1 A 0 A_Scream
	INDM I 20 A_Fall
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)	
	TNT1 AAA 0 A_CustomMissile("BigRedBloodCloud", random(10,80), 0, random(0,360), 2, random(0,360))	
	INDM JJJJJ 2 Bright A_CustomMissile("Kaboom", random(10,60), random(30,-30), random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)	
	TNT1 AAA 0 A_CustomMissile("BigRedBloodCloud", random(10,80), 0, random(0,360), 2, random(0,360))	
	INDM KKKKK 2 Bright A_CustomMissile("Kaboom", random(10,60), random(30,-30), random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)	
	TNT1 AAA 0 A_CustomMissile("BigRedBloodCloud", random(10,80), 0, random(0,360), 2, random(0,360))
	INDM LLLLL 2 Bright A_CustomMissile("Kaboom", random(10,60), random(30,-30), random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)	
	TNT1 AAA 0 A_CustomMissile("BigRedBloodCloud", random(10,80), 0, random(0,360), 2, random(0,360))
	INDM MMMMM 2 Bright A_CustomMissile("Kaboom", random(10,60), random(30,-30), random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)	
	TNT1 AAA 0 A_CustomMissile("BigRedBloodCloud", random(10,80), 0, random(0,360), 2, random(0,360))
	INDM NNNNN 2 Bright A_CustomMissile("Kaboom", random(10,60), random(30,-30), random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)	
	TNT1 AAA 0 A_CustomMissile("BigRedBloodCloud", random(10,80), 0, random(0,360), 2, random(0,360))
	INDM OOOOO 2 Bright A_CustomMissile("Kaboom", random(10,60), random(30,-30), random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)	
	TNT1 AAA 0 A_CustomMissile("BigRedBloodCloud", random(10,80), 0, random(0,360), 2, random(0,360))
	INDM PPPPP 2 Bright A_CustomMissile("Kaboom", random(10,60), random(30,-30), random(0,360), 2, random(0,360))	
	TNT1 AAAA 0 A_SpawnItemEx("GibbedGenerator",Random(10,-10),Random(10,-10),Random(20,60),0,0,0,0,128,0)
	TNT1 AAAAAA 0 A_CustomMissile("BigRedBloodCloud", random(10,80), 0, random(0,360), 2, random(0,360))
	TNT1 AAAAAAAA 0 A_CustomMissile("SmokeFX3", random(10,60), random(30,-30), random(0,360), 2, random(0,360))	
	INDM QR 5
	INDM S -1 A_KillMaster
	Stop
	}
}

ACTOR InsaneSpiderMiniDTBFG : LesserCardinalMiniDTBFG
{
DamageType "DarkDemoEx"
Obituary "%o was overwhelmed by an Insanity Demolisher's artillery."
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_PlaySoundEx("LesserCardinal/BFGIdle","Voice",1)
    CRS1 ABCDABCD 1 Bright A_SpawnItemEx("ProjectileTrailParticleOrange2",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),128)
    TNT1 A 0 A_CustomMissile("ClockworkBFGProjectileAttack",Random(-10,10),0,0,CMF_TRACKOWNER)
    Loop  
    }
}

ACTOR InsaneSpiderBFGProjectileAttack : LesserCardinalBFGProjectileAttack
{
Obituary "%o was overwhelmed by an Insanity Demolisher's artillery."
MissileType "InsaneSpiderLightningProjectile"
}

ACTOR InsaneSpiderLightningProjectile : LesserCardinalLightningProjectile { DamageType "DarkDemoEx" }

ACTOR InsaneDemoGhostA
{
Scale 1.05
RENDERSTYLE Translucent
Alpha 0.75
+NOGRAVITY
+CLIENTSIDEONLY
+DONTSPLASH
+NOINTERACTION
+NOCLIP
States
{
Spawn:
    INDM A 2 A_FadeOut(0.18)
    Loop
    }
}

ACTOR InsaneDemoGhostB : InsaneDemoGhostA
{   
States
{
Spawn:
    INDM B 2 A_FadeOut(0.18)
    Loop
    }
}

ACTOR InsaneDemoGhostC : InsaneDemoGhostA
{   
States
{
Spawn:
    INDM C 2 A_FadeOut(0.18)
    Loop
    }
}

ACTOR InsaneDemoGhostD : InsaneDemoGhostA
{   
States
{
Spawn:
    INDM D 2 A_FadeOut(0.18)
    Loop
    }
}

ACTOR InsaneDemoGhostE : InsaneDemoGhostA
{   
States
{
Spawn:
    INDM E 2 A_FadeOut(0.18)
    Loop
    }
}

ACTOR InsaneDemoGhostF : InsaneDemoGhostA
{   
States
{
Spawn:
    INDM F 2 A_FadeOut(0.18)
    Loop
    }
}