ACTOR NemesisHellKnight : LegendaryHellKnight 28003
{
  Health 3000
  Speed 12
  BloodColor "Black"
  PainChance 45 
  PainChance "Explosion", 128
  PainChance "DTRailgun", 128
  MeleeDamage 16
  DamageFactor 0.6
  DamageFactor "PlayerNemesisPlasma", 0.0
  DamageFactor "Explosion", 0.2
  DamageFactor "PlayerDTRG", 0.4
  DamageFactor "DTRailgun", 0.4
  DamageFactor "PDTPuff", 0.4
  DamageFactor "RailG", 0.3
  DamageFactor "PlayerPyro", 0.2
  DropItem "NemesisHealthBonusMax", 256, 32
  DropItem "NemesisArmorBonus32", 256
  DropItem "NemesisHealthBonusMax", 256, 32
  DropItem "NemesisArmorBonus32", 256
  DropItem "NemesisSphere", 100, 1
  DropItem "LegendaryRune", 128, 1
  DropItem "NLDemonAmmo", 256
  DropItem "NLDemonAmmoBox", 256
  DropItem "Nemesis Rifle", 200, 1
  SeeSound "NemesisHK/sight"
  PainSound "NemesisHK/pain"
  DeathSound "NemesisHK/death"
  ActiveSound "NemesisHK/active"
  Obituary "%o couldn't comprehend the dark powers of the Nemesis Hell Knight!"
  HitObituary "%o ate the Nemesis Hell Knight's knuckle sandwich."
  Tag "\c[v9]Nemesis Hell Knight\c-"
  var int user_portal;
  var int user_delay;
  States
  {
  Spawn:
	NNBL A 10 Bright A_Look
	TNT1 AAA 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,64)
	Loop
  See:
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,706)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_JumpIfInventory("RunesCheck",1,2)
	TNT1 A 0 ACS_NamedExecuteWithResult("CheckRunes")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_UnsetInvulnerable
	TNT1 A 0 A_Jump(100,"Rush")
	NNBL AA 3 Bright A_Chase
	TNT1 AAA 0 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("WhiteWalkFire",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	NNBL BB 3 Bright A_Chase
	TNT1 AAA 0 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("WhiteWalkFire",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	NNBL CC 3 Bright A_Chase
	TNT1 AAA 0 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("WhiteWalkFire",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	NNBL DD 3 Bright A_Chase
	TNT1 AAA 0 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("WhiteWalkFire",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	TNT1 A 0 A_Jump(32,"Teleport")
	Loop
  Rush:
	NNBL A 2 Bright A_SpawnItemEx("NLNGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	TNT1 AAAA 0 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
	NNBL A 2 Bright A_SpawnItemEx("NLNGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	TNT1 AAAA 0 Bright A_Chase  
	TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
	NNBL B 2 Bright A_SpawnItemEx("NLNGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	TNT1 AAAA 0 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
	NNBL B 2 Bright A_SpawnItemEx("NLNGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	TNT1 AAAA 0 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
	TNT1 AAA 0 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
	NNBL C 2 Bright A_SpawnItemEx("NLNGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	TNT1 AAAA 0 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
	NNBL C 2 Bright A_SpawnItemEx("NLNGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	TNT1 AAAA 0 Bright A_Chase  
	TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
	NNBL D 2 Bright A_SpawnItemEx("NLNGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	TNT1 AAAA 0 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
	NNBL D 2 Bright A_SpawnItemEx("NLNGhost",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	TNT1 AAAA 0 Bright A_Chase
	TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
	TNT1 AAA 0 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("LegendaryHoofStep",0,0,0,0)
	TNT1 A 0 A_Jump(24,"Teleport")
	TNT1 A 0 A_Jump(75,"See")
	Loop
  Teleport:
	NNBL P 1 Bright A_UnSetShootable
	TNT1 AAAA 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NNBL PPPPPPPPPP 1 Bright A_FadeOut(0.1,0)
	NNBL P 2 Bright
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 Bright A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 Bright A_Wander
	NNBL P 1 Bright A_PlayWeaponSound("boss/teleport")
	TNT1 AAAA 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NNBL PPPPPPPPPP 1 Bright A_FadeIn(0.1)
	NNBL P 1 Bright A_SetShootable
	TNT1 A 0 A_Jump(64,"See")
	TNT1 A 0 A_JumpIfTargetInLOS("Missile")
	Goto See	
  Missile:
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_UnsetInvulnerable
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_Jump(128,"Spread","Hugger","Rage","BestAttack","Rain","Rain2")
	TNT1 A 0 A_Jump(20,"Portal")
	TNT1 A 0 A_Jump(100,"9Comets","WhiteComet")
  Normal:
	NNBL EF 5 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall",32,0,-8)
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall",32,0,-4)
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall",32,0,4)
	NNBL G 5 Bright A_CustomMissile("NemesisLegNobleBall",32,0,0)
	NNBL ST 5 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall",32,0,8)
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall",32,0,4)
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall",32,0,-4)
	NNBL U 5 Bright A_CustomMissile("NemesisLegNobleBall",32,0,0)  
	TNT1 A 0 A_Jump(127,"Spread")
	Goto See
  Spread:
	NNBL PQ 9 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall2",32,0,18)  
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall2",32,0,-18)
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall2",32,0,15)  
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall2",32,0,-15)
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall2",32,0,12)  
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall2",32,0,-12)
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall2",32,0,9)  
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall2",32,0,-9)
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall2",32,0,6)  
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall2",32,0,-6)  
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall2",32,0,3)  
	TNT1 A 0 A_CustomMissile("NemesisLegNobleBall2",32,0,-3)
	NNBL R 8 Bright A_CustomMissile("NemesisLegNobleBall2",32,0,0)
	TNT1 A 0 A_Jump(127,"Hugger")
	Goto See
  Hugger:
	NNBL RQ 9 Bright A_FaceTarget
	NNBL PPPP 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NNBL P 0 A_CustomMissile("NemesisLegNobleBall3",32,20,0)
	NNBL P 0 Bright A_CustomMissile("NemesisLegNobleBall3",32,-20,0)
	NNBL PPPP 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Jump(80,"WhiteComet")
	Goto See  
  WhiteComet:
	NNBL EF 7 Bright A_FaceTarget
	NNBL G 2 Bright A_CustomMissile("NemesisHKComet",32,0,0)
	TNT1 A 0 A_CustomMissile("NemesisHKComet",32,0,6)
	NNBL G 4 Bright A_CustomMissile("NemesisHKComet",32,0,-6)
	NNBL ST 7 Bright A_FaceTarget
	NNBL U 2 Bright A_CustomMissile("NemesisHKComet",32,0,0)
	TNT1 A 0 A_CustomMissile("NemesisHKComet",32,0,6)
	NNBL U 4 Bright A_CustomMissile("NemesisHKComet",32,0,-6)
	TNT1 A 0 A_Jump(80,"9Comets")
	Goto See
  9Comets:
	NNBL PQ 8 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("NemesisHKComet", 32, 0, -5)
	TNT1 A 0 A_CustomMissile("NemesisHKComet", 32, 0, 5)
	TNT1 A 0 A_CustomMissile("NemesisHKComet", 32, 0, -10)
	TNT1 A 0 A_CustomMissile("NemesisHKComet", 32, 0, 10)
	TNT1 A 0 A_CustomMissile("NemesisHKComet", 32, 0, -15)
	TNT1 A 0 A_CustomMissile("NemesisHKComet", 32, 0, 15)
	TNT1 A 0 A_CustomMissile("NemesisHKComet", 32, 0, -20)
	TNT1 A 0 A_CustomMissile("NemesisHKComet", 32, 0, 20)
	NNBL R 7 Bright A_CustomMissile("NemesisHKComet", 32, 0, 0)
	TNT1 A 0 A_Jump(127,"Rage")
	Goto See
  Rage:
	NNBL Q 1 Bright A_PlaySound("NemesisHK/Attack",1)
	NNBL Q 1 Bright A_FaceTarget
	NNBL Q 1 Bright A_SetUserVar("user_missile",0)
	NNBL RRRR 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NNBL QQQQ 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
  Raging:
	TNT1 A 0 A_JumpIf(user_missile >= 28,"See")   
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	NNBL QQ 0 Bright A_CustomMissile("NemesisLegNobleBall3Small",0,0,random(0,359))  
	NNBL Q 4 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	Loop
  SuperRage:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	TNT1 A 0 A_SetInvulnerable
	NNBL Q 1 Bright A_PlaySound("NemesisHK/Sight",1)
	NNBL Q 1 Bright A_FaceTarget
	NNBL Q 1 Bright A_SetUserVar("user_missile",0)
	NNBL RRRRRRRRRRRRRRRRRRR 2 Bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL QQQQQQQQQQQQQQQQQQQ 2 Bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
  SuperRaging:
	TNT1 A 0 A_JumpIf(user_missile >= 14,"See")   
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	NNBL Q 0 Bright A_CustomMissile("NemesisHKSuperBall",32,0,random(0,359))  
	NNBL Q 8 Bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	Loop
  BestAttack:
	NNBL Q 1 Bright A_PlaySound("NemesisHK/Sight",1)
	NNBL P 2 Bright A_FaceTarget
	TNT1 A 0 A_SetInvulnerable
	NNBL PPPPPPPPPPPPPPPPP 2 Bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL Q 2 Bright A_FaceTarget
	NNBL QQQQQQQQQQQQQQQQQ 2 Bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL R 2 Bright A_FaceTarget
	TNT1 A 0 A_UnSetInvulnerable
	NNBL R 8 Bright A_CustomMissile("NemesisHKSuperBall",32,0,0)
	Goto See
  Rain:
	TNT1 A 0 A_PlaySound("NemesisHK/Attack",1)
	TNT1 A 0 Radius_Quake(6,60,0,18,0)
	NNBL P 2 Bright A_FaceTarget
	NNBL PPPPPPP 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NNBL Q 2 Bright A_FaceTarget
	NNBL QQQQQQQ 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NNBL Q 2 Bright A_FaceTarget
	TNT1 A 0 A_SetUserVar(user_missile,0)
  RainLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 20,"RainContinue")   
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	NNBL Q 2 Bright A_SpawnItemEx("NemesisHKCometRain",random(-800,800),random(-800,800),0,0,0,0,SXF_NOCHECKPOSITION,0)
	Loop
  RainContinue:
	NNBL Q 2 Bright A_FaceTarget
	NNBL QQQQQQQQ 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	Goto See
  Rain2:
	NNBL RRQQ 5 Bright A_FaceTarget
	TNT1 A 0 A_CustomMissile("NemesisHKCometRain2",46,0,-30)
	TNT1 A 0 A_CustomMissile("NemesisHKCometRain2",46,0,30)
	TNT1 A 0 A_CustomMissile("NemesisHKCometRain2",46,0,-15)
	TNT1 A 0 A_CustomMissile("NemesisHKCometRain2",46,0,15)
	NNBL P 20 Bright A_CustomMissile("NemesisHKCometRain2",46,0,0)
	Goto See
  Portal:
	NNBL Q 3 Bright A_JumpIf(user_portal >= 1,"BestAttack")
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	TNT1 A 0 A_SetInvulnerable
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_PlaySound("brain/spit")
	NNBL Q 1 Bright A_PlaySound("NemesisHK/Sight",1)
	TNT1 A 0 Radius_Quake(8,60,0,20,0)
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL R 3 Bright A_FaceTarget
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL R 3 Bright A_FaceTarget
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL R 3 Bright A_FaceTarget
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL R 3 Bright A_FaceTarget
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL R 3 Bright A_FaceTarget
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL R 3 Bright A_FaceTarget
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL R 3 Bright A_FaceTarget
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL R 3 Bright A_FaceTarget
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL R 3 Bright A_FaceTarget
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL R 3 Bright A_FaceTarget
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL R 3 Bright A_FaceTarget
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL R 3 Bright A_FaceTarget
	TNT1 AAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("NemesisHKSummoner",0,0,0,0,0,0,0,32,64)
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL R 3 Bright A_FaceTarget
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL R 3 Bright A_FaceTarget
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL R 3 Bright A_FaceTarget
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL R 3 Bright A_FaceTarget
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL R 3 Bright A_FaceTarget
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL R 3 Bright A_FaceTarget
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL R 3 Bright A_FaceTarget
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL R 3 Bright A_FaceTarget
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL R 3 Bright A_FaceTarget
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL Q 3 Bright A_FaceTarget
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NNBL P 3 Bright A_FaceTarget
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_SetUserVar("user_portal",user_portal+1)
	TNT1 A 0 A_Jump(128,"Teleport")
	Goto See
  Melee:
	NNBL EF 6 Bright A_FaceTarget
	NNBL G 6 Bright A_MeleeAttack
	NNBL ST 6 Bright A_FaceTarget
	NNBL U 6 Bright A_MeleeAttack
	Goto See
  Pain:
	TNT1 A 0 A_Jump(2,"SuperRage")
	TNT1 A 0 A_Jump(8,"Rage")
	TNT1 A 0 A_Jump(70,"Teleport")
	TNT1 A 0 A_Jump(128,"PainMissile")
	NNBL H 2
	NNBL H 2 A_Pain
	Goto See
  Pain.Explosion:
  Pain.Mine:
	TNT1 A 0 A_Jump(32,"SuperRage")
	Goto Teleport
  PainMissile:
	TNT1 A 0 A_JumpIfHealthLower(600,"Portal")
	NNBL H 2 Bright
	NNBL H 2 Bright A_Pain
	Goto Missile
  XDeath:
  Death:
	TNT1 A 0 A_StopSound(6)
	NNBL I 8
	NNBL J 8 A_Scream
	NNBL K 8
	NNBL L 8 A_NoBlocking
	NNBL MN 8
	TNT1 A 0 A_BossDeath
	TNT1 A 0 A_KillChildren
	TNT1 A 0 A_KillMaster
	TNT1 A 0 A_Jump(100,"MoreStuff")
	NNBL O -1
	Stop
  MoreStuff:
	NNBL O 100
	TNT1 A 0 A_SpawnItem("HellionSmokeAttack")
	NNBL OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 1 A_SpawnItem("NemesisHKItemRandomizer")
	NNBL OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 1 A_SpawnItem("NemesisHKItemRandomizer")
	NNBL O 1 A_SpawnItem("NemesisHKSuperItemRandomizer")
	NNBL O -1
	Stop 
  }
}

ACTOR NemesisHKItemRandomizer
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Jump(25,"Ammo")
TNT1 A 0 A_Jump(256,"Health","Armor")
Health:
TNT1 A 0 A_SpawnItemEx("NemesisHealthBonusMax",0,0,32,frandom(-5,5),frandom(-5,5),frandom(0,3),random(0,360))
TNT1 A 1 A_SpawnItemEx("NemesisHealthBonusMax",0,0,32,frandom(-5,5),frandom(-5,5),frandom(0,3),random(0,360))
Stop
Armor:
TNT1 A 0 A_SpawnItemEx("NemesisArmorBonusMax",0,0,32,frandom(-5,5),frandom(-5,5),frandom(0,3),random(0,360))
TNT1 A 1 A_SpawnItemEx("NemesisArmorBonusMax",0,0,32,frandom(-5,5),frandom(-5,5),frandom(0,3),random(0,360))
Stop
Ammo:
TNT1 A 0 A_SpawnItemEx("NLDemonAmmo",0,0,32,frandom(-5,5),frandom(-5,5),frandom(0,3),random(0,360))
TNT1 A 1 A_SpawnItemEx("NLDemonAmmo",0,0,32,frandom(-5,5),frandom(-5,5),frandom(0,3),random(0,360))
Stop
}
}

ACTOR NemesisHKSuperItemRandomizer
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Jump(192,"DoomguyDoll","AnkhOfResurrection","LightArmor")
TNT1 A 0 A_Jump(128,"NemesisSphere","NemesisArmor")
Nothing:
TNT1 A 1
Stop
DoomGuyDoll:
TNT1 A 1 ACS_NamedExecuteAlways("DropDoll",0,256)
Stop
AnkhOfResurrection:
TNT1 A 1 ACS_NamedExecuteAlways("DropAnkh",0,256)
Stop
NemesisSphere:
TNT1 A 1 A_SpawnItemEx("NemesisSphere",0,0,32)
Stop
NemesisArmor:
TNT1 A 1 A_SpawnItemEx("NemesisArmor",0,0,32)
Stop
}
}

ACTOR NemesisLegNobleBall : LegNobleBall
{
Renderstyle Subtract
Alpha 1.0
Scale 0.35
Speed 40
BounceCount 5
Damagetype "Legendary"
States
{
Spawn:
	CLBA D 1 Bright A_CustomMissile("BlackProjParticleSuperLarge",Random(-1,1),Random(-1,1))
	Loop
Death:
	TNT1 A 0
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("BlackProjParticleSuperLarge",0,0,0,frandom(-2,2),frandom(-2,2),frandom(-2,2),random(0,359))
	CLBA D 1 Bright A_FadeOut(0.2)
	Goto Death+10
}
}

ACTOR NemesisLegNobleBall2 : LegNobleBall2
{
Renderstyle Subtract
Alpha 1.0
Scale 0.35
Speed 35
States
{
Spawn:
	CLBA D 1 Bright A_SpawnItem("BlackProjParticleSuperLarge")
	Loop
Death:
  TNT1 A 0
  TNT1 AAAAAAAAA 0 A_SpawnItemEx("BlackProjParticleSuperLarge",0,0,0,frandom(-2,2),frandom(-2,2),frandom(-2,2),random(0,359))
	CLBA D 1 Bright A_FadeOut(0.2)
	Goto Death+10
}
}

ACTOR NemesisLegNobleBall3 : LegNobleBall3
{
Speed 28
States
{
Spawn:
  TNT1 A 0 A_CountDown
  TNT1 A 0 A_LoopActiveSound
  TNT1 A 0 A_SpawnItemEx("NemesisLegNobleBall3Trail",random(-4,4),random(-4,4),random(0,4),random(-4,4),random(-4,4),random(3,10),random(0,359),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
  TNT1 A 1 
  TNT1 A 0 A_SpawnItemEx("NemesisLegNobleBall3Trail",random(-4,4),random(-4,4),random(0,4),random(-4,4),random(-4,4),random(3,10),random(0,359),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
  TNT1 A 1 
  TNT1 A 0 A_SpawnItemEx("NemesisLegNobleBall3Trail",random(-4,4),random(-4,4),random(0,4),random(-4,4),random(-4,4),random(3,10),random(0,359),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
  TNT1 A 1 A_SeekerMissile(14,0)
  Loop
Death:
  TNT1 A 0
  TNT1 A 0 A_Explode(32,64,0)
  TNT1 A 0 A_Explode(128,128,0)
  TNT1 A 0 A_SpawnItemEx("NemesisLegNobleBall3Trail",0,0,0,random(-16,16),random(-16,16),random(0,16),random(0,359)) 
  TNT1 A 12
  Stop
}
}

ACTOR NemesisLegNobleBall3Trail : NemesisHellionSmoke
{
Scale 1.0
States
  {
  Spawn:
	TNT1 A 0
	FIW1 ABCDEFGHIJKL 2 Bright A_FadeOut(0.1,1)
	Stop
  }
}

ACTOR NemesisLegNobleBall3Small : LegNobleBall3Small
{
Speed 28
States
{
Spawn:
  TNT1 A 0 A_CountDown
  TNT1 A 0 A_LoopActiveSound
  TNT1 A 0 A_SpawnItemEx("NemesisLegNobleBall3SmallTrail",random(-2,2),random(-2,2),random(0,4),random(-2,2),random(-2,2),random(0,5),random(0,359),SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
  TNT1 A 1
  Loop
Death:
  TNT1 A 0
  TNT1 A 0 A_SpawnItemEx("NemesisLegNobleBall3SmallTrail",0,0,0,random(-6,6),random(-6,6),random(0,10),random(0,359)) 
  TNT1 A 6
  Stop
}
}

ACTOR NemesisLegNobleBall3SmallTrail : NemesisLegNobleBall3Trail
{
Scale 0.4
}

ACTOR NemesisHKComet : LegNobleComet
{
Speed 40
+FORCERADIUSDMG
States
{
Spawn:
  NNCM AAAABBBBCCCC 1 Bright A_SpawnItemEx("NemesisLNCometTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
  Loop
Death:
  TNT1 A 0 Bright A_Explode
  TNT1 A 0 A_SpawnItemEx("NemesisWhiteParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
  NNCM DE 3 Bright
  TNT1 A 1 A_SpawnItemEx("NemesisLNCometDeath",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
  Stop
}
}

ACTOR NemesisLNCometDeath : LNCometDeath
{
States
{
Spawn:
  TNT1 A 0
  TNT1 AAAA 0 A_SpawnItemEx("LegendaryDebris",0,0,Random(20,40),Random(4,-4),Random(4,-4),Random(4,8),0,SXF_CLIENTSIDE,0)
  TNT1 AAA 0 A_CustomMissile("WhiteNemesisKaboom",0,0,random(0,360),2,random(0,360))  
  TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX2",0,0,random(0,360),2,random(0,360))
  NNCM FFFGGGHHHIII 1 Bright A_FadeOut(0.065,1)
  Stop
}
}

ACTOR NemesisLNCometTail : LNCometTail
{
States
{
Spawn:
  TNT1 A 0 Bright
  TNT1 A 0 Bright A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
  TNT1 A 2 Bright
  NNCT DEFGHI 2 Bright
  Stop
}
}

ACTOR NemesisHKSuperBall : GenericSuperOrb
{
  +SEEKERMISSILE
  +NOTIMEFREEZE
  +FORCERADIUSDMG
  Species "Nobles"
  DamageType "NobleComet"
  ActiveSound "lefrail/active"
  Speed 100
  Damage 80
  Bouncetype Hexen
  Bouncecount 10
  States
  {
  Spawn:
	TNT1 A 0 Bright A_LoopActiveSound
	CLBB D 1 Bright A_SpawnItemEx("NemesisWhiteProjParticleSuperLarge2",0,0,0,0,frandom(-1,1),frandom(-1,1),random(0,359))
	TNT1 A 0 A_SpawnItemEx("NemesisWhiteProjParticleSuperLarge2",0,0,0,0,frandom(-1,1),frandom(-1,1),random(0,359))
	TNT1 A 0 A_SeekerMissile(1,1)
	Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_Explode(200,200)
	TNT1 A 0 A_SpawnItem("NemesisWhiteProjExplodeLarge")
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("NemesisWhiteProjParticleSuperLarge",0,0,0,frandom(-4,4),frandom(-4,4),frandom(-4,4),random(0,359))
	CLBB D 1 Bright A_FadeOut(0.2)
	Goto Death+3
  }
}

ACTOR NemesisLegNobleRings : LegNobleRings
{
States
  {
  Spawn:
	TNT1 A 0 Bright
	NBAR ABCDEFGHIJKLMNOPQR 2 Bright A_Explode(24,80,0)
	Stop
  }
}

ACTOR NemesisHKCometRain : MReimuDarkMatterRain
{
Renderstyle Add
States
{
Spawn:
	TNT1 AAAAAAAAAAAAAAAAAAAA 1 A_Wander
	MMRA ABCDEFGHIJABCDEFGHIJ 2 Bright A_Wander
    TNT1 A 0 A_CustomMissile("FallingNemesisHKComet",-18,random(0,20),random(0,360),2)
	MMRA AAABBBCCC 1 Bright A_Wander
    TNT1 A 0 A_CustomMissile("FallingNemesisHKComet",-18,random(0,20),random(0,360),2)
	MMRA EEEFFFGGG 1 Bright A_Wander
    TNT1 A 0 A_CustomMissile("FallingNemesisHKComet",-18,random(0,20),random(0,360),2)
	MMRA HHHIIIJJJ 1 Bright A_Wander
	TNT1 A 0 A_CustomMissile("FallingNemesisHKComet",-18,random(0,20),random(0,360),2)
	MMRA AAABBBCCC 1 Bright A_Wander
    TNT1 A 0 A_CustomMissile("FallingNemesisHKComet",-18,random(0,20),random(0,360),2)
	MMRA EEEFFFGGG 1 Bright A_Wander
    TNT1 A 0 A_CustomMissile("FallingNemesisHKComet",-18,random(0,20),random(0,360),2)
	MMRA HHHIIIJJJ 1 Bright A_Wander
	TNT1 A 0 A_CustomMissile("FallingNemesisHKComet",-18,random(0,20),random(0,360),2)
FadeOut:
	MMRA ABCDEFGHIJ 2 Bright A_FadeOut(0.06)
    Goto FadeOut
	}
}

Actor NemesisHKCometRain2 : NemesisHKCometRain
{
  Speed 15
  ReactionTime 100
  States
  {
  Spawn:
	TNT1 A 0 A_Countdown
    TNT1 A 0 A_CustomMissile("FallingNemesisHKComet",-18,random(0,20),random(0,360),2)
	MMRA AAABBBCCC 1 Bright A_Wander
    TNT1 A 0 A_CustomMissile("FallingNemesisHKComet",-18,random(0,20),random(0,360),2)
	MMRA EEEFFFGGG 1 Bright A_Wander
    TNT1 A 0 A_CustomMissile("FallingNemesisHKComet",-18,random(0,20),random(0,360),2)
	MMRA HHHIIIJJJ 1 Bright A_Wander
	Loop
  Death:
	MMRA ABCDEFGHIJ 2 Bright A_FadeOut(0.06)
	Loop
  }
}

ACTOR FallingNemesisHKComet : NemesisHKComet
{
  Radius 6
  Height 6
  Speed 5
  -FLOAT
  -NOGRAVITY
  +SPAWNCEILING
  +MTHRUSPECIES
  +DONTHURTSPECIES
  +DONTHARMSPECIES
  +FLOORCLIP
  States
  {
Death:
  TNT1 A 0 Bright A_Explode
  TNT1 A 0 A_SpawnItemEx("NemesisWhiteParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
  NNCM DE 3 Bright
  TNT1 A 1 A_SpawnItemEx("NemesisLNCometDeath",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
  Stop
  }
}

ACTOR NLNGhost
{
Scale 1.2
RENDERSTYLE Translucent
Alpha 0.75
+NOTIMEFREEZE
+NOINTERACTION
+CLIENTSIDEONLY
States
  {
  Spawn:
	TNT1 A 0 Bright
	TNT1 A 0 Bright A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
	Goto Fade
  Fade:
	NNBL A 2 Bright A_FadeOut(0.09,1)
	Loop
  Toaster:
	TNT1 A 1 Bright
	Stop	
    }
}

ACTOR WhiteWalkFire : GoldWalkFire
{
States
  {
  Spawn:
	TNT1 A 0 Bright
	TNT1 A 0 Bright A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
	TNT1 A 10 Bright
	NQTF ABC 3 Bright
	TNT1 A 0 Bright A_Jump(191,3)
	TNT1 A 0 Bright A_CustomMissile("WhiteWalkFire",0,24,0)
	TNT1 A 0 Bright A_CustomMissile("WhiteWalkFire",0,-24,0)
	NQTF DEFGHIJKLMNO 3 Bright
	Stop
  Toaster:
	TNT1 A 1 Bright
	Stop
  }
}


ACTOR NemesisHKSummoner
{
Radius 24
Height 8
Speed 17
Monster
-SHOOTABLE
-COUNTKILL
-SOLID
var int user_limit;
States
{
   Spawn:
    TNT1 A 0
	TNT1 A 0 A_SetAngle(random(0,359))
	TNT1 A 1 A_Recoil(-40)
	TNT1 A 0 A_JumpIf(user_limit > 3,"Death")
	TNT1 A 0 A_SetUserVar("user_limit",user_limit+1)
	TNT1 A 1 A_Recoil(-4)
	TNT1 A 2 A_Jump(48,"Death")
    Goto Spawn+3
   Death:
    TNT1 A 0 A_SpawnItemEx("TeleportFog")
    TNT1 A 5 A_SpawnItemEx("NemesisHKMinion")
	TNT1 A 1 A_Fall
	Stop
	}
}

ACTOR NemesisHKMinion : RandomSpawner
{
DropItem "SummonedHellKnight", 256, 10
DropItem "SummonedPyroDemon", 256, 7
DropItem "SummonedHellGuardian", 256, 3
DropItem "SummonedHellDuke", 256, 1
}

Actor SummonedHellKnight : HellKnight~
{
+NOTARGET
-COUNTKILL
+DONTHURTSPECIES
+DONTHARMSPECIES
+THRUSPECIES
DamageFactor "LegendaryPlayer", 0.3
DamageFactor "LegendaryGuruPlayer", 0.3
//No Infighting
DamageFactor "Legendary", 0.0
DamageFactor "Legendary1", 0.0
DamageFactor "LegendaryGuru", 0.0
DropItem ""
Tag "Summoned Hell Knight"
}

Actor SummonedPyroDemon : PyroDemon
{
+NOTARGET
-COUNTKILL
+DONTHURTSPECIES
+DONTHARMSPECIES
+THRUSPECIES
DamageFactor "LegendaryPlayer", 0.3
DamageFactor "LegendaryGuruPlayer", 0.3
//No Infighting
DamageFactor "Legendary", 0.0
DamageFactor "Legendary1", 0.0
DamageFactor "LegendaryGuru", 0.0
DropItem ""
Tag "Summoned Pyrodemon"
}

Actor SummonedHellGuardian : HellGuardian
{
+NOTARGET
-COUNTKILL
+DONTHURTSPECIES
+DONTHARMSPECIES
+THRUSPECIES
DamageFactor "LegendaryPlayer", 0.3
DamageFactor "LegendaryGuruPlayer", 0.3
//No Infighting
DamageFactor "Legendary", 0.0
DamageFactor "Legendary1", 0.0
DamageFactor "LegendaryGuru", 0.0
DropItem ""
Tag "Summoned Hell Guardian"
}

Actor SummonedHellDuke : HellDuke
{
+NOTARGET
-COUNTKILL
+DONTHURTSPECIES
+DONTHARMSPECIES
+THRUSPECIES
DamageFactor "LegendaryPlayer", 0.3
DamageFactor "LegendaryGuruPlayer", 0.3
//No Infighting
DamageFactor "Legendary", 0.0
DamageFactor "Legendary1", 0.0
DamageFactor "LegendaryGuru", 0.0
DropItem ""
Tag "Summoned Hell Duke"
}