Actor NemesisTormentor : LegendaryTormentor 20834
{
  Health 4000
  Mass 1000
  Speed 20
  PainChance 15
  BloodColor "Black"
  +BRIGHT
  DamageFactor 0.55
  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.1
  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 Plasmatic Cannon" 175 1
  DropItem "Nemesis Rifle" 175 1
  DropItem "LegendaryPowerSphere" 120
  SeeSound "NemesisTormentor/Sight"
  ActiveSound "NemesisTormentor/Active"
  PainSound "NemesisTormentor/Pain"
  DeathSound "NemesisTormentor/Death"
  Obituary "%o had %p soul stripped away by the Nemesis Tormentor."
  HitObituary "%o's ass was devoured by the Nemesis Tormentor."
  Scale 0.85
  +FORCERADIUSDMG
  Tag "\c[v9]Nemesis Tormentor\c-"
  var int user_missile;
  var int user_soullevel;
  var int user_soul;
  States
  {
  Spawn:
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Taunt")
    TNT1 AAA 0 A_SpawnItemEx("NDefilerSmokeSpawner")
    NPAI A 10 A_Look
    Loop
  See:
    TNT1 A 0 A_JumpIf(user_music == 1,3)
    TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,753)
	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_JumpIfInventory("MarineKilled",1,"Taunt")
	TNT1 AAA 0 A_SpawnItemEx("NDefilerSmokeSpawner")
    NPAI AAA 2 A_Chase
	TNT1 A 0 A_Jump(68,"Avoid","Rush","Teleport")
    Loop	
  Rush:
	TNT1 AAA 0 A_SpawnItemEx("NDefilerSmokeSpawner")	
	NPAI AA 0 A_Chase
    NPAI A 1 A_SpawnItemEx("NemesisTormentorGhost")
	TNT1 A 0 A_Jump(12,"See")	
    Loop
  Avoid:
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 ThrustThing(Angle*256/360+random(-64,64),30,0,0)
	NPAI DDDDDDDDDDDDD 1 A_SpawnItemEx("NemesisTormentorGhost2")
	TNT1 A 0 A_Jump(155,"See")
	NPAI D 1 A_Stop
    Goto Avoid
  Teleport:
    NPAI D 1 A_UnSetShootable
	NPAI AAA 0 A_SpawnItemEx("NDefilerSmokeSpawner")
	NPAI DDDDDDDDDDD 1 A_FadeOut(0.1,0)
	NPAI AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
    NPAI D 1 A_PlayWeaponSound("boss/teleport")
	NPAI AAA 0 A_SpawnItemEx("NDefilerSmokeSpawner")
	NPAI DDDDDDDDDDD 1 A_FadeIn(0.1)
    NPAI D 1 A_SetShootable
    Goto See
  Taunt:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	TNT1 A 0 A_SetInvulnerable
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	TNT1 A 0 A_PlaySound("NemesisTormentor/Taunt",2,1.0,0,ATTN_NONE)
	TNT1 A 0 A_Quake(3,224,0,7000,"")
	NPAI AAA 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	NPAI GGGG 4 A_SpawnItemEx("NemesisPatriarchSkullEffect",random(-10,10),random(-10,10),random(60,70),0,0,frandom(3,4))
	NPAI AAA 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	NPAI GGGG 4 A_SpawnItemEx("NemesisPatriarchSkullEffect",random(-10,10),random(-10,10),random(60,70),0,0,frandom(3,4))
	NPAI AAA 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	NPAI HHHH 4 A_SpawnItemEx("NemesisPatriarchSkullEffect",random(-10,10),random(-10,10),random(60,70),0,0,frandom(3,4))
	NPAI AAA 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	NPAI HHHH 4 A_SpawnItemEx("NemesisPatriarchSkullEffect",random(-10,10),random(-10,10),random(60,70),0,0,frandom(3,4))
	NPAI AAA 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	NPAI IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 4 A_SpawnItemEx("NemesisPatriarchSkullEffect",random(-10,10),random(-10,10),random(60,70),0,0,frandom(3,4))
	TNT1 A 0 A_PlaySound("brain/spit",1,1.0,0,ATTN_NONE)
	TNT1 A 0 ACS_NamedExecuteAlways("NemesisTormentorSoul",0)
	TNT1 A 0 A_Quake(7,32,0,7000,"")
	NPAI IIIIIII 4 A_SpawnItemEx("NemesisSoulFlameSpawner")
	TNT1 A 0 A_TakeInventory("MarineKilled",9999)
	TNT1 A 0 A_UnSetInvulnerable
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	Goto Spawn
  Missile:
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"Taunt")
	TNT1 A 0 A_JumpIf(user_soul >= 1,3)
	TNT1 A 0 A_Jump(192,2)
	TNT1 A 0 A_JumpIfHealthLower(1500,"SummonSoul")
    TNT1 A 0 A_Jump(140,"CometSpam","LightningBalls","Nova","SmallLaser")
	TNT1 A 0 A_Jump(80,"NemesisSoulProjectile","Laser","Umbra","StormBolt")
  Normal:
    NPAI JJ 5 A_FaceTarget 
    NPAI K 0 A_CustomMissile("NemesisTormentorHadesBall1",92,-40,0,0)
    NPAI K 0 A_CustomMissile("NemesisTormentorHadesBall1",8,-40,0,0)
    NPAI K 0 A_CustomMissile("NemesisTormentorHadesBall1",92,40,0,0)
    NPAI K 0 A_CustomMissile("NemesisTormentorHadesBall1",8,40,0,0)
    NPAI K 0 A_CustomMissile("NemesisTormentorHadesBall2",54,-50,0,0)
    NPAI K 4 A_CustomMissile("NemesisTormentorHadesBall2",54,50,0,0)
    NPAI J 4 A_FaceTarget 
	TNT1 A 0 A_MonsterRefire(128,"See")
	TNT1 A 0 A_Jump(16,"Avoid","CometSpam")
    Goto Normal+2
	
	
  SummonSoul:
	TNT1 A 0 A_SetUserVar("user_soul",1)
	TNT1 A 0 A_Quake(4,128,0,2000,"")
	TNT1 A 0 A_PlaySound("NemesisTormentor/Attack2",2)
	TNT1 A 0 A_FaceTarget
	NPAI GGGG 4 A_SpawnItemEx("NemesisSoulFlameSpawner")
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_PlaySound("brain/spit",7,1.0,0,ATTN_NONE)
	NPAI GGGG 4 A_SpawnItemEx("NemesisSoulFlameSpawner")
	TNT1 A 0 A_FaceTarget
	NPAI GGGG 4 A_SpawnItemEx("NemesisSoulFlameSpawner")
	TNT1 A 0 A_FaceTarget
	NPAI HHHH 4 A_SpawnItemEx("NemesisSoulFlameSpawner")
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_PlaySound("brain/spit",7,1.0,0,ATTN_NONE)
	NPAI HHHH 4 A_SpawnItemEx("NemesisSoulFlameSpawner")
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_PlaySound("brain/spit",7,1.0,0,ATTN_NONE)
	NPAI HHHH 4 A_SpawnItemEx("NemesisSoulFlameSpawner")
	TNT1 A 0 A_SetUserVar("user_soul",1)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("NoVexedBoys") == 1,2)
	TNT1 A 0 A_JumpIf(user_soullevel >= 7,"SummonSoul2")
	TNT1 A 0 A_SpawnItemEx("NemesisSoul",0,0,30,10,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION)
	NPAI I 30
	Goto See
  SummonSoul2:
	TNT1 A 0 A_SpawnItemEx("VexedNemesisSoul",0,0,30,10,0,0,0,SXF_SETMASTER)
	NPAI I 30
	Goto See
	
	
  CometSpam:
    NPAI DDEE 4 A_FaceTarget
	TNT1 A 0 A_SetUserVar("user_missile",0)
	TNT1 A 0 A_JumpIf(user_soullevel >= 7,"CometSpamLoop6")	
	TNT1 A 0 A_JumpIf(user_soullevel >= 5,"CometSpamLoop5")	
	TNT1 A 0 A_JumpIf(user_soullevel >= 3,"CometSpamLoop4")	
	TNT1 A 0 A_JumpIf(user_soullevel >= 2,"CometSpamLoop3")	
	TNT1 A 0 A_JumpIf(user_soullevel >= 1,"CometSpamLoop2")	 
  CometSpamLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 6,"CometSpamEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_FaceTarget
    NPAI FFFF 3 A_CustomMissile("NemesisTormentorComet",35,random(-10,10),random(-15,15),CMF_OFFSETPITCH,frandom(-2,2))
	Loop
  CometSpamLoop2:
	TNT1 A 0 A_JumpIf(user_missile >= 9,"CometSpamEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_FaceTarget
    NPAI FFFF 3 A_CustomMissile("NemesisTormentorComet",35,random(-10,10),random(-10,10),CMF_OFFSETPITCH,frandom(-2,2))
	Loop
  CometSpamLoop3:
	TNT1 A 0 A_JumpIf(user_missile >= 9,"CometSpamEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_FaceTarget
    NPAI FFFF 2 A_CustomMissile("NemesisTormentorComet",35,random(-10,10),random(-10,10),CMF_OFFSETPITCH,frandom(-2,2))
	Loop
  CometSpamLoop4:
	TNT1 A 0 A_JumpIf(user_missile >= 12,"CometSpamEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_FaceTarget
    NPAI FFFF 2 A_CustomMissile("NemesisTormentorComet",35,random(-10,10),random(-8,8),CMF_OFFSETPITCH,frandom(-2,2))
	Loop
  CometSpamLoop5:
	TNT1 A 0 A_JumpIf(user_missile >= 15,"CometSpamEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_FaceTarget
    NPAI FFFF 1 A_CustomMissile("NemesisTormentorComet",35,random(-10,10),random(-8,8),CMF_OFFSETPITCH,frandom(-2,2))
	Loop
  CometSpamLoop6:
	TNT1 A 0 A_JumpIf(user_missile >= 20,"CometSpamEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_FaceTarget
    NPAI FFFF 1 A_CustomMissile("NemesisTormentorComet",35,random(-10,10),random(-8,8),CMF_OFFSETPITCH,frandom(-2,2))
	Loop
  CometSpamEnd:
	TNT1 A 0 A_Jump(148,"Avoid")
    Goto See
	
	
  LightningBalls:
	NPAI DDEE 6 A_FaceTarget
	TNT1 A 0 A_SetUserVar("user_missile",0)
	TNT1 A 0 A_JumpIf(user_soullevel >= 7,"LightningBallsLoop6")
	TNT1 A 0 A_JumpIf(user_soullevel >= 5,"LightningBallsLoop5")
	TNT1 A 0 A_JumpIf(user_soullevel >= 3,"LightningBallsLoop4")
	TNT1 A 0 A_JumpIf(user_soullevel >= 2,"LightningBallsLoop3")
	TNT1 A 0 A_JumpIf(user_soullevel >= 1,"LightningBallsLoop2")	 
  LightningBallsLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 3,"LightningBallsEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 AAAA 0 A_CustomMissile("NemesisTormentorLightningBall",35,random(-10,10),random(-10,10),CMF_OFFSETPITCH,frandom(-2,2))
	NPAI FFFF 5 A_FaceTarget
	Loop
  LightningBallsLoop2:
	TNT1 A 0 A_JumpIf(user_missile >= 4,"LightningBallsEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 AAAA 0 A_CustomMissile("NemesisTormentorLightningBall",35,random(-10,10),random(-10,10),CMF_OFFSETPITCH,frandom(-2,2))
	NPAI FFFF 4 A_FaceTarget
	Loop
  LightningBallsLoop3:
	TNT1 A 0 A_JumpIf(user_missile >= 5,"LightningBallsEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 AAAA 0 A_CustomMissile("NemesisTormentorLightningBall",35,random(-10,10),random(-10,10),CMF_OFFSETPITCH,frandom(-2,2))
	NPAI FFFF 4 A_FaceTarget
	Loop
  LightningBallsLoop4:
	TNT1 A 0 A_JumpIf(user_missile >= 5,"LightningBallsEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 AAAAA 0 A_CustomMissile("NemesisTormentorLightningBall",35,random(-10,10),random(-10,10),CMF_OFFSETPITCH,frandom(-2,2))
	NPAI FFFF 3 A_FaceTarget
	Loop
  LightningBallsLoop5:
	TNT1 A 0 A_JumpIf(user_missile >= 7,"LightningBallsEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 AAAAA 0 A_CustomMissile("NemesisTormentorLightningBall",35,random(-10,10),random(-10,10),CMF_OFFSETPITCH,frandom(-2,2))
	NPAI FFFF 2 A_FaceTarget
	Loop
  LightningBallsLoop6:
	TNT1 A 0 A_JumpIf(user_missile >= 10,"LightningBallsEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 AAAAA 0 A_CustomMissile("NemesisTormentorLightningBall",35,random(-10,10),random(-10,10),CMF_OFFSETPITCH,frandom(-2,2))
	NPAI FFFF 2 A_FaceTarget
	Loop
  LightningBallsEnd:
	TNT1 A 0 A_Jump(148,"Nova")
    Goto See
	
  PainNova:
	TNT1 A 0 A_Pain
  Nova:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_PlaySound("legbanished/attack2",1,1.0,0,0.6)
	NPAI LLLLLLLLLL 3 A_SpawnItemEx("NemesisTormentorNovaEffectSpawner")
	TNT1 A 0 A_FaceTarget
	NPAI GGG 2 A_SpawnItemEx("NemesisTormentorNovaEffectSpawner")
	TNT1 A 0 A_FaceTarget
	NPAI GGG 2 A_SpawnItemEx("NemesisTormentorNovaEffectSpawner")
	TNT1 A 0 A_FaceTarget
	NPAI HHH 2 A_SpawnItemEx("NemesisTormentorNovaEffectSpawner")
	TNT1 A 0 A_FaceTarget
	NPAI HHH 2 A_SpawnItemEx("NemesisTormentorNovaEffectSpawner")
	TNT1 A 0 A_PlaySound("FantasyStaff/Meltdown",1,1.0,0,0.4)
	TNT1 A 0 A_CustomMissile("NemesisTormentorNovaLightning",43,0,50)	
	TNT1 A 0 A_CustomMissile("NemesisTormentorNovaLightning",43,0,-50)
	TNT1 A 0 A_CustomMissile("NemesisTormentorNovaLightning",43,0,45)	
	TNT1 A 0 A_CustomMissile("NemesisTormentorNovaLightning",43,0,-45)
	TNT1 A 0 A_CustomMissile("NemesisTormentorNovaLightning",43,0,40)	
	TNT1 A 0 A_CustomMissile("NemesisTormentorNovaLightning",43,0,-40)
	TNT1 A 0 A_CustomMissile("NemesisTormentorNovaLightning",43,0,35)	
	TNT1 A 0 A_CustomMissile("NemesisTormentorNovaLightning",43,0,-35)
	TNT1 A 0 A_CustomMissile("NemesisTormentorNovaLightning",43,0,30)	
	TNT1 A 0 A_CustomMissile("NemesisTormentorNovaLightning",43,0,-30)
    TNT1 A 0 A_CustomMissile("NemesisTormentorNovaLightning",43,0,25)	
	TNT1 A 0 A_CustomMissile("NemesisTormentorNovaLightning",43,0,-25)
    TNT1 A 0 A_CustomMissile("NemesisTormentorNovaLightning",43,0,20)	
	TNT1 A 0 A_CustomMissile("NemesisTormentorNovaLightning",43,0,-20)
    TNT1 A 0 A_CustomMissile("NemesisTormentorNovaLightning",43,0,15)	
	TNT1 A 0 A_CustomMissile("NemesisTormentorNovaLightning",43,0,-15)
    TNT1 A 0 A_CustomMissile("NemesisTormentorNovaLightning",43,0,10)	
	TNT1 A 0 A_CustomMissile("NemesisTormentorNovaLightning",43,0,-10)	
    TNT1 A 0 A_CustomMissile("NemesisTormentorNovaLightning",43,0,5)	
	TNT1 A 0 A_CustomMissile("NemesisTormentorNovaLightning",43,0,-5)
    TNT1 A 0 A_CustomMissile("NemesisTormentorNovaLightning",43,0,0)
	TNT1 A 0 A_JumpIf(user_soullevel >= 5,"Nova3")
	TNT1 A 0 A_JumpIf(user_soullevel >= 2,"Nova2")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	NPAI I 25
	TNT1 A 0 A_Jump(64,"Laser")
	Goto See
  Nova3:
	TNT1 AAAAAAAAAAAAAAAAAAA 0 A_CustomMissile("NemesisLightningBolt",43,0,random(-50,50))
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	NPAI I 25
	TNT1 A 0 A_Jump(64,"Laser")
	Goto See
  Nova2:
	TNT1 AAAAAAA 0 A_CustomMissile("NemesisLightningBolt",43,0,random(-50,50))
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	NPAI I 25
	TNT1 A 0 A_Jump(64,"Laser")
	Goto See
	
	
  SmallLaser:
	TNT1 A 0 A_PlaySound("NemesisTormentor/Attack",2)
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
    NPAI J 4 A_FaceTarget 
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
    NPAI J 4 A_FaceTarget 
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
    NPAI J 4 A_FaceTarget 
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
    NPAI J 4 A_FaceTarget 
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
    NPAI J 4 A_FaceTarget 
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
    NPAI J 4 A_FaceTarget 
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
    NPAI J 4 A_FaceTarget 
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
    NPAI J 4 A_FaceTarget 
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
    NPAI J 4 A_FaceTarget 
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
    NPAI J 4 A_FaceTarget 
	TNT1 A 0 A_JumpIf(user_soullevel >= 5,"SmallLaser2")
    NPAI K 0 A_CustomMissile("TormentorNemesisLaser",54,-50,0,0)
    NPAI K 4 A_CustomMissile("TormentorNemesisLaser",54,50,0,0)
    NPAI JJ 4 A_FaceTarget 
    NPAI K 0 A_CustomMissile("TormentorNemesisLaser",54,-50,0,0)
    NPAI K 4 A_CustomMissile("TormentorNemesisLaser",54,50,0,0)
    NPAI J 15 
	TNT1 A 0 A_Jump(64,"Avoid","CometSpam")
    Goto See
  SmallLaser2:
    NPAI K 0 A_CustomMissile("TormentorNemesisLaser",92,-40,0,0)
    NPAI K 0 A_CustomMissile("TormentorNemesisLaser",8,-40,0,0)
    NPAI K 0 A_CustomMissile("TormentorNemesisLaser",92,40,0,0)
    NPAI K 4 A_CustomMissile("TormentorNemesisLaser",8,40,0,0)
    NPAI JJ 4 A_FaceTarget 
    NPAI K 0 A_CustomMissile("TormentorNemesisLaser",92,-40,0,0)
    NPAI K 0 A_CustomMissile("TormentorNemesisLaser",8,-40,0,0)
    NPAI K 0 A_CustomMissile("TormentorNemesisLaser",92,40,0,0)
    NPAI K 4 A_CustomMissile("TormentorNemesisLaser",8,40,0,0)
    NPAI J 15 
	TNT1 A 0 A_Jump(64,"Avoid","CometSpam")
    Goto See
	
	
  StormBolt:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	TNT1 A 0 A_PlaySound("NemesisTormentor/Attack2",2)
	TNT1 A 0 A_SpawnItemEx("NDefilerLightingFX",41,0,43)
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	NPAI G 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NDefilerLightingFX",41,0,43)
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	NPAI G 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NDefilerLightingFX",41,0,43)
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	NPAI G 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NDefilerLightingFX",41,0,43)
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	NPAI G 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NDefilerLightingFX",41,0,43)
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	NPAI G 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NDefilerLightingFX",41,0,43)
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	NPAI G 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NDefilerLightingFX",41,0,43)
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	NPAI H 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NDefilerLightingFX",41,0,43)
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	NPAI H 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NDefilerLightingFX",41,0,43)
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	NPAI H 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NDefilerLightingFX",41,0,43)
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	NPAI H 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NDefilerLightingFX",41,0,43)
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	NPAI H 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NDefilerLightingFX",41,0,43)
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	NPAI H 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_JumpIf(user_soullevel >= 5,"StormBolt3")	
	TNT1 A 0 A_JumpIf(user_soullevel >= 2,"StormBolt2")	
    NPAI I 30 Bright A_CustomMissile("NemesisTormentorStormBolt",41)
	Goto See
  Stormbolt2:
    TNT1 A 0 A_CustomMissile("NemesisTormentorStormBolt",41,0,-15)
    NPAI I 30 Bright A_CustomMissile("NemesisTormentorStormBolt",41,0,15)
	Goto See
  Stormbolt3:
    TNT1 A 0 A_CustomMissile("NemesisTormentorStormBolt",41,0,-30)
    TNT1 A 0 A_CustomMissile("NemesisTormentorStormBolt",41,0,30)
    NPAI I 30 Bright A_CustomMissile("NemesisTormentorStormBolt",41,0,0)
	Goto See
	
	
  Laser:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	TNT1 A 0 A_Quake(3,128,0,2000,"")
	TNT1 A 0 A_PlaySound("NemesisTormentor/Attack",2)
	TNT1 A 0 A_FaceTarget
	NPAI GGGG 4 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	TNT1 A 0 A_FaceTarget
	NPAI GGGG 4 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	TNT1 A 0 A_FaceTarget
	NPAI GGGG 4 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	TNT1 A 0 A_FaceTarget
	NPAI HHHH 4 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	TNT1 A 0 A_FaceTarget
	NPAI HHHH 4 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_Playsound("NemesisTormentor/Laser",2,1,0,ATTN_NONE)
	NPAI HHHH 4 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	TNT1 A 0 A_SetUserVar("user_missile",0)
	TNT1 A 0 A_Playsound("MasterSpark",1,1,0,ATTN_NONE)
	TNT1 A 0 A_JumpIf(user_soullevel >= 5,"LaserLoop3")	
	TNT1 A 0 A_JumpIf(user_soullevel >= 2,"LaserLoop2")	 
  LaserLoop:
	TNT1 A 0 A_Quake(7,10,0,4000,"")
	TNT1 A 0 A_JumpIf(user_missile >= 90,"LaserEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_FaceTarget(0.75,180)
	NPAI I 1 A_CustomMissile("NemesisTormentorLaser",35,0,0,CMF_AIMDIRECTION,pitch)
	Loop
  LaserLoop2:
	TNT1 A 0 A_Quake(7,10,0,4000,"")
	TNT1 A 0 A_JumpIf(user_missile >= 90,"LaserEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_FaceTarget(1.2,180)
	NPAI I 1 A_CustomMissile("NemesisTormentorLaser",35,0,0,CMF_AIMDIRECTION,pitch)
	Loop
  LaserLoop3:
	TNT1 A 0 A_Quake(7,10,0,4000,"")
	TNT1 A 0 A_JumpIf(user_missile >= 90,"LaserEnd")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_FaceTarget(1.2,180)
	TNT1 A 0 A_CustomMissile("NemesisTormentorLaser",35,0,-35,CMF_AIMDIRECTION,pitch)
	TNT1 A 0 A_CustomMissile("NemesisTormentorLaser",35,0,35,CMF_AIMDIRECTION,pitch)
	NPAI I 1 A_CustomMissile("NemesisTormentorLaser",35,0,0,CMF_AIMDIRECTION,pitch)
	Loop
  LaserEnd:
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	NPAI IIIIHHHHHGGGGG 4 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	Goto See
	
	
  Umbra:
	TNT1 A 0 A_FaceTarget
	NPAI DDD 4 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	TNT1 A 0 A_FaceTarget
	NPAI EEE 4 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	TNT1 A 0 A_SpawnItemEx("NemesisUmbra",0,-30,30,10,0,0,0,SXF_SETMASTER)
	TNT1 A 0 A_SpawnItemEx("NemesisUmbra",0,30,30,10,0,0,0,SXF_SETMASTER)
	TNT1 A 0 A_FaceTarget
	NPAI FF 4 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	TNT1 A 0 A_SpawnItemEx("NemesisUmbra",0,0,30,10,0,0,0,SXF_SETMASTER)
	TNT1 A 0 A_FaceTarget
	NPAI FFFF 4 A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	Goto See
	
	
  NemesisSoulProjectile:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	TNT1 A 0 A_Quake(4,128,0,2000,"")
	TNT1 A 0 A_PlaySound("NemesisTormentor/Attack2",2)
	TNT1 A 0 A_FaceTarget
	NPAI GGGG 4 A_SpawnItemEx("NemesisSoulFlameSpawner")
	TNT1 A 0 A_FaceTarget
	NPAI GGGG 4 A_SpawnItemEx("NemesisSoulFlameSpawner")
	TNT1 A 0 A_FaceTarget
	NPAI GGGG 4 A_SpawnItemEx("NemesisSoulFlameSpawner")
	TNT1 A 0 A_FaceTarget
	NPAI HHHH 4 A_SpawnItemEx("NemesisSoulFlameSpawner")
	TNT1 A 0 A_FaceTarget
	NPAI HHHH 4 A_SpawnItemEx("NemesisSoulFlameSpawner")
	TNT1 A 0 A_FaceTarget
	NPAI HHHH 4 A_SpawnItemEx("NemesisSoulFlameSpawner")
	NPAI I 20 A_CustomMissile("NemesisSoulKamikazeProjectile",35)
	Goto See
  Pain:
	TNT1 A 0 A_KillChildren
  	TNT1 A 0 A_Jump(40,"Teleport","PainNova")	
    NPAI L 2
    NPAI L 2 A_Pain
	TNT1 A 0 A_Jump(128,"Missile")
    Goto See
  Death:
    NPAI M 5 A_Scream
	TNT1 A 0 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128,0)
    NPAI NNNNNNNNNNNNN 2 A_CustomMissile("NemesisTormentorDeathEffect",0,0,0,CMF_TRACKOWNER)
	TNT1 A 0 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128,0)
	NPAI OOOOOOOOOOOOO 2 A_CustomMissile("NemesisTormentorDeathEffect",0,0,0,CMF_TRACKOWNER)
	NPAI P 0 A_KillChildren
	TNT1 A 0 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128,0)
	NPAI PPPPPPP 2 A_CustomMissile("NemesisTormentorDeathEffect",0,0,0,CMF_TRACKOWNER)
	TNT1 A 0 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128,0)
	NPAI QQQQQQQ 2 A_CustomMissile("NemesisTormentorDeathEffect",0,0,0,CMF_TRACKOWNER)
	TNT1 A 0 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128,0)
	NPAI RRRRRRR 2 A_CustomMissile("NemesisTormentorDeathEffect",0,0,0,CMF_TRACKOWNER)
	TNT1 A 0 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128,0)
	NPAI SSSSSSS 2 A_CustomMissile("NemesisTormentorDeathEffect",0,0,0,CMF_TRACKOWNER)
	TNT1 A 0 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128,0)
	NPAI TTTTTTT 2 A_CustomMissile("NemesisTormentorDeathEffect",0,0,0,CMF_TRACKOWNER)
	TNT1 A 0 A_JumpIf(user_soullevel >= 10,4)
	TNT1 A 0 A_JumpIf(user_soullevel >= 5,5)
	TNT1 A 0 A_SpawnItemEx("MiniNemesisDeathBall")
	TNT1 A 0 A_Jump(256,12)
	TNT1 A 0 A_SpawnItemEx("NemesisTormentorSuperDeath")
	TNT1 A 0 A_Jump(256,10)
	TNT1 AAAAAAAA 0 A_CustomMissile("NemesisCyberBouncyBFG",0,0,random(0,360),2,random(-5,30))
	TNT1 A 0 A_SpawnItem("NemesisDeathBall")
	TNT1 A 1
	TNT1 AAAAAA 0 A_SpawnItemEx("NemesisUmbra",0,0,16,random(-20,20),random(-20,20),random(0,30))
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("NoVexedBoys") == 1,2)
	TNT1 A 0 A_JumpIf(user_soullevel >= 7,3)
	TNT1 A 0 A_SpawnItemEx("NemesisSoul",0,0,16,0,0,0,0,32,128)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 A_SpawnItemEx("VexedNemesisSoul",0,0,16,0,0,0,0,32,128)
	TNT1 A 0 A_NoBlocking
	NPAI UV 4
	TNT1 A 100
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("NemesisFragment") == 0,8)
	TNT1 A 0 A_JumpIfInTargetInventory("NemesisFragmentToken",1,7)
	TNT1 A 0 A_JumpIf(user_soullevel >= 10,5)
	TNT1 A 0 A_JumpIf(user_soullevel >= 7,2)
	TNT1 A 0 A_Jump(256,4)
	TNT1 A 0 A_SpawnItemEx("NemesisFragmentSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,192)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 A_SpawnItemEx("NemesisFragmentSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,128)
	TNT1 A 0 A_Jump(100,"MoreStuff")	
	TNT1 A 1
    Stop	
  MoreStuff:
	TNT1 A 0 A_SpawnItem("HellionSmokeAttack")
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItem("NemesisHKItemRandomizer")
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItem("NemesisHKItemRandomizer")
	TNT1 A 1 A_SpawnItem("NemesisHKSuperItemRandomizer")
	TNT1 A 1
	Stop
	}
}

Actor NemesisTormentorSuperDeath
{
  +NOTIMEFREEZE
  +FORCERADIUSDMG
  +NODAMAGETHRUST
  Damagetype "Legendary"
  States
  {
  Spawn:
	TNT1 A 0 NoDelay A_PlaySound("Nemesis/BallExplode",1,1.0,0,0.2)
	TNT1 A 0 A_SpawnItemEx("VexedNemesisHugeExplosion")
	TNT1 A 0 A_SpawnItemEx("VexedNemesisAltBallEx")
	TNT1 A 0 A_Quake(9,100,0,2000,0)
    TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2 A_Explode(700,5000,0,0,2000)
    Stop 
	}
}

Actor TormentorNemesisLaser : DefilerNemesisLaser
{
  Damage (Random(10,30))
  Missiletype "TormentorNemesisLaserTrail"
  Damagetype "BombBreath"
}

Actor TormentorNemesisLaserTrail : NemesisImpLaserTrail { Damagetype "BombBreath" }

Actor NemesisTormentorStormBolt : DefilerLightningProj
{
  Damagetype "BombBreath"
  Speed 50
  States
  {
  Spawn:
	TNT1 A 0 A_CustomMissile("NemesisTormentorNovaLightningStormBolt",0,0,90,6)
	TNT1 A 0 A_CustomMissile("NemesisTormentorNovaLightningStormBolt",0,0,270,6)
	NFLI ABCDE 1 Bright
	Loop
  Death:
	TNT1 AAAAAA 0 A_SpawnItemEx("NemesisWhiteParticleSpawner", 0, 0, random(15,35), 0, 0, 0, 0, 128)  
	TNT1 AAAAAA 0 A_CustomMissile("LegendarySmokeFX4", random(15,35), 0, random(0,360), 2, random(0,360))
	TNT1 AAAAAAAAA 0 A_CustomMissile("WhiteNemesisKaboomNoSound",random(15,35),0,random(0,360),2,random(0,360))
	TNT1 A 0 A_SpawnItem("DefilerLightningExplode",0,-10)
	TNT1 A 0 Radius_Quake(20,8,0,12,0)
	TNT1 A 0 A_SpawnItemEx("NemesisLightning2",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS)
	NFE3 AB 4 Bright A_Explode(350,300)
	NFE3 CDEF 5 Bright
	Stop
	}
}

Actor NemesisTormentorNovaLightning
{
  Projectile
  Radius 6
  Height 8
  Speed 50
  Renderstyle Add
  Damagetype "BombBreath"
  Damage 9
  DeathSound "weapons/devzap"
  BounceCount 2
  +BOUNCEONWALLS
  +BOUNCEONFLOORS
  +FORCERADIUSDMG
  +NOTIMEFREEZE
  +SEEKERMISSILE
  Decal "CacoScorch"
  States
  {
  Spawn:
	NTLN ABC 3 A_SeekerMissile(2,2)
	Loop
  Death:
	TNT1 A 0 A_Explode(10,40)
	TNT1 A 0 A_SpawnItemEx("NemesisWhiteParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0) 
	TNT1 AA 0 A_CustomMissile("WhiteNemesisKaboom7",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 AA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	NTLT FGHIJKL 3
	Stop
	}
}

Actor NemesisTormentorNovaLightningStormBolt : NemesisTormentorNovaLightning
{
  -BOUNCEONWALLS
  -BOUNCEONFLOORS
}

Actor NemesisTormentorNovaEffectSpawner : ImpBallTrail
{
  +NOTIMEFREEZE
  States
  {
  Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("NDefilerWhiteSmokeSpawner")
	TNT1 AA 0 A_SpawnItemEx("NemesisDefilerTrapTrail",random(-30,30),random(-30,30),random(12,76))
	Stop
	}
}

Actor NemesisTormentorLightningBall
{
  Projectile
  Radius 8
  Height 10
  Speed 45
  Renderstyle Add
  Damagetype "BombBreath"
  Damage 15
  SeeSound "weapons/devzap"
  DeathSound "HSphere/Death"
  Alpha 0.75
  +FORCERADIUSDMG
  +NOTIMEFREEZE
  Decal "Scorch"
  var int user_loop;
  States
  {
  Spawn:
	NTLT ABCDE 1 A_SpawnItemEx("NemesisTormentorLightningBallTrail")
	Loop
  Death:
	TNT1 A 0 A_SetScale(1.2)
	TNT1 A 0 A_JumpIf(user_loop >= 15,"Death2")	 
	TNT1 A 0 A_SetUserVar("user_loop",user_loop+1)
	TNT1 A 0 A_Explode(8,90)
	TNT1 A 0 A_SpawnItemEx("NemesisDefilerTrapTrail",frandom(-12,12),frandom(-12,12),frandom(-12,12))
	TNT1 A 0 A_SpawnItemEx("WhiteNemesisKaboom7",0,0,0,frandom(0,2),0,frandom(0,2),frandom(0,360))
	NTLT ABCDE 1
	Loop
  Death2:
	TNT1 AA 0 A_SpawnItemEx("NemesisWhiteParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0) 
	TNT1 AAA 0 A_CustomMissile("WhiteNemesisKaboom3",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 A 0 A_PlaySound("HSphere/Explode",1)
	TNT1 A 0 A_SetScale(1.8)
	TNT1 A 0 A_Explode(192,192)
	PFX1 HIJKLM 6
	Stop
	}
}

Actor NemesisTormentorLightningBallTrail
{
  +CLIENTSIDEONLY
  +NOINTERACTION
  +NOTIMEFREEZE
  Renderstyle Add
  Alpha 0.5
  Scale 0.7
  States
  {
  Spawn:
	TNT1 A 2
	NTLT FFGGHHIIJJKKLL 1 A_FadeOut(0.04)
	Stop
	}
}

Actor NemesisTormentorComet : NemesisHKComet { Damagetype "BombBreath" }

ACTOR NemesisTormentorHadesBall1 : CacodemonBall
{
  Damage 9
  Speed 40
  Alpha 0.8
  DamageType "BombBreath"
  +NOTIMEFREEZE
  SeeSound "HSphere/Tele"
  DeathSound "HSphere/Sight"
  Decal "CacoScorch"
  States
  {
  Spawn:
    NEF0 AABB 2 Bright A_SpawnItemEx("NemesisTormentorHadesBall1Trail",0,frandom(-2,2),frandom(-2,2))
    Loop
  Death:
	TNT1 A 0 A_SpawnItemEx("NemesisWhiteParticleSpawner")
	TNT1 A 0 A_CustomMissile("WhiteNemesisKaboom7",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
    NEF0 CDEEFGH 3 Bright
    Stop
	}
}

Actor NemesisTormentorHadesBall1Trail : ImpballTrail
{
  Scale 0.6
  Renderstyle Add
  +NOINTERACTION
  +NOTIMEFREEZE
  States
  {
  Spawn:
    TNT1 A 0 NoDelay A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
    TNT1 A 0 A_Jump(256,1,2,3,4)
    ZAP7 ABCD 0 A_Jump(256,"Spawn2")
  Spawn2:
    "----" A 1 Bright A_FadeOut(0.1)
    Loop
	}
}

ACTOR NemesisTormentorHadesBall2 : NemesisTormentorHadesBall1
{
  Radius 10
  Height 20
  Damage 12
  Alpha 1.0
  +FORCERADIUSDMG
  DeathSound "weapons/devzap"
  Decal "CacoScorch"
  States
  {
  Spawn:
  	TNT1 A 0 A_Weave(2,2,2.0,1.0) 
	NTBL A 1 Bright A_SpawnItemEx("NemesisTormentorHadesBall2Trail",0,frandom(-2,2),frandom(-2,2))
  	TNT1 A 0 A_Weave(2,2,2.0,1.0) 
	NTBL B 1 Bright A_SpawnItemEx("NemesisTormentorHadesBall2Trail",0,frandom(-2,2),frandom(-2,2))
  	TNT1 A 0 A_Weave(2,2,2.0,1.0) 
	NTBL C 1 Bright A_SpawnItemEx("NemesisTormentorHadesBall2Trail",0,frandom(-2,2),frandom(-2,2))
	Loop
  Death:
	TNT1 A 0 A_SpawnItemEx("NemesisWhiteParticleSpawner")
	TNT1 AAA 0 A_CustomMissile("WhiteNemesisKaboom7",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	TNT1 AA 0 A_CustomMissile("LegendarySmokeFX4",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
	NTBL DE 4 Bright A_Explode(64,192)
	NTBL FGHI 4 bright
	Stop
	}
}

Actor NemesisTormentorHadesBall2Trail : ImpballTrail
{
  Scale 0.35
  Renderstyle Add
  +NOINTERACTION
  +NOTIMEFREEZE
  States
  {
  Spawn:
	NTPL ABCDEFGHIJKLMN 1 Bright
    Stop
	}
}

Actor NemesisSoulKamikazeProjectile : LegendarySoulProj
{
  Damage 140
  Speed 65
  Alpha 0.8
  Renderstyle Translucent
  Decal Scorch
  SeeSound "NemesisSoul/Attack2"
  DeathSound ""
  States
  {
  Spawn:
  	TNT1 A 0 A_SeekerMissile(15,15)
	NSOL EF 2 Bright A_SpawnItemEx("NemesisSoulFlameSpawner")
	Loop
  Death:
    TNT1 A 1 A_SpawnItemEx("MiniNemesisDeathBall")
	Stop
	}
}

Actor NemesisTormentorLaser : NemesisSentientLaser
{
  Damagetype "BombBreath"
  MissileType "NemesisTormentorLaserTrailSpawner"
}

ACTOR NemesisTormentorLaserTrailSpawner : NemesisSentientLaserTrailSpawner
{
  Damagetype "BombBreath"
  States
  {
    Spawn:
	TNT1 A 0
	TNT1 A 0 A_Explode(2,60,0,False,60)
	TNT1 A 2 A_SpawnItemEx("NemesisSentientLaserTrail", random (-3, 3), 0, random (-3, 3), 0, 0, 0, 0, 160)
	Stop
  }
}

Actor NemesisTormentorSkullShotDeath : NemesisExileSkullShot 
{
  Damagetype "BombBreath"
  Speed 20
  States
  {
  Spawn:
	TNT1 A 0 A_Weave(3,3,3.0,3.0)
	TNT1 A 0 A_SeekerMissile(5,5,SMF_LOOK)
    NFX1 AA 1 Bright A_SpawnItemEx("TrueNemesisHellionSmoke",-10)
	TNT1 A 0 A_Weave(3,3,3.0,3.0)
	TNT1 A 0 A_SeekerMissile(5,5,SMF_LOOK)
    NFX1 AA 1 Bright A_SpawnItemEx("TrueNemesisHellionSmoke",-10)
	TNT1 A 0 A_Weave(3,3,3.0,3.0)
	TNT1 A 0 A_SeekerMissile(5,5,SMF_LOOK)
    NFX1 AA 1 Bright A_SpawnItemEx("TrueNemesisHellionSmoke",-10)
	TNT1 A 0 A_Weave(3,3,3.0,3.0)
	TNT1 A 0 A_SeekerMissile(5,5,SMF_LOOK)
    NFX1 AA 1 Bright A_SpawnItemEx("TrueNemesisHellionSmoke",-10)
    Loop
	}
}

Actor NemesisTormentorDeathEffect
{
  Projectile
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 1 A_CustomMissile("NemesisTormentorSkullShotDeath",32,0,random(0,359),CMF_AIMDIRECTION,random(-30,30))
	TNT1 A 1 A_SpawnItemEx("WhiteNemesisKaboom",random(-32,32),random(-40,40),random(16,48),random(-4,4),random(-4,4),random(0,4),0,SXF_TRANSFERPOINTERS,128)
	Stop
	}
}

ACTOR NemesisTormentorGhost
{
Scale 0.85
Alpha 0.7
Renderstyle Translucent
  +NOINTERACTION
  +CLIENTSIDEONLY
  +NOTIMEFREEZE
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
  Fade:
    TNT1 A 1
    NPAI A 2 A_FadeOut(0.10)
    Goto Fade+1
  Toaster:
    TNT1 A 0
    Stop
    }
}

ACTOR NemesisTormentorGhost2 : NemesisTormentorGhost
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
Fade:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("NDefilerSmokeSpawner")
    NPAI G 2 A_FadeOut(0.10)
    Goto Fade+2
    }
}






ACTOR NemesisUmbra : ForgottenOne
{
  Health 250
  PainChance 40
  Scale 1.0
  Obituary "%o had part of their soul taken by an envious Nemesis Umbra."
  Damage 10
  -NOBLOOD
  +BRIGHT
  +NOTIMEFREEZE
  +NOINFIGHTING
  +THRUSPECIES
  Bloodcolor "Black"
  Species "EleSouls"
  DamageFactor "Legendary", 0.0
  DamageFactor "PlayerNemesisPlasma", 0.0
  DropItem "NemesisHealthBonusMax", 256, 32
  DropItem "NemesisArmorBonus32", 256
  SeeSound "ChaosSoul/Sight"
  AttackSound "ChaosSoul/Sight"
  PainSound "ChaosSoul/pain"
  DeathSound "ChaosSoul/death"
  Tag "\c[v9]Nemesis Umbra\c-"
  States
  {
  Spawn:
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"GiveToTormentor")
	TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
    NTUM A 2 A_Look
	TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
    NTUM A 2 A_Look
    TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
    NTUM B 2 A_Look
	TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
    NTUM B 2 A_Look
    Loop
  GiveToTormentor:
	TNT1 A 0 A_GiveInventory("MarineKilled",1,AAPTR_MASTER)
	TNT1 A 0 A_TakeInventory("MarineKilled")
	Goto Spawn
  See:
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"GiveToTormentor")
    TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
    NTUM A 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
    NTUM A 2 A_Chase
    TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
    NTUM B 2 A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
    NTUM B 2 A_Chase
    Loop
  Missile:
	TNT1 A 0 A_JumpIfInventory("MarineKilled",1,"GiveToTormentor")
	TNT1 A 0 A_Jump(128,"Projectile")
    TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
    NTUM A 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
    NTUM A 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
    NTUM A 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
    NTUM C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
    NTUM C 2 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
    NTUM D 2 A_SkullAttack(40)
	TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
  Cont:
    NTUM CDD 2 A_SpawnItemEx("NemesisUmbraFireSpawner")
    Loop
  Projectile:
    TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
    NTUM A 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
    NTUM A 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
    NTUM A 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
    NTUM C 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
    NTUM C 2 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
    NTUM D 2 A_CustomMissile("NemesisTormentorHadesBall1",15)
    TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
    NTUM D 2
    TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
    NTUM C 2
	Goto See
  Pain:
	TNT1 A 0 A_SpawnItemEx("NemesisUmbraFireSpawner")
    NTUM E 3 A_Pain
    NTUM E 3 A_SpawnItemEx("NemesisUmbraFireSpawner")
    Goto See
  Death:
    NTUM EF 4
    NTUM G 4 A_Scream
    NTUM H 4
    TNT1 AA 0 A_SpawnItemEx("NemesisKaboom",0,0,32,0,0,0,0,128) 
	TNT1 AAAA 0 A_CustomMissile("LegendarySmokeFX4",0,0,FRandom(0,360),2,FRandom(0,360))
    NTUM I 4 A_NoBlocking
    NTUM JK 4
    Stop
    }
}

ACTOR NemesisUmbraFire : NemesisHellionSmoke
{
  Scale 0.3
  States
  {
  Spawn:
	TNT1 A 0 NoDelay A_ChangeVelocity(FRandom(-0.75,0.75),FRandom(-0.75,0.75),FRandom(-0.75,0.75))
	FIW1 ABCDEFGHIJKL 2 Bright A_FadeOut(0.15)
	Stop
	}
}

ACTOR NemesisUmbraFireSpawner : RedParticleSpawner
{
  +NOTIMEFREEZE
  States
  {
  Spawn:
    TNT1 A 0 NoDelay A_JumpIf(CallAcs("LCAEffectCheck"),"Toaster")
    TNT1 A 0 A_SpawnItemEx("NemesisUmbraFire",6,FRandom(-3,3),FRandom(18,28),1,0,FRandom(3,5),FRandom(90,270),128)
    TNT1 A 1
    Stop
    }
}