ACTOR NexusBloodeye : GenericBoss 14298 //Bloody hell
{ //Scripted (Can break the spooky spawn limit as well as the dice removing the enemy)
//Creator: Fluffy
//Origin: Complex Doom CF 3.0 Halloween
//Sprite: BLE1/BLE2
//Title: "Bloodeye"
  Health 20000
  Mass 0x7FFFFFFF
  Scale 0.35
  Speed 25
  Painchance 40
  Renderstyle Add
  +NOTIMEFREEZE
  +NOTELEFRAG
  //+NODAMAGE
  +NOCLIP
  +BRIGHT
  +FORCERADIUSDMG
  +QUICKTORETALIATE
  -NOGRAVITY
  +COUNTKILL
  +NOTARGET
  +NOINFIGHTING
  +GHOST
  //+SHOOTABLE
  //No Infighting
  DamageFactor "Legendary1", 0.0
  DamageFactor "UltimateLegendary", 0.0
  DamageFactor "LegendaryZombie", 0.0
  DamageFactor "LACGrenade", 0.0
  DamageFactor "SoapOpera", 0.0
  DamageFactor "ZombieDev", 0.0
  DamageFactor "GeneralTracer", 0.0
  DamageFactor "SatanGuard", 0.0
  DamageFactor "CurseComet", 0.0
  DamageFactor "DementedTerminator", 0.0
  DamageFactor "Terminator", 0.0
  DamageFactor "Commander", 0.0
  DamageFactor "CerChainguns", 0.0	
  DamageFactor "CerEnergyBall", 0.0
  DamageFactor "Hell", 0.0
  DamageFactor "HFCyber", 0.0
  DamageFactor "DBFG2", 0.0
  DamageFactor "DBFG10K2", 0.0
  DamageFactor "DBFGSplash2", 0.0
  DamageFactor "NobleComet", 0.0
  DamageFactor "Cyber10k", 0.0
  DamageFactor "SS", 0.0
  SeeSound "Pathogen/Spawn"
  Deathsound "Bloodeye/Pain"
  PainSound "Bloodeye/Pain"
  Obituary "%o was taken by Bloodeye"
  HitObituary "%o was sliced by Bloodeye"
  Tag "\c[o5]Bloodeye\c-"
  DropItem "BrimstoneItem" 256 1
  var int user_seeloop;
  var int user_missile;
  var int user_music;
  var int user_script;
  States
  {
  Spawn:
    TNT1 A 0 A_JumpIf(user_script == 1,3)
    TNT1 A 0 ACS_NamedExecuteAlways("BloodeyeScript")
	TNT1 A 0 A_SetUserVar("user_script",1)
	TNT1 A 0 A_Wander
    TNT1 A 1 A_Look
	Loop
  See:
    TNT1 A 0 A_JumpIf(user_music == 1,4)
	TNT1 A 0 ACS_NamedExecuteAlways("InfinityMusic",0,2038,2005)
	TNT1 A 0 ACS_NamedExecuteAlways("BloodeyeDarken",0)
	TNT1 A 0 A_SetUserVar("user_music",1)
	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("","")
	TNT1 A 0 A_Jump(1,1)
	Loop
	BLE2 A 0 A_JumpIfTargetInLOS("Pathogen")
	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
  Pathogen:
	TNT1 A 0 A_RadiusGive("ConsumeCorpse",30,RGF_MONSTERS,1)
	TNT1 A 0 A_SpawnItemEx("GoreBuild",0,0,0,0,0,0,0)
	TNT1 A 5
	TNT1 A 0 A_Explode(2,41,0,0,41)
	TNT1 A 0 A_SpawnItemEx("GoreBuild2",0,0,0,0,0,0,0)
	TNT1 A 10
	TNT1 A 0 A_SpawnItemEx("GibbedGenerator",0,0,12,0,0,0,0,128,0)
	TNT1 A 0 A_PlaySound("Gore/Splat")
	TNT1 A 0 A_SpawnItemEx("GoreOverseer",0,0,40,0,0,0,0,0,180)
	TNT1 A 0 A_Jump(128,"Ghoul")
	TNT1 A 0 A_Jump(71,"Spore","Barricade")
	TNT1 A 0 A_Jump(61,"Gorhul","FleshImp")
	TNT1 A 0 A_CustomMissile("RejectedSummoner",0,0,0,CMF_TRACKOWNER)
	Goto See
  Ghoul:
	TNT1 A 0 A_CustomMissile("Ghoul2Summoner",0,0,0,CMF_TRACKOWNER)
	Goto See
  Gorhul:
	TNT1 A 0 A_CustomMissile("GhorulSummoner",0,0,0,CMF_TRACKOWNER)
	Goto See
  FleshImp:
	TNT1 A 0 A_CustomMissile("FleshimpSummoner",0,0,0,CMF_TRACKOWNER)
	Goto See
  Spore:
	TNT1 A 0 A_CustomMissile("SporeSummoner",0,0,0,CMF_TRACKOWNER)
	Goto See
  Barricade:
	TNT1 A 0 A_CustomMissile("BarricadeSummoner",0,0,0,CMF_TRACKOWNER)
	Goto See
  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("BloodeyeFuckery2",180,RGF_PLAYERS|RGF_CORPSES)
	TNT1 A 0 A_VileAttack("NULL",random(200,400),0,180,1,"None")
	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
  Death:
	TNT1 A 0
	UROB M 0 A_Playsound("bloodeye/death",6,2.0,0,ATTN_NONE)
	BLE1 ABCDEFGHIJKLMNOPQRSTABCDEFGHIJKLMNOPQRSTABCDEFGHIJKLMNOPQRSTABCDEFGHIJKLMNOPQRSTABCDEFGHIJKLMNOPQRSTABCDEFGHIJKLMNOPQRST 1 A_SpawnItemEx("Red2huBossDeathFlame",0,0,20,random(-3,3),random(-3,3),random(-3,3),0,0,180)
	TNT1 A 0 A_Explode(128,1024,0)
	TNT1 A 0 A_Explode(460,640,0)
	TNT1 A 0 A_Explode(618,256,0)
	TNT1 A 0 A_Fall
	TNT1 AAAAAAAAAA 0 A_SpawnItemEx("UltimatePlayingCards",0,0,32,frandom(-5,5),frandom(-5,5),frandom(0,3),random(0,360))
	TNT1 A 0 A_SpawnItemEx("SignetOfNecromancy",0,0,8,random(0,8),random(0,8),2,random(0,360),0,200)
	TNT1 AAAA 0 A_SpawnItemEx("DiceOfReset",0,0,8,random(0,8),random(0,8),2,random(0,360),0,100)
	TNT1 A 0 A_SpawnItemEx("BloodEyeExplosion",0,0,18)
	TNT1 AAA 0 A_SpawnItemEx("OrangeParticleSpawner",0,0,0,0,0,0,0,128)
	TNT1 AAA 0 A_CustomMissile("SmokeFX3",0,0,random(0,360),2,random(0,360))
	TNT1 AAAAAA 0 A_CustomMissile("Kaboom",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 AA 0 A_SpawnItemEx("SmokeFX3",Random(-48,48),Random(-48,48),Random(8,96))
	TNT1 AAAAAA 2 A_SpawnItemEx("Kaboom",Random(-48,48),Random(-48,48),Random(8,64))
	TNT1 A 1 A_NoBlocking
    Stop
	}
}

Actor BloodEyeExplosion
{
Projectile
Speed 0
Damage 500
+NOTELEPORT
+FORCERADIUSDMG
+EXTREMEDEATH
+SPAWNSOUNDSOURCE
DamageType "Cyber10K"
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_SetTranslucent(0.75,1)
	TNT1 A 0 A_Explode(128,1024,0)
	TNT1 A 0 A_Explode(460,640,0)
	TNT1 A 0 A_Explode(618,256)
	TNT1 AAA 0 A_StopSoundEx("Voice")
	TNT1 A 0 Radius_Quake(20,12,0,12,0)
	TNT1 A 0 A_PlaySound("weapons/dtech10kexplode",6)
	TNT1 A 0 A_SpawnItemEx("DevastatorShockWave2",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0,0)
	TNT1 A 0 A_SpawnItem("RedDTBFGEx",0,-10)
	CRE9 D 0 A_CustomMissile("PlayerDevastatorBall2",0,0,18,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    CRE9 D 0 A_CustomMissile("PlayerDevastatorBall2",0,0,36,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    CRE9 D 0 A_CustomMissile("PlayerDevastatorBall2",0,0,54,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    CRE9 D 0 A_CustomMissile("PlayerDevastatorBall2",0,0,72,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    CRE9 D 0 A_CustomMissile("PlayerDevastatorBall2",0,0,90,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    CRE9 D 0 A_CustomMissile("PlayerDevastatorBall2",0,0,108,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    CRE9 D 0 A_CustomMissile("PlayerDevastatorBall2",0,0,126,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    CRE9 D 0 A_CustomMissile("PlayerDevastatorBall2",0,0,144,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    CRE9 D 0 A_CustomMissile("PlayerDevastatorBall2",0,0,144,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    CRE9 D 0 A_CustomMissile("PlayerDevastatorBall2",0,0,162,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    CRE9 D 0 A_CustomMissile("PlayerDevastatorBall2",0,0,180,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    CRE9 D 0 A_CustomMissile("PlayerDevastatorBall2",0,0,196,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    CRE9 D 0 A_CustomMissile("PlayerDevastatorBall2",0,0,216,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    CRE9 D 0 A_CustomMissile("PlayerDevastatorBall2",0,0,234,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    CRE9 D 0 A_CustomMissile("PlayerDevastatorBall2",0,0,252,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    CRE9 D 0 A_CustomMissile("PlayerDevastatorBall2",0,0,270,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    CRE9 D 0 A_CustomMissile("PlayerDevastatorBall2",0,0,288,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    CRE9 D 0 A_CustomMissile("PlayerDevastatorBall2",0,0,306,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    CRE9 D 0 A_CustomMissile("PlayerDevastatorBall2",0,0,324,CMF_AIMDIRECTION|CMF_TRACKOWNER)
    CRE9 D 0 A_CustomMissile("PlayerDevastatorBall2",0,0,342,CMF_AIMDIRECTION|CMF_TRACKOWNER)
	CRE9 AAAAAABBBBBBCCCCCCDDDDDD 1 A_CustomMissile("KaboomDevastator22",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
    CRE9 EF 6 Bright
	TNT1 A 35 Bright
    Stop
  }
}

ACTOR UltimatePlayingCards : RandomSpawner
{
+DROPPED
DropItem "AceofClubs", 256, 10
DropItem "AceofSpades", 256, 10
DropItem "AceofHearts", 256, 8
DropItem "AceofDiamonds", 256, 7
DropItem "JokerCard", 256, 6
DropItem "AncientRecall", 256, 4
DropItem "PlanC", 256, 1
DropItem "PlanN", 256, 1
DropItem "SuicideKing", 256, 1
}

Actor BloodeyeFuckery2 : 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 1
		Stop
	}
}