ACTOR NemesisSuperShotgunZombie : LegendaryLieutenant 
{ 
Health 1750
Speed 20
BloodColor "Black"
PainChance 20
DamageFactor 0.6
DamageFactor "PlayerNemesisPlasma", 0.0
DamageFactor "Explosion", 0.2
DamageFactor "PlayerDTRG", 0.4
DamageFactor "DTRailgun", 0.4
DamageFactor "PDTPuff", 0.4
DamageFactor "RailG", 0.3
DamageFactor "PlayerPyro", 0.2
DamageFactor "VileFires", 0.0
DropItem "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 "LegendaryAmmoSphere", 95, 3
DropItem "Portablemedkit", 217, 1
DropItem "NemesisRuneSpawnerTier1", 70, 1
DropItem "NemesisPowerShard", 35, 1
DropItem "HandGrenadeAmmo", 237, 2
DropItem "MineAmmo", 242, 2
DropItem "ModdedBackPack", 202, 1
DropItem "NemesisShell", 256
DropItem "NemesisShellBox", 130
DropItem "NemesisSawed-OffShotgunGiver", 128, 1
Tag "$NENemSSGShot"
SeeSound "Nemssgzomb/sight"
PainSound "Nemssgzomb/pain"
DeathSound "Nemssgzomb/death"
ActiveSound "NemesisZombie/Active"
Obituary "The nemesis super shotgun zombie fucked up %o's face."
var int user_fading;
States
{
Spawn:
    NZSG A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
    NZSG A 10 Bright A_Look
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	NZSI A 10 Bright A_Look
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
    Loop
  See:
	TNT1 A 0 A_JumpIf(user_lowlag == 1,"MoreSee")
	TNT1 A 0 A_JumpIfTargetInLOS("MoreSee",0,0,0,0)
	NZSG ABCD 3 A_Chase
	Loop
  MoreSee:
	TNT1 A 0 A_SetUserVar("user_lowlag",1)
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("CFMusic",0,768)
	TNT1 A 0 A_SetUserVar("user_music",1)
    TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
    NZSG A 0 A_JumpIfTargetInLOS("Strafing")
    NZSG AA 3 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	NZSG BB 3 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	NZSG A 0 A_JumpIfTargetInLOS("Strafing")
	NZSG CC 3 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	NZSG DD 3 Bright A_Chase
	TNT1 A 0 A_Jump(20,"Teleport")
	TNT1 A 0 A_Jump(80,"Rush")
    TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
    Loop
Rush:
    NZSG A 0 A_JumpIfTargetInLOS("Strafing")
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItemEx("NemSsgguyGhostA",0,0,0,0,0,0,0,128)
	NZSG A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("NemSsgguyGhostA",0,0,0,0,0,0,0,128)
	NZSG A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisSsgguyGhostB",0,0,0,0,0,0,0,128)
	NZSG B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisSsgguyGhostB",0,0,0,0,0,0,0,128)
	NZSG B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	TNT1 A 0 A_SpawnItemEx("NemSsgguyGhostC",0,0,0,0,0,0,0,128)
	NZSG C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("NemSsgguyGhostC",0,0,0,0,0,0,0,128)
	NZSG C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisSsgguyGhostD",0,0,0,0,0,0,0,128)
	NZSG D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("NemesisSsgguyGhostD",0,0,0,0,0,0,0,128)
	NZSG D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	TNT1 A 0 A_Jump(84,"See")
	TNT1 A 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	Loop
  Teleport:
	NZSG A 1 Bright ACS_NamedExecuteWithResult("ttk_fader",10,3)
	TNT1 AAAA 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	NZSG A 0 A_Settics(user_fading)
	NZSG A 2 Bright
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	NZSG A 1 Bright A_PlayWeaponSound("boss/teleport")
	TNT1 AAAA 0 A_SpawnItemEx("NemesisHellionSmokeSpawner")
	NZSG A 0 A_Settics(user_fading)
	NZSG A 1 Bright
	Goto See  
Strafing:
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	NZSG AA 3 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	NZSG BB 3 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
    NZSG CC 3 Bright A_GiveInventory("NemesisLegZombieStrafing",1)	
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	NZSG DD 3 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
	Goto See
Missile:        
    TNT1 A 0 A_Jump(45,"NemNade")
	TNT1 A 0 A_JumpIfCloser(275,"Double")
Normal:
    TNT1 A 0 A_SetShootable
    TNT1 A 0 A_UnsetInvulnerable
    TNT1 A 0 A_SetTranslucent(1)
	NZSG EE 1 Bright A_Facetarget
	NZSG E 1 Bright A_Facetarget
	TNT1 A 0 A_PlaySoundEx("NemesisSSG/Fire2","Weapon")
	TNT1 AAAA 0 A_CustomMissile("NemesisTracer",Random(32,38),0,Random(6,-6),0)
	TNT1 A 0 A_CustomBulletAttack(4,4,5,0,"NemesisASGPuffExplode",0)
	NZSG F 3 Bright A_CustomBulletAttack(4,4,5,Random(5,15)*6,"NemesisASGBulletPuff",0,CBAF_NORANDOM)
	NZSG EE 3 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
	NZSG E 0 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
	TNT1 A 0 A_PlaySoundEx("NemesisSSG/Fire2","Weapon")
	TNT1 AAAA 0 A_CustomMissile("NemesisTracer",Random(32,38),0,Random(6,-6),0)
	TNT1 A 0 A_CustomBulletAttack(4,4,5,0,"NemesisASGPuffExplode",0)
	NZSG F 3 Bright A_CustomBulletAttack(4,4,5,Random(5,15)*6,"NemesisASGBulletPuff",0,CBAF_NORANDOM)
	NZSG EE 3 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
	Goto Reload
Double:
    TNT1 A 0 A_SetShootable
    TNT1 A 0 A_UnsetInvulnerable
    TNT1 A 0 A_SetTranslucent(1)
	NZSG EEE 3 Bright A_Facetarget
	NZSG E 0 Bright A_Facetarget
	TNT1 A 0 A_PlaySoundEx("NemesisSSG/Fire1","Weapon")
	TNT1 AAAA 0 A_CustomMissile("NemesisTracer",Random(32,38),0,Random(6,-6),0)
	NZSG F 4 Bright A_CustomBulletAttack(20,14,15,Random(5,15)*6,"NemesisASGBulletPuff",0,CBAF_NORANDOM)
	NZSG EEE 2 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
	Goto Reload
Reload:
	NZSG E 3 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
	TNT1 A 0 A_GiveInventory("NemesisLegZombieStrafing",1)
	NZSG E 6 Bright A_PlaySound("NemesisSSG/Open")
	NZSG EEEE 1 Bright 
	TNT1 A 0 A_GiveInventory("NemesisLegZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("NemesisShellCasing", -8, 6, 36, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	NZSG E 1 Bright A_SpawnItemEx("NemesisShellCasing", -10, 6, 36, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	NZSG E 6 Bright A_PlaySound("NemesisSSG/Load")
	NZSG EEEE 1 Bright
	TNT1 A 0 A_GiveInventory("NemesisLegZombieStrafing",1)
	NZSG E 6 Bright A_PlaySound("NemesisSSG/Close")
	NZSG EEEE 1 Bright
	TNT1 A 0 A_GiveInventory("NemesisLegZombieStrafing",1)
	NZSG E 6 Bright A_CPosRefire
	Goto See
NemNade:
	NZSG E 0 Bright A_JumpIfCloser(280,"Missile")
    NZSG E 12 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
    NZSG EEE 6 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
	TNT1 A 0 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
    NZSG E 6 Bright A_CustomMissile("NemesisGrenade2",32,0,0,2,4)
	NZSG EE 25 Bright
	Goto See
  Pain:
	TNT1 A 0 A_Jump(30,"Teleport")
  Pain2:
	TNT1 A 0 A_Jump(192,"PainMissile")
	NZSG G 3 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
	TNT1 A 0 A_Pain
	NZSG G 3 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
	Goto See
  PainMissile: 
	NZSG G 3 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
	TNT1 A 0 A_Pain
	NZSG G 3 Bright A_GiveInventory("NemesisLegZombieStrafing",1)
	Goto Missile  
Death:
    TNT1 A 0 A_Jump(36,"LegendarySoul")
    TNT1 A 0 A_StopSound(6)
	NZSG H 5 A_Scream
    NZSG I 5 A_Fall
    NZSG J 5 A_SpawnItem("BodyCrash",0,0,0,0)
    NZSG K 5
	TNT1 A 0 A_Jump(100,"MoreStuff")
    NZSG L -1 
	Stop
  LegendarySoul:
    TNT1 A 0 A_StopSound(6)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NZSG H 5 A_Scream
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    NZSG I 5 A_Fall
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    NZSG J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    NZSG K 5 
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
    NZSG L 5
	TNT1 A 0 A_SpawnItem("TrueNemesisHellionSmokeSpawner",0,0,0,0)
	NZSG L 140
	NZSG L 0 A_PlaySoundEx("brain/spit","Voice",0,2)
	NZSG LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	NZSG LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	NZSG LLLLLLLLLLLLLLLLL 2 Bright A_GiveInventory("NemesisSoulEvent",1)
	TNT1 A 0 A_SpawnItemEx("NemesisSoul",0,0,16,0,0,0,0,32)
	TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,32)
	NZSG L -1
	Stop
  MoreStuff:
	NZSG L 100
	TNT1 A 0 A_SpawnItem("HellionSmokeAttack")
	NZSG LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SpawnItem("NemesisAssaultCaptainItemRandomizer")
	NZSG LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SpawnItem("NemesisAssaultCaptainItemRandomizer")
	NZSG L 1 A_SpawnItem("NemesisZombieSuperItemRandomizer")
	NZSG L -1
	Stop
  XDeath:
	TNT1 A 0 A_StopSound(6)
	NASG O 5 A_SpawnItemEx("NemesisGibbedGenerator",0,0,0,0,0,0,0,128,0)
	NASG P 5 A_XScream
	NASG Q 5 A_Fall
	NASG RSTUV 5
	TNT1 A 0 A_Jump(100,"MoreStuff2")
	NASG W -1
	Stop
  MoreStuff2:
	NASG W 100
	TNT1 A 0 A_SpawnItem("HellionSmokeAttack")
	NASG WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW 1 A_SpawnItem("NemesisAssaultCaptainItemRandomizer")
	NASG WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW 1 A_SpawnItem("NemesisAssaultCaptainItemRandomizer")
	NASG W 1 A_SpawnItem("NemesisZombieSuperItemRandomizer")
	NASG W -1
	Stop
    }
}

