ACTOR bloodeye : GenericBoss
{
  Health 0x7FFFFFFF
  Mass 0x7FFFFFFF
  Scale 0.35
  Speed 25
  Painchance 40
  Renderstyle Add
  +NOTIMEFREEZE
  +NOTELEFRAG
  +NODAMAGE
  +NOCLIP
  +BRIGHT
  +FORCERADIUSDMG
  +QUICKTORETALIATE
  -NOGRAVITY
  -COUNTKILL
  +NOTARGET
  +NOINFIGHTING
  -SHOOTABLE
  SeeSound " "
  PainSound "Bloodeye/Pain"
  Tag "\c[o5]]jqVrmq\c-"
  var int user_seeloop;
  var int user_missile;
  States
  {
  Spawn:
	TNT1 A 0 A_Wander
    TNT1 A 1 A_Look
	Loop
  See:
	TNT1 A 0 A_UnsetShootable
	TNT1 A 0 A_JumpIf(user_seeloop >= 350,"ChaseLoop")	 
	TNT1 A 0 A_SetUserVar("user_seeloop",user_seeloop+1)
	TNT1 A 1 A_Chase("","")
	Loop
  ChaseLoop:
	TNT1 A 0 A_ChangeFlag("FRIGHTENED",0)
	TNT1 A 0 A_LookEx(LOF_NOSOUNDCHECK|LOF_NOSEESOUND,0,1500,0,360,"Appear")
	TNT1 A 1 A_Chase("","")
	Loop
  Appear:
	TNT1 A 0 A_SetUserVar("user_seeloop",0)
	TNT1 A 0 A_Jump(128,"OrMaybeIWont")
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_Jump(32,"Attack")
	TNT1 A 0 A_JumpIfCloser(150,"Melee")
	TNT1 A 0 A_JumpIfCloser(450,"Attack")
	TNT1 A 0 A_PlaySound("bloodeye/appear")
	BLE1 ABCDEFGHIJKLMNOPQRSTABCDEFGHIJKLMNOPQRSTABCDEFGHIJKLMNOPQRST 1 A_Explode(20,170,XF_NOTMISSILE)
	Goto See
  OrMaybeIWont:
	TNT1 A 35 A_PlaySound("bloodeye/appear")
	Goto See
  Attack:
	TNT1 A 0 A_PlaySound("bloodeye/attack")
	BLE2 ABCDEFGHIJKLMNO 1
	TNT1 A 0 A_SetUserVar("user_missile",0)
  AttackLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 10,"See")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_CustomMissile("GhoulShot",32,0,random(-5,5))
	TNT1 A 0 A_CustomMissile("BloodeyeProjectile",32,0,random(-40,40))
	BLE2 ABC 1
	TNT1 A 0 A_CustomMissile("SpineProjectile",32,0,random(-40,40))
	TNT1 A 0 A_CustomMissile("BloodeyeProjectile",32,0,random(-40,40))
	BLE2 DEF 1
	TNT1 A 0 A_CustomMissile("BloodeyeProjectile",32,0,random(-40,40))
	BLE2 GHI 1
	TNT1 A 0 A_CustomMissile("SpineProjectile",32,0,random(-40,40))
	TNT1 A 0 A_CustomMissile("BloodeyeProjectile",32,0,random(-40,40))
	BLE2 JKL 1
	TNT1 A 0 A_CustomMissile("BloodeyeProjectile",32,0,random(-40,40))
	BLE2 MNO 1
	Loop
  Melee:
	TNT1 A 0 A_PlaySound("bloodeye/attack")
	BLE2 ABCDEFGHIJKLMNO 1
	TNT1 A 0 A_RadiusGive("BloodeyeFuckery",180,RGF_PLAYERS|RGF_CORPSES)
	BLE2 ABCDEFGHIJKLMNOABCDEFGHIJKLMNO 1
	Goto See
  Pain:
	TNT1 A 0 A_Unsetshootable
	TNT1 A 35 A_Pain
	TNT1 A 0 A_SetUserVar("user_seeloop",0)
	TNT1 A 0 A_ChangeFlag("FRIGHTENED",1)
	Goto See
	}
}

ACTOR BloodeyeProjectile
{
  Radius 5
  Speed 15
  Height 6
  Damage 12
  Projectile
  Bouncetype Doom
  BounceFactor 1.2
  WallBounceFactor 1.2
  BounceCount 5
  +BRIGHT
  SeeSound "Bloodeye/Shoot"
  BounceSound "Bloodeye/Bounce"
  DeathSound "gibs"
  States 
  {
  Spawn:
    BLEY ABCDEFGHIJKLMNOPQRSTUVWX 3
    Loop
  Death:
	TNT1 AAAAA 0 A_SpawnItemEx("Blood",0,0,0,frandom(-3,3),frandom(-3,3),frandom(-3,3))
	TNT1 A 1
    Stop
  }
}

Actor BloodeyeFuckery : CustomInventory
{  
-COUNTITEM
+INVENTORY.QUIET
+INVENTORY.UNDROPPABLE
+INVENTORY.ALWAYSPICKUP
+INVENTORY.AUTOACTIVATE
inventory.amount 1
inventory.maxamount 0
States
	{
	Pickup:
		TNT1 A 25 A_SetBlend("Black",1.0,80)
		TNT1 A 10
		TNT1 A 0 A_PlaySound("BFlan/Slash",7,1.0,0,0.5)
		TNT1 A 0 Thing_Damage(0,random(200,400),0)
		TNT1 A 1
		Stop
	}
}