Actor NemesisRedeemer : LegendaryRedeemer //A leg Redeemer but it's dark and more unfair
{
//Creator: GDWolf & Fluffy
//Origin: Complex Very Strong Monsters
//Sprite: NMZX
//Title: "Nemesis Redeemer"
Health 2300
Speed 20
BloodColor "Black"
Species "Redeemer"
DamageFactor "PlayerNemesisPlasma", 0.0
DamageFactor "Explosion", 0.05
DamageFactor "DTRailgun", 0.4
DamageFactor "PDTPuff", 0.4
DamageFactor "RailG", 0.3
DamageFactor 0.85
DamageFactor "T3rm", 0.0
DamageFactor "DemolisherEx", 0.05
DamageFactor "DarkDemoEx", 0.05
DamageFactor "CerChainguns", 0.0  
DamageFactor "CerEnergyBall", 0.0
DamageFactor "Legendary", 0.0
DamageFactor "LegendaryPlayer", 0.3
DamageFactor "LegendaryGuru", 0.0
DamageFactor "LegendaryGuruPlayer", 0.3
DamageFactor "PDTBFG", 0.1
DamageFactor "PlayerDTRG", 0.3
DamageFactor "PDTBFGTracer", 0.1
DamageFactor "LegMind", 0.0
DamageFactor "PlayerDevBall", 0.05
DamageFactor "PlayerDevBall2", 0.05
DamageFactor "PlayerDTBFGRailgunSlug", 0.05
DamageFactor "PlayerDevTracer", 0.05
DamageFactor "DBFG10K2", 0.65
DamageFactor "PlayerDBFG10K2", 0.65
DamageFactor "DBFG2", 0.65
DamageFactor "PlayerDBFG2", 0.65
DamageFactor "PyroShot", 0.0
DamageFactor "PlayerPyro", 0.0
DamageFactor "PDTPuff", 0.0
DamageFactor "DBFG10K2", 0.65
DamageFactor "PlayerDBFG10K2", 0.65
DamageFactor "DBFG2", 0.65
DamageFactor "PlayerDBFG2", 0.65
DropItem "BossLifeEssence" 256
DropItem "BossArmorBonusMax" 256
DropItem "NemesisDemonicEnergy" 250
DropItem "NemesisGreaterDemonicEnergy" 250
DropItem "LegendaryPowerSphere" 65 1
DropItem "LegTimeFreezeSphere" 70 1
DropItem "NemesisSphere" 140 1
DropItem "Nemesis Rifle" 180 1
DropItem "NemesisRuneSpawnerTier2", 256, 1
Obituary "not one cell was left of %o after being defeated by a Legendary Redeemer."
Tag "\c[g3]Nemesis Redeemer\c-"
States
{
  Spawn:
    NMZX A 10 Bright A_Look
	NMZX AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    Loop
  Remove:
	TNT1 A 1
	TNT1 A 0 A_SpawnItemEx("CacoSpawnerLiter",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_ChangeFlag("COUNTKILL", FALSE)
	TNT1 A 0
	Stop
  See:
    TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,9000)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_JumpIf(user_suicide == 1,"SeeSuicide")
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    NMZX AAA 2 Bright A_Chase
	TNT1 A 0 A_Jump(68,"Avoid","Rush","Trap","Teleport")
    Loop
  SeeSuicide:
	NMZX A 0 A_JumpIf(user_timer >= 390,"Explode")
	NMZX A 0 A_SetUserVar("user_timer",user_timer+1)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    NMZX A 3 Bright A_Chase("","Kamikaze")
    Loop	
  Rush:
	TNT1 AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)	
	TNT1 A 0 A_JumpIf(user_suicide == 1,"SeeSuicide")
	NMZX AA 0 A_Chase
    NMZX A 1 Bright A_SpawnItemEx("LegendaryRedeemerGhost")
	TNT1 A 0 A_Jump(12,"See")
    Loop
  Avoid:
	NMZX G 0
	TNT1 A 0 A_JumpIf(user_suicide == 1,"SeeSuicide")
	NMZX G 0 A_SetAngle(angle+random(0,359))
	NMZX G 0 A_Recoil(-50)
	NMZX G 0 A_FaceTarget
	NMZX GGGGGGGGGGGGG 1 A_SpawnItemEx("NemesisRedeemerGhost2")
	TNT1 A 0 A_Jump(145,"See")
	NMZX G 1 A_Stop
    Goto Avoid
  Teleport:
    NMZX A 1 A_UnSetShootable
	NMZX AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NMZX AAAAAAAAAAA 1 A_FadeOut(0.1,0)
	NMZX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	NMZX A 8
	NMZX A 0 A_JumpIf(user_clone >= 3,9)
	NMZX A 0 A_JumpIfCloser(2500,2)
	NMZX A 0 A_Jump(256,7)
	NMZX AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NMDF AAAA 0 A_CustomMissile("NemesisSpringMineSet",32,0,random(0,360),2,15)
	NMZX A 0 A_SetUserVar("user_clone",user_clone+1)
	NMZX A 8
	NMZX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
    NMZX AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NMZX AAAAAAAAAAA 1 A_FadeIn(0.1)
    NMZX A 1 A_SetShootable
    Goto See		
  Trap:
    NMZX B 0
	TNT1 A 0 A_JumpIf(user_suicide == 1,"SeeSuicide")
    NMZX B 0 A_SetAngle(random(0,359))
	NMZX B 0 A_JumpIfCloser(2,2)
	NMZX B 0 A_Jump(256,"See")
    NMZX BC 5 Bright
	NMZX D 0 A_PlaySound("reedemer/trap")
    NMZX D 5 Bright A_SpawnItemEx("LegRedTrap",45,0,16,15)
    Goto See
  Missile:
    TNT1 A 0 A_SetShootable
    TNT1 A 0 A_UnsetInvulnerable
    TNT1 A 0 A_SetTranslucent(1)
    TNT1 A 0 A_JumpIf(user_suicide == 1,"SeeSuicide")
	TNT1 A 0 A_Jump(127,2)
	TNT1 A 0 A_JumpIfHealthLower(400,"Suicide")
	TNT1 A 0 A_JumpIfHealthLower(200,"Suicide")
    TNT1 A 0 A_Jump(127,"FastBall","Laser","Void","TrapAttack")
	TNT1 A 0 A_Jump(64,"Thunder","Storm")
	TNT1 A 0 A_Jump(48,"Portal")
  Normal:
    NMZX BC 5 Bright A_FaceTarget
	NMZX D 0 A_CustomMissile("NemRedBall",30,10,0,0,0)
    NMZX D 0 A_CustomMissile("NemRedBall",30,-10,0,0,0)
	NMZX D 0 A_CustomMissile("NemRedBall",20,10,0,0,0)
    NMZX D 5 Bright A_CustomMissile("NemRedBall",20,-10,0,0,0)
	NMZX D 0 A_Jump(127,"See","Avoid","FastBall")
	NMZX D 0 A_CposRefire
	NMZX D 0 A_Jump(256,"Normal","FastBall")
    Goto Normal
  FastBall:
    NMZX BC 5 Bright A_FaceTarget
    NMZX D 5 Bright A_CustomMissile("NemRedFastBall",25,0,0,0,0)
	NMZX D 0 A_Jump(127,"See","Avoid","Laser")
	NMZX D 0 A_CposRefire
	NMZX D 0 A_Jump(256,"Normal","FastBall")
    Goto FastBall
  Laser:
    NMZX BC 5 Bright A_FaceTarget
    NMZX D 3 Bright A_CustomMissile("NemesisImpLaser",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisImpLaser",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisImpLaser",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisImpLaser",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisImpLaser",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisImpLaser",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisImpLaser",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisImpLaser",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisImpLaser",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisImpLaser",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisImpLaser",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisImpLaser",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisImpLaser",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisImpLaser",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisImpLaser",25,0,0,0,0)
	NMZX D 0 A_Jump(127,"Void","Teleport")
    Goto See
   Void:
    TNT1 A 0 A_FaceTarget
    NMZX B 10 Bright A_PlaySound("exile/voidstart")
    NMZX C 8 Bright A_VileTarget("NemRedVoid")
    NMZX DDDDDD 8 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("exile/voidend")
    NMZX G 8 Bright
    NMZX DCB 5 Bright
	NMZX D 0 A_Jump(127,"TrapAttack","Avoid")
    Goto See
  TrapAttack:
    NMZX BC 5 Bright A_FaceTarget
	NMZX D 0 A_SpawnItemEx("NemRedTrap",45,0,16,15,-4)
	NMZX D 0 A_SpawnItemEx("NemRedTrap",45,0,16,15,4)
    NMZX D 5 Bright A_SpawnItemEx("NemRedTrap",45,0,16,15)
	NMZX D 0 A_Jump(127,"Teleport")
	NMZX D 0 A_Jump(64,"Storm","Thunder")
	NMZX D 0 A_CposRefire
    Goto See
  Storm:
	NMZX E 0 A_FaceTarget
	TNT1 A 0 A_PlaySound("redeemer/see")
	TNT1 A 0 Radius_Quake(8,60,0,20,0)
	NMZX AAA 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
    NMZX E 3 Bright A_FaceTarget
	NMZX AAA 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
    NMZX E 3 Bright A_FaceTarget
	NMZX AAA 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NMZX F 3 Bright A_FaceTarget
	NMZX AAA 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NMZX F 3 Bright A_FaceTarget
	NMZX AAA 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NMZX F 3 Bright A_FaceTarget
	NMZX AAA 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NMZX F 3 Bright A_FaceTarget
	NMZX AAA 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NMZX F 3 Bright A_FaceTarget
	NMZX AAA 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
    NMZX G 3 Bright A_FaceTarget
	NMZX AAA 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
    NMZX BC 5 Bright A_FaceTarget
    NMZX D 3 Bright A_CustomMissile("NemesisRevHomingRocket",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisRevHomingRocket",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisRevHomingRocket",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisRevHomingRocket",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisRevHomingRocket",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisRevHomingRocket",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisRevHomingRocket",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisRevHomingRocket",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisRevHomingRocket",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisRevHomingRocket",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisRevHomingRocket",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisRevHomingRocket",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisRevHomingRocket",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisRevHomingRocket",25,0,0,0,0)
	NMZX D 0 A_FaceTarget
	NMZX D 3 Bright A_CustomMissile("NemesisRevHomingRocket",25,0,0,0,0)
    NMZX G 3 Bright A_FaceTarget
	NMZX G 0 A_Jump(127,"Avoid")
	Goto See
  Thunder:
    NMZX E 0 A_SetInvulnerable
	NMZX E 0 A_FaceTarget
	TNT1 A 0 A_PlaySound("redeemer/see")
	TNT1 A 0 Radius_Quake(8,60,0,20,0)
	NMZX AAA 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
    NMZX E 3 Bright A_FaceTarget
	NMZX AAA 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
    NMZX E 3 Bright A_FaceTarget
	NMZX AAA 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
    NMZX F 3 Bright A_FaceTarget
	NMZX AAA 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
    NMZX F 3 Bright A_FaceTarget
	NMZX AAA 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NMZX G 0 A_SetUserVar("user_delay",0)
	NMZX G 0 A_Stop
	NMZX G 3 Bright A_SpawnItemEx("LegRedThunderCharge",64,0,0)
  ThunderCharge:
  	NMZX GGG 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NMZX G 0 A_JumpIf(user_delay >= 57,"ThunderDone")
	NMZX G 0 A_SetUserVar("user_delay",user_delay+1)
	NMZX G 3 Bright A_Stop
	Loop
  ThunderDone:
	NMZX G 3 Bright A_FaceTarget
	NMZX G 3 Bright A_CustomMissile("NemRedThunderBall",5,0,0)
	NMZX G 1 Bright A_UnSetInvulnerable
	NMZX G 0 A_Jump(127,"Avoid")
	Goto See
  Portal:
    NMZX E 1 Bright A_JumpIf(user_portal > 0,"Thunder")
	NMZX E 0 A_FaceTarget
	NMZX E 1 Bright A_SetInvulnerable
	TNT1 A 0 A_PlaySound("brain/spit")
	TNT1 A 0 Radius_Quake(8,60,0,20,0)
	NMZX AAA 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
    NMZX E 3 Bright A_FaceTarget
	NMZX AAA 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
    NMZX E 3 Bright A_FaceTarget
	NMZX AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    NMZX F 3 Bright A_FaceTarget
	NMZX AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    NMZX F 3 Bright A_FaceTarget
	NMZX AAA 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NMZX G 0 A_SetUserVar("user_delay",0)
	NMZX G 0 A_Stop
	NMZX G 3 Bright A_SpawnItemEx("NemRedPortal",64,0,0,0,0,0,0,SXF_SETMASTER|32)
  PortalCharge:
  	NMZX GGG 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	NMZX G 0 A_JumpIf(user_delay >= 315,"PortalDone")
	NMZX G 0 A_SetUserVar("user_delay",user_delay+1)
	//LRED G 0 HealThing(10)
	NMZX G 3 Bright A_Stop
	Loop
  PortalDone:
	NMZX G 3 Bright A_FaceTarget
	NMZX G 0 A_SetUserVar("user_portal",1)
	NMZX G 1 Bright A_UnSetInvulnerable
	NMZX G 0 A_Jump(127,"Teleport")
	Goto See
  Suicide:
  	NMZX A 0 A_JumpIf(user_suicide == 1,"SeeSuicide")
	NMZX G 0 A_SetUserVar("user_suicide",1)
	NMZX E 0 A_SetInvulnerable
	NMZX E 0 A_FaceTarget
	TNT1 A 0 A_ChangeFlag("NOBLOCKMONST",TRUE)
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_PlaySound("redeemer/see")
	TNT1 A 0 Radius_Quake(8,120,0,20,0)
    NMZX EEEEEEEEEEEEEFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGG 3 Bright A_SpawnItem("LRedFlameSpawner",0,0,0,0)
	Goto SeeSuicide
  Kamikaze:
	NMZX GGGG 5 Bright A_FaceTarget
	NMZX G 0 A_JumpIfTargetInLos(1)
	Goto SeeSuicide
	NMZX G 0 A_JumpIfCloser(350,"Explode")
	TNT1 A 0 A_SpawnItem("NemesisHellionSmokeSpawner",0,0,0,0)
    NMZX G 3 Bright A_SkullAttack(35)
    Goto Kamikaze+4  
  Explode:
    TNT1 A 0
	TNT1 A 0 A_CustomMissile("NemSuicideBomb",0,0,0,0)
    TNT1 A 0 A_SpawnItemEx("NemesisStrike")
    NMZX G 3 Bright A_Die
    Goto SeeSuicide	
  Pain:
    TNT1 A 0
	TNT1 A 0 A_KillChildren
    TNT1 A 0 A_Jump(8,"Thunder")	
  	TNT1 A 0 A_Jump(21,"Teleport")	
	TNT1 A 0 A_Jump(128,"PainMissile")
    NMZX H 2 Bright
    NMZX H 2 Bright A_Pain
    Goto See
  PainMissile: 
    NMZX H 2 Bright
    NMZX H 2 Bright A_Pain
    Goto Missile	
  Death:
    NMZX I 5 Bright A_Scream
	TNT1 A 0 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128,0)
    NMZX JJKKLL 2 Bright A_SpawnItemEx("WhiteNemesisKaboom",random(-32,32),random(-40,40),random(16,48),random(-4,4),random(-4,4),random(0,4),0,SXF_TRANSFERPOINTERS)
	TNT1 A 0 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128,0)
    NMZX M 0 A_NoBlocking
	NMZX M 0 A_KillChildren
    NMZX MMNNOOPP 2 Bright A_SpawnItemEx("WhiteNemesisKaboom",random(-32,32),random(-40,40),random(16,48),random(-4,4),random(-4,4),random(0,4),0,SXF_TRANSFERPOINTERS)
	TNT1 A 0 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128,0)
    NMZX QQRRSSTTUU 2 A_SpawnItemEx("WhiteNemesisKaboom",random(-32,32),random(-40,40),random(16,48),random(-4,4),random(-4,4),random(0,4),0,SXF_TRANSFERPOINTERS) 
	NMZX V 50
	NMZX VVVVVVVVVVVVVVVVVVVVVVVV 3 A_SpawnItemEx("NemesisZombieSuperItemRandomizer",45,0,15,8,0,5,random(0,360),0,0)
    NMZX V -1 A_BossDeath
    Stop
  }
}

