ACTOR NemesisImp : LegendaryImp 28002
{
  Health 1500
  Mass 100
  Speed 15
  BloodColor "Black"
  PainChance 30
  MeleeDamage 20
  Species "Imps"
  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
  DamageFactor "VileFires", 0.0
  DropItem "EnragedLegendarySphere" 70
  DropItem "NemesisHealthBonusMax", 256, 32
  DropItem "NemesisArmorBonus32", 256
  DropItem "NemesisHealthBonusMax", 256, 32
  DropItem "NemesisArmorBonus32", 256
  DropItem "LegendaryPowerSphere" 85
  DropItem "NLDemonAmmoBox" 200 
  DropItem "NLDemonAmmo" 256
  DropItem "Nemesis Rifle" 50
  SeeSound "NemesisImp/sight"
  ActiveSound "NemesisImp/active"
  PainSound "NemesisImp/pain"
  DeathSound "NemesisImp/death"
  Obituary "%o was mutilated by the Nemesis Imp."
  HitObituary "%o was ripped into bloody pieces by the Nemesis Imp."
  Tag "\c[v9]Nemesis Imp\c-"
  var int user_phase2;
  var int user_deathtimer;
  var int user_deathtimeractive;
  States
  {
  Spawn:
	TNT1 A 0 A_JumpIf(user_phase2 == 1,"Idle2")
	NSIN A 10 Bright A_Look
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSIN Q 10 Bright A_Look
	TNT1 AA 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	Loop
  Idle2:
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 A 10 Bright A_Look
	Loop
  See:
	TNT1 A 0 A_JumpIf(user_deathtimeractive == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("NemesisDeathTimerForVexed",0)
	TNT1 A 0 A_SetUserVar("user_deathtimeractive",1)
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,705)
	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_JumpIf(user_phase2 == 1,"See2")
	TNT1 A 0 A_JumpIfHealthLower(600,"LoseWings")
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSIN AA 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSIN BB 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSIN CC 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSIN DD 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Jump(30,"Teleport")
	TNT1 A 0 A_Jump(62,"Rush")
	TNT1 A 0 A_Jump(50,"AirDodge")
	Loop
  See2:
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_ChangeFlag(FRIGHTENED,0)
	TNT1 A 0 A_ChangeFlag(NOPAIN,0)
	TNT1 A 0 A_Jump(46,"Evade","Rush2")
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 AA 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 BB 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("HumanishStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 CC 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 DD 3 Bright A_Chase
	TNT1 A 0 A_SpawnItem("HumanishStep",0,0,0,0)
	TNT1 A 0 A_Jump(46,"Phase")	
    Loop
  Phased:
	NSI2 AABBCCDDAABBCCDD 1 A_ExtChase(0,0)
	NSI2 AABBCCDDAABBCCDDAABBCCDDAABBCCDD 1 A_Chase
	TNT1 A 0 A_Jump(24,"UnPhase","PhasedRun")
	Goto Phased+32
  AirDodge:
	TNT1 A 0
	TNT1 A 0 A_Jump(256,"Right","Left","Back","BackLeftRange","BackRightRange")
	TNT1 A 0
	GoTo See
  Right:
	TNT1 A 0
	TNT1 A 0 ThrustThing(angle*256/360+64,30,0,0)
	NSIN A 5 Bright
	GoTo See
  Left:
	TNT1 A 0
	TNT1 A 0 ThrustThing(angle*256/360+192,30,0,0)
	NSIN A 5 Bright
	GoTo See
  Back:
	TNT1 A 0
	TNT1 A 0 ThrustThing(angle*256/360+128,30,0,0)
	NSIN A 5 Bright
	GoTo See
  BackLeftRange:
	TNT1 A 0
	TNT1 A 0 ThrustThing(angle*256/360+random(133,187),30,0,0)
	NSIN A 5 Bright
	GoTo See
  BackRightRange:
	TNT1 A 0
	TNT1 A 0 ThrustThing(angle*256/360+random(69,123),30,0,0)
	NSIN A 5 Bright 
	GoTo See
	Evade:
	TNT1 A 0 A_Jump(128,7)
	TNT1 A 0 ThrustThing(Angle*256/360+64,16,0,0)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 AA 3 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 AA 3 A_Chase
	TNT1 A 0 A_Stop
	Goto See
	TNT1 A 0 ThrustThing(Angle*256/360+192,16,0,0)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 AA 3 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 AA 3 A_Chase
	TNT1 A 0 A_Stop
	Goto See
  Phase:
	TNT1 A 0 A_PlaySound("phaseimp/teleport")
	NSI2 E 2 A_FaceTarget
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 E 1 A_SetTranslucent(0.75)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 E 1 A_SetTranslucent(0.55)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 E 1 A_SetTranslucent(0.35)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 E 1 A_SetTranslucent(0.15)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	Goto Phased
  UnPhase:
	TNT1 A 0 A_PlaySound("phaseimp/teleport")
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 E 1 A_SetTranslucent(0.15)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 E 1 A_SetTranslucent(0.35)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 E 1 A_SetTranslucent(0.55)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 E 1 A_SetTranslucent(0.75)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SetTranslucent(1)
	NSI2 E 2 A_FaceTarget	
 	Goto See2
  Melee:
	TNT1 A 0 A_JumpIf(user_phase2 == 1,"Melee2")
	NSIN EF 6 Bright A_FaceTarget
	NSIN F 5 Bright A_MeleeAttack
	Goto See
	Melee2:
	NSI2 EF 5 A_FaceTarget
	NSI2 G 5 A_MeleeAttack
	NSI2 FE 5 A_FaceTarget	
 	Goto See2
  Missile:
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_UnsetInvulnerable
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_JumpIf(user_phase2 == 1,"Missile2")
	TNT1 A 0 A_Jump(32,"Super")
	TNT1 A 0 A_Jump(64,"Seeker","Laser")
	Goto Normal
  Missile2:
	TNT1 A 0 A_JumpIfCloser(250,"Lunge")
	TNT1 A 0 A_Jump(64,"Laser2","Super2")
	NSI2 EF 4 A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("imp/attack")
	NSI2 G 5 Bright A_CustomMissile("NemesisImpBallSeek", 32, 0, 0)
	NSI2 FE 3
	NSI2 F 3 A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("imp/attack")
	NSI2 G 3 Bright A_CustomMissile("NemesisImpBallSeek", 32, 0, 0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),16,0,0)
	NSI2 FEF 3
	TNT1 A 0 A_Stop
	TNT1 A 0 Bright A_PlaySound("imp/attack")
	NSI2 G 3 Bright A_CustomMissile("NemesisImpBallSeek", 32, 0, 0)
	NSI2 FE 3
	NSI2 F 3 A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("imp/attack")
	NSI2 G 3 Bright A_CustomMissile("NemesisImpBallSeek", 32, 0, 0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),16,0,0)
	NSI2 FEF 3
	TNT1 A 0 A_Stop
	TNT1 A 0 Bright A_PlaySound("imp/attack")
	NSI2 G 3 Bright A_CustomMissile("NemesisImpBallSeek", 32, 0, 0)
	NSI2 FE 3
	NSI2 F 3 A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("imp/attack")
	NSI2 G 3 Bright A_CustomMissile("NemesisImpBallSeek", 32, 0, 0)
	NSI2 FEF 3
	TNT1 A 0 A_Stop
	Goto See2
  Lunge:
	NSI2 AA 3 A_FaceTarget
	TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,1)
	TNT1 A 0 ThrustThingZ(0,20,0,1)
	NSI2 F 2 A_Recoil(-30)
	NSI2 F 3 A_CustomMissile("GoreImpLunge",18,0,0,CMF_AIMDIRECTION)
	TNT1 A 0 A_PlaySound("imps/melee")
	NSI2 F 6
	NSI2 F 2 A_ScaleVelocity(0.2)
	TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,0)
	NSI2 F 1 A_ScaleVelocity(0)
	Goto See
  Normal:
	NSIN EF 8 Bright A_FaceTarget
	NSIM F 1 Bright A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("imp/attack")
	TNT1 A 0 Bright A_CustomMissile("NemesisImpBall", 28, 0, 0)
	TNT1 A 0 Bright A_CustomMissile("NemesisImpBall", 28, 0, -5)
	TNT1 A 0 Bright A_CustomMissile("NemesisImpBall", 28, 0, 5)
	TNT1 A 0 Bright A_CustomMissile("NemesisImpBall", 28, 0, -10)
	TNT1 A 0 Bright A_CustomMissile("NemesisImpBall", 28, 0, 10)
	TNT1 A 0 Bright A_CustomMissile("NemesisImpBall", 28, 0, -15)
	TNT1 A 0 Bright A_CustomMissile("NemesisImpBall", 28, 0, 15)
	TNT1 A 0 A_Jump(100,"Seeker","Normal")
	Goto See
  Seeker:
	NSIN EF 10 Bright A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("imp/attack")
	NSIM F 4 Bright A_CustomMissile("NemesisImpBallSeek",32,20,0)
	NSIM F 2 Bright A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("imp/attack")
	NSIM F 4 Bright A_CustomMissile("NemesisImpBallSeek",32,20,0)
	NSIM F 2 Bright A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("imp/attack")
	NSIM F 4 Bright A_CustomMissile("NemesisImpBallSeek",32,20,0)
	NSIM F 2 Bright A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("imp/attack")
	NSIM F 4 Bright A_CustomMissile("NemesisImpBallSeek",32,20,0)
	NSIM F 2 Bright A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("imp/attack")
	NSIM F 4 Bright A_CustomMissile("NemesisImpBallSeek",32,20,0)
	NSIM F 2 Bright A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("imp/attack")
	NSIM F 4 Bright A_CustomMissile("NemesisImpBallSeek",32,20,0)
	NSIM F 2 Bright A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("imp/attack")
	NSIM F 4 Bright A_CustomMissile("NemesisImpBallSeek",32,20,0)
	NSIM F 2 Bright A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("imp/attack")
	NSIM F 4 Bright A_CustomMissile("NemesisImpBallSeek",32,20,0)
	TNT1 A 0 A_Jump(64,"Seeker","Normal")
	Goto See
	Laser:
	TNT1 A 0 A_PlaySound("NemesisImp/Sight")
	TNT1 A 0 A_Facetarget
	NSIN EEE 4 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Facetarget
	NSIN FFF 4 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Facetarget
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSIM F 4 Bright A_CustomMissile("NemesisImpLaser", 32, 0, 0)
	TNT1 A 0 A_Facetarget
	NSIM F 4
	TNT1 A 0 A_Facetarget
	TNT1 A 0 A_MonsterRefire(64,"See")
	TNT1 A 0 A_Jump(100,"See")
	Goto Laser+1
	Laser2:
	TNT1 A 0 A_PlaySound("NemesisImp/Sight")
	TNT1 A 0 A_Facetarget
	NSI2 EEE 4 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Facetarget
	NSI2 FFF 4 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Facetarget
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 G 4 Bright A_CustomMissile("NemesisImpLaser", 32, 0, 0)
	TNT1 A 0 A_Facetarget
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),32,0,0)
	NSI2 G 4
	TNT1 A 0 A_Facetarget
	TNT1 A 0 A_MonsterRefire(64,"See2")
	TNT1 A 0 A_Jump(100,"See2")
	Goto Laser2+1
  Super:
	TNT1 A 0 A_JumpIfCloser(200,"Normal")
	TNT1 A 0 Bright A_PlaySound ("legimp/chargingsound")
	TNT1 A 0 A_SetInvulnerable
	TNT1 A 0 Bright A_FaceTarget
	NSIN EEEEE 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	NSIN EEEEE 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	NSIN EEEEE 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	NSIN EEEEE 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	NSIN EEEEE 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	NSIN FFFFF 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	NSIN FFFFF 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	NSIN FFFFF 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	NSIN FFFFF 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	NSIN FFFFF 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSIM F 6 Bright A_CustomMissile ("NemesisImpLaserBall",28,0,0)
	TNT1 A 0 Bright A_playSound ("legimp/fiyabetch")
	TNT1 A 0 Bright A_FaceTarget
	NSIN FFFFF 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	NSIN FFFFF 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSIM F 6 Bright A_CustomMissile ("NemesisImpLaserBall",28,0,0)
	TNT1 A 0 Bright A_playSound ("legimp/fiyabetch")
	TNT1 A 0 A_UnsetInvulnerable
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	Goto See
  Super2:
	TNT1 A 0 A_JumpIfCloser(200,"Laser2")
	TNT1 A 0 Bright A_PlaySound ("legimp/chargingsound")
	TNT1 A 0 A_SetInvulnerable
	TNT1 A 0 Bright A_FaceTarget
	NSI2 EEEEE 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	NSI2 EEEEE 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	NSI2 EEEEE 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	NSI2 EEEEE 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	NSI2 EEEEE 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	NSI2 FFFFF 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	NSI2 FFFFF 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	NSI2 FFFFF 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	NSI2 FFFFF 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	NSI2 FFFFF 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 G 6 Bright A_CustomMissile ("NemesisImpLaserBall",28,0,0)
	TNT1 A 0 Bright A_playSound ("legimp/fiyabetch")
	TNT1 A 0 Bright A_FaceTarget
	NSI2 FFFFF 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 Bright A_FaceTarget
	NSI2 FFFFF 2 Bright A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 G 6 Bright A_CustomMissile ("NemesisImpLaserBall",28,0,0)
	TNT1 A 0 Bright A_playSound ("legimp/fiyabetch")
	TNT1 A 0 A_UnsetInvulnerable
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	Goto See2
  Rush:
	TNT1 A 0 A_SpawnItemEx("NemesisImpGhost")  
	NSIN A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisImpGhost")  
	NSIN A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisImpGhost")  
	NSIN A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisImpGhost")  
	NSIN A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisImpGhost")  
	NSIN A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisImpGhost")  
	NSIN A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisImpGhost")  
	NSIN A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisImpGhost")  
	NSIN A 1 Bright A_Chase
	TNT1 A 0 A_Jump(84,"See")
	Loop
  Rush2:
	NSI2 A 1 A_Chase
	NSI2 A 0 A_Chase
	NSI2 A 1 A_Chase
	NSI2 A 0 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 B 1 A_Chase
	NSI2 A 0 A_Chase
	NSI2 B 1 A_Chase
	NSI2 A 0 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 C 1 A_Chase
	NSI2 A 0 A_Chase
	NSI2 C 1 A_Chase
	NSI2 A 0 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 D 1 A_Chase
	NSI2 A 0 A_Chase
	NSI2 D 1 A_Chase
	NSI2 A 0 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 A 1 A_Chase
	NSI2 A 0 A_Chase
	NSI2 A 1 A_Chase
	NSI2 A 0 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 B 1 A_Chase
	NSI2 A 0 A_Chase
	NSI2 B 1 A_Chase
	NSI2 A 0 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 C 1 A_Chase
	NSI2 A 0 A_Chase
	NSI2 C 1 A_Chase
	NSI2 A 0 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 D 1 A_Chase
	NSI2 A 0 A_Chase
	NSI2 D 1 A_Chase
	NSI2 A 0 A_Chase
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Jump(48,"See2")
	Loop
  Teleport:
	NSIN A 1 Bright A_UnSetShootable
	TNT1 AAAA 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSIN AAAAAAAAAA 1 Bright A_FadeOut(0.1,0)
	NSIN A 2 Bright
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	NSIN A 1 Bright A_PlayWeaponSound("boss/teleport")
	TNT1 AAAA 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSIN AAAAAAAAAA 1 Bright A_FadeIn(0.1)
	NSIN A 1 Bright A_SetShootable
	Goto See	
  Pain:
	TNT1 A 0 A_JumpIf(user_phase2 == 1,"Pain2")
	TNT1 A 0 A_Jump(50,"Teleport")
	NSIN H 2 Bright
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSIN H 2 Bright A_Pain
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	Goto See
  Pain2:
	TNT1 A 0 A_Jump(32,"PhaseRun")
	NSI2 H 2 Bright
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 H 2 Bright A_Pain
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	Goto See
  PhaseRun:
	TNT1 A 0 A_UnSetShootable
	TNT1 A 0 A_ChangeFlag(FRIGHTENED,1)
	TNT1 A 0 A_PlaySound("phaseimp/teleport")
	NSI2 E 2 A_FaceTarget
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 E 1 A_SetTranslucent(0.75)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 E 1 A_SetTranslucent(0.55)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 E 1 A_SetTranslucent(0.35)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 E 1 A_SetTranslucent(0.15)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	Goto PhasedRun
  PhasedRun:
	NSI2 A 1 A_ExtChase(0,0)
	NSI2 A 0 A_ExtChase(0,0)
	NSI2 A 1 A_ExtChase(0,0)
	NSI2 A 0 A_ExtChase(0,0)
	NSI2 B 1 A_ExtChase(0,0)
	NSI2 A 0 A_ExtChase(0,0)
	NSI2 B 1 A_ExtChase(0,0)
	NSI2 A 0 A_ExtChase(0,0)
	NSI2 C 1 A_ExtChase(0,0)
	NSI2 A 0 A_ExtChase(0,0)
	NSI2 C 1 A_ExtChase(0,0)
	NSI2 A 0 A_ExtChase(0,0)
	NSI2 D 1 A_ExtChase(0,0)
	NSI2 A 0 A_ExtChase(0,0)
	NSI2 D 1 A_ExtChase(0,0)
	NSI2 A 0 A_ExtChase(0,0)
	NSI2 A 1 A_ExtChase(0,0)
	NSI2 A 0 A_ExtChase(0,0)
	NSI2 A 1 A_ExtChase(0,0)
	NSI2 A 0 A_ExtChase(0,0)
	NSI2 B 1 A_ExtChase(0,0)
	NSI2 A 0 A_ExtChase(0,0)
	NSI2 B 1 A_ExtChase(0,0)
	NSI2 A 0 A_ExtChase(0,0)
	NSI2 C 1 A_ExtChase(0,0)
	NSI2 A 0 A_ExtChase(0,0)
	NSI2 C 1 A_ExtChase(0,0)
	NSI2 A 0 A_ExtChase(0,0)
	NSI2 D 1 A_ExtChase(0,0)
	NSI2 A 0 A_ExtChase(0,0)
	NSI2 D 1 A_ExtChase(0,0)
	NSI2 A 0 A_ExtChase(0,0)
	TNT1 A 0 A_Jump(64,"UnPhaseRun")
	Loop
  UnPhaseRun:
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_ChangeFlag(FRIGHTENED,0)
	TNT1 A 0 A_PlaySound("phaseimp/teleport")
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 E 1 A_SetTranslucent(0.15)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 E 1 A_SetTranslucent(0.35)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 E 1 A_SetTranslucent(0.55)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NSI2 E 1 A_SetTranslucent(0.75)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SetTranslucent(1)
	NSI2 E 2 A_FaceTarget	
	Goto See2
  LoseWings:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	TNT1 A 0 A_ChangeFlag("FLOAT",0)
	TNT1 A 0 A_ChangeFlag("NOGRAVITY",0)
	NSIN H 4 Bright
	NSIN H 7 Bright A_Pain
	TNT1 A 0 A_SpawnItemEx("BlackGibbedGenerator",0,0,0,0,0,0,0,128,0)
	TNT1 A 0 A_SpawnItemEx("NemesisImpWing1",0,0,0,10,0,4)
	TNT1 A 0 A_SpawnItemEx("NemesisImpWing2",0,0,0,10,0,4)
	TNT1 A 0 A_SetUserVar("user_phase2",1)
	NSI2 H 7 Bright
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	Goto See2
  Death:
	TNT1 A 0 A_JumpIf(user_phase2 == 1,"Death2")
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("NoVexedBoys") == 1,4)
	TNT1 A 0 A_JumpIfInTargetInventory("TrueLegendaryRuneItem",1,"VexedSpawn")
	TNT1 A 0 A_JumpIfInTargetInventory("TrueLegendaryRuneItem2",1,"VexedSpawn")
	TNT1 A 0 A_JumpIf(user_deathtimer <= 10,"VexedSpawn")	
	NSIN I 8
	NSIN J 8 A_Scream
	NSIN K 6
	NSIN L 6 A_NoBlocking
	NSIN M 1
	TNT1 A 0 A_Jump(100,"MoreStuff")
	NSIN N -1
	Stop
  MoreStuff:
	NSIN N 100
	TNT1 A 0 A_SpawnItem("HellionSmokeAttack")
	NSIN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 1 A_SpawnItem("NemesisZombieItemRandomizer")
	NSIN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 1 A_SpawnItem("NemesisZombieItemRandomizer")
	NSIN N 1 A_SpawnItem("NemesisZombieSuperItemRandomizer")
	NSIN N -1
	Stop
  VexedSpawn:
	NSIN H 3 Bright A_Pain
	NSIN H 0 A_PlaySoundEx("brain/spit",7,0,2)
	NSIN HHHHHHHHHHHHHHHHH 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	NSIN HHHHHHHHHHHHHHHHH 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	NSIN HHHHHHHHHHHHHHHHH 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("NemesisLightning")
	NSIN HHHHHHHHHHHH 2 Bright A_SpawnItemEx("VexedNemesisFlameSpawner")
	TNT1 A 0 A_SpawnItemEx("VexedNemesisImp",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TELEFRAG)
	TNT1 A 0
	Stop	
  Death2:
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("NoVexedBoys") == 1,4)
	TNT1 A 0 A_JumpIfInTargetInventory("TrueLegendaryRuneItem",1,"VexedSpawn2")
	TNT1 A 0 A_JumpIfInTargetInventory("TrueLegendaryRuneItem2",1,"VexedSpawn2")
	TNT1 A 0 A_JumpIf(user_deathtimer <= 10,"VexedSpawn2")
	NSI2 I 8 A_SetTranslucent(1)
	NSI2 J 8 A_Scream
	NSI2 K 6
	NSI2 L 6 A_Fall
	TNT1 A 0 A_Jump(100,"MoreStuff2")
	NSI2 M -1
	Stop
  MoreStuff2:
	NSI2 M 100
	TNT1 A 0 A_SpawnItem("HellionSmokeAttack")
	NSI2 MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 1 A_SpawnItem("NemesisZombieItemRandomizer")
	NSI2 MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 1 A_SpawnItem("NemesisZombieItemRandomizer")
	NSI2 M 1 A_SpawnItem("NemesisZombieSuperItemRandomizer")
	NSI2 M -1
	Stop
  VexedSpawn2:
	NSI2 H 3 Bright A_Pain
	NSI2 H 0 A_PlaySoundEx("brain/spit",7,0,2)
	NSI2 HHHHHHHHHHHHHHHHH 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	NSI2 HHHHHHHHHHHHHHHHH 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	NSI2 HHHHHHHHHHHHHHHHH 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("NemesisLightning")
	NSI2 HHHHHHHHHHHH 2 Bright A_SpawnItemEx("VexedNemesisFlameSpawner")
	TNT1 A 0 A_SpawnItemEx("VexedNemesisImp",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 A 0
	Stop
  }
}