ACTOR NemSsgguyGhostA : NemesisZombieGhostA
{   
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Vanilla")
Fade:
    TNT1 A 1
    NZSG A 2 A_FadeOut(0.10)
    Goto Fade+1
    }
}

ACTOR NemesisSsgguyGhostB : NemesisZombieGhostA
{   
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Vanilla")
Fade:
    TNT1 A 1
    NZSG B 2 A_FadeOut(0.10)
    Goto Fade+1
    }
}

ACTOR NemSsgguyGhostC : NemesisZombieGhostA
{   
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Vanilla")
Fade:
    TNT1 A 1
    NZSG C 2 A_FadeOut(0.10)
    Goto Fade+1
    }
}

ACTOR NemesisSsgguyGhostD : NemesisZombieGhostA
{   
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Vanilla")
Fade:
    TNT1 A 1
    NZSG D 2 A_FadeOut(0.10)
    Goto Fade+1
    }
}

ACTOR NemesisSsgguyGhostE : NemesisZombieGhostA
{   
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Vanilla")
Fade:
    TNT1 A 1
    NZSG E 2 A_FadeOut(0.10)
    Goto Fade+1
    }
}

ACTOR NemesisSsgguyGhostF : NemesisZombieGhostA
{   
States
{
Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("CheckVanilla") == 1, "Vanilla")
Fade:
    TNT1 A 1
    NZSG F 2 A_FadeOut(0.10)
    Goto Fade+1
    }
}

ACTOR NemSSGZombieToken : Inventory
{
Inventory.MaxAmount 1
Inventory.MaxAmount 2
}

ACTOR NemesisGrenade2 : NemesisGrenade
{
Speed 100
}