ACTOR LegendaryNightmare
{
//Creator: Naturalx
//Origin: Naturalx CF Addon
//Sprite: LNIT
//Title: "Legendary Nightmare"
Monster
Health 1000
Radius 20
Height 56
Mass 100
Speed 16
Scale 1.2
RenderStyle Add
Alpha 1.0
BloodColor "Blue"
PainChance 50
MeleeRange 84
MeleeDamage 60
Species "Imps"
DamageFactor "PlayerDTRG", 0.5
DamageFactor "PDTBFG", 0.15
DamageFactor "PDTBFGTracer", 0.15
DamageFactor "PlayerDevBall", 0.115
DamageFactor "PlayerDevBall2", 0.115
DamageFactor "PlayerDevTracer", 0.115
DamageFactor "DBFG2", 0.65
DamageFactor "DBFG10K2", 0.65
DamageFactor "DBFGSplash2", 0.65
DamageFactor "PlayerDBFG2", 0.65
DamageFactor "PlayerDBFG10K2", 0.65
DamageFactor "PlayerDBFGSplash2", 0.65
DamageFactor "LegendaryPlayer", 0.3
DamageFactor "LegendaryGuruPlayer", 0.3
DamageFactor 0.55
//No Infighting
DamageFactor "Legendary", 0.0
DamageFactor "Legendary1", 0.0
DamageFactor "LegendaryGuru", 0.0
DropItem "LegendaryBossLifeEssence" 256
DropItem "LegendaryBossArmorBonusMax" 256
DropItem "LegTimeFreezeSphere", 35
DropItem "LegendaryInvisibilitySphere", 45
DropItem "LegendaryRune", 25, 1
DropItem "LegendaryArmor", 90, 1
DropItem "LegDemonicEnergy", 256
SeeSound "LNightmare/sight"
PainSound "LNightmare/pain"
DeathSound "LNightmare/death"
ActiveSound "LNightmare/active"
Obituary "%o was haunted by a Legendary Nightmare."
Tag "\c[z3]Legendary Nightmare\c-"
+NOBLOOD
+NOFEAR
+BOSS
+BOSSDEATH
+NOICEDEATH
+FLOORCLIP
+MISSILEMORE
+MISSILEEVENMORE
+QUICKTORETALIATE
+DONTGIB
+NOTARGET
+NOTIMEFREEZE
+NORADIUSDMG
+BRIGHT
+SHADOW
+DontHurtSpecies
+DontHarmSpecies
var int user_music;
States
{
  Spawn:
	TNT1 A 0
	LNIT A 1 Bright A_PlaySound("boss/teleport",CHAN_AUTO,1.0,0)
	LNIT AAAAA 2 Bright A_SetTranslucent(alpha-0.2,1)
  StealthSpawnLoop:
	TNT1 A 10 A_LookEx(0,0,0,0,180,"StealthAttack")
	Loop
  StealthAttack:
	TNT1 A 1 Bright A_UnSetShootable
	TNT1 A 2 A_PlaySound("LNightmare/sight",CHAN_AUTO,1.0,0,ATTN_NONE)
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 A 2 A_PlaySound("boss/teleport",CHAN_AUTO,1.0,0)
	TNT1 A 0 A_FaceTarget
	LNIT AAAAA 2 A_SetTranslucent(alpha+0.2,1)
	LNIT A 1 Bright A_SetShootable
	Goto Missile
  See:
	TNT1 A 0 A_SetTranslucent(1.0,1)
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,9015)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_SpawnItem("LLurkerSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Chase
	LNIT A 1 Bright A_SpawnItemEx("LNightmareGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_Chase
	LNIT A 1 Bright A_SpawnItemEx("LNightmareGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_Chase
	LNIT B 1 Bright A_SpawnItemEx("LNightmareGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_Chase
	LNIT B 1 Bright A_SpawnItemEx("LNightmareGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_SpawnItem("LLurkerSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Chase
	LNIT C 1 Bright A_SpawnItemEx("LNightmareGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_Chase
	LNIT C 1 Bright A_SpawnItemEx("LNightmareGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_Chase
	LNIT D 1 Bright A_SpawnItemEx("LNightmareGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_Chase
	LNIT D 1 Bright A_SpawnItemEx("LNightmareGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_Jump(15,"Teleport")
	Loop
  Teleport:
	LNIT A 1 Bright A_UnSetShootable
	TNT1 AAAA 0 A_SpawnItem("LLurkerSmokeSpawner",0,0,0,0)
	LNIT AAAAA 2 A_SetTranslucent(alpha-0.2,1)
	LNIT A 2 
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 Bright A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 Bright A_Wander
	TNT1 A 0 A_FaceTarget
	LNIT A 2 A_PlayWeaponSound("boss/teleport")
	TNT1 AAAA 0 A_SpawnItem("LLurkerSmokeSpawner",0,0,0,0)
	LNIT AAAAA 2 A_SetTranslucent(alpha+0.2,1)
	LNIT A 1 Bright A_SetShootable
	Goto See
  Missile:
	TNT1 A 0
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_UnsetInvulnerable
	TNT1 A 0 A_Jump(96,"StealthMissile","WarpToTarget")
	TNT1 A 0 A_SetTranslucent(0.2)
	TNT1 A 0 A_Jump(48,"Balls")
	TNT1 A 0 A_JumpIfCloser(250,"Lunge")
	GoTo Normal
  WarpToTarget:
	LNIT E 1 Bright A_UnSetShootable
	TNT1 A 0 A_ChangeFlag("THRUACTORS",1)
	TNT1 A 0 A_PlaySound("boss/teleport",CHAN_AUTO,1.0,0)
	TNT1 AAAA 0 A_SpawnItem("LLurkerSmokeSpawner",0,0,0,0)
	LNIT EEEEE 2 A_SetTranslucent(alpha-0.2,1)
	LNIT E 2
	//TNT1 A 0 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_NOCHECKPOSITION)
	TNT1 A 0 A_FaceTarget
	LNIT E 2 A_PlaySound("boss/teleport",CHAN_AUTO,1.0,0)
	TNT1 AAAA 0 A_SpawnItem("LLurkerSmokeSpawner",0,0,0,0)
	LNIT EEEEE 2 A_SetTranslucent(alpha+0.2,1)
	LNIT E 1 Bright A_SetShootable
	TNT1 A 0 A_ChangeFlag("THRUACTORS",0)
	TNT1 A 0 A_Jump(192,2)
	TNT1 A 0 A_Jump(48,"Balls")
	TNT1 A 0 A_JumpIfCloser(250,"Lunge")
	Goto Normal
  StealthMissile:
	LNIT E 1 Bright A_UnSetShootable
	TNT1 A 0 A_PlaySound("boss/teleport",CHAN_AUTO,1.0,0)
	TNT1 AAAA 0 A_SpawnItem("LLurkerSmokeSpawner",0,0,0,0)
	LNIT EEEEE 2 A_SetTranslucent(alpha-0.2,1)
	LNIT E 2
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 A 0 A_FaceTarget
	LNIT E 2 A_PlaySound("boss/teleport",CHAN_AUTO,1.0,0)
	TNT1 AAAA 0 A_SpawnItem("LLurkerSmokeSpawner",0,0,0,0)
	LNIT EEEEE 2 A_SetTranslucent(alpha+0.2,1)
	LNIT E 1 Bright A_SetShootable
	TNT1 A 0 A_Jump(192,2)
	TNT1 A 0 A_Jump(48,"Balls")
	TNT1 A 0 A_JumpIfCloser(250,"Lunge")
  Normal:
	LNIT EF 6 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("imp/attack")
	LNIT GGG 4 Bright A_CustomMissile("LegImpSeekBall",32,0,0)
	LNIT FE 2 Bright A_FaceTarget
	Goto See
  Balls:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("LNightmare/sight",CHAN_AUTO,1.0,0,0.5)
	LNIT E 2 Bright A_FaceTarget
	TNT1 A 0 A_SetInvulnerable
	LNIT EEEEEEEEE 2 Bright A_SpawnItem("LLurkerFlameSpawner",0,0,0,0)
	LNIT E 2 Bright A_FaceTarget
	LNIT FFFFFFFFF 2 Bright A_SpawnItem("LLurkerFlameSpawner",0,0,0,0)
	LNIT F 2 Bright A_FaceTarget
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_playSound("legimp/fiyabetch")
	LNIT G 8 Bright A_CustomMissile("LegendaryImpBlueBall2",32,0,0)
	GoTo See
  Lunge:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("LNightmare/Attack")
	LNIT EEEEEEEFFFFFFF 1 Bright A_FaceTarget
	TNT1 A 0 A_ChangeFlag("SLIDESONWALLS",1)
	TNT1 A 0 ThrustThingZ(0,20,0,1)
	LNIT F 2 Bright A_Recoil(-26)
	LNIT F 3 Bright A_CustomMissile("LFLunge",18,0,0,CMF_AIMDIRECTION)
	LNIT G 6 Bright
	LNIT G 2 Bright A_ScaleVelocity(0.2)
	TNT1 A 0 A_ChangeFlag("SLIDESONWALLS",0)
	LNIT G 1 Bright A_ScaleVelocity(0)
	Goto See
  Melee:
	LNIT EEFF 1 Bright A_FaceTarget
	LNIT G 2 Bright A_MeleeAttack
	LNIT E 2 Bright A_FaceTarget
	Goto See
  Pain:
	TNT1 A 0
	TNT1 A 0 A_ChangeFlag("SLIDESONWALLS",0)
	TNT1 A 0 A_Jump(35,"Teleport")
	TNT1 A 0 A_Jump(88,"PainMissile")
	LNIT H 2 Bright
	LNIT H 2 Bright A_Pain
	Goto See
  PainMissile:
	LNIT H 2 Bright
	LNIT H 2 Bright A_Pain
	Goto Missile
  Death:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("TrueLegMode") == 0,3)
	TNT1 A 0 A_JumpIfInTargetInventory("TrueLegendaryRuneItem",1,"TrueLeg")
	TNT1 A 0 A_JumpIfInTargetInventory("TrueLegendaryRuneItem2",1,"TrueLeg")
    TNT1 A 0 A_Jump(36,"TrueLeg")
  Death2:
	TNT1 A 0 
	TNT1 A 0 A_ChangeFlag("SLIDESONWALLS",0)
	TNT1 A 0 A_SetTranslucent(0.2)
	LNIT IIIIIIII 1 A_SetScale(ScaleX+0.01)
	TNT1 A 0 A_Scream
	LNIT JJJJJJJJKKKKKKKKLLLLLLLLMMMMMMMMNNNNNNNNOOOOOOOO 1 A_SetScale(ScaleX+0.01)
	TNT1 A 1 A_NoBlocking
	Stop
  TrueLeg:
	TNT1 A 0 
	TNT1 A 0 A_ChangeFlag("SLIDESONWALLS",0)
	TNT1 A 0 A_SetTranslucent(0.2)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	LNIT IIIIIIII 1 A_SetScale(ScaleX+0.01)
	TNT1 A 0 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Scream
	LNIT JJJJJJJJKKKKKKKKLLLLLLLLMMMMMMMMNNNNNNNNOOOOOOOO 1 A_SetScale(ScaleX+0.01)
	TNT1 A 140 A_NoBlocking
	TNT1 A 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2 A_SpawnItem("BHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("BlueLightning")
	TNT1 A 10 A_SpawnItemEx("TrueLegendaryNightmare",0,0,16,0,0,0,0,32)
	TNT1 A 1
	Stop
	}
}
/*
ACTOR LegLurkerComet : LegBehComet
{
Species ""
Species "Fiends"
DamageType ""
DamageType "FiendFire"
}

ACTOR LegLurkerBall : LegNobleBall4
{
Species ""
Species "Fiends"
DamageType ""
DamageType "FiendFire"
}
*/
Actor LNightmareGhost : LFGhost
{
Alpha 0.6
Renderstyle Add
+NOINTERACTION
+NONETID
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 A 1 Bright
	Goto Fade
  Fade:
	LNIT A 2 A_FadeOut(0.1,1)
	Loop
  Toaster:
	TNT1 A 1 Bright
	Stop
	}
}