ACTOR BonerFire
{
+MISSILE
+DONTSPLASH
+CLIENTSIDEONLY
+NOBLOCKMAP
+NOGRAVITY
+NOTELEPORT
+FORCEXYBILLBOARD
RenderStyle Add
Scale 0.3
States
{
Spawn:
2HD2 ABCDEFGHIJKL 2 bright A_FadeOut
Stop
}
}

ACTOR BonerFireSpawner : RedParticleSpawner
{
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
	TNT1 A 0 A_PlaySound("monster/ambientfire")
    TNT1 AAAA 0 A_SpawnItemEx("BonerFire",random(12,-12),random(12,-12),random(25,50),0,0,random(0,-5),0,128,0)
    TNT1 A 1
    Stop
  }
}

ACTOR InsanityRevenant : Guardian
{
  PainChance 70
  Health 950
  Speed 12
  Damagefactor "Normal", 0.65
  SeeSound "famine/sight"
  PainSound "guardian/pain"
  DeathSound "famine/death"
  ActiveSound "famine/active"
  Obituary "%o was bombarded by the spam-ifire of an Insanity Revenant."
  DropItem "BossLifeEssence" 128 25
  DropItem "BossArmorBonusMax" 128 1
  DropItem "DemonAmmoBox" 128 200
  MeleeThreshold 60
  +QUICKTORETALIATE
  -LONGMELEERANGE
  +MISSILEEVENMORE
  +MISSILEMORE
  +QUICKTORETALIATE
  +NOGRAVITY
  +DONTFALL
  +FLOAT
  +NOGRAVITY	
  -FLOORCLIP
  Tag "\c[i7]Insanity Revenant\c-"
  States
  {
  Spawn:
	INRV B 2 Bright A_Look
	TNT1 A 0 Bright A_SpawnItem("BonerFireSpawner",0,0,0,0)
	Loop
  See:
    TNT1 A 0 Bright A_SpawnItem("BonerFireSpawner",0,0,0,0)
	INRV B 2 Bright A_chase
    TNT1 A 0 Bright A_SpawnItem("BonerFireSpawner",0,0,0,0)
	INRV B 2 Bright A_Chase
	TNT1 A 0 A_Jump(7,"Evade")
	Loop
   Evade:
	TNT1 A 0 A_Jump(128,19)
	TNT1 A 0 ThrustThing(Angle*256/360+64,20,0,0)
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	INRV B 2 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	INRV B 2 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	INRV B 2 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	INRV B 2 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	INRV B 2 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	INRV B 2 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	INRV B 2 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	INRV B 2 Bright A_Chase
	TNT1 A 0 A_Stop
	Goto See
	TNT1 A 0 ThrustThing(Angle*256/360+192,20,0,0)
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	INRV B 2 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	INRV B 2 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	INRV B 2 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	INRV B 2 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	INRV B 2 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	INRV B 2 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	INRV B 2 Bright A_Chase
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	INRV B 2 Bright A_Chase
	TNT1 A 0 A_Stop
	Goto See 
  Melee:
  Missile:
	TNT1 A 0 A_jump(100,"Railguns","lasers","FastRockets","BFG15K") 
  Spam:
	TNT1 A 0 A_FaceTarget
	INRV JJJJJ 2 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	INRV JJJJJ 2 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 AA 0 A_CustomMissile("GuardianTracer2",54,-16,random(3,-3))
	INRV KK 3 Bright A_CustomMissile("GuardianTracer2",54,16,random(3,-3)) 
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0) 
	INRV K 7 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0) 
	TNT1 A 0 A_jump(60,"pause")
	TNT1 A 0 A_spidrefire
	Goto Spam+9
  Pause:
	INRV B 10 Bright
	Goto see
  Railguns:
	TNT1 A 0 A_changeflag("Nopain",1)
	TNT1 A 0 A_PlaySound("weapons/rgcharge")
	TNT1 A 0 A_FaceTarget
	INRV JJJJJ 2 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	INRV JJJJJ 2 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	INRV JJ 2 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
    TNT1 A 0 A_PlaySound("railgunner/chargedshot")
	TNT1 A 0 A_CustomMissile("ELegRevRailgunProj",54,-16,0)
	INRV K 4 Bright A_CustomMissile("ELegRevRailgunProj",54,16,0) 
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_changeflag("Nopain",0)
	Goto see
  Lasers:
	TNT1 A 0 A_PlaySound("weapons/rgcharge")
	TNT1 A 0 A_FaceTarget
	INRV JJJJJ 2 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	INRV JJJJJ 2 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	INRV JJ 2 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_PlaySound("monsters/fusionfire")
	TNT1 A 0 A_CustomMissile("Insanebonerlaser",54,-16,0)
	INRV K 0 A_CustomMissile("Insanebonerlaser",54,16,0) 
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	INRV JJ 2 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_PlaySound("monsters/fusionfire")
	TNT1 A 0 A_CustomMissile("Insanebonerlaser",54,-16,0)
	INRV K 0 A_CustomMissile("Insanebonerlaser",54,16,0) 
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	INRV JJ 2 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_PlaySound("monsters/fusionfire")
	TNT1 A 0 A_CustomMissile("Insanebonerlaser",54,-16,0)
	INRV K 0 A_CustomMissile("Insanebonerlaser",54,16,0) 
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	Goto see
  BFG15K:
	TNT1 A 0 A_PlaySound("weapons/charge15k")
	TNT1 A 0 A_FaceTarget
	INRV JJJJJ 2 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	INRV JJJJJ 2 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	INRV JJJJJ 2 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_CustomMissile("CerebralIncarnate10kBall",54,-16,0)
	INRV K 10 Bright A_CustomMissile("CerebralIncarnate10kBall",54,16,0) 
	TNT1 A 0 A_FaceTarget
	INRV JJ 2 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_CustomMissile("CerebralIncarnate10kBall",54,-16,0)
	INRV K 10 Bright A_CustomMissile("CerebralIncarnate10kBall",54,16,0) 
	TNT1 A 0 A_FaceTarget
	INRV JJ 2 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_CustomMissile("CerebralIncarnate10kBall",54,-16,0)
	INRV K 10 Bright A_CustomMissile("CerebralIncarnate10kBall",54,16,0) 
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)	
    Goto see
  FastRockets:
	TNT1 A 0 A_FaceTarget
	INRV JJJJJ 2 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_FaceTarget
	INRV JJJJJ 2 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",54,-16,0)
	INRV K 10 Bright A_CustomMissile("WarShoulderRocketHoming",54,16,0) 
	TNT1 A 0 A_FaceTarget
	INRV JJ 2 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",54,-16,0)
	INRV K 10 Bright A_CustomMissile("WarShoulderRocketHoming",54,16,0) 
	TNT1 A 0 A_FaceTarget
	INRV JJ 2 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)
	TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",54,-16,0)
	INRV K 10 Bright A_CustomMissile("WarShoulderRocketHoming",54,16,0) 
	TNT1 A 0 A_SpawnItem("BonerFireSpawner",0,0,0,0)	
    Goto see
  Pain:
	INRV L 10 Bright A_Pain
	TNT1 A 0 A_Jump(104,"Missile")
	Goto See
  Death:
  Xdeath:
	INRV L 2 Bright
	INRV LLL 1 Bright A_SpawnItemEx("Kaboom",0,0,10,Random(5,-5),Random(5,-5),Random(6,-3))
	TNT1 A 0 Bright A_Scream
	TNT1 A 0 A_SpawnItemEx("Kaboom",0,0,10,Random(5,-5),Random(5,-5),Random(6,-3))
	INRV LLLLL 1 Bright A_SpawnItemEx("Kaboom",0,0,10,Random(5,-5),Random(5,-5),Random(6,-3))
	TNT1 A 0 bright A_NoBlocking
	TNT1 AA 0 A_SpawnItemEx("Kaboom",0,0,10,Random(5,-5),Random(5,-5),Random(6,-3))
	INRV LLL 1 Bright A_SpawnItemEx("Kaboom",0,0,10,Random(5,-5),Random(5,-5),Random(6,-3))
	TNT1 AA 0 A_SpawnItemEx("Kaboom",0,0,10,Random(5,-5),Random(5,-5),Random(6,-3))
	INRV LLLL 1 Bright  A_SpawnItemEx("Kaboom",0,0,10,Random(5,-5),Random(5,-5),Random(6,-3))
	TNT1 AAA 1 Bright
	Wait
	}
}

actor GuardianTracer2 : GuardianTracer
{
Speed 18
-SEEKERMISSILE
}

Actor Insanebonerlaser : SpecOpsLaser
{
DamageType "CadaverRocket"
Damage 15
}