ACTOR VexedNemesisImp : NemesisImp 28012
{
  Health 2000
  Speed 20
  DamageFactor 0.5
  DamageFactor "Explosion", 0.0001
  DamageFactor "PlayerDTRG", 0.0001
  DamageFactor "DTRailgun", 0.0001
  DamageFactor "PDTPuff", 0.0001
  DamageFactor "RailG", 0.0001
  DamageFactor "PyroShot", 0.0001
  DamageFactor "PlayerPyro", 0.0001
  DamageFactor "PlayerBHole", 0.025
  DamageFactor "PlayerDBFG", 0.015
  DamageFactor "PlayerDBFG2", 0.015
  PainChance "Explosion", 128
  PainChance "PlayerDTRG", 128
  PainChance "DTRailgun", 128
  PainChance "PDTPuff", 128
  PainChance "RailG", 128
  -FLOAT
  -NOGRAVITY
  +BRIGHT
  SeeSound "VexedNemesisImp/sight"
  ActiveSound "VexedNemesisImp/active"
  PainSound "VexedNemesisImp/pain"
  DeathSound "VexedNemesisImp/death"
  Obituary "%o was disfigured by the Vexed Nemesis Imp."
  HitObituary "%o was ripped into bloody pieces by the Vexed Nemesis Imp."
  Tag "\c[w2]Vexed Nemesis Imp\c-"
  var int user_missile;
  States
  {
  Spawn:
	TNT1 A 0 A_JumpIf(user_phase2 == 1,"Idle2")
	VSIN A 10 A_Look
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	Loop
  Idle2:
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VSI2 A 10 A_Look
	Loop
  GrowWings:
	TNT1 A 0 A_SetInvulnerable
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
    //TNT1 A 0 A_PlaySound("MReimu/Cast")
	//TNT1 A 0 A_SpawnItemEx("MReimuCastEffect2",0,0,32)
	VSIN H 4
	VSIN H 4 A_Pain
	TNT1 A 0 A_Playsound("brain/spit",4,1.0,0,ATTN_NONE)
	VSIN HHHHHHHHHHHHHHHHHHHHHHHHH 2 A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_ChangeFlag("FLOAT",1)
	TNT1 A 0 A_ChangeFlag("NOGRAVITY",1)
	TNT1 A 0 A_SetUserVar("user_phase2",1)
	VSI2 GGGGGGGGGGGGGG 2 A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	Goto See
  See:
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,722)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_JumpIf(user_phase2 == 1,"See2")
	TNT1 A 0 A_JumpIfHealthLower(1000,"GrowWings")
	TNT1 A 0 A_Jump(60,"Teleport","Rush")
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VSIN AA 2 A_FastChase
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VSIN BB 2 A_FastChase
	TNT1 A 0 A_SpawnItem("HumanishStep",0,0,0,0)
	TNT1 A 0 A_Jump(60,"Teleport","Rush")
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VSIN CC 2 A_FastChase
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VSIN DD 2 A_FastChase
	TNT1 A 0 A_SpawnItem("HumanishStep",0,0,0,0)
    Loop
  See2:
	TNT1 A 0 A_Jump(60,"Teleport2","Rush2")
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VSI2 AA 2 A_Chase
	TNT1 A 0 A_Stop
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VSI2 BB 2 A_Chase
	TNT1 A 0 A_Jump(60,"Teleport2","Rush2")
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VSI2 CC 2 A_Chase
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VSI2 DD 2 A_Chase
	TNT1 A 0 ThrustThing(Angle*256/360+random(-64,64),30,0,0)
	Loop
  Rush:
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Chase
	VSIN A 1 A_Chase
	TNT1 A 0 A_Chase
	VSIN A 1 A_Chase
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Chase
	VSIN B 1 A_Chase
	TNT1 A 0 A_Chase
	VSIN B 1 A_Chase
	TNT1 A 0 A_SpawnItem("HumanishStep",0,0,0,0)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Chase
	VSIN C 1 A_Chase
	TNT1 A 0 A_Chase
	VSIN C 1 A_Chase
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_Chase
	VSIN D 1 A_Chase
	TNT1 A 0 A_Chase
	VSIN D 1 A_Chase
	TNT1 A 0 A_SpawnItem("HumanishStep",0,0,0,0)
	TNT1 A 0 A_Jump(64,"See")
	Loop
  Rush2:
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("VexedNemesisImpGhostA")
	TNT1 A 0 A_Chase
	VSI2 A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("VexedNemesisImpGhostA")
	TNT1 A 0 A_Chase
	VSI2 A 1 A_Chase
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("VexedNemesisImpGhostB")
	TNT1 A 0 A_Chase
	VSI2 B 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("VexedNemesisImpGhostB")
	TNT1 A 0 A_Chase
	VSI2 B 1 A_Chase
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("VexedNemesisImpGhostC")
	TNT1 A 0 A_Chase
	VSI2 C 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("VexedNemesisImpGhostC")
	TNT1 A 0 A_Chase
	VSI2 C 1 A_Chase
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("VexedNemesisImpGhostD")
	TNT1 A 0 A_Chase
	VSI2 D 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("VexedNemesisImpGhostD")
	TNT1 A 0 A_Chase
	VSI2 D 1 A_Chase
	TNT1 A 0 A_Jump(64,"See")
	Loop
  Teleport:
	VSIN A 1 A_UnSetShootable
	TNT1 AAAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VSIN AAAAAAAAAA 1 A_FadeOut(0.1,0)
	VSIN A 2
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	VSIN A 1 A_PlayWeaponSound("boss/teleport")
	TNT1 AAAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VSIN AAAAAAAAAA 1 A_FadeIn(0.1)
	VSIN A 1 A_SetShootable
	Goto See
  Teleport2:
	TNT1 A 0 ThrustThing(Angle*256/360+random(0,360),30,0,0)
	VSI2 A 1 A_UnSetShootable
	TNT1 AAAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VSI2 AAAAAAAAAA 1 A_FadeOut(0.1,0)
	TNT1 A 0 A_Stop
	VSI2 A 2
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	VSI2 A 1 A_PlayWeaponSound("boss/teleport")
	TNT1 A 0 ThrustThing(Angle*256/360+random(-64,64),30,0,0)
	TNT1 AAAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VSI2 AAAAAAAAAA 1 A_FadeIn(0.1)
	TNT1 A 0 A_Stop
	VSI2 A 1 A_SetShootable
	Goto See
  Melee:
	TNT1 A 0 A_JumpIf(user_phase2 == 1,"Melee2")
	VSIN EF 2 A_FaceTarget
	VSIN G 2 A_MeleeAttack
	Goto See
  Melee2:
	VSI2 EF 2 A_FaceTarget
	VSI2 F 2 A_MeleeAttack
 	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_JumpIfCloser(250,"Lunge")
	TNT1 A 0 A_Jump(40,"SuperFireBall")
	TNT1 A 0 A_Jump(64,"Laser","FireSpread")
	TNT1 A 0 A_Jump(128,"Seeker")
	Goto Normal
  Missile2:
	TNT1 A 0 A_Jump(40,"SuperFireBall2","LaserBall")
	TNT1 A 0 A_Jump(64,"Laser2","FireSpread2")
	TNT1 A 0 A_Jump(128,"Seeker2")
	Goto Normal2
  Normal:
	VSIN EF 2 A_FaceTarget
	TNT1 A 0 A_PlaySound("imp/attack")
	VSIN G 2 A_CustomMissile("VexedNemesisImpBall",32,0,0)
	TNT1 A 0 A_CustomMissile("VexedNemesisImpBall",32,0,8)
	VSIN G 1 A_CustomMissile("VexedNemesisImpBall",32,0,-8)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	VSIN VW 2 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	VSIN X 2 A_CustomMissile("VexedNemesisImpBall",32,0,0)
	TNT1 A 0 A_CustomMissile("VexedNemesisImpBall",32,0,8)
	VSIN X 1 A_CustomMissile("VexedNemesisImpBall",32,0,-8)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	VSIN EF 2 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	VSIN G 2 A_CustomMissile("VexedNemesisImpBall",32,0,0)
	TNT1 A 0 A_CustomMissile("VexedNemesisImpBall",32,0,8)
	VSIN G 1 A_CustomMissile("VexedNemesisImpBall",32,0,-8)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	VSIN VW 2 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	VSIN X 2 A_CustomMissile("VexedNemesisImpBall",32,0,0)
	TNT1 A 0 A_CustomMissile("VexedNemesisImpBall",32,0,8)
	VSIN X 1 A_CustomMissile("VexedNemesisImpBall",32,0,-8)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	VSIN EF 2 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	VSIN G 2 A_CustomMissile("VexedNemesisImpBall",32,0,0)
	TNT1 A 0 A_CustomMissile("VexedNemesisImpBall",32,0,8)
	VSIN G 1 A_CustomMissile("VexedNemesisImpBall",32,0,-8)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	VSIN VW 2 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	VSIN X 2 A_CustomMissile("VexedNemesisImpBall",32,0,0)
	TNT1 A 0 A_CustomMissile("VexedNemesisImpBall",32,0,8)
	VSIN X 1 A_CustomMissile("VexedNemesisImpBall",32,0,-8)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	VSIN EF 2 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	VSIN G 2 A_CustomMissile("VexedNemesisImpBall",32,0,0)
	TNT1 A 0 A_CustomMissile("VexedNemesisImpBall",32,0,8)
	VSIN G 1 A_CustomMissile("VexedNemesisImpBall",32,0,-8)
	Goto See
  Normal2:
	VSI2 EF 3 A_FaceTarget
	TNT1 A 0 A_PlaySound("imp/attack")
	VSI2 F 2 A_CustomMissile("VexedNemesisImpBall",32,0,0)
	TNT1 A 0 A_CustomMissile("VexedNemesisImpBall",32,0,5)
	VSI2 F 1 A_CustomMissile("VexedNemesisImpBall",32,0,-5)
	TNT1 A 0 A_CustomMissile("VexedNemesisImpBall",32,0,10)
	VSI2 F 1 A_CustomMissile("VexedNemesisImpBall",32,0,-10)
	TNT1 A 0 ThrustThing(Angle*256/360+random(-64,64),30,0,0)
	VSI2 EF 3 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	VSI2 F 2 A_CustomMissile("VexedNemesisImpBall",32,0,0)
	TNT1 A 0 A_CustomMissile("VexedNemesisImpBall",32,0,5)
	VSI2 F 1 A_CustomMissile("VexedNemesisImpBall",32,0,-5)
	TNT1 A 0 A_CustomMissile("VexedNemesisImpBall",32,0,10)
	VSI2 F 1 A_CustomMissile("VexedNemesisImpBall",32,0,-10)
	TNT1 A 0 ThrustThing(Angle*256/360+random(-64,64),30,0,0)
	VSI2 EF 3 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	VSI2 F 2 A_CustomMissile("VexedNemesisImpBall",32,0,0)
	TNT1 A 0 A_CustomMissile("VexedNemesisImpBall",32,0,5)
	VSI2 F 1 A_CustomMissile("VexedNemesisImpBall",32,0,-5)
	TNT1 A 0 A_CustomMissile("VexedNemesisImpBall",32,0,10)
	VSI2 F 1 A_CustomMissile("VexedNemesisImpBall",32,0,-10)
	Goto See
  Seeker:
	VSIN EF 2 A_FaceTarget
	TNT1 A 0 A_PlaySound("imp/attack")
	VSIN G 3 A_CustomMissile("VexedNemesisImpBallSeek",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	VSIN VW 2 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	VSIN X 3 A_CustomMissile("VexedNemesisImpBallSeek",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	VSIN EF 2 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	VSIN G 3 A_CustomMissile("VexedNemesisImpBallSeek",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	VSIN VW 2 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	VSIN X 3 A_CustomMissile("VexedNemesisImpBallSeek",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	VSIN EF 2 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	VSIN G 3 A_CustomMissile("VexedNemesisImpBallSeek",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	VSIN VW 2 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	VSIN X 3 A_CustomMissile("VexedNemesisImpBallSeek",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	VSIN EF 2 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	VSIN G 3 A_CustomMissile("VexedNemesisImpBallSeek",32,0,0)
	Goto See
  Seeker2:
	VSI2 EF 3 A_FaceTarget
	TNT1 A 0 ThrustThing(Angle*256/360+random(-64,64),30,0,0)
	TNT1 A 0 A_PlaySound("imp/attack")
	VSI2 F 6 A_CustomMissile("VexedNemesisImpBallSeek",32,0,0)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_PlaySound("imp/attack")
	VSI2 F 6 A_CustomMissile("VexedNemesisImpBallSeek",32,0,0)
	TNT1 A 0 A_Stop
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_PlaySound("imp/attack")
	VSI2 F 6 A_CustomMissile("VexedNemesisImpBallSeek",32,0,0)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_PlaySound("imp/attack")
	VSI2 F 6 A_CustomMissile("VexedNemesisImpBallSeek",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(-64,64),30,0,0)
	TNT1 A 0 A_PlaySound("imp/attack")
	VSI2 F 6 A_CustomMissile("VexedNemesisImpBallSeek",32,0,0)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_PlaySound("imp/attack")
	VSI2 F 6 A_CustomMissile("VexedNemesisImpBallSeek",32,0,0)
	TNT1 A 0 A_Stop
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_PlaySound("imp/attack")
	VSI2 F 6 A_CustomMissile("VexedNemesisImpBallSeek",32,0,0)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_PlaySound("imp/attack")
	VSI2 F 6 A_CustomMissile("VexedNemesisImpBallSeek",32,0,0)
	Goto See
  FireSpread:
	VSIN EF 2 A_FaceTarget
	TNT1 A 0 A_PlaySound("imp/attack")
	VSIN G 3 A_CustomMissile("VexedNemesisImpFireBall",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	VSIN VW 2 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	VSIN X 3 A_CustomMissile("VexedNemesisImpFireBall",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	VSIN EF 2 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	VSIN G 3 A_CustomMissile("VexedNemesisImpFireBall",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	VSIN VW 2 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	VSIN X 3 A_CustomMissile("VexedNemesisImpFireBall",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	VSIN EF 2 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	VSIN G 3 A_CustomMissile("VexedNemesisImpFireBall",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(64,192),30,0,0)
	Goto See
  FireSpread2:
	VSI2 EF 3 A_FaceTarget
	TNT1 A 0 A_PlaySound("imp/attack")
	VSI2 F 3 A_CustomMissile("VexedNemesisImpFireBall",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(-64,64),30,0,0)
	VSI2 EF 3 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	VSI2 F 3 A_CustomMissile("VexedNemesisImpFireBall",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(-64,64),30,0,0)
	VSI2 EF 3 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	VSI2 F 3 A_CustomMissile("VexedNemesisImpFireBall",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(-64,64),30,0,0)
	VSI2 EF 3 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	VSI2 F 3 A_CustomMissile("VexedNemesisImpFireBall",32,0,0)
	TNT1 A 0 ThrustThing(Angle*256/360+random(-64,64),30,0,0)
	VSI2 EF 3 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("imp/attack")
	VSI2 F 3 A_CustomMissile("VexedNemesisImpFireBall",32,0,0)
	Goto See
  /*Missile2:
	TNT1 A 0 A_Jump(32,"Super")
	TNT1 A 0 A_Jump(64,"Seeker","Laser")
	Goto Normal*/
  Laser:
	TNT1 A 0 A_PlaySound("VexedNemesisImp/Sight")
	TNT1 A 0 A_Facetarget
	VSIN EEEFFF 4 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    TNT1 A 0 A_PlaySound("FantasyStaff/Fire",7,1.0,0,0.2) 
	TNT1 A 0 A_SetUserVar("user_missile",0)
  LaserLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 20,"See")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_Facetarget
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VSIN GGGG 1 A_CustomMissile("VexedNemesisImpLaser",32,0,0)
    TNT1 A 0 A_PlaySound("FantasyStaff/FireLoop",6,1.0,0,0.2)
	Loop
  Laser2:
	TNT1 A 0 A_PlaySound("VexedNemesisImp/Sight")
	TNT1 A 0 A_Facetarget
	VSI2 EEEEFF 4 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    TNT1 A 0 A_PlaySound("FantasyStaff/Fire",7,1.0,0,0.2) 
	TNT1 A 0 A_SetUserVar("user_missile",0)
  LaserLoop2:
	TNT1 A 0 A_JumpIf(user_missile >= 5,"See")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_Stop
	TNT1 A 0 ThrustThing(Angle*256/360+random(-64,64),30,0,0)
	TNT1 A 0 A_Facetarget
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VSI2 FFFF 1 A_CustomMissile("VexedNemesisImpLaser",32,0,0)
    TNT1 A 0 A_PlaySound("FantasyStaff/FireLoop",6,1.0,0,0.2)
	TNT1 A 0 A_Facetarget
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VSI2 FFFF 1 A_CustomMissile("VexedNemesisImpLaser",32,0,0)
    TNT1 A 0 A_PlaySound("FantasyStaff/FireLoop",6,1.0,0,0.2)
	TNT1 A 0 A_Facetarget
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VSI2 FFFF 1 A_CustomMissile("VexedNemesisImpLaser",32,0,0)
    TNT1 A 0 A_PlaySound("FantasyStaff/FireLoop",6,1.0,0,0.2)
	TNT1 A 0 A_Facetarget
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VSI2 FFFF 1 A_CustomMissile("VexedNemesisImpLaser",32,0,0)
    TNT1 A 0 A_PlaySound("FantasyStaff/FireLoop",6,1.0,0,0.2)
	Loop
  SuperFireBall:
	TNT1 A 0 A_PlaySound("VexedNemesisImp/Sight")
	TNT1 A 0 A_Facetarget
	VSIN EEEFFF 4 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",random(-20,20),random(-20,20),random(0,10))
    TNT1 A 0 A_PlaySound("FantasyStaff/Fire2",7,1.0,0,0.2) 
    TNT1 A 0 A_PlaySound("FantasyStaff/Meltdown",6,1.0,0,0.2) 
	VSIN A 30 A_CustomMissile("VexedNemesisImpSuperFireball",32,0,0)
	Goto See
  SuperFireBall2:
	TNT1 A 0 A_PlaySound("VexedNemesisImp/Sight")
	TNT1 A 0 A_Facetarget
	VSI2 EEEEFF 4 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",random(-20,20),random(-20,20),random(0,10))
    TNT1 A 0 A_PlaySound("FantasyStaff/Fire2",7,1.0,0,0.2) 
    TNT1 A 0 A_PlaySound("FantasyStaff/Meltdown",6,1.0,0,0.2) 
	VSI2 F 30 A_CustomMissile("VexedNemesisImpSuperFireball",32,0,0)
	Goto See
  LaserBall:
	TNT1 A 0 A_SetInvulnerable
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	TNT1 A 0 A_PlaySound("VexedNemesisImp/Sight")
	TNT1 A 0 A_Facetarget
	VSI2 EEEEEE 4 A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_Facetarget
	VSI2 EEEFFF 4 A_GiveInventory("NemesisSoulEvent",1)
    TNT1 A 0 A_PlaySound("FantasyStaff/Fire2",7,1.0,0,0.2) 
    TNT1 A 0 A_PlaySound("FantasyStaff/Meltdown",6,1.0,0,0.2) 
	TNT1 A 0 A_PlaySound("legimp/fiyabetch")
	VSI2 F 30 A_CustomMissile("VexedNemesisImpLaserBall",32,0,0)
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	Goto See
  Pain:
	TNT1 A 0 A_JumpIf(user_phase2 == 1,"Pain2")
	TNT1 A 0 A_Jump(50,"Teleport")
	VSIN H 2 Bright
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VSIN H 2 Bright A_Pain
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	Goto See
  Pain2:
	TNT1 A 0 A_Stop
	TNT1 A 0 A_Jump(50,"Teleport")
	VSI2 G 2 Bright
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VSI2 G 2 Bright A_Pain
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	Goto See
  Death:
	TNT1 AAA 0 A_StopSound(6)
	VSI2 HI 8
	VSI2 J 8 A_Scream
	VSI2 K 6
	VSI2 L 6 A_NoBlocking
	VSI2 M 6
	TNT1 A 0 A_Jump(100,"MoreStuff")
	VSI2 N 100
	TNT1 A 0 A_JumpIfInTargetInventory("NemesisFragmentToken",1,3)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("NemesisFragment") == 0,2)
	TNT1 A 0 A_SpawnItemEx("NemesisFragmentSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,192)
	VSI2 N -1
	Stop
  MoreStuff:
	VSI2 N 100
	TNT1 A 0 A_JumpIfInTargetInventory("NemesisFragmentToken",1,3)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("NemesisFragment") == 0,2)
	TNT1 A 0 A_SpawnItemEx("NemesisFragmentSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,192)
	TNT1 A 0 A_SpawnItem("HellionSmokeAttack")
	VSI2 NNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 1 A_SpawnItem("NemesisZombieItemRandomizer")
	VSI2 NNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 1 A_SpawnItem("NemesisZombieItemRandomizer")
	VSI2 N 1 A_SpawnItem("NemesisZombieSuperItemRandomizer")
	VSI2 N -1
	Stop
  }
}

Actor VexedNemesisImpBall : NemesisImpBall
{
  Renderstyle Add
  Speed 50
  BounceType Doom
  BounceCount 2
  States
  {
  Spawn:
	CLBA D 1 Bright A_SpawnItemEx("VexedNemesisImpBallTrail",0,0,0,random(-2,0),random(-2,2),random(0,1))
	Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("NemesisWhiteParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
	TNT1 AAA 0 A_CustomMissile("WhiteNemesisKaboom4", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4", 0, 0, random(0,360), 2, random(0,360))		
	CLBA D 1 Bright A_FadeOut(0.2)
	Goto Death+8
  }
}

ACTOR VexedNemesisImpBallTrail : ImpBallTrail
{
  RenderStyle Add
  Alpha 1
  Scale 0.25
  +NOTIMEFREEZE
  States
  {
  Spawn:
   TNT1 A 0
   TNT1 A 0 A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
   2HDT ABCDEFGHIJK 1 Bright A_FadeOut
   Stop
  }
}

Actor VexedNemesisImpBallSeek : NemesisImpBallSeek
{
  Renderstyle Add
  Damage (Random(20,30))
  Speed 45
  States
  {
  Spawn:
	TNT1 A 0 Bright A_SeekerMissile(12,0)
	TNT1 A 0 Bright A_BishopMissileWeave
	CLBA D 1 Bright A_SpawnItemEx("NemesisWhiteProjParticleSuperLarge",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("NemesisWhiteProjParticleSuperLarge",0,0,0,0,frandom(-1,1),frandom(-1,1),random(0,359))
	Loop
  Death:
	TNT1 A 0
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("NemesisWhiteProjParticleSuperLarge",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 VexedNemesisImpLaser : FastProjectile
{
  Speed 100
  Radius 12
  Height 8
  Damage 2
  +RIPPER
  +BLOODLESSIMPACT
  +STRIFEDAMAGE
  +CANNOTPUSH
  +NODAMAGETHRUST
  +SPAWNSOUNDSOURCE
  +FORCEXYBILLBOARD
  +NOTIMEFREEZE
  Scale 0.5
  Renderstyle Add
  Damagetype "Legendary"
  Species "Imps"
  MissileType "VexedNemesisImpLaserTrail"
  MissileHeight 8
  SeeSound " "
  States
  {
  Spawn:
    CLBA D 4 Bright
    Loop
  Death:
	TNT1 A 0
	TNT1 AAAA 0 A_SpawnItemEx("NemesisWhiteProjParticleSuperLarge",0,0,0,frandom(-8,8),frandom(-8,8),frandom(-8,8),random(0,359))
    CLBA D 1 Bright A_FadeOut(0.05)
    Goto Death+5
  }
}

ACTOR VexedNemesisImpLaserTrail
{
  +NOINTERACTION
  +CLIENTSIDEONLY
  +FORCEXYBILLBOARD
  +NOTIMEFREEZE
  RenderStyle Add
  Scale 0.5
  States
  {
  Spawn:
    CLBA D 2 Bright A_FadeOut(0.2)
    Loop
  }
}

Actor VexedNemesisImpFireBall
{
  PROJECTILE
  Height 10
  Radius 8
  Speed 30
  FastSpeed 40
  RENDERSTYLE ADD
  Damage 20
  +NOTIMEFREEZE
  +DONTHARMSPECIES
  Species "Imps"
  Damagetype "Legendary"
  SeeSound "imp/attack"
  DeathSound "imp/shotx"
  States
  {
  Spawn:
	TNT1 AA 0 A_SpawnItemEx("VexedNemesisImpBallTrail",0,0,0,random(-6,0),random(-4,4),random(0,3))
	VMFL A 1 Bright A_SpawnItemEx("VexedNemesisImpBallTrail",0,0,0,random(-6,0),random(-4,4),random(0,3))
	TNT1 AA 0 A_SpawnItemEx("VexedNemesisImpBallTrail",0,0,0,random(-6,0),random(-4,4),random(0,3))
	VMFL B 1 Bright A_SpawnItemEx("VexedNemesisImpBallTrail",0,0,0,random(-6,0),random(-4,4),random(0,3))
	Loop
  Death:
	TNT1 A 0 Bright
	TNT1 A 0 A_SpawnItemEx("NemesisWhiteParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
	TNT1 AAA 0 A_CustomMissile("WhiteNemesisKaboom4", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4", 0, 0, random(0,360), 2, random(0,360))	
	TNT1 AAAAAAA 0 A_SpawnItemEx("VexedNemesisImpFireFlare",0,0,0,random(0,10),0,random(0,3),random(0,360))
	VMFL CDE 3 Bright
	Stop
	}
}

Actor VexedNemesisImpFireFlare
{
  Projectile
  Height 4
  Radius 2
  Gravity 0.52
  Bouncetype DoomCompat
  BounceFactor 0.01
  WallBounceFactor 0.01
  Scale 1.8
  Renderstyle Add
  +DONTFALL
  -Nogravity
  +NODAMAGETHRUST
  -EXTREMEDEATH
  +DONTHARMSPECIES
  +NOTIMEFREEZE
  +FORCERADIUSDMG
  Species "Imps"
  Damagetype "Legendary"
  var int user_fireloop;
  States
  {
  Spawn:
  Death:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(waterlevel > 1, "FuckOffHEMCustom")
	TNT1 A 0 A_ChangeFlag(MOVEWITHSECTOR,1)
	TNT1 A 0 A_SetUserVar("user_fireloop",random(0,8))
	TNT1 A 0 A_PlaySound("monster/ambientfire",7,1.0,1)
  DeathLoop:
	TNT1 A 0 A_JumpIf(user_fireloop >= 40,"Death2")	 
	TNT1 A 0 A_SetUserVar("user_fireloop",user_fireloop+1)
	WFCF AABBCC 1 Bright A_spawnItemEx("VexedNemesisImpBallTrail",random(-6,6),random(-6,6),random(0,3),random(-2,2),random(-2,2),random(2,7),random(0,360))
	TNT1 A 0 A_Explode(20,60)
	TNT1 A 0 A_JumpIf(user_fireloop >= 40,"Death2")	 
	TNT1 A 0 A_SetUserVar("user_fireloop",user_fireloop+1)
	WFCF DDEEFF 1 Bright A_spawnItemEx("VexedNemesisImpBallTrail",random(-6,6),random(-6,6),random(0,3),random(-2,2),random(-2,2),random(2,7),random(0,360))
	TNT1 A 0 A_Explode(20,60)
	TNT1 A 0 A_JumpIf(user_fireloop >= 40,"Death2")	 
	TNT1 A 0 A_SetUserVar("user_fireloop",user_fireloop+1)
	WFCF GGHHII 1 Bright A_spawnItemEx("VexedNemesisImpBallTrail",random(-6,6),random(-6,6),random(0,3),random(-2,2),random(-2,2),random(2,7),random(0,360))
	TNT1 A 0 A_Explode(20,60)
	TNT1 A 0 A_JumpIf(user_fireloop >= 40,"Death2")	 
	TNT1 A 0 A_SetUserVar("user_fireloop",user_fireloop+1)
	WFCF KKLLMM 1 Bright A_spawnItemEx("VexedNemesisImpBallTrail",random(-6,6),random(-6,6),random(0,3),random(-2,2),random(-2,2),random(2,7),random(0,360))
	TNT1 A 0 A_Explode(20,60)
	Loop
  Death2:
	TNT1 A 0 A_StopSound(7)
	WFCF MNOP 2 Bright
	Stop
  FuckOffHEMCustom:
	TNT1 A 1 Bright A_ChangeFlag("MISSILE",0)
	Stop
	}
}

Actor VexedNemesisImpSuperFireBall : VexedNemesisImpFireBall
{
  Height 16
  Radius 12
  Speed 20
  FastSpeed 25
  Damage 40
  Species "Imps"
  Damagetype "Legendary"
  SeeSound "comet/launch"
  DeathSound "comet/explosion"
  Scale 3.8
  States
  {
  Spawn:
	TNT1 AA 0 A_SpawnItemEx("VexedNemesisImpBallTrailLarge",0,0,0,random(-6,0),random(-4,4),random(0,3))
	VMFL A 1 Bright A_SpawnItemEx("VexedNemesisImpBallTrailLarge",0,0,0,random(-6,0),random(-4,4),random(0,3))
	TNT1 AA 0 A_SpawnItemEx("VexedNemesisImpBallTrailLarge",0,0,0,random(-6,0),random(-4,4),random(0,3))
	VMFL B 1 Bright A_SpawnItemEx("VexedNemesisImpBallTrailLarge",0,0,0,random(-6,0),random(-4,4),random(0,3))
	TNT1 A 0 A_SpawnItemEx("VexedNemesisImpFireFlare",0,0,0,random(0,10),0,random(0,3),random(0,360))
	Loop
  Death:
	TNT1 A 0 Bright
	TNT1 A 0 A_SpawnItemEx("NemesisWhiteParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
	TNT1 AAA 0 A_CustomMissile("WhiteNemesisKaboom4", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4", 0, 0, random(0,360), 2, random(0,360))	
	TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("VexedNemesisImpFireFlare",0,0,0,random(0,30),0,random(0,10),random(0,360))
	TNT1 A 0 A_Explode(200,300)
	VMFL CDE 3 Bright
	Stop
	}
}

Actor VexedNemesisImpBallTrailLarge : VexedNemesisImpBallTrail
{
  Scale 0.8
}

Actor VexedNemesisImpLaserBall : NemesisImpLaserBall
{
Speed 15
FastSpeed 20
Renderstyle Add
BounceType Doom
BounceCount 3
BounceFactor 1.0
DeathSound " "
Scale 2.0
States
  {
  Spawn:
	TNT1 A 0 Bright
	TNT1 A 0 Bright A_Playsound("exile/voidsuck",6,1.0,1)
	Goto Fly
  Fly:
	TNT1 A 0 A_SpawnItemEx("NemesisWhiteProjParticleSuperLarge2",0,0,0,frandom(-8,0),frandom(-8,8),frandom(-4,4))
	CLBB D 3 Bright A_SpawnItemEx("NemesisWhiteProjParticleSuperLarge2",0,0,0,frandom(-8,0),frandom(-8,8),frandom(-4,4))
	TNT1 A 0 A_SpawnItemEx("NemesisWhiteProjParticleSuperLarge2",0,0,0,frandom(-8,0),frandom(-8,8),frandom(-4,4))
	CLBB D 3 Bright A_SpawnItemEx("NemesisWhiteProjParticleSuperLarge2",0,0,0,frandom(-8,0),frandom(-8,8),frandom(-4,4))
	TNT1 A 0 A_SpawnItemEx("NemesisWhiteProjParticleSuperLarge2",0,0,0,frandom(-8,0),frandom(-8,8),frandom(-4,4))
	CLBB D 3 Bright A_SpawnItemEx("NemesisWhiteProjParticleSuperLarge2",0,0,0,frandom(-8,0),frandom(-8,8),frandom(-4,4))
	TNT1 AA 0 A_CustomMissile("VexedNemesisImpDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
	TNT1 A 0 A_CustomMissile("VexedNemesisImpLaserBallAttack",random(-1,1),random(-2,2),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
	Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_StopSound(6)
	TNT1 A 0 Radius_Quake(20,12,0,12,0)
	TNT1 A 0 A_Explode(50,400,0)
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("NemesisWhiteProjParticleSuperLarge2",0,0,0,frandom(-10,10),frandom(-10,10),frandom(-10,10),random(0,359))
    CLBB D 6 Bright A_SpawnItem("NemesisWhiteProjExplodeLarge")
	TNT1 A 0 A_Explode(50,400,0)
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("NemesisWhiteProjParticleSuperLarge2",0,0,0,frandom(-10,10),frandom(-10,10),frandom(-10,10),random(0,359))
    CLBB D 6 Bright A_SpawnItem("NemesisWhiteProjExplodeLarge")
	TNT1 A 0 A_Explode(50,400,0)
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("NemesisWhiteProjParticleSuperLarge2",0,0,0,frandom(-10,10),frandom(-10,10),frandom(-10,10),random(0,359))
    CLBB D 6 Bright A_SpawnItem("NemesisWhiteProjExplodeLarge")
	TNT1 A 0 A_Explode(50,400,0)
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("NemesisWhiteProjParticleSuperLarge2",0,0,0,frandom(-10,10),frandom(-10,10),frandom(-10,10),random(0,359))
    CLBB D 6 Bright A_SpawnItem("NemesisWhiteProjExplodeLarge")
	TNT1 A 0 A_Explode(50,400,0)
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("NemesisWhiteProjParticleSuperLarge2",0,0,0,frandom(-10,10),frandom(-10,10),frandom(-10,10),random(0,359))
    CLBB D 6 Bright A_SpawnItem("NemesisWhiteProjExplodeLarge")
	TNT1 A 1 A_SpawnItem("MiniNemesisDeathBall")
	Stop
  }
}

ACTOR VexedNemesisImpLaserBallAttack : NemesisImpLaserBallAttack
{
Speed 15
FastSpeed 20
Obituary "%o was disfigured by the Vexed Nemesis Imp."
States
  {
  Attack:
	TNT1 A 0
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_RearrangePointers(AAPTR_MASTER, AAPTR_MASTER, AAPTR_NULL)
	TNT1 A 1 Bright A_CustomRailgun(30,0,None,None,RGF_SILENT|RGF_FULLBRIGHT,0,2,"LegendaryImpPuff",0,0,0,0,3.0,0,"NemesisBFGRailParticle")
	Goto Death
  }
}

Actor VexedNemesisImpDevastatorBolt : NemesisCyberDevastatorBolt
{
  Species "Imps"
  Damagetype "Legendary"
  Obituary "%o was disfigured by the Vexed Nemesis Imp."
}

ACTOR VexedNemesisImpGhostA : NemesisImpGhost
{
States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
	TNT1 A 1
	Goto Fade
  Fade:
	VSI2 A 2 A_FadeOut(0.1,1)
	Loop
  Toaster:
	TNT1 A 1 Bright
	Stop	
  }
}

ACTOR VexedNemesisImpGhostB : VexedNemesisImpGhostA
{
States
  {
  Fade:
	VSI2 B 2 A_FadeOut(0.1,1)
	Loop	
  }
}

ACTOR VexedNemesisImpGhostC : VexedNemesisImpGhostA
{
States
  {
  Fade:
	VSI2 C 2 A_FadeOut(0.1,1)
	Loop	
  }
}

ACTOR VexedNemesisImpGhostD : VexedNemesisImpGhostA
{
States
  {
  Fade:
	VSI2 D 2 A_FadeOut(0.1,1)
	Loop	
  }
}