Actor NemesisImpNoWingsToken : CustomInventory
{ 
Inventory.Amount 1
Inventory.MaxAmount 1
}

Actor NemesisImpBall : GenericWeakOrb
{
  Decal "DoomImpScorch"
  Renderstyle Subtract
  Damage 25
  Speed 30
  SeeSound "Null"
  DeathSound "imp/shotx"
  Damagetype "Legendary"
  +NOTIMEFREEZE
  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 NemesisImpBallSeek : NemesisImpBall
{
  Damage (Random(16,20))
  Speed 35
  +NOTIMEFREEZE
  +SEEKERMISSILE
  +RIPPER
  +NOBOSSRIP
  +BLOODLESSIMPACT
  DeathSound "phaseimp/shotx"
  States
  {
  Spawn:
	TNT1 A 0 Bright A_SeekerMissile(12,0)
	TNT1 A 0 Bright A_BishopMissileWeave
	CLBA D 1 Bright A_SpawnItemEx("BlackProjParticleSuperLarge",0,0,0,0,frandom(-1,1),frandom(-1,1),random(0,359))
	TNT1 A 0 Bright A_BishopMissileWeave
	CLBA D 1 Bright A_SpawnItemEx("BlackProjParticleSuperLarge",0,0,0,0,frandom(-1,1),frandom(-1,1),random(0,359))
	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 NemesisImpLaser : FastProjectile
{
  Radius 6
  Speed 300
  Height 6
  damage 5
  Scale 0.6
  RenderStyle Subtract
  Projectile
  +RIPPER
  +FORCEXYBILLBOARD
  +NOTIMEFREEZE
  Seesound "uroboros/laser"
  Missiletype "NemesisImpLaserTrail"
  MissileHeight 8
  Damagetype "Legendary"
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("BlackProjParticleSuperLarge2",0,0,0,frandom(0,6),frandom(-6,6),frandom(-6,6))
	TNT1 A 1 Bright
	Loop
  Death:
	TNT1 A 1 Bright
	Stop
  }
}

ACTOR NemesisImpLaserTrail : BaseProjectileEffect
{
  +NOTIMEFREEZE
  +NOGRAVITY
  +FORCERADIUSDMG
  -CLIENTSIDEONLY
  -NOINTERACTION
  Damagetype "Legendary"
  Renderstyle Subtract
  Scale 0.6
  States
  {
  Spawn:
	TNT1 A 0
	CLBA DDDDDDDDDDDDDDDDDDDD 1 Bright A_Explode(2,60)
	TNT1 A 0 Bright A_SetScale(0.55)
	TNT1 A 0 Bright A_FadeOut(0.1)
	CLBA D 1
	TNT1 A 0 Bright A_SetScale(0.5)
	TNT1 A 0 Bright A_FadeOut(0.1)
	CLBA D 1
	TNT1 A 0 Bright A_SetScale(0.45)
	TNT1 A 0 Bright A_FadeOut(0.1)
	CLBA D 1
	TNT1 A 0 Bright A_SetScale(0.4)
	TNT1 A 0 Bright A_FadeOut(0.1)
	CLBA D 1
	TNT1 A 0 Bright A_SetScale(0.35)
	TNT1 A 0 Bright A_FadeOut(0.1)
	CLBA D 1
	TNT1 A 0 Bright A_SetScale(0.3)
	TNT1 A 0 Bright A_FadeOut(0.1)
	CLBA D 1
	TNT1 A 0 Bright A_SetScale(0.25)
	TNT1 A 0 Bright A_FadeOut(0.1)
	CLBA D 1
	TNT1 A 0 Bright A_SetScale(0.2)
	TNT1 A 0 Bright A_FadeOut(0.1)
	CLBA D 1
	TNT1 A 0 Bright A_SetScale(0.15)
	TNT1 A 0 Bright A_FadeOut(0.1)
	CLBA D 1
	Stop
  }
}

Actor NemesisImpLaserBall : LegendaryImpBlueBall
{
  Decal "Scorch"
  Speed 35
  FastSpeed 35
  Scale 1.2
  Renderstyle Subtract
  DeathSound "exile/voidend"
  States
  {
  Spawn:
	TNT1 A 0 NoDelay A_Playsound("exile/voidsuck",6,1.0,1)
	Goto Fly
  Fly:
	CLBB D 3 Bright A_SpawnItemEx("BlackProjParticleSuperLarge2",0,0,0,0,frandom(-1,1),frandom(-1,1),random(0,359))
	TNT1 A 0 A_SpawnItemEx("BlackProjParticleSuperLarge2",0,0,0,0,frandom(-1,1),frandom(-1,1),random(0,359))
	TNT1 A 0 A_CustomMissile("NemesisImpLaserBallAttack",random(-1,1),random(-2,2),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
	CLBB D 3 Bright A_SpawnItemEx("BlackProjParticleSuperLarge2",0,0,0,0,frandom(-1,1),frandom(-1,1),random(0,359))
	TNT1 A 0 A_SpawnItemEx("BlackProjParticleSuperLarge2",0,0,0,0,frandom(-1,1),frandom(-1,1),random(0,359))
	TNT1 A 0 A_CustomMissile("NemesisImpLaserBallAttack",random(-1,1),random(-2,2),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
	CLBB D 3 Bright A_SpawnItemEx("BlackProjParticleSuperLarge2",0,0,0,0,frandom(-1,1),frandom(-1,1),random(0,359))
	TNT1 A 0 A_SpawnItemEx("BlackProjParticleSuperLarge2",0,0,0,0,frandom(-1,1),frandom(-1,1),random(0,359))
	TNT1 A 0 A_CustomMissile("NemesisImpLaserBallAttack",random(-1,1),random(-2,2),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
	Loop
  Death:
	TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_Explode(158,138,0)
	TNT1 A 0 Radius_Quake(20,12,0,12,0)
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("BlackProjParticleSuperLarge",0,0,0,frandom(-7,7),frandom(-7,7),frandom(-7,7),random(0,359))
	CLBB D 1 Bright A_FadeOut(0.2)
	Goto Death+4
	}
}

ACTOR NemesisImpLaserBallAttack : LegBallAttack
{
Speed 7
FastSpeed 7
Obituary "%o was mutilated by a Nemesis Imp"
States
  {
  Attack:
	TNT1 A 0 Bright
	TNT1 A 0 Bright A_FaceTarget
	TNT1 A 0 Bright A_RearrangePointers(AAPTR_MASTER, AAPTR_MASTER, AAPTR_NULL)
	TNT1 A 1 Bright A_CustomRailgun(8,0,None,None,RGF_SILENT|RGF_FULLBRIGHT,0,2,"LegendaryImpPuff",0,0,0,0,3.0,0,"NemesisImpRailParticle")
	Goto Death
  }
}

ACTOR NemesisImpRailParticle : BaseProjectileEffect
{
  +NOTIMEFREEZE
  Scale 0.3
  Renderstyle Subtract
  States
  {
  Spawn:
	TNT1 A 0
	CLBA D 2 Bright
	TNT1 A 0 A_SetScale(0.25)
	CLBA D 2 Bright A_FadeOut(0.2)
	TNT1 A 0 A_SetScale(0.2)
	CLBA D 2 Bright A_FadeOut(0.2)
	TNT1 A 0 A_SetScale(0.15)
	CLBA D 2 Bright A_FadeOut(0.2)
	TNT1 A 0 A_SetScale(0.1)
	CLBA D 2 Bright A_FadeOut(0.2)
	TNT1 A 0 A_SetScale(0.05)
	CLBA D 2 Bright A_FadeOut(0.2)
	Stop
	}
}

actor NemesisImpWing1
{
health 1
radius 8
height 8
mass 1
scale 0.75
+CORPSE
+NOTELEPORT
+NOTIMEFREEZE
Bloodcolor "Black"
states
  {
  Spawn:
   NMW1 ABC 8
   loop
  Crash:
   NMW1 D -1
   stop
  }
}

ACTOR NemesisImpWing2 : NemesisImpWing1
{
states
  {
  Spawn:
   NMW1 ABC 8
   loop
  Crash:
   NMW1 D -1
   stop
  }
}

ACTOR NemesisImpGhost
{
PROJECTILE
Height 56
Radius 20
Speed 0
Scale 1.1
RENDERSTYLE Translucent
Alpha 0.7
+NOTIMEFREEZE
+NOINTERACTION
+CLIENTSIDEONLY
States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
	TNT1 A 1
	Goto Fade
  Fade:
	NSIN A 2 A_FadeOut(0.1,1)
	Loop
  Toaster:
	TNT1 A 1 Bright
	Stop	
  }
}