Actor VexedNemesisLieutenant : NemesisLieutenant
{
Health 2750
Speed 40
DamageFactor 0.6
DamageFactor "PDTBFG", 0.20
DamageFactor "PDTBFGTracer", 0.20
DamageFactor "PlayerDevBall", 0.120
DamageFactor "PlayerDevBall2", 0.120
DamageFactor "PlayerDTBFGRailgunSlug", 0.120
DamageFactor "PlayerDevTracer", 0.120
DamageFactor "Legendary", 0.0
DamageFactor "LegendaryGuru", 0.0
DamageFactor "LegendaryPlayer", 0.3
DamageFactor "LegendaryGuruPlayer", 0.3
DamageFactor "LACGrenade", 0.0
DamageFactor "DBFG10K2", 0.65
DamageFactor "PlayerDBFG10K2", 0.65
DamageFactor "DBFG2", 0.65
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
DamageFactor "PlayerNemesisPlasma", 0.0
Species "Zombie"
DropItem "NemesisHealthBonusMax", 256, 32
DropItem "NemesisArmorBonus32", 256
DropItem "NemesisHealthBonusMax", 256, 32
DropItem "NemesisArmorBonus32", 256
DropItem "StimKit", 222, 3
DropItem "HealthFlask", 227, 5
DropItem "Armorplate", 212, 1
DropItem "LegAmmoSphere", 95, 1
DropItem "Portablemedkit", 217, 1
DropItem "NemesisRuneSpawnerTier1", 70, 1
DropItem "VengefulNemesisArmor", 92, 1
DropItem "NemesisPowerShard", 35, 1
DropItem "HandGrenadeAmmo", 237, 2
DropItem "MineAmmo", 242, 2
DropItem "ModdedBackPack", 202, 1
DropItem "NemesisShell", 256
DropItem "NemesisShellBox", 130
DropItem "Nemesis Sawed-Off Shotgun", 128, 1
SeeSound "enragedleglie/sight"
AttackSound " "
PainSound "enragedleglie/pain"
DeathSound "enragedleglie/death"
Obituary "A Vexed Nemesis Lieutenant showed %o that endless new legendary shotgunners is indeed possible!"
Tag "\c[w2]Vexed Nemesis Lieutenant\c-"
States
{
  Spawn:
    VSZX A 10 A_Look
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	VSZX A 10 A_Look
	TNT1 AA 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	Loop
  Idle:
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	VSZX AA 3 A_Wander
	TNT1 A 0 A_Look
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	VSZX BB 3 A_Wander
	TNT1 A 0 A_Look
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	VSZX CC 3 A_Wander
	TNT1 A 0 A_Look
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	VSZX DD 3 A_Wander
	TNT1 A 0 A_Look
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	Loop
  See:
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
    TNT1 A 0 A_JumpIf(user_music == 1,3)
    TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,2139)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	VSZX AA 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	VSZX BB 3 A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	VSZX CC 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	VSZX DD 3 A_Chase
	TNT1 A 0 A_Jump(80,"Rush")
	TNT1 A 0 A_Jump(64,"Dodge")
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	Loop
  Rush:
	TNT1 A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItemEx("VexLieutenantGhostA",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	VSZX A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("VexLieutenantGhostA",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	VSZX A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("VexLieutenantGhostB",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	VSZX B 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("VexLieutenantGhostB",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	VSZX B 1 A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItemEx("VexLieutenantGhostC",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	VSZX C 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("VexLieutenantGhostC",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	VSZX C 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("VexLieutenantGhostD",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	VSZX D 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("VexLieutenantGhostD",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	VSZX D 1 A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Jump(84,"See")
	TNT1 A 0 A_Jump(64,"Dodge")
	Loop
  Strafing:
	TNT1 A 0
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	VSZX AA 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	VSZX BB 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	VSZX CC 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)	
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	VSZX DD 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	Goto See
  Dodge:
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	VSZX A 1 A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("TrueNemesisHellionSmokeSpawner")
	VSZX E 0 ThrustThingZ(0,20,0,0)
	VSZX A 0 A_Jump(256,"DodgeRight","DodgeLeft")
  DodgeLeft:
	VSZX E 0 ThrustThing(angle*256/360+192, 15, 0, 0)
	Goto See
  DodgeRight:
	VSZX E 0 ThrustThing(angle*256/360+64, 15, 0, 0)
	Goto See
  Missile:
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	TNT1 A 0 A_JumpIf(user_reload == 2,"Reload")
	TNT1 A 0 A_Jump(40,"Grenade")
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_JumpIfCloser(300,"Double")
  Normal:
	VSZX EE 4 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_PlaySound("Coachgun/Fire2",CHAN_WEAPON)
	TNT1 AAAA 0 A_CustomMissile("PlayerNemDragonTracer",Random(32,38),0,Random(6,-6),0)
	TNT1 AAAA 0 A_CustomMissile("NLieutenantFloorFire",Random(32,38),0,Random(6,-6),0)
	TNT1 A 0 A_SetUserVar(user_reload,1)
	VSZX F 4 A_CustomBulletAttack(18,10,10,Random(20,28),"NemesisASGBulletPuff")
	VSZX EE 4 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_JumpIf(user_reload == 2,"Reload")
	TNT1 A 0 A_PlaySound("Coachgun/Fire2",CHAN_WEAPON)
	TNT1 AAAA 0 A_CustomMissile("PlayerNemDragonTracer",Random(32,38),0,Random(6,-6),0)
	TNT1 AAAA 0 A_CustomMissile("NLieutenantFloorFire",Random(32,38),0,Random(6,-6),0)
	TNT1 A 0 A_SetUserVar(user_reload,2)
	VSZX F 4 A_CustomBulletAttack(18,10,10,Random(20,28),"NemesisASGBulletPuff")
	VSZX EE 4 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	Goto Reload
  Double:
	TNT1 A 0 A_JumpIf(user_reload == 1,"Normal")
	TNT1 A 0 A_FaceTarget(45)
	VSZX E 5 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_FaceTarget(45)
	VSZX E 5 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_FaceTarget(45)
	VSZX E 5 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_PlaySound("Coachgun/Fire1",CHAN_WEAPON)
	TNT1 AAAAAAAA 0 A_CustomMissile("PlayerNemDragonTracer",Random(28,34),0,Random(6,-6),0)
	TNT1 AAAAAAAA 0 A_CustomMissile("NemesisTracer",Random(28,34),0,Random(6,-6),0)
	TNT1 A 0 A_SetUserVar(user_reload,2)
	VSZX F 5 A_CustomBulletAttack(30,20,24,Random(20,28),"NemesisASGBulletPuff") 
	VSZX EEE 5 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_Jump(64,"Grenade")
	Goto Reload
  Grenade:
	TNT1 A 0 A_PlaySound("weapons/hgrenadepin",0,1.0,0)
	VSZX CE 4 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/hgrenadethrow",0,1.0,0)
	VSZX E 1 Bright A_CustomMissile("VexThrownGrenade",32,0,0,2,4)
	TNT1 A 0 A_JumpIf(user_reload == 2,"Reload")
	Goto Dodge
  Reload:
	VSZX E 3 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	VSZX A 6 A_PlaySound("Coachgun/Open")
	TNT1 A 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("NemesisShellCasing",-8,6,36,Random(2,6),0,random(1,3),random(-80,-90),128)
	VSZX B 1 A_SpawnItemEx("NemesisShellCasing",-10,6,36,Random(2,6),0,random(1,3),random(-80,-90),128)
	VSZX B 6 A_PlaySound("Coachgun/Load")
	TNT1 A 0 A_SetUserVar(user_reload,0)
	TNT1 A 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	VSZX C 6 A_PlaySound("Coachgun/Close")
	TNT1 A 0 A_GiveInventory("VexedNemesisLegZombieStrafing",1)
	VSZX D 6
	Goto See
  Pain:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	TNT1 A 0 A_Jump(20,"Dodge")
	VSZX G 3
	VSZX G 3 A_Pain
	TNT1 A 0 A_Jump(192,"Missile")
	Goto See
  Death:
	TNT1 A 0 A_Jump(36,"LegendarySoul")
	TNT1 A 0 A_StopSound(6)
	VSZX H 5 A_Scream
    VSZX I 5 A_Fall
	TNT1 A 0 A_ChangeFlag(BRIGHT,0)
    VSZX J 5 A_SpawnItem("BodyCrash",0,0,0,0)
    VSZX K 5
	TNT1 A 0 A_Jump(100,"MoreStuff")
    VSZX L 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)
    VSZX L -1 
	Stop
  LegendarySoul:
	TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VSZX H 5 A_Scream
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    VSZX I 5 A_Fall
	TNT1 A 0 A_ChangeFlag(BRIGHT,0)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    VSZX J 5 A_SpawnItem("BodyCrash",0,0,0,0)
    VSZX K 5 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    VSZX LL 5 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	VSZX L 140 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	VSZX LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	VSZX LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	VSZX LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("VexedNemesisSoul",0,0,16,0,0,0,0,32)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,32)
	VSZX L -1
    Stop
  MoreStuff:
	VSZX L 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")
	VSZX LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SpawnItem("NemesisAssaultCaptainItemRandomizer")
	VSZX LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SpawnItem("NemesisAssaultCaptainItemRandomizer")
	VSZX L 1 A_SpawnItem("NemesisZombieSuperItemRandomizer")
	VSZX L -1
	Stop	
  XDeath:
	TNT1 A 0 A_ChangeFlag(BRIGHT,0)
	VSZX O 5 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128,0)
	VSZX P 5 A_XScream
	VSZX Q 5 A_Fall
	VSZX RSTUV 5
	TNT1 A 0 A_Jump(100,"MoreStuff2")
    VSZX W 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)
	VSZX W -1
	Stop
  MoreStuff2:
	VSZX W 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")
	VSZX WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW 1 A_SpawnItem("NemesisAssaultCaptainItemRandomizer")
	VSZX WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW 1 A_SpawnItem("NemesisAssaultCaptainItemRandomizer")
	VSZX W 1 A_SpawnItem("NemesisZombieSuperItemRandomizer")
	VSZX W -1
	Stop	
	}
}

ACTOR NLieutenantFloorFire : LegBehFloorFire
{
Speed 20
Damage 15
DamageType "Legendary"
+RIPPER
+THRUACTORS
+FLOORHUGGER
+NOTIMEFREEZE
+NODAMAGETHRUST
+Forceradiusdmg
+FoilInvul
+Painless
States
{
  Spawn:
    TNT1 A 0 A_PlaySound("monster/ambientfire2",4,1.0,1)
    TNT1 A 0 A_CustomMissile("NLieutenantWhiteFire",0,0,0,CMF_AIMDIRECTION)
	TNT1 A 0 A_CountDown
	TNT1 A 0 A_Weave(3,0,3.0,0)
	TNT1 A 2 A_SeekerMissile(2,2)
    Loop
  Death: 
	TNT1 A 0 A_StopSoundEx(4)
	TNT1 A 0 A_SpawnItemEx("NemesisWhiteParticleSpawner")
    TNT1 AAAA 0 A_SpawnItemEx("LegendaryDebris",0,0,Random(20,40),Random(4,-4),Random(4,-4),Random(4,8),0,128)
    TNT1 AAA 0 A_CustomMissile("WhiteNemesisKaboom", 0, 0, random(0,360), 2, random(0,360))	
    TNT1 AAA 0 A_CustomMissile("LegendarySmokeFX2", 0, 0, random(0,360), 2, random(0,360))
    Stop
	}
}

Actor NLieutenantWhiteFire : LegBehBlueFire
{
Damage 10
DamageType "Legendary"
+FLOORCLIP
+RIPPER
+FORCERADIUSDMG
+BLOODLESSIMPACT
+NOTIMEFREEZE
+NODAMAGETHRUST
+FoilInvul
+Painless
States
{
  Spawn:
    NEFR A 2 Bright A_PlaySound("legendaryflame/crackle")
    NEFR B 2 Bright A_Explode(8,84)
    NEFR C 2 Bright A_PlaySound("legendaryflame/crackle")
    NEFR D 2 Bright A_Explode(8,84)
    NEFR E 2 Bright A_PlaySound("legendaryflame/crackle")
    NEFR F 2 Bright A_Explode(8,84)
    NEFR G 2 Bright A_PlaySound("legendaryflame/crackle")
    NEFR H 2 Bright A_Explode(8,84)
    NEFR I 2 Bright A_PlaySound("legendaryflame/crackle")
    NEFR J 2 Bright A_Explode(8,84)
    NEFR K 2 Bright A_PlaySound("legendaryflame/crackle")
    NEFR L 2 Bright A_Explode(8,84)
    NEFR M 2 Bright A_PlaySound("legendaryflame/crackle")
    NEFR N 2 Bright A_Explode(8,84)
    NEFR O 2 Bright A_PlaySound("legendaryflame/crackle")
    NEFR P 2 Bright A_Explode(8,84)
	NEFR Q 0 A_Jump(64,"Spawn")
    NEFR QR 6 Bright
    Stop
	}
}

ACTOR VexLieutenantGhostA
{
Alpha 0.7
Renderstyle Translucent
+NOTIMEFREEZE
+NOINTERACTION
+CLIENTSIDEONLY
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
	VSZX A 2 A_FadeOut(0.1,1)
	Wait
	}
}

ACTOR VexLieutenantGhostB : VexLieutenantGhostA
{   
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
	VSZX B 2 A_FadeOut(0.1,1)
	Wait
    }
}

ACTOR VexLieutenantGhostC : VexLieutenantGhostA
{   
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
	VSZX C 2 A_FadeOut(0.1,1)
	Wait
    }
}

ACTOR VexLieutenantGhostD : VexLieutenantGhostA
{   
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
	VSZX D 2 A_FadeOut(0.1,1)
	Wait
    }
}