Actor CorruptedFiend
{
//Creator: ConsulCast
//Origin: Nexus Infinity
//Sprite: CPIK
//Title: "Corrupted Fiend"
Monster
Health 1850
DamageFactor 0.8
Speed 25
BloodColor "33 66 99"
DamageFactor 0.6
DamageFactor "Player",0.5
DamageFactor "LegendaryPlayer",0.5
DamageFactor "Legendary", 0.6
DamageFactor "DBFG2",0.0
DropItem "UltraSphere", 256, 1
Dropitem "D-BFG", 60, 1
Dropitem "GreaterCorruptedEnergy", 256, 32
Dropitem "GreaterCorruptedEnergy", 128, 30
Dropitem "CorruptedEnergy", 256, 10
Dropitem "CorruptedEnergy", 256, 10
Dropitem "CorruptedEnergy", 256, 10
Species "Fiends"
Mass 100
Height 48
Radius 30
Scale 1.2
Tag "\c[l5]Corrupted Fiend\c-"
SeeSound "LegFiend/Sight"
PainSound "LegFiend/Pain"
DeathSound "LegFiend/Death"
ActiveSound "LegFiend/Active"
AttackSound "LegFiend/Melee"
+NOTARGET
+DONTMORPH
+NOICEDEATH
+CANTSEEK
+DONTRIP
+NOPAIN
+DONTGIB
+BOSS
+DONTHARMSPECIES
+NOTARGET
var int user_missile;
var int user_music;
States
{
  Spawn:
	CPIK A 10 A_Look
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CPIK A 10 A_Look
	Loop
  See:
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,2061)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_Jump(110, "Rush")
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CPIK AA 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_PlaySound("blooddemon/walk")
	CPIK BB 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CPIK CC 3 A_Chase
	TNT1 A 0 A_PlaySound("blooddemon/walk")
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CPIK DD 3 A_Chase
	TNT1 A 0 A_Jump(55, "Teleport")
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	Loop
  Teleport:
	TNT1 A 0 A_UnSetShootable
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("BlueSentLineSpawner")
	CPIK HHHHHHHHHHH 1 A_Fadeout(0.1,0)
	TNT1 A 0 A_Stop
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 A 0 A_PlaySound("boss/teleport", 6)
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("BlueSentLineSpawner")
	CPIK HHHHHHHHHHH 1 A_FadeIn(0.1)
	CPIK E 3 A_FaceTarget
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_JumpIfTargetInLOS(1)
	Goto See
	TNT1 A 0
  Missile:
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_Jump(128,"DBFG10K","DTBFG")
  Normal:
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CPIK E 3 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("sentient/fire")
	CPIK F 3 Bright A_CustomMissile("CFiendExplosiveTracer",38,0,random(-5,5))
	TNT1 A 0 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("sentient/fire")
	CPIK F 3 Bright A_CustomMissile("CFiendExplosiveTracer",38,0,random(-5,5))
	TNT1 A 0 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("sentient/fire")
	CPIK F 3 Bright A_CustomMissile("CFiendExplosiveTracer",38,0,random(-5,5))
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("sentient/fire")
	CPIK F 3 Bright A_CustomMissile("CFiendExplosiveTracer",38,0,random(-5,5))
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("sentient/fire")
	CPIK F 3 Bright A_CustomMissile("CFiendExplosiveTracer",38,0,random(-5,5))
	TNT1 A 0 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("sentient/fire")
	CPIK F 3 Bright A_CustomMissile("CFiendExplosiveTracer",38,0,random(-5,5))
	TNT1 A 0 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("sentient/fire")
	CPIK F 3 Bright A_CustomMissile("CFiendExplosiveTracer",38,0,random(-5,5))
	TNT1 A 0 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_PlaySound("sentient/fire")
	CPIK F 3 Bright A_CustomMissile("CFiendExplosiveTracer",38,0,random(-5,5))
	TNT1 A 0 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("sentient/fire")
	CPIK F 3 Bright A_CustomMissile("CFiendExplosiveTracer",38,0,random(-5,5))
	Goto See
  DBFG10K:
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_SetUserVar("user_missile",0)
	CPIK E 5 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CPIK E 3 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CPIK E 3 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CPIK E 3 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CPIK E 3 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_PlaySound("Weapons/dbfgcharge2", 1)
	CPIK E 3 Bright A_FaceTarget
  DBFG10KLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 15, "DBFG10KEnd")
    TNT1 A 0 A_SetUserVar("user_missile", user_missile+random(1,2))
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_PlaySound("Weapons/dbfgfire2")
	CPIK F 4 Bright A_CustomMissile("CFiend10kShot", 38,0,random(-4,4))
	CPIK E 1 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/dbfgfire2")
	CPIK F 4 Bright A_CustomMissile("CFiend10kShot", 38,0,random(-4,4))
	CPIK E 1 Bright A_FaceTarget
	Loop
  DBFG10KEnd:
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CPIK C 2 A_PlaySound("Weapons/dbfgcooldown2",CHAN_AUTO)
	TNT1 A 0 A_Jump(128, "Normal","Rush","DTBFG","Lunge")
	Goto See
  DTBFG:
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CPIK E 4 A_PlaySound("Weapons/dbfgcharge2",1)
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CPIK E 6 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CPIK E 6 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CPIK E 6 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CPIK E 6 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CPIK E 6 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CPIK E 6 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/dbfgfire2")
	CPIK F 4 Bright A_CustomMissile("CFiend10kBall",38,0,0)
	CPIK E 4 Bright
	TNT1 A 0 A_Jump(128,"Normal","Rush","DBFG10K")
  Rush:
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_PlaySound("blooddemon/walk")
	CPIK A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("CFiendGhost")
	CPIK A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("CFiendGhost")
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_PlaySound("blooddemon/walk")
	CPIK B 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("CFiendGhost")
	CPIK B 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("CFiendGhost")
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_PlaySound("blooddemon/walk")
	CPIK C 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("CFiendGhost")
	CPIK C 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("CFiendGhost")
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_PlaySound("blooddemon/walk")
	CPIK D 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("CFiendGhost")
	CPIK D 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("CFiendGhost")
	Loop
  Melee:
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	Goto Lunge
  Lunge:
	TNT1 A 0 A_Jump(64,"Normal")
	TNT1 A 0 A_PlaySound("LegFiend/Melee")
	CPIK AH 4 Bright A_FaceTarget
	TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,1)
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 ThrustThingZ(0,20,0,1)
	CPIK H 2 Bright A_Recoil(-36)
	CPIK H 3 Bright A_CustomMissile("CFiendLunge",18,0,0,CMF_AIMDIRECTION)
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CPIK H 6 Bright
	CPIK H 2 Bright A_ScaleVelocity(0.2)
	TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,0)
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CPIK H 1 Bright A_ScaleVelocity(0)
	Goto See
  Death:
	TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,0)
	CPIK I 10 A_StopSound(6)
	CPIK J 0 A_PlaySound("Gore/Splat")
	CPIK J 0 
	CPIK J 10 A_Scream
	CPIK K 10 
	CPIK L 10 A_NoBlocking
	CPIK M 10 
	CPIK N -1
	Stop
	}
}

ACTOR CFiendLunge : LFLunge
{
  Speed 32
  Damage (12*Random(4,8))
}

ACTOR CFiend10kShot : T3DBFG10kShot
{
	Species "Fiends"
	DamageType "DBFG2"
	Damage 25
}

ACTOR CFiend10kBall : T3DBFG10KBall
{
	Species "Fiends"
	DamageType "DBFG2"
	Damage 50
}

ACTOR CFiendGhost
{
	Scale 1.4
  Renderstyle Translucent
  Alpha 0.75
  +NOINTERACTION
  +CLIENTSIDEONLY
  States
  {
  Spawn:
    CPIK A 2 A_FadeOut(0.18)
    Loop
    }
}

Actor CFiendExplosiveTracer : BlueSentientExplosiveTracer
{
	Species "Fiends"
	DamageType "DBFG2"
	States
		{
		Spawn:
			TRC5 A 1 Bright
			Loop
		Death:
			TNT1 A 0
			TNT1 A 0 A_SetTranslucent(0.75,1)
			TNT1 A 0 A_SpawnItem("BlueSentientExplosiveEffect")
			BCRC C 4 Bright A_Explode(Random(2,4)*3,72)
			BCRC DE 3 Bright
			Stop
			}
}