ACTOR NemesisRedeemerGhost
{
Scale 1.15
Radius 31
Height 56
Speed 0
Alpha 0.7
PROJECTILE
RENDERSTYLE Translucent
+CLIENTSIDEONLY
+NOTIMEFREEZE
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 A 0
	TNT1 A 0
Fade:
    TNT1 A 1
    NMZX A 2 A_FadeOut(0.10)
    Goto Fade+1
Toaster:
    TNT1 A 0
    Stop
    }
}

ACTOR NemesisRedeemerGhost2 : LegendaryRedeemerGhost
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 A 0
	TNT1 A 0
Fade:
    TNT1 A 0
    TNT1 A 1 A_SpawnItem("LRedeYSmokeSpawner",0,0,0,0)
    NMZX G 2 A_FadeOut(0.10)
    Goto Fade+2
    }
}

ACTOR NemRedBall
{
Radius 8
Height 6
Speed 20
Damage 80
Scale 0.85
PROJECTILE
RENDERSTYLE ADD
Speed 28
FastSpeed 36
SeeSound "monsters/newfireshoot"
DeathSound "monsters/newfireexplode"
Decal DoomImpScorch
+NOTIMEFREEZE
States
{
Spawn:
	TNT1 A 0 A_CStaffMissileSlither
	NRD1 AB 1 Bright A_SpawnItemEx("NemRedBallTrail",0,0,2,0,0,0,0,128,0)
	TNT1 A 0 A_CStaffMissileSlither
	Loop
Death:
	TNT1 A 0
    TNT1 A 0 A_SpawnItemEx("NemesisWhiteParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
	TNT1 AAA 0 A_CustomMissile("WhiteNemesisKaboom", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX4", 0, 0, random(0,360), 2, random(0,360))	
	NRD1 CDEFG 3 Bright
	Stop
	}
}

ACTOR NemRedBallTrail : BFG9500Trail
{
Scale 0.85
+NOTIMEFREEZE
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
	TNT1 A 1
    NRD1 HIJKLM 2 A_FadeOut(0.15)
	Stop
    }
}

ACTOR NemRedFastBall
{
Speed 16
Speed 58
Scale 1.2
Radius 8
Height 8
Damage 80
Renderstyle Add
Seesound "skeleton/attack"
Deathsound "skeleton/tracex"
PROJECTILE
Scale 1.5
+NOTIMEFREEZE
Decal RevenantScorch
States
{
Spawn:
    NDR7 AB 1 Bright A_CustomMissile("NemRedFastBallTrail",Random(-2,2),Random(-2,2))
    Loop
Death:
	TNT1 A 0
    TNT1 A 0 A_SpawnItemEx("NemesisWhiteParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
	TNT1 AAA 0 A_CustomMissile("WhiteNemesisKaboom", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX4", 0, 0, random(0,360), 2, random(0,360))		
    NDR7 CD 5 Bright
    NDR7 EF 4 Bright
    NDR7 GH 3 Bright
    Stop
    }
}

ACTOR NemRedFastBallTrail : BFG9500Trail
{
Scale 1.28
+NOTIMEFREEZE
States
{
Spawn:
    TNT1 A 1
    NDR8 DEFGHIJKLMNO 1 A_FadeOut(0.025)
    Stop
    }
}

ACTOR NemRedVoid : ArchVileFire
{
RenderStyle Add
Scale 2.1
Alpha 0.5
+DONTSPLASH
+EXTREMEDEATH
+FORCERADIUSDMG
+NOTIMEFREEZE
DamageType "CacoComet"
States
{
  Spawn:
    TNT1 A 0
    NRD3 H 1 Bright A_PlaySoundEx("exile/voidsuck","Voice")
	TNT1 A 0 A_Explode(6,128,0)
	TNT1 AAAAA 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",random(32,-32),random(32,-32),random(12,64),0,0,random(1,3),0,128,0)
    NRD3 HGGHH 1 Bright A_Fire
	TNT1 A 0 A_Explode(6,128,0)
	TNT1 AAAAA 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",random(32,-32),random(32,-32),random(12,64),0,0,random(1,3),0,128,0)
	NRD3 GGHHG 1 Bright A_Fire
	//TNT1 A 0 A_Explode(6,128,0)
	TNT1 AAAAA 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",random(32,-32),random(32,-32),random(12,64),0,0,random(1,3),0,128,0)
	NRD3 GFFEE 1 Bright A_Fire
	//TNT1 A 0 A_Explode(6,128,0)
	TNT1 AAAAA 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",random(32,-32),random(32,-32),random(12,64),0,0,random(1,3),0,128,0)
	NRD3 FFEEF 1 Bright A_Fire
	TNT1 A 0 A_Explode(6,128,0)
	TNT1 AAAAA 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",random(32,-32),random(32,-32),random(12,64),0,0,random(1,3),0,128,0)
	NRD3 FEEDD 1 Bright A_Fire
	TNT1 A 0 A_Explode(6,128,0)
	TNT1 AAAAA 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",random(32,-32),random(32,-32),random(12,64),0,0,random(1,3),0,128,0)
	NRD3 EEDDE 1 Bright A_Fire
	//TNT1 A 0 A_Explode(6,128,0)
	TNT1 AAAAA 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",random(32,-32),random(32,-32),random(12,64),0,0,random(1,3),0,128,0)
	NRD3 EDDCC 1 Bright A_Fire
    //TNT1 A 0 A_Explode(6,128,0)
	TNT1 AAAAA 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",random(32,-32),random(32,-32),random(12,64),0,0,random(1,3),0,128,0)
	NRD3 DDCCD 1 Bright A_Fire
	TNT1 A 0 A_Explode(6,128,0)
	TNT1 AAAAA 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",random(32,-32),random(32,-32),random(12,64),0,0,random(1,3),0,128,0)
	NRD3 DCCBB 1 Bright A_Fire
	TNT1 A 0 A_Explode(6,128,0)
	TNT1 AAAAA 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",random(32,-32),random(32,-32),random(12,64),0,0,random(1,3),0,128,0)
	NRD3 CCBBC 1 Bright A_Fire
	//TNT1 A 0 A_Explode(6,128,0)
	TNT1 AAAAA 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",random(32,-32),random(32,-32),random(12,64),0,0,random(1,3),0,128,0)
	NRD3 CBBBB 1 Bright A_Fire
	//TNT1 A 0 A_Explode(6,128,0)
	TNT1 AAAAA 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",random(32,-32),random(32,-32),random(12,64),0,0,random(1,3),0,128,0)
	NRD3 AAAA 1 Bright A_Fire
	TNT1 A 0 A_Explode(6,128,0)
    TNT1 AAAAA 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",random(32,-32),random(32,-32),random(12,64),0,0,random(1,3),0,128,0)
	NRD3 B 1 Bright A_StopSoundEx("Voice")
	NRD3 C 0 A_Explode(105,140,0)
	TNT1 A 0 A_SpawnItemEx("NemesisWhiteParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
	TNT1 AAAAAAAA 0 A_SpawnItemEx("WhiteNemesisKaboom",random(-32,32),random(-40,40),random(16,48),random(-4,4),random(-4,4),random(0,4),0,SXF_TRANSFERPOINTERS)
	TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX2", 0, 0, random(0,360), 2, random(0,360))
	NRD3 C 1 Bright A_PlaySoundEx("exile/voidend","Voice")
	NRD3 DEFGH 1 Bright
	TNT1 A 20
	TNT1 A 0 A_StopSoundEx("Voice")
    Stop
	}
}

Actor NemRedTrap
{ 
Health 200
Radius 16 
Height 32 
Mass 0xFFFFFF 
Speed 0
MONSTER
+LOOKALLAROUND
+AMBUSH
+DONTGIB
+NOTARGET
+NOINFIGHTING
+NOGRAVITY 
+FLOAT
+DONTFALL
+NOPAIN
+DONTHARMSPECIES
+NOBLOCKMONST
+NOTIMEFREEZE
-COUNTKILL
-SOLID
SeeSound "reedemer/trap"
DeathSound "weapons/rocklx"
BloodColor "Black"
Species "Redeemer"
DamageType "CacoComet"
DamageFactor "CacoComet", 0.0
Scale 1.15
Obituary "%o was blown to pieces by a Nemesis Redeemer's trap."
var int user_delay;
States 
{ 
     Spawn:
       NRD4 A 20 Bright
	   NRD4 A 1 Bright A_Stop
	   NRD4 A 0 A_JumpIf(user_delay >= 260,"Suicide")
	   NRD4 A 0 A_SetUserVar("user_delay",user_delay+1)
	   NRD4 ABCD 1 Bright A_Look
       Goto Spawn+2
     See:
       NRD4 ABCD 2 Bright A_Chase
       Goto Missile
     Missile:
	   NRD4 A 0
	   NRD4 A 0 A_JumpIfTargetInLos(1)
	   Goto Clear
	   NRD4 A 0 A_JumpIfCloser(100,"Suicide")
       NRD4 ABCD 4 Bright A_SkullAttack(18)
       Loop  
	 Clear:
       NRD4 A 4 Bright A_ClearTarget
       Goto Spawn+2 
     Suicide:
       NRD4 A 2 Bright A_Die
       Goto Spawn+2    
     Death:
	   TNT1 A 0
	   TNT1 A 0 A_PlayWeaponSound("weapons/rocklx")
	   TNT1 A 0 A_CustomMissile("NemRedTrapBomb",0,0,0,0)
	   TNT1 A 0 A_SpawnItemEx("NemesisWhiteParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
	   TNT1 AAAAAAAA 0 A_SpawnItemEx("WhiteNemesisKaboom",random(-32,32),random(-40,40),random(8,16),random(-4,4),random(-4,4),random(0,4),0,SXF_TRANSFERPOINTERS)
	   TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX4", 0, 0, random(0,360), 2, random(0,360))   
	   TNT1 A 0 A_Explode(128,128,0)
	   Stop
   } 
}

Actor NemRedTrapBomb
{
Projectile
Speed 0
Damage 0
+NOCLIP
+EXTREMEDEATH
+FORCERADIUSDMG
+NOTIMEFREEZE
States
{
  Spawn:
	TNT1 A 0 
	TNT1 A 0 A_Explode(128,156)
    Stop
  }
}

Actor NemRedThunderBall
{
Projectile
Decal "PlasmaDecal"
DamageType "CacoComet"
Radius 12
Height 6
RenderStyle Add
Alpha 0.8
Speed 40
Scale 0.25
SeeSound "LightningHandsFire"
DeathSound "MageElectricalStorm"
Damage 500
+EXTREMEDEATH
+SKYEXPLODE
+FORCERADIUSDMG
+SEEKERMISSILE
+HEXENBOUNCE
+CANBOUNCEWATER
+NOTIMEFREEZE
BounceCount 6
DECAL BlueBFG9500Lightning
States
{
  Spawn:
	NRD5 ABCD 1 bright A_SpawnItemEx("NemesisWhiteParticleSpawner",0,0,32,0,0,0,0,128)
	NRD5 D 0 A_SeekerMissile(5,5)
	NRD5 D 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",0,0,32,0,0,0,0,0,160)
	Loop
  Death:
    TNT1 A 0
    TNT1 A 0 A_Explode(32,612)
	TNT1 A 0 A_Explode(64,350)
	TNT1 A 0 A_Explode(192,256)
	TNT1 A 0 A_SpawnItemEx("NemRedThunder",0,0,0)
	Stop
	}
}

Actor NemRedThunder
{
+NOGRAVITY
+NOCLIP
+NOTIMEFREEZE
Renderstyle Add
Height 32
Radius 16
Alpha 0.2
Scale 4.0
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_PlaySoundEx("thunder/hit","Voice",0,2)
	TNT1 A 0 Radius_Quake(175,8,512,1024,0)
	TNT1 AAA 0 A_CustomMissile("SmokeFX3",0,0,random(0,360),2,random(0,360))
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("LegCardiThunderSpark",0,0,0,random(1,10),0,random(1,10),random(0,359),129)
	NTHN AAAA 2 Bright A_FadeIn(0.2)
	NTHN AAAA 8 Bright A_FadeOut(0.2)
	Stop
    }     
}

Actor NemRedPortal
{
Monster
+NOINTERACTION
+NOBLOCKMAP
+NOGRAVITY
+FORCEXYBILLBOARD
+NOTIMEFREEZE
-SOLID
-COUNTKILL
Health 9999999999999999999999999
RenderStyle Add
Alpha 0.8
Scale 1.5
var int user_delay;
States
{
  Spawn:
	TNT1 AAAAA 7 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner",0,0,32,0,0,0,0,0,172)
	TNT1 A 0 A_SetTranslucent(0.1,1)
	TNT1 A 0 A_PlaySound("reedemer/charge")
	NRD6 AAAAA 1 bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,32)
	NRD6 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",0,0,32,0,0,0,0,0,160)
	TNT1 A 0 A_SetTranslucent(0.2,1)
	NRD6 AAAAA 1 bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,32)
	NRD6 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",0,0,32,0,0,0,0,0,160)
	TNT1 A 0 A_SetTranslucent(0.3,1)
	NRD6 AAAAA 1 bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,32)
	NRD6 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",0,0,32,0,0,0,0,0,160)
	TNT1 A 0 A_SetTranslucent(0.4,1)
	NRD6 AAAAA 1 bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,32)
	NRD6 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",0,0,32,0,0,0,0,0,160)
	TNT1 A 0 A_SetTranslucent(0.5,1)
	NRD6 AAAAA 1 bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,32)
	NRD6 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",0,0,32,0,0,0,0,0,160)
	TNT1 A 0 A_SetTranslucent(0.6,1)
	NRD6 AAAAA 1 bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,32)
	NRD6 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",0,0,32,0,0,0,0,0,160)
	TNT1 A 0 A_SetTranslucent(0.7,1)
	NRD6 AAAAA 1 bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,32)
	NRD5 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",0,0,32,0,0,0,0,0,160)
	TNT1 A 0 A_SetTranslucent(0.8,1)
	TNT1 A 0 A_PlaySound("reedemer/thunder",5,1,1)
	NRD6 AAAAA 1 bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,32)
	NRD6 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",0,0,32,0,0,0,0,0,160)
	NRD6 AAAAA 1 bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,32)
	NRD6 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",0,0,32,0,0,0,0,0,160)
	NRD6 AAAAA 1 bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,32)
	NRD6 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",0,0,32,0,0,0,0,0,160)
  Doing:
    TNT1 A 0 A_JumpIf(user_delay > 14,"Over")
	TNT1 A 0 A_SetUserVar("user_delay",user_delay+1)
	NRD6 AAAAA 1 bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,32)
	NRD6 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",0,0,32,0,0,0,0,0,160)
	NRD6 AAAAA 1 bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,32)
	NRD6 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",0,0,32,0,0,0,0,0,160)
	NRD6 AAAAA 1 bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,32)
	NRD6 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",0,0,32,0,0,0,0,0,160)
	NRD6 AAAAA 1 bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,32)
	NRD6 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",0,0,32,0,0,0,0,0,160)
	NRD6 AAAAA 1 bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,32)
	NRD6 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",0,0,32,0,0,0,0,0,160)
	NRD6 AAAAA 1 bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,32)
	NRD6 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",0,0,32,0,0,0,0,0,160)
	NRD6 AAAAA 1 bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,32)
	NRD6 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",0,0,32,0,0,0,0,0,160)
	NRD6 AAAAA 1 bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,32)
	NRD6 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",0,0,32,0,0,0,0,0,160)
	NRD6 AAAAA 1 bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,32)
	NRD6 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",0,0,32,0,0,0,0,0,160)
	NRD6 AAAAA 1 bright A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,32)
	NRD6 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner",0,0,32,0,0,0,0,0,160)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16)
	TNT1 A 0 A_Print("						Warning!!!!!! Incoming vexed zombies. Take cover!!!!!						")
	TNT1 A 0 A_SpawnItemEx("NemRedMinion",0,0,16,5,0,0,0,32)
	Loop
  Over:
	TNT1 A 0
	TNT1 A 1 A_StopSound(5)
	TNT1 A 1
	Stop	
	}
}

