ACTOR HellishAvatar
{
//Creator: Dr. Blood
//Origin: Nexus Aprilfools
//Sprite: VVAT
//Title: "Hellish Avatar"
Scale 1.25
Health 6500
PainChance 5
Radius 40
Height 110
Mass 5000
Speed 15
Monster
Species "Cybers"
DamageFactor "NobleComet", 0.0
DamageFactor "HellComet", 0.0
DamageFactor "Hell", 0.0
DamageFactor "Cyber10K", 0.0
DamageFactor "Legendary", 0.01
DamageFactor "LegendaryGuru", 0.01
DamageFactor "LegendaryGuruPlayer", 0.01
DamageFactor "BFGSplash", 0.1
DamageFactor "BFGSpray", 0.1
DamageFactor "PDTBFG", 0.0
DamageFactor "PDTBFGTracer", 0.0
DamageFactor "PlayerDevBall", 0.0
DamageFactor "PlayerDevBall2", 0.0
DamageFactor "PlayerDTBFGRailgunSlug", 0.0
DamageFactor "PlayerDevTracer", 0.0
DamageFactor "Ice", 0.5
DamageFactor "Explosion", 0.1
DamageFactor 0.55
DropItem "ShuffleSpawner", 256, 1
DropItem "ShuffleSpawner", 256, 1
MaxStepHeight 32
MaxDropOffHeight 32
RadiusDamageFactor 0.66
SeeSound "Avatar/See" 
PainSound "Avatar/Pain" 
DeathSound "Avatar/Death" 
ActiveSound "Avatar/Active"
Obituary "%o was smoten by the Hellish Avatar."
Tag "\cgHellish Avatar\c-"
+FLOORCLIP
+BOSS
+BOSSDEATH
+NOFEAR
+NORADIUSDMG
+LOOKALLAROUND
+DONTHARMSPECIES
+QUICKTORETALIATE
+MISSILEMORE
+MISSILEEVENMORE
var int user_rage;
var int user_missile;
States 
{ 
  Spawn: 
	VVAT A 10 A_Look 
	Loop
  See:
    TNT1 A 0 A_UnSetInvulnerable
  SeeLoop: 
    VVAT A 0 A_PlaySound("hellboss/step")
	VVAT AABB 3 A_Chase
	VVAT C 0 A_PlaySound("hellboss/step")
	VVAT CCDD 3 A_Chase 
	TNT1 A 0 A_Jump(32,"Avoid")
	Loop 
 Avoid:
	VVAT A 1 A_FaceTarget
	VVAT A 0 A_SetAngle(angle+random(0,359))
	VVAT A 0 A_Recoil(-32)
	VVAT A 0 A_FaceTarget
	VVAT AAAAAAAAAAAAA 1 A_SpawnItemEx("HellishAvatarGhost2",0,0,0,0,0,0,0,128)	 
	VVAT A 0 A_SetAngle(angle+random(0,359))
	VVAT A 0 A_Recoil(-32)
	VVAT A 0 A_FaceTarget
	VVAT AAAAAAAAAAAAA 1 A_SpawnItemEx("HellishAvatarGhost2",0,0,0,0,0,0,0,128)	   
	Goto See 
 Missile:
    TNT1 A 0
    TNT1 A 0 A_PlaySound("Avatar/Attack")
	TNT1 A 0 A_Jump(48,"ThunderBall","FireFloor")
    TNT1 A 0 A_Jump(256,"ThunderStrike","PlasmaBurst","WindSlicer","FireTracer")
 ThunderStrike:
    VVAT EEEEEEEEEEEEEEEEEE 2 Bright A_GiveInventory("AvatarLightningCharge")
	VVAT F 14 Bright A_CustomMissile("AvatarThunderStrike",0,0,0)
	TNT1 A 0 A_Jump(24,"ThunderBall")
	TNT1 A 0 A_Jump(156,"Avoid","Avoid","FireTracer","PlasmaBurst","WindSlicer")
	Goto See 
 ThunderBall:
    VVAT EEEEEEEEEEEEEEEEEE 2 Bright A_GiveInventory("AvatarLightningCharge")
	VVAT F 14 Bright A_CustomMissile("AzaThunderBall",64,0,0)   
	TNT1 A 0 A_Jump(127,"Avoid")
	Goto See 
 PlasmaBurst:
    VVAT IIIIIIIIIIIIIIIIII 2 Bright A_GiveInventory("AvatarPlasmaCharge")
	VVAT J 14 Bright A_CustomMissile("AvatarPlasmaBall",64,0,0)  
	TNT1 A 0 A_Jump(156,"Avoid","Avoid","FireTracer","ThunderStrike","WindSlicer")
	Goto See	
 WindSlicer:
	VVAT GGGGGGGGGGGGGGGGGG 2 Bright A_GiveInventory("AvatarWindCharge")
	VVAT HHH 0 A_CustomMissile("AvatarWindSlicer",64,0,random(-5,5))   
	VVAT H 5 Bright A_FaceTarget
	VVAT HHH 0 A_CustomMissile("AvatarWindSlicer",64,0,random(-5,5))   
	VVAT H 5 Bright A_FaceTarget
	VVAT HHH 0 A_CustomMissile("AvatarWindSlicer",64,0,random(-5,5))   
	VVAT H 5 Bright A_FaceTarget
	VVAT HHH 0 A_CustomMissile("AvatarWindSlicer",64,0,random(-5,5))   
	VVAT H 5 Bright A_FaceTarget
	VVAT HHH 0 A_CustomMissile("AvatarWindSlicer",64,0,random(-5,5))   
	VVAT H 5 Bright A_FaceTarget
	VVAT HHH 0 A_CustomMissile("AvatarWindSlicer",64,0,random(-5,5))   
	VVAT H 5 Bright A_FaceTarget
	VVAT HHH 0 A_CustomMissile("AvatarWindSlicer",64,0,random(-5,5))   
	VVAT H 5 Bright A_FaceTarget
	VVAT HHH 0 A_CustomMissile("AvatarWindSlicer",64,0,random(-5,5))   
	VVAT H 5 Bright A_FaceTarget
	VVAT HHH 0 A_CustomMissile("AvatarWindSlicer",64,0,random(-5,5))   
	VVAT H 5 Bright A_FaceTarget
	VVAT HHH 0 A_CustomMissile("AvatarWindSlicer",64,0,random(-5,5))   
	VVAT H 5 Bright A_FaceTarget
	VVAT HHH 0 A_CustomMissile("AvatarWindSlicer",64,0,random(-5,5))   
	VVAT H 5 Bright A_FaceTarget
	TNT1 A 0 A_Jump(156,"Avoid","Avoid","FireTracer","ThunderStrike","PlasmaBurst")
	Goto See 
  FireTracer:
    TNT1 A 0 A_SetUserVar(user_missile,0)
    VVAT KKKKKKKKKKKKKKKKKK 2 Bright A_GiveInventory("AvatarFireCharge")
  FireTracerLoop:
	TNT1 A 0 A_CustomMissile("AvatarFireTracer",64,5,0,0,0)
	TNT1 A 0 A_CustomMissile("AvatarFireTracer2",64,-5,0,0,0)	
	VVAT L 2 Bright A_FaceTarget
	TNT1 A 0 A_JumpIf(user_missile >= 23,2)
	TNT1 A 0 A_SetUserVar(user_missile,user_missile+1)
	Loop
	TNT1 A 0 A_Jump(48,"FireFloor")
	TNT1 A 0 A_Jump(156,"Avoid","Avoid","WindSlicer","ThunderStrike","PlasmaBurst")
	Goto See
 FireFloor:
    VVAT KKKKKKKKKKKKKKKKKK 2 Bright A_GiveInventory("AvatarFireCharge")
	VVAT L 0 A_CustomMissile("AvatarFireSpawner",0,0,8)   
	VVAT L 0 A_CustomMissile("AvatarFireSpawner",0,0,-8)   
	VVAT L 14 Bright A_CustomMissile("AvatarFireSpawner",0,0,0)   
	TNT1 A 0 A_Jump(127,"Avoid")
	Goto See
 Pain: 
    TNT1 A 0 A_Jump(128,"PainRageThunder","PainRageFire") 
	TNT1 A 0 A_Jump(127,"PainMissile")
	VVAT M 3 
	VVAT M 3 A_Pain 
	Goto See 
 PainMissile:
	VVAT M 3 
	VVAT M 3 A_Pain 
	Goto Missile
 PainRageThunder:
	VVAT M 3 Bright A_Pain
    TNT1 A 0 A_JumpIf(user_rage >= 6,"PainMissile")
	TNT1 A 0 A_SetUserVar("user_rage",user_rage+1)
	TNT1 A 0 A_SetInvulnerable
	TNT1 A 0 Radius_Quake(10,80,0,24,0)	
	TNT1 A 0 A_GiveInventory("Health",400)
    TNT1 A 0 A_PlaySound("Avatar/See")
	VVAT MMMMMMMMMMMMMMMMMMMM 3 Bright A_GiveInventory("AvatarLightningCharge")
	VVAT M 0 A_CustomMissile("AvatarThunderStrike",0,0,0,0)
	VVAT M 0 A_CustomMissile("AvatarThunderStrike",0,0,45,0)
	VVAT M 0 A_CustomMissile("AvatarThunderStrike",0,0,90,0)
	VVAT M 0 A_CustomMissile("AvatarThunderStrike",0,0,135,0)
	VVAT M 0 A_CustomMissile("AvatarThunderStrike",0,0,180,0)
	VVAT M 0 A_CustomMissile("AvatarThunderStrike",0,0,225,0)
	VVAT M 0 A_CustomMissile("AvatarThunderStrike",0,0,270,0)
	VVAT M 0 A_CustomMissile("AvatarThunderStrike",0,0,315,0)
	VVAT MMMMMMMMMMMMMMMMMMMM 3 Bright A_GiveInventory("AvatarLightningCharge")
	TNT1 A 0 A_UnSetInvulnerable
    VVAT MM 3 Bright
    Goto See
 PainRageFire:
	VVAT M 3 Bright A_Pain
    TNT1 A 0 A_JumpIf(user_rage >= 6,"PainMissile")
	TNT1 A 0 A_SetUserVar("user_rage",user_rage+1)
	TNT1 A 0 A_SetInvulnerable
	TNT1 A 0 Radius_Quake(10,80,0,24,0)	
	TNT1 A 0 A_GiveInventory("Health",400)
    TNT1 A 0 A_PlaySound("Avatar/See")
	VVAT MMMMMMMMMMMMMMMMMMMM 3 Bright A_GiveInventory("AvatarFireCharge")
	VVAT M 0 A_CustomMissile("AvatarFireSpawner",0,0,0,0)
	VVAT M 0 A_CustomMissile("AvatarFireSpawner",0,0,30,0)
	VVAT M 0 A_CustomMissile("AvatarFireSpawner",0,0,60,0)
	VVAT M 0 A_CustomMissile("AvatarFireSpawner",0,0,90,0)
	VVAT M 0 A_CustomMissile("AvatarFireSpawner",0,0,120,0)
	VVAT M 0 A_CustomMissile("AvatarFireSpawner",0,0,150,0)
	VVAT M 0 A_CustomMissile("AvatarFireSpawner",0,0,180,0)
	VVAT M 0 A_CustomMissile("AvatarFireSpawner",0,0,210,0)
	VVAT M 0 A_CustomMissile("AvatarFireSpawner",0,0,240,0)
	VVAT M 0 A_CustomMissile("AvatarFireSpawner",0,0,270,0)
	VVAT M 0 A_CustomMissile("AvatarFireSpawner",0,0,300,0)
	VVAT M 0 A_CustomMissile("AvatarFireSpawner",0,0,330,0)
	VVAT MMMMMMMMMMMMMMMMMMMM 3 Bright A_GiveInventory("AvatarFireCharge")
	TNT1 A 0 A_UnSetInvulnerable
    VVAT MM 3 Bright
    Goto See
  Death: 
	TNT1 A 0 A_SpawnItemEx("HellstormBFG",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("Demon Tech Devastator",0,0,64,random(1,8),0,2,random(0,360),0,0)
	TNT1 A 0 A_SpawnItemEx("BFS",0,0,64,random(0,8),0,2,random(1,360),0,64)
	TNT1 A 0 A_SpawnItemEx("HellfireUltrasphere",0,0,64,random(1,8),0,2,random(0,360),0,64)
	TNT1 A 0 A_SpawnItemEx("PlasmaSSG",0,0,64,random(1,8),0,2,random(0,360),0,128)
	TNT1 A 0 A_SpawnItemEx("LegendaryRune",0,0,64,random(1,8),0,2,random(0,360),0,128)
	TNT1 A 0 A_Stop
	TNT1 A 0 A_ScreamAndUnblock
	TNT1 AAAAA 0 A_SpawnItemEx("RedParticleSpawner", 0, 0, 88, 0, 0, 0, 0, 128) 
	TNT1 AAA 0 A_CustomMissile("BigRedBloodCloud", random(10,80), 0, random(0,360), 2, random(0,360))
	VVAT NNNOOO 4 Bright A_CustomMissile("Kaboom", random(20,80), random(20,-20), random(0,360), 2, random(0,360))
	TNT1 AAAAA 0 A_SpawnItemEx("RedParticleSpawner", 0, 0, 88, 0, 0, 0, 0, 128) 
	TNT1 AAA 0 A_CustomMissile("BigRedBloodCloud", random(10,80), 0, random(0,360), 2, random(0,360))
	VVAT PPPQQQ 4 Bright A_CustomMissile("Kaboom", random(20,80), random(20,-20), random(0,360), 2, random(0,360))
	TNT1 AAAAA 0 A_SpawnItemEx("RedParticleSpawner", 0, 0, 88, 0, 0, 0, 0, 128) 
	TNT1 AAA 0 A_CustomMissile("BigRedBloodCloud", random(10,80), 0, random(0,360), 2, random(0,360))
	VVAT RRRSSS 4 Bright A_CustomMissile("Kaboom", random(20,80), random(20,-20), random(0,360), 2, random(0,360))
	TNT1 AAAAA 0 A_SpawnItemEx("RedParticleSpawner", 0, 0, 88, 0, 0, 0, 0, 128) 
	TNT1 AAA 0 A_CustomMissile("BigRedBloodCloud", random(10,80), 0, random(0,360), 2, random(0,360))
	VVAT TTTUUU 4 Bright A_CustomMissile("Kaboom", random(20,80), random(20,-20), random(0,360), 2, random(0,360))
	TNT1 A 0 A_BossDeath
	VVAT V -1
	Stop
   } 
}

Actor AvatarPlasmaBall2 : AvatarPlasmaBall Replaces AvatarPlasmaBall { Damagetype "Hell" }

Actor AvatarMediumPlasmaBall2 : AvatarMediumPlasmaBall Replaces AvatarMediumPlasmaBall { Damagetype "Hell" }

Actor AvatarSmallPlasmaBall3 : AvatarSmallPlasmaBall Replaces AvatarSmallPlasmaBall { Damagetype "Hell" }

Actor AvatarWindSlicer2 : AvatarWindSlicer Replaces AvatarWindSlicer { Damagetype "Hell" }

ACTOR HellishAvatarGhost2 : HellishAvatarGhost
{
States
{
  Spawn:
    TNT1 A 0
    VVAT A 2 A_FadeOut(0.18)
    Wait
    }
}

Actor AzazelThunder2 : AzazelThunder Replaces AzazelThunder
{
States
{
  Spawn:
	TNT1 A 0 
	TNT1 A 0 A_PlaySoundEx("thunder/hit","Voice",0,2)    
	TNT1 A 0 A_Explode(128,684)
	TNT1 A 0 Radius_Quake(175,8,512,1024,0)
	TNT1 AAA 0 A_CustomMissile("SmokeFX3",0,0,random(0,360),2,random(0,360))
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("ThunderSpark",0,0,0,random(1,10),0,random(1,10),random(0,359),129)
	THND AAAA 2 Bright A_FadeIn(0.2)
	THND AAAA 8 Bright A_FadeOut(0.2)
	Stop
    }     
}

Actor NewAvatarFireTracer : AvatarFireTracer Replaces AvatarFireTracer { Damagetype "Hell" }

Actor NewAvatarFireTracer2 : AvatarFireTracer2 Replaces AvatarFireTracer2 { Damagetype "Hell" }