ACTOR CorruptedAssaultCaptain : LegendaryZombie
{
//Creator: Dr. Sticky
//Origin: Nexus Infinity
//Sprite: CASG
//Title: "Corrupted Assault Captain"  
Health 2350
Speed 17
Mass 250
DropItem "HandGrenadeAmmo" 256 2
DropItem "MineAmmo" 256 2
DropItem "Backpack" 256 1
DropItem "Armorplate" 256 1
DropItem "Portablemedkit" 256 1
Dropitem "D-BFG", 100, 1
Dropitem "MarineSquadBeacon", 80, 1
Dropitem "MarineDBFGBeacon", 55, 1
Dropitem "DCellPack", 256, 32
Dropitem "DCellPack", 128, 30
Dropitem "DCell", 256, 10
Dropitem "DCell", 256, 10
Dropitem "DCell", 256, 10
Dropitem "Randomcorrupteditem", 120, 1
DamageFactor 0.5
DamageFactor "Explosion", 0.2
DamageFactor "PlayerDTRG", 0.4
DamageFactor "DTRailgun", 0.4
DamageFactor "Player",0.1
DamageFactor "LegendaryPlayer",0.5
DamageFactor "Legendary",0.1
DamageFactor "CChainTracer",0.0
DamageFactor "DBFG2",0.0
DamageFactor "SuperWeapon", 0.75
DamageFactor "LegendaryPlayer", 0.75
DamageFactor "LegendaryGuru", 0.75
DamageFactor "LegendaryGuruPlayer", 0.75
DamageFactor "PlayerDevBall", 0.65
DamageFactor "PlayerDevTracer", 0.15
DamageFactor "PowerDoubleDamage", 0.35
DamageFactor "BFG10K", 0.65
DamageFactor "BFG9500Ball", 0.1
DamageFactor "CustomSpray", 0.1
DamageFactor "BFGSplash", 0.1
DamageFactor "BFGSpray", 0.1
DamageFactor "Explosion", 0.1
DamageFactor "PDTBFG", 0.1
DamageFactor "PDTBFGTracer", 0.1
DamageFactor "PlayerDTBFGRailgunSlug", 0.1
DamageFactor "PDTPuff", 0.1
SeeSound "NemesisAssaultCaptain/sight"
AttackSound " "
PainSound "NemesisAssaultCaptain/pain"
DeathSound "NemesisAssaultCaptain/death"
ActiveSound "NemesisAssaultCaptain/active"
Obituary "%o was damaged to a certain amount by a Corrupted Assault Captain."
Tag "\c[l5]Corrupted Assault Captain\c-"
+NOBLOOD
+SEEINVISIBLE
+DONTMORPH
+DONTRIP
+NOPAIN //What
+DONTHARMSPECIES
-NODROPOFF
-NOFEAR
-FORCERADIUSDMG
var int user_ammo;
var int user_infammo;
States
{
  Spawn:
	CASG A 10 Bright A_Look
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CASG "Z" 10 Bright A_Look
	TNT1 AA 0 A_SpawnItemEx("CBoysFireSpawner")
	Loop
  See:
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,2091)
	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_SpawnItemEx("CBoysFireSpawner")
	CASG AA 4 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CASG BB 4 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CASG CC 4 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CASG DD 4 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_Jump(40,"Teleport")
	TNT1 A 0 A_Jump(64,"Mine")
	TNT1 A 0 A_Jump(64,"Rush")
	TNT1 A 0 A_Jump(64,"DodgeLeft","DodgeRight")
	TNT1 A 0 A_Jump(64,"Chase")
	Loop
  Chase:
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CASG AA 1 Bright A_FastChase
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_Jump(1,"Heal")
	TNT1 A 0 A_JumpIfCloser(130,"Dodge")
	CASG AA 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_JumpIfCloser(130,"Dodge")
	CASG BB 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_JumpIfCloser(130,"Dodge")
	CASG BB 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	TNT1 A 0 A_JumpIfCloser(150,"Dodge")
	CASG CC 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_Jump(10,"Heal")
	TNT1 A 0 A_JumpIfCloser(150,"Dodge")
	CASG CC 1 Bright A_FastChase
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_JumpIfCloser(130,"Dodge")
	CASG DD 1 Bright A_FastChase
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_JumpIfCloser(130,"Dodge")
	CASG DD 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	TNT1 A 0 A_Jump(40,"Teleport")
	TNT1 A 0 A_Jump(95,"Mine")
	TNT1 A 0 A_Jump(128,"Dodge")
	Loop
  Rush:
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_SpawnItemEx("CorruptetASGZombieGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	CASG A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("CorruptetASGZombieGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	NASG A 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("CorruptetASGZombieGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	CASG B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("CorruptetASGZombieGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	CASG B 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_SpawnItemEx("CorruptetASGZombieGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	CASG C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("CorruptetASGZombieGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	CASG C 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("CorruptetASGZombieGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	CASG D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("CorruptetASGZombieGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	CASG D 1 Bright A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_Jump(85,"See")
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	Loop
  Heal:
	TNT1 A 0 A_SpawnItem("GHellionSmokeSpawner",0,0,0,0)
	CASG A 5 Bright
	TNT1 A 0 A_SpawnItem("GHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 HealThing(5)
	TNT1 A 0 A_PlaySound("pickups/flask",0,1.0,0)
	Goto See
  Heal2:
	TNT1 A 0 A_SpawnItem("GHellionSmokeSpawner",0,0,0,0)
	CASG A 5 Bright
	TNT1 A 0 A_SpawnItem("GHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 HealThing(15)
	TNT1 A 0 A_PlaySound("pickups/pstimpack",0,1.0,0)
	Goto See
  Heal3:
	TNT1 A 0 A_SpawnItem("GHellionSmokeSpawner",0,0,0,0)
	CASG A 5 Bright
	TNT1 A 0 A_SpawnItem("GHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 HealThing(25)
	TNT1 A 0 A_PlaySound("pickups/pmedkit",0,1.0,0)
	Goto See
  InfiniteAmmo:
	TNT1 A 0 A_JumpIf(user_infammo == 1,"Missile")
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CASG A 5 Bright
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 ACS_NamedExecuteAlways("EnemyInfiniteAmmo",0)
	TNT1 A 0 A_PlaySound("legammo/use",0,1.0,0,0.5)
	Goto See
  SeeNoDodge:
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CASG AABB 2 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	CASG CCDD 2 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	CASG AABB 2 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	CASG CCDD 2 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	CASG AABB 2 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	CASG CCDD 2 Bright A_Chase
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_SpawnItemEx("FootStep",0,0,2,0,0,-20)
	Goto Chase
  Dodge:
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CASG A 1 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 ThrustThingZ(0, 20, 0, 0)
	TNT1 A 0 A_Jump(256, "DodgeRight", "DodgeLeft")
  DodgeLeft:
	TNT1 A 0 ThrustThing(angle*256/360+192, 15, 0, 0)
	TNT1 A 0 A_Jump(40,"Heal")
	TNT1 A 0 A_Jump(35,"Heal2")
	TNT1 A 0 A_Jump(30,"Heal3")
	TNT1 A 0 A_Jump(20,"InfiniteAmmo")
	Goto SeeNoDodge
  DodgeRight:
	TNT1 A 0 ThrustThing(angle*256/360+64, 15, 0, 0)
	TNT1 A 0 A_Jump(40,"Heal")
	TNT1 A 0 A_Jump(35,"Heal2")
	TNT1 A 0 A_Jump(30,"Heal3")
	TNT1 A 0 A_Jump(20,"InfiniteAmmo")
	Goto SeeNoDodge
  Teleport:
	CASG A 1 Bright A_UnSetShootable
	TNT1 AAAA 0 A_SpawnItemEx("CBoysFireSpawner")
	CASG AAAAAAAAAA 1 Bright A_FadeOut(0.1,0)
	CASG A 2 Bright
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	CASG A 1 Bright A_PlayWeaponSound("boss/teleport")
	TNT1 AAAA 0 A_SpawnItemEx("CBoysFireSpawner")
	CASG AAAAAAAAAA 1 Bright A_FadeIn(0.1)
	CASG A 1 Bright A_SetShootable
	Goto See  
  Missile:
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_UnsetInvulnerable
	TNT1 A 0 A_SetTranslucent(1)
	TNT1 A 0 A_Jump(30,"InfiniteAmmo")
	TNT1 A 0 A_Jump(30,"SuperCombo")
	TNT1 A 0 A_Jump(120,"CorruptLaser")
	CASG E 3 Bright A_GiveInventory("CorruptetStrafingg3",1)
  MissileLoop:
	TNT1 A 0 A_JumpIf(user_infammo == 1,"MissileLoopInfAmmo")
	TNT1 A 0 A_GiveInventory("CorruptetStrafingg3",1)
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_JumpIfInventory("ASGZAmmo",16,"Reload")
	CASG E 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_GiveInventory("ASGZAmmo",1)
	TNT1 A 0 A_SpawnItemEx("BlueShellCasing",-8,7,30,4,0,(0.1)*Random(30,40),Random(-80,-90),128)
	TNT1 A 0 A_PlaySound("NemesisASG/Fire",5)
	TNT1 A 0 A_SpawnItemEx("BlueShellCasing",-8,7,30,4,0,FRandom(3.0,4.0),Random(-80, -90),128)
	TNT1 AAAAAAA 0 A_CustomMissile("LegendaryBlueTracer",Random(28,34),0,Random(6,-6))
	CASG F 1 A_CustomBulletAttack(22.5,18.3,4,Random(5,15)*6,"LegModdedBulletPuff")
	CASG F 1 A_CustomBulletAttack(22.5,18.3,4,Random(5,15)*6,"LegModdedBulletPuff")
	CASG E 2 Bright A_FaceTarget
	TNT1 A 0 A_CPosRefire
	TNT1 A 0 A_Jump(6,"Heal")
	TNT1 A 0 A_Jump(5,"Heal2")
	TNT1 A 0 A_Jump(4,"Heal3")
	TNT1 A 0 A_Jump(3,"InfiniteAmmo")
	TNT1 A 0 A_Jump(20,"MidAttackTeleport")
	TNT1 A 0 A_Jump(10,"Grenade")
	TNT1 A 0 A_JumpIfCloser(300,"MidAttackTeleport")
	Loop
  MissileLoopInfAmmo:
	TNT1 A 0 A_GiveInventory("CorruptetStrafingg3",1)
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_TakeInventory("ASGZAmmo",16)
	CASG E 4 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_SpawnItemEx("BlueShellCasing",-8,7,30,4,0,(0.1)*Random(30,40),Random(-80,-90),128)
	TNT1 A 0 A_PlaySound("NemesisASG/Fire",5)
	TNT1 A 0 A_SpawnItemEx("BlueShellCasing",-8,7,30,4,0,FRandom(3.0,4.0),Random(-80, -90),128)
	TNT1 AAAAAAA 0 A_CustomMissile("LegendaryBlueTracer",Random(28,34),0,Random(6,-6))
	CASG F 1 A_CustomBulletAttack(22.5,18.3,4,Random(5,15)*6,"LegModdedBulletPuff")
	CASG F 1 A_CustomBulletAttack(22.5,18.3,4,Random(5,15)*6,"LegModdedBulletPuff")
	CASG E 2 Bright A_FaceTarget
	TNT1 A 0 A_CPosRefire
	TNT1 A 0 A_Jump(6,"Heal")
	TNT1 A 0 A_Jump(5,"Heal2")
	TNT1 A 0 A_Jump(4,"Heal3")
	TNT1 A 0 A_Jump(10,"Grenade")
	Loop
  Strafing:
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	CASG AA 3 Bright A_GiveInventory("CorruptetStrafingg3",1)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	CASG BB 3 Bright A_GiveInventory("CorruptetStrafingg3",1)
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	CASG CC 3 Bright A_GiveInventory("CorruptetStrafingg3",1)  
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	CASG DD 3 Bright A_GiveInventory("CorruptetStrafingg3",1)
	Goto See
  Mine:
	TNT1 A 0 A_JumpIf(user_infammo == 1,"MineInfAmmo")
	CASG C 1 Bright
	CASG C 12 Bright A_CustomMissile("CorruptetSpringMineSet",32,0,0,2,15)
	CASG E 12 Bright
	CASG C 3 Bright
	Goto See
  MineInfAmmo:
	CASG C 1 Bright
	CASG C 5 Bright A_CustomMissile("CorruptetSpringMineSet",32,0,0,2,15)
	CASG E 5 Bright
	TNT1 A 0 A_SetAngle(random(0,360))
	CASG C 1 Bright
	TNT1 A 0 A_Jump(64,"See")
	Loop
  Grenade:
	TNT1 A 0 A_PlaySound("weapons/hgrenadepin",0,1.0,0)
	CASG CE 4 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/hgrenadethrow",0,1.0,0)
	CASG E 1 Bright A_CustomMissile("CorThrownGrenade",32,0,0,2,4)
	Goto Dodge
  MidAttackTeleport:
	CASG E 1 Bright A_UnSetShootable
	TNT1 AAAA 0 A_SpawnItemEx("CBoysFireSpawner")
	CASG E 1 Bright A_FadeOut(0.1,0)
	TNT1 A 0 A_GiveInventory("CorruptetStrafingg3",1)
	CASG EEE 1 Bright A_FadeOut(0.1,0)
	TNT1 A 0 A_GiveInventory("CorruptetStrafingg3",1)
	CASG EEE 1 Bright A_FadeOut(0.1,0)
	TNT1 A 0 A_GiveInventory("CorruptetStrafingg3",1)
	CASG EEE 1 Bright A_FadeOut(0.1,0)
	CASG E 2 Bright
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	CASG E 1 Bright A_PlayWeaponSound("boss/teleport")
	TNT1 AAAA 0 A_SpawnItemEx("CBoysFireSpawner")
	CASG EEEEEEEEEE 1 Bright A_FadeIn(0.1)
	CASG EEE 1 Bright A_FadeIn(0.1)
	TNT1 A 0 A_GiveInventory("CorruptetStrafingg3",1)
	CASG EEE 1 Bright A_FadeIn(0.1)
	TNT1 A 0 A_GiveInventory("CorruptetStrafingg3",1)
	CASG EEE 1 Bright A_FadeIn(0.1)
	TNT1 A 0 A_GiveInventory("CorruptetStrafingg3",1)
	CASG E 1 Bright A_FadeIn(0.1)
	CASG E 1 Bright A_SetShootable
	Goto Grenade
  CorruptLaser:
	TNT1 A 0 A_JumpIf(user_ammo >= 13,"Reload")
    CASG E 0 A_PlaySound("LShotgun/Cock")
	CASG E 4 A_SpawnItem("CBoysFireSpawner")
	TNT1 A 0 A_FaceTarget
	CASG E 4 A_SpawnItem("CBoysFireSpawner")
	TNT1 A 0 A_FaceTarget
	CASG E 4 A_SpawnItem("CBoysFireSpawner")
	TNT1 A 0 A_FaceTarget
	CASG E 4 A_SpawnItem("CBoysFireSpawner")
	TNT1 A 0 A_SpawnItem("CBoysFireSpawner")
	TNT1 A 0 A_FaceTarget 
	TNT1 A 0 A_PlaySound("Weapons/LegAutoShotgun",5)
	TNT1 A 0 A_SetUserVar(user_ammo,user_ammo+4)
	CASG F 4 A_CustomMissile("LaserBeam",32)
	CASG E 4 A_SpawnItem("CBoysFireSpawner")
	CASG F 4 A_CustomMissile("LaserBeam",32)
	TNT1 A 0 A_PlaySound("Weapons/LegAutoShotgun",5)
	CASG E 4 A_SpawnItem("CBoysFireSpawner")
	CASG F 4 A_CustomMissile("LaserBeam",32)
	CASG E 4 A_SpawnItem("CBoysFireSpawner")
	CASG F 4 A_CustomMissile("LaserBeam",32)
	TNT1 A 0 A_JumpIf(user_ammo >= 16,"Reload")
	Goto See
  SuperCombo:
	TNT1 A 0 A_JumpIf(user_infammo == 1,"Missile")
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CASG A 3 Bright
	TNT1 A 0 ACS_NamedExecuteAlways("EnemyInfiniteAmmo",0)
	TNT1 A 0 A_PlaySound("legammo/use",0,1.0,0,0.5)
  SuperComboASG:
	TNT1 A 0 A_JumpIf(user_infammo == 0,"See")
	TNT1 A 0 A_GiveInventory("CorruptetStrafingg3",1)
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_TakeInventory("ASGZAmmo",16)
	CASG E 2 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_SpawnItemEx("NemesisShellCasing",-8,7,30,4,0,(0.1)*Random(30,40),Random(-80,-90),128)
	TNT1 A 0 A_PlaySound("NemesisASG/Fire",5)
	TNT1 AAAA 0 Bright A_CustomMissile("TrueLegendaryExplosiveTracer",Random(28,34),0,Random(6,-6),0)
	TNT1 A 0 A_CustomBulletAttack(32,12,4,0,"TrueLegendaryExplosiveTracer",0)
	CASG F 2 Bright A_CustomBulletAttack(32,12,4,Random(5,15)*6,"LegModdedBulletPuff",0,CBAF_NORANDOM)
	CASG E 2 Bright A_FaceTarget
	TNT1 A 0 A_GiveInventory("CorruptetStrafingg3",1)
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_TakeInventory("ASGZAmmo",16)
	CASG E 2 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_SpawnItemEx("NemesisShellCasing",-8,7,30,4,0,(0.1)*Random(30,40),Random(-80,-90),128)
	TNT1 A 0 A_PlaySound("NemesisASG/Fire",5)
	TNT1 AAAA 0 Bright A_CustomMissile("NemesisTracer",Random(28,34),0,Random(6,-6),0)
	TNT1 A 0 A_CustomBulletAttack(32,12,4,0,"TrueLegendaryExplosiveTracer",0)
	CASG F 2 Bright A_CustomBulletAttack(32,12,4,Random(5,15)*6,"LegModdedBulletPuff",0,CBAF_NORANDOM)
	CASG E 2 Bright A_FaceTarget
	TNT1 A 0 A_GiveInventory("CorruptetStrafingg3",1)
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_TakeInventory("ASGZAmmo",16)
	CASG E 2 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_SpawnItemEx("NemesisShellCasing",-8,7,30,4,0,(0.1)*Random(30,40),Random(-80,-90),128)
	TNT1 A 0 A_PlaySound("NemesisASG/Fire",5)
	TNT1 AAAA 0 Bright A_CustomMissile("NemesisTracer",Random(28,34),0,Random(6,-6),0)
	TNT1 A 0 A_CustomBulletAttack(32,12,4,0,"TrueLegendaryExplosiveTracer",0)
	CASG F 2 Bright A_CustomBulletAttack(32,12,4,Random(5,15)*6,"LegModdedBulletPuff",0,CBAF_NORANDOM)
	CASG E 2 Bright A_FaceTarget
	Goto MidSuperCombo
  SuperComboGrenade:
	TNT1 A 0 A_JumpIf(user_infammo == 0,"See")
	TNT1 A 0 A_PlaySound("weapons/hgrenadepin",0,1.0,0)
	CASG CE 4 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("weapons/hgrenadethrow",0,1.0,0)
	CASG E 1 Bright A_CustomMissile("CorThrownGrenade",32,0,0,2,4)
	TNT1 A 0 A_Jump(32,"See")
	Goto MidSuperCombo
  SuperComboMines:
	TNT1 A 0 A_JumpIf(user_infammo == 0,"See")
	CASG C 1 Bright
	CASG C 1 Bright A_CustomMissile("CorruptetSpringMineSet",32,0,0,2,15)
	CASG E 1 Bright
	TNT1 A 0 A_SetAngle(random(0,360))
	CASG C 1 Bright
	TNT1 A 0 A_Jump(100,"MidSuperCombo")
	TNT1 A 0 A_Jump(32,"See")
	Loop
  MidSuperCombo:
	TNT1 A 0 A_JumpIf(user_infammo == 0,"See")
	CASG E 1 Bright A_UnSetShootable
	TNT1 AAAA 0 A_SpawnItemEx("CBoysFireSpawner")
	CASG E 1 Bright A_FadeOut(0.1,0)
	TNT1 A 0 A_GiveInventory("CorruptetStrafingg3",1)
	CASG E 3 Bright A_FadeOut(0.1,0)
	TNT1 A 0 A_GiveInventory("CorruptetStrafingg3",1)
	CASG E 3 Bright A_FadeOut(0.1,0)
	TNT1 A 0 A_GiveInventory("CorruptetStrafingg3",1)
	CASG E 3 Bright A_FadeOut(0.1,0)
	CASG E 2 Bright
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	CASG E 1 Bright A_PlayWeaponSound("boss/teleport")
	TNT1 AAAA 0 A_SpawnItemEx("CBoysFireSpawner")
	CASG EEEEEEEEEE 1 Bright A_FadeIn(0.1)
	CASG E 3 Bright A_FadeIn(0.1)
	TNT1 A 0 A_GiveInventory("CorruptetStrafingg3",1)
	CASG E 3 Bright A_FadeIn(0.1)
	TNT1 A 0 A_GiveInventory("CorruptetStrafingg3",1)
	CASG E 3 Bright A_FadeIn(0.1)
	TNT1 A 0 A_GiveInventory("CorruptetStrafingg3",1)
	CASG E 1 Bright A_FadeIn(0.1)
	CASG E 1 Bright A_SetShootable
	TNT1 A 0 A_Jump(128,"SuperComboASG","SuperComboMines")
	Goto SuperComboGrenade
  Reload:
	TNT1 A 0 A_ChangeFlag("NoPain",1)
	TNT1 A 0 A_PlaySound("lasgguy/asgout")
	TNT1 A 0 A_SpawnItemEx("LegendaryEmptyDrumSpawner",-8,7,30,4,0,(0.1)*Random(30,40),Random(-80,-90),128)
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CASG E 10 Bright A_TakeInventory("ASGZAmmo",32)
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CASG E 8 Bright A_PlaySound("lasgguy/asgin") 
	CASG E 5 Bright A_PlaySound("LShotgun/Cock")
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_ChangeFlag("NoPain",0)
	Goto See
  Pain:
	TNT1 A 0 A_Jump(30,"Teleport")
	TNT1 A 0 A_Jump(20,"Dodge")
	CASG G 3 Bright
	CASG G 3 Bright A_Pain
	TNT1 A 0 A_Jump(40,"Dodge")
	TNT1 A 0 A_Jump(192,"Missile")
	Goto See
  Death:
	TNT1 A 0 A_StopSound(6)
	CASG I 5 A_Scream
	CASG J 5 A_Fall
	CASG J 5 A_SpawnItem("BodyCrash",0,0,0,0)
	CASG K 5
	CNT1 A 0
	CASG L -1
	Stop
  XDeath:
	TNT1 A 0 A_StopSound(6)	
	CASG O 5
	CASG P 5 A_XScream
	CASG Q 5 A_Fall
	CASG RSTUV 5
	CASG W -1
	Stop
	}
}

ACTOR CorThrownGrenade : ThrownGrenade
{  
SeeSound "weapons/lgrenadebounce"
WallBounceFactor 0.32
BounceFactor 0.72
DamageType "Legendary"
Obituary "%o was blown up by a Corruptet Commando's Legendary grenade."
States
{
   Spawn:
	TNT1 A 0
	CGN1 A 3 A_StopSound
	CGN1 BCDEFGHABCDEFGHABCDEFGH 3
	Goto Death
   Death: 
   	TNT1 A 0
	TNT1 A 0 A_Explode(250,350)
	TNT1 A 0 A_SpawnItemEx ("BarrelKaboom",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_AlertMonsters
	TNT1 A 0 A_PlaySound("lnade/exp")
	TNT1 A 0 A_SpawnItemEx("BlueParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
	TNT1 AAA 0 A_CustomMissile("BlueKaboom3", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAAA 0 A_SpawnItemEx("Debris",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,128)
	TNT1 A 1 A_SpawnItem("LegendaryBlueRocketEx")
	Stop
   }
}

Actor CorruptetAssaultCaptainInfAmmo : PowerTargeter
{
States
{
  Targeter:
	TNT1 A 0 A_SpawnItem("LHellionSmokeSpawner",0,0,0,0)
	TNT1 A 6 A_SpawnItemEx("LegendaryBluePowerLine",random(32,-32),random(32,-32),random(8,48),0,0,random(1,4),0,SXF_CLIENTSIDE,0) 
	Loop
	}
}

Actor CorruptetAssaultCaptainInfAmmoCheck : Inventory { Inventory.MaxAmount 1 }

ACTOR CorruptetAssaultCaptainInfAmmoGiver : PowerupGiver
{
+NOTIMEFREEZE
+INVENTORY.QUIET
+INVENTORY.UNDROPPABLE
+INVENTORY.ALWAYSPICKUP
+INVENTORY.AUTOACTIVATE
+INVENTORY.ADDITIVETIME
Inventory.Amount 1
Inventory.MaxAmount 0
Powerup.Type "CorruptetAssaultCaptainInfAmmo"
Powerup.duration -15
}

ACTOR CorruptetASGZombieGhostA
{
Scale 1.1
Radius 20
Height 56
Speed 0
Alpha 0.7
PROJECTILE
RENDERSTYLE Translucent
+NOTIMEFREEZE
+NOINTERACTION
+CLIENTSIDEONLY
+NONETID
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
	CASG A 2 A_FadeOut(0.1,1)
	Wait
	}
}

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

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

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


ACTOR CorruptetSpringMineSet : SpringMineSet
{
States
  {
  Spawn:
	TNT1 A 0 A_CountDown
	CSPM A 1 Bright
	Loop
  Death:
	TNT1 A 0
	TNT1 A 1 A_CustomMissile("CorruptetSpringMineActive",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
	Stop
  } 
}

ACTOR CorruptetSpringMineActive : SpringMineActive
{
//Health 1
//+SHOOTABLE
-FRIENDLY
//-THRUACTORS
+THRUSPECIES
+MTHRUSPECIES
+NORADIUSDMG
//+MISSILE
Species "LegendaryZombie"
DamageType "Legendary"
Obituary "%o came too close to the Corruptet Assault Captain's spring mine."
States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_RearrangePointers(AAPTR_NULL, AAPTR_TARGET, AAPTR_NULL)
	TNT1 A 0 A_PlaySound("SMNSET1")
	CSPM AAAAAAAAAA 2
	TNT1 A 0 A_PlaySound("SMNSET2")
	CSPM AD 1
  SpawnLoop:
	CSPM ADAD 1 A_LookEx(LOF_NOSOUNDCHECK|LOF_NOSEESOUND,0,100,0,360,"Attack")
	TNT1 A 0 A_JumpIf(user_counter >= 260,"Attack")
	TNT1 A 0 A_SetUserVar("user_counter",user_counter + 1)
	Loop
  Attack:
  Death:
	TNT1 A 0
	CSPM ABC 2
	TNT1 A 0 A_RearrangePointers(AAPTR_MASTER, AAPTR_DEFAULT, AAPTR_DEFAULT)
	TNT1 A 0 ThrustThingZ(0,45,0,0)
	TNT1 A 0 A_PlaySound("MINLNCH")
	CSPM AAAAAAAAA 2
	CSPM AAA 1
	TNT1 A 0 A_PlaySound("SPRNMNXP")
	TNT1 A 0 A_Explode(400,200,0,1,50)
	TNT1 A 10 A_SpawnItemEx("ScarletProjExplodeLarge",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	Stop
  }
}

Actor CorruptetStrafingg3 : LegZombieStrafing
{
States
{
  Pickup:
    NULL A 1 
	NULL A 1 A_SpawnItem("CBoysFireSpawner")
	NULL A 1 A_Jump(188,2)
	NULL A 1 A_GiveInventory("LegZombieJumping",1)
	NULL A 1 A_JumpIf(velx != 0 || vely != 0,2)
	NULL A 1 A_Jump(256,2)
	NULL A 1 A_Jump(235,5)
	NULL A 1 A_JumpIfInventory("LegCommandoStrafeSens",1,3)
	NULL A 1 A_GiveInventory("LegCommandoStrafeSens",1)
	NULL A 1 A_Jump(256,2)	
	NULL A 1 A_TakeInventory("LegCommandoStrafeSens",1)
	NULL A 1 A_JumpIfInventory("LegCommandoStrafeSens",1,3)
	NULL A 1 ThrustThing(angle*256/360+38.7,5,0,0)
	NULL A 1 A_Jump(256,2)	
	NULL A 1 ThrustThing(angle*256/360+38.7,-5,0,0)
    NULL A 1 A_FaceTarget
	NULL A 1 A_Jump(24,2)
	NULL A 1 A_JumpIfCloser(300,2)
	NULL A 1 A_Recoil(-1)
    Stop
	NULL A 1 A_Recoil(1)
    Stop	
  }
}