ACTOR NemRedMinion : RandomSpawner
{
DropItem "NemesisZombie~", 256, 3
DropItem "FakeVexedNemesisZombie", 256, 1
}

Actor NemSuicideBomb
{
Projectile
Speed 0
Damage 0
+NOCLIP
+EXTREMEDEATH
+FORCERADIUSDMG
+NOTIMEFREEZE
States
{
  Spawn:
	TNT1 A 0 
	TNT1 A 0 A_PlaySoundEx("legendary/strike","Voice",0,2)
	TNT1 A 0 A_Explode(384,1024)
    Stop
  }
}

Actor NemesisStrike
{
 Alpha 0.9
 RenderStyle Add
 +NoGravity
 +NOTIMEFREEZE
 Scale 10.0
 States
 {
  Spawn:
   NSKB A 0
   NSKB A 1 Bright A_FadeOut(0.05)
   Wait
 }
}

ACTOR FakeVexedNemesisZombie : VexedNemesisZombie
{ 
  Health 500
  Speed 20
  -SOLID
  DropItem "NemesisHealthBonusMax", 256, 32
  DropItem "NemesisArmorBonus32", 256
  DropItem "NemesisHealthBonusMax", 256, 32
  DropItem "NemesisArmorBonus32", 256
  DropItem "VengefulNemesisArmor", 64, 1
  Tag "\c[J6]F3ke \c[w2]Vexed Nemesis Zombie\c-"
  States
  {
  Death:
	TNT1 A 0 A_StopSound(6)
    //TNT1 A 0 A_Jump(36,"LegendarySoul")
	VNZO H 5 A_Scream
	VNZO I 5 A_Fall
	VNZO J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	VNZO K 5 
	//TNT1 A 0 A_Jump(100,"MoreStuff")
	VNZO L -1
	Stop	
  XDeath:
	TNT1 A 0 A_StopSound(6)
	VNZO O 3 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128,0)
	VNZO P 3 A_XScream
	VNZO R 3 A_Fall
	VNZO STUV 3 
	//TNT1 A 0 A_Jump(100,"MoreStuff2")
	VNZO W -1
	Stop
  }
}