Actor HeavySpecOpsRailgunner 23111
{
  Health 550
  Height 56
  Radius 20
  Speed 8
  PainChance 64
  Monster
  +FloorClip
  +NoRadiusdmg
  +NoTarget
  +NoInfighting
  Species "SpecOps"
  SeeSound "SpecOpsZombie/Sight"
  ActiveSound "SpecOpsZombie/Active"
  PainSound "SpecOpsZombie/Pain"
  DeathSound "SpecOpsZombie/Death"
  Obituary "%o was seared by a Heavy Spec Ops Zombie."
  Tag "$NEHSpecOpsR"
  Decal RailScorch
  DropItem "CFRailgun" 15
  DropItem "PortableMedkit" 100
  DropItem "PortableMedCell", 60
  DropItem "ArmorPlate" 120
  DropItem "AmmoPack" 60
  DropItem "AmmoPack" 60
  DropItem "HandGrenadeAmmo" 100 1
  DropItem "MineAmmo" 80 1
  DropItem "NewCell" 100 20
  DropItem "NewCell" 100 20
  States
  {
  Spawn:
	TNT1 A 0 NoDelay ACS_NamedExecuteAlways("ModifyMonster",0,1)
	Goto Idle
  Idle:
    AZ1H A 10 A_Look
	AZ1H Z 10 A_Look
    Loop
  See:
    AZ1H A 0 A_JumpIfTargetInLOS("See2")
	AZ1H ABCD 4 A_Chase
	Loop
  See2:
    AZ1H A 0 A_TakeInventory("ZSpecOpSnipe", 1)
    AZ1H A 0 A_TakeInventory("ZSpecOpWander", 1)
    AZ1H A 0 A_TakeInventory("ZSpecOpCreep", 1)
    AZ1H A 0 A_TakeInventory("ZSpecOpFlee", 1)
    AZ1H A 0 A_ChangeFlag("MissileMore", 0)
    AZ1H A 0 A_ChangeFlag("MissileEvenMore", 0)
    AZ1H A 0 A_ChangeFlag("AvoidMelee", 0)
    AZ1H A 0 A_ChangeFlag("Frightened", 0)
    AZ1H A 0 A_GiveInventory("ZSpecOpsRGSitRep", 1)
    AZ1H A 0 A_JumpIfInventory("ZSpecOpSnipe", 1, "SnipeSwitch")
    AZ1H A 0 A_JumpIfInventory("ZSpecOpWander", 1, "WanderSwitch")
    AZ1H A 0 A_JumpIfInventory("ZSpecOpCreep", 1, "CreepSwitch")
    AZ1H A 0 A_JumpIfInventory("ZSpecOpFlee", 1, "FleeSwitch")

  //Snipe Mode
  SnipeSwitch:
    AZ1H A 0 A_ChangeFlag("MissileMore", 1)
    AZ1H A 0 A_ChangeFlag("MissileEvenMore", 1)
    Goto SnipeSee
  SnipeSee:
    AZ1H E 0 A_Chase("", "SnipeMissile", 17)
    AZ1H EEEE 2 A_FaceTarget
    AZ1H E 0 A_JumpIfCloser(384, "See")
    AZ1H E 0 A_CheckSight("SnipeIdle")
    Loop
  SnipeIdle:
    AZ1H E 0 A_ClearTarget
    AZ1H E 1 A_LookEx(10, 0, 0, 0, 360, "SnipeSee")
    Goto SnipeIdle+1
  SnipeMissile:
    AZ1H E 0 A_Jump(128, 2)
    AZ1H E 2 A_FaceTarget
    AZ1H E 0 A_Jump(128, 2)
    AZ1H E 2 A_FaceTarget
    AZ1H E 0 A_Jump(128, 2)
    AZ1H E 2 A_FaceTarget
    AZ1H E 0 A_Jump(128, 2)
    AZ1H E 2 A_FaceTarget
    AZ1H E 0 A_Jump(128, 2)
    AZ1H E 2 A_FaceTarget
    AZ1H E 0 A_Jump(128, 2)
    AZ1H E 2 A_FaceTarget
    AZ1H E 0 A_Jump(128, 2)
    AZ1H E 2 A_FaceTarget
    AZ1H E 0 A_Jump(128, 2)
    AZ1H E 2 A_FaceTarget
    AZ1H E 0 A_Jump(128, 2)
    AZ1H E 2 A_FaceTarget
    AZ1H E 0 A_Jump(128, 2)
    AZ1H E 2 A_FaceTarget
    AZ1H E 0 A_Jump(128, 2)
    AZ1H E 2 A_FaceTarget
    AZ1H E 0 A_Jump(128, 2)
    AZ1H E 2 A_FaceTarget
    AZ1H E 0 A_Jump(128, 2)
    AZ1H E 2 A_FaceTarget
    AZ1H E 0 A_Jump(128, 2)
    AZ1H E 2 A_FaceTarget
    AZ1H E 0 A_Jump(128, 2)
    AZ1H E 2 A_FaceTarget
    AZ1H E 0 A_Jump(128, 2)
    AZ1H E 2 A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("monsters/fusionfire")
    AZ1H F 2 Bright A_CustomMissile("SpecOpsLaser",30,0,0)
    AZ1H F 2 Bright A_FaceTarget
    AZ1H EEEEE 2 A_FaceTarget
    AZ1H E 0 A_Jump(192, "SnipeSee")
    AZ1H E 0 A_MonsterRefire(40, "SnipeSee")
    Loop

  //Wander Mode
  WanderSwitch:
    AZ1H A 0 A_ClearTarget
    Goto WanderSee
  WanderSee:
    AZ1H A 4 A_Wander
    AZ1H A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    AZ1H A 4 A_Wander
    AZ1H A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    AZ1H B 4 A_Wander
    AZ1H A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    AZ1H B 4 A_Wander
    AZ1H A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    AZ1H C 4 A_Wander
    AZ1H A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    AZ1H C 4 A_Wander
    AZ1H A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    AZ1H D 4 A_Wander
    AZ1H A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    AZ1H D 4 A_Wander
    AZ1H A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    Loop

  //Creep Mode
  CreepSwitch:
    AZ1H A 0 A_ChangeFlag("MissileMore", 1)
    AZ1H A 0 A_ChangeFlag("AvoidMelee", 1)
    Goto CreepSee
  CreepSee:
    AZ1H A 0 A_CheckSight("CreepCheck")
    AZ1H A 0 A_JumpIfHealthLower(50, "See")
    AZ1H AABB 5 A_Chase("", "CreepMissile", 2)
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	AZ1H CCDD 5 A_Chase("", "CreepMissile", 2)
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    Loop
  CreepCheck:
    AZ1H A 0 A_Jump(32, "See")
    Goto CreepSee+1
  CreepMissile:
    AZ1H EEE 4 A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("monsters/fusionfire")
    AZ1H F 2 Bright A_CustomMissile("SpecOpsLaser",30,0,0)
    AZ1H F 2 Bright A_FaceTarget
    AZ1H EEE 2 A_FaceTarget
    Goto CreepSee

  //Flee Mode
  FleeSwitch:
    AZ1H A 0 A_ChangeFlag("Frightened", 1)
    Goto FleeSee
  FleeSee:
    AZ1H AABB 2 A_Chase("", "FleeMissile")
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	AZ1H CCDD 2 A_Chase("", "FleeMissile")
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    AZ1H A 0 A_Jump(128, 2)
    AZ1H A 0 A_JumpIfCloser(768, 1)
    Goto See
    AZ1H A 0
    Loop
  FleeMissile:
    AZ1H EEE 4 A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("monsters/fusionfire")
    AZ1H F 2 Bright A_CustomMissile("SpecOpsLaser",30,0,0)
    AZ1H F 2 Bright A_FaceTarget
    AZ1H EE 2 A_FaceTarget
    Goto FleeSee

  //Misc hurting states
  Pain:
    AZ1H G 4
    AZ1H G 4 A_Pain
    AZ1H G 0 A_Jump(96, "See")
    Goto WhatPainState
  WhatPainState:
    AZ1H G 0 A_JumpIfInventory("ZSpecOpSnipe", 1, "SnipeSee")
    AZ1H G 0 A_JumpIfInventory("ZSpecOpWander", 1, "WanderSee")
    AZ1H G 0 A_JumpIfInventory("ZSpecOpCreep", 1, "CreepSee")
    AZ1H G 0 A_JumpIfInventory("ZSpecOpFlee", 1, "FleeSee")
    Goto FleeSee
  Death:
    AZ1H H 5
    AZ1H I 5 A_Scream
    AZ1H J 5
    AZ1H K 5
    AZ1H L 5
	AZ1H M 5 A_NoBlocking
	AZ1H N -1
  Raise:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
    AZ1H NMLKJIH 5
    Goto See
  }
}

Actor HeavySpecOpsShotgunner 23112
{
  Health 550
  Height 56
  Radius 20
  Speed 8
  PainChance 64
  Monster
  +FloorClip
  +NoRadiusdmg
  +NoTarget
  +NoInfighting
  Species "SpecOps"
  SeeSound "SpecOpsZombie/Sight"
  ActiveSound "SpecOpsZombie/Active"
  PainSound "SpecOpsZombie/Pain"
  DeathSound "SpecOpsZombie/Death"
  Obituary "%o was gunned down by a Heavy Spec Ops Zombie."
  Tag "\cmHeavy \cuSpec \crOps \csShotgunner\c-"
  Decal BulletChip
  DropItem "CombatShotgun" 256 1
  DropItem "PortableMedkit" 100
  DropItem "PortableMedCell", 60
  DropItem "ArmorPlate" 120
  DropItem "AmmoPack" 60
  DropItem "AmmoPack" 60
  DropItem "HandGrenadeAmmo" 100 1
  DropItem "MineAmmo" 80 1
  DropItem "NewShell" 100 20
  DropItem "NewShell" 100 20
  States
  {
  Spawn:
    QZOM A 10 A_Look
	QZOM Z 10 A_Look
    Loop

  //Switching
  See:
	TNT1 A 0 A_JumpIfTargetInLOS("See2")
	QZOM ABCD 4 A_Chase
	Loop
  
  See2:
    QZOM A 0 A_TakeInventory("ZSpecOpAggressive", 1)
    QZOM A 0 A_TakeInventory("ZSpecOpSprint", 1)
    QZOM A 0 A_TakeInventory("ZSpecOpWander", 1)
    QZOM A 0 A_TakeInventory("ZSpecOpCreep", 1)
    QZOM A 0 A_TakeInventory("ZSpecOpBerserk", 1)
    QZOM A 0 A_ChangeFlag("MissileMore", 0)
    QZOM A 0 A_ChangeFlag("MissileEvenMore", 0)
    QZOM A 0 A_ChangeFlag("AvoidMelee", 0)
    QZOM A 0 A_ChangeFlag("NoPain", 0)
    QZOM A 0 A_GiveInventory("ZSpecOpsSGSitRep", 1)
    QZOM A 0 A_JumpIfInventory("ZSpecOpAggressive", 1, "AggressiveSwitch")
    QZOM A 0 A_JumpIfInventory("ZSpecOpSprint", 1, "SprintSwitch")
    QZOM A 0 A_JumpIfInventory("ZSpecOpWander", 1, "WanderSwitch")
    QZOM A 0 A_JumpIfInventory("ZSpecOpCreep", 1, "CreepSwitch")
    QZOM A 0 A_JumpIfInventory("ZSpecOpBerserk", 1, "BerserkSwitch")

  //Aggressive Mode
  AggressiveSwitch:
    QZOM A 0 A_ChangeFlag("MissileMore", 1)
    QZOM A 0 A_ChangeFlag("MissileEvenMore", 1)
    Goto AggressiveSee
  AggressiveSee:
    QZOM A 3 A_Chase("", "AggressiveMissile")
    QZOM A 0 A_Jump(192, 2)
    QZOM A 0 A_JumpIfHealthLower(50, "See")
    QZOM A 0 A_Jump(32, 2)
    QZOM A 0 A_JumpIfCloser(768, 1)
    Goto See
    QZOM A 3 A_Chase("", "AggressiveMissile")
    QZOM A 0 A_Jump(192, 2)
    QZOM A 0 A_JumpIfHealthLower(50, "See")
    QZOM A 0 A_Jump(32, 2)
    QZOM A 0 A_JumpIfCloser(768, 1)
    Goto See
    QZOM B 3 A_Chase("", "AggressiveMissile")
    QZOM B 0 A_Jump(192, 2)
    QZOM B 0 A_JumpIfHealthLower(50, "See")
    QZOM B 0 A_Jump(32, 2)
    QZOM B 0 A_JumpIfCloser(768, 1)
    Goto See
    QZOM B 3 A_Chase("", "AggressiveMissile")
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    QZOM B 0 A_Jump(192, 2)
    QZOM B 0 A_JumpIfHealthLower(50, "See")
    QZOM B 0 A_Jump(32, 2)
    QZOM B 0 A_JumpIfCloser(768, 1)
    Goto See
    QZOM C 3 A_Chase("", "AggressiveMissile")
    QZOM C 0 A_Jump(192, 2)
    QZOM C 0 A_JumpIfHealthLower(50, "See")
    QZOM C 0 A_Jump(32, 2)
    QZOM C 0 A_JumpIfCloser(768, 1)
    Goto See
    QZOM C 3 A_Chase("", "AggressiveMissile")
    QZOM C 0 A_Jump(192, 2)
    QZOM C 0 A_JumpIfHealthLower(50, "See")
    QZOM C 0 A_Jump(32, 2)
    QZOM C 0 A_JumpIfCloser(768, 1)
    Goto See
    QZOM D 3 A_Chase("", "AggressiveMissile")
    QZOM D 0 A_Jump(192, 2)
    QZOM D 0 A_JumpIfHealthLower(50, "See")
    QZOM D 0 A_Jump(32, 2)
    QZOM D 0 A_JumpIfCloser(768, 1)
    Goto See
    QZOM D 3 A_Chase("", "AggressiveMissile")
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    QZOM D 0 A_Jump(192, 2)
    QZOM D 0 A_JumpIfHealthLower(50, "See")
    QZOM D 0 A_Jump(32, 2)
    QZOM D 0 A_JumpIfCloser(768, 1)
    Goto See
    QZOM A 0
    Loop
  AggressiveMissile:
    QZOM EEE 4 A_FaceTarget
	TNT1 AAAA 0 Bright A_CustomMissile("MonsterTracer2",Random(28,34),0,Random(6,-6),0)
    QZOM F 0 Bright A_PlayWeaponSound("SpecOpsZombie/Shotgun")
    QZOM F 2 Bright A_CustomBulletAttack(11,0,3,Random(1,5)*3)
    QZOM EEE 2 A_FaceTarget
    Goto AggressiveSee

  //Sprint Mode
  SprintSwitch:
    QZOM A 0 A_ChangeFlag("NoPain", 1)
    Goto SprintSee
  SprintSee:
    QZOM A 2 A_Chase("", "")
    QZOM A 0 A_JumpIfCloser(384, "See")
    QZOM A 2 A_Chase("", "")
    QZOM A 0 A_JumpIfCloser(384, "See")
    QZOM B 2 A_Chase("", "")
    QZOM B 0 A_JumpIfCloser(384, "See")
    QZOM B 2 A_Chase("", "")
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    QZOM B 0 A_JumpIfCloser(384, "See")
    QZOM C 2 A_Chase("", "")
    QZOM C 0 A_JumpIfCloser(384, "See")
    QZOM C 2 A_Chase("", "")
    QZOM C 0 A_JumpIfCloser(384, "See")
    QZOM D 2 A_Chase("", "")
    QZOM D 0 A_JumpIfCloser(384, "See")
    QZOM D 2 A_Chase("", "")
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    QZOM D 0 A_JumpIfCloser(384, "See")
    Loop

  //Wander Mode
  WanderSwitch:
    QZOM A 0 A_ClearTarget
    Goto WanderSee
  WanderSee:
    QZOM A 4 A_Wander
    QZOM A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    QZOM A 4 A_Wander
    QZOM A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    QZOM B 4 A_Wander
    QZOM A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    QZOM B 4 A_Wander
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    QZOM A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    QZOM C 4 A_Wander
    QZOM A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    QZOM C 4 A_Wander
    QZOM A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    QZOM D 4 A_Wander
    QZOM A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    QZOM D 4 A_Wander
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    QZOM A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    Loop

  //Creep Mode
  CreepSwitch:
    QZOM A 0 A_ChangeFlag("MissileMore", 1)
    QZOM A 0 A_ChangeFlag("AvoidMelee", 1)
    Goto CreepSee
  CreepSee:
    QZOM A 0 A_CheckSight("CreepCheck")
    QZOM A 0 A_JumpIfHealthLower(50, "See")
    QZOM AABB 5 A_Chase("", "CreepMissile", 2)
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	QZOM CCDD 5 A_Chase("", "CreepMissile", 2)
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    Loop
  CreepCheck:
    QZOM A 0 A_Jump(32, "See")
    Goto CreepSee+1
  CreepMissile:
    QZOM EEE 4 A_FaceTarget
	TNT1 AAAA 0 Bright A_CustomMissile("MonsterTracer2",Random(28,34),0,Random(6,-6),0)
    QZOM F 0 Bright A_PlayWeaponSound("SpecOpsZombie/Shotgun")
    QZOM F 2 Bright A_CustomBulletAttack(11,0,3,Random(1,5)*3)
    QZOM EEE 2 A_FaceTarget
    Goto CreepSee

  //Berserk Mode
  BerserkSwitch:
    QZOM A 0 A_ChangeFlag("MissileMore", 1)
    QZOM A 0 A_ChangeFlag("MissileEvenMore", 1)
    QZOM A 0 A_ChangeFlag("NoPain", 1)
    Goto BerserkSee
  BerserkSee:
    QZOM AABB 3 A_Chase("", "BerserkMissile")
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	QZOM CCDD 3 A_Chase("", "BerserkMissile")
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    QZOM A 0 A_JumpIfCloser(768, 1)
    Goto See
    QZOM A 0
    Loop
  BerserkMissile:
    QZOM EE 4 A_FaceTarget
	TNT1 AAAA 0 Bright A_CustomMissile("MonsterTracer2",Random(28,34),0,Random(6,-6),0)
    QZOM F 0 Bright A_PlayWeaponSound("SpecOpsZombie/Shotgun")
    QZOM F 2 Bright A_CustomBulletAttack(11,0,3,Random(1,5)*3)
    QZOM EEE 2 A_FaceTarget
    QZOM F 0 A_Jump(192, "BerserkSee")
    QZOM F 0 A_MonsterRefire(40, "BerserkSee")
    Loop

  //Misc hurting states
  Pain:
    QZOM G 4
    QZOM G 4 A_Pain
    QZOM G 0 A_Jump(96, "See")
    Goto WhatPainState
  WhatPainState:
    QZOM G 0 A_JumpIfInventory("ZSpecOpAggressive", 1, "AggressiveSee")
    QZOM G 0 A_JumpIfInventory("ZSpecOpSprint", 1, "SprintSee")
    QZOM G 0 A_JumpIfInventory("ZSpecOpWander", 1, "WanderSee")
    QZOM G 0 A_JumpIfInventory("ZSpecOpCreep", 1, "CreepSee")
    QZOM G 0 A_JumpIfInventory("ZSpecOpBerserk", 1, "BerserkSee")
    Goto AggressiveSee
  Death:
    QZOM H 5
    QZOM I 5 A_Scream
    QZOM J 5
    QZOM K 5
    QZOM L 5 A_NoBlocking
	QZOM M -1
  Raise:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
    QZOM MLKJIH 5
    Goto See
  XDeath:
	QZOM N 3 A_XScream
	QZOM O 3 A_Fall
	TNT1 A 0 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
	QZOM PQR 3
	QZOM S 63000 CanRaise
	Stop
  }
}

Actor HeavySpecOpsMachinegunner 23113
{
  Health 550
  Height 56
  Radius 20
  Speed 8
  PainChance 64
  Monster
  +FloorClip
  +NoTarget
  +NoRadiusdmg
  +NoInfighting
  +DontHurtSpecies
  Species "SpecOps"
  SeeSound "SpecOpsZombie/Sight"
  ActiveSound "SpecOpsZombie/Active"
  PainSound "SpecOpsZombie/Pain"
  DeathSound "SpecOpsZombie/Death"
  Obituary "%o was gunned down by a Heavy Spec Ops Zombie."
  Tag "\cmHeavy \cuSpec \crOps \csMachinegunner\c-"
  Decal BulletChip
  DropItem "AssaultRifle" 256 1
  DropItem "PortableMedkit" 100
  DropItem "PortableMedCell", 60
  DropItem "ArmorPlate" 120
  DropItem "AmmoPack" 60
  DropItem "AmmoPack" 60
  DropItem "HandGrenadeAmmo" 100 1
  DropItem "MineAmmo" 80 1
  DropItem "BulletMag" 100 20
  DropItem "BulletMag" 100 20
  States
  {
  Spawn:
    HEVY A 10 A_Look
	HEVY Z 10 A_Look
    Loop

  //Switching
  See:
	TNT1 A 0 A_JumpIfTargetInLOS("See2")
	HEVY ABCD 4 A_Chase
	Loop
  
  See2:
    HEVY A 0 A_TakeInventory("ZSpecOpAggressive", 1)
    HEVY A 0 A_TakeInventory("ZSpecOpSnipe", 1)
    HEVY A 0 A_TakeInventory("ZSpecOpWander", 1)
    HEVY A 0 A_TakeInventory("ZSpecOpCreep", 1)
    HEVY A 0 A_TakeInventory("ZSpecOpFlee", 1)
    HEVY A 0 A_ChangeFlag("MissileMore", 0)
    HEVY A 0 A_ChangeFlag("MissileEvenMore", 0)
    HEVY A 0 A_ChangeFlag("AvoidMelee", 0)
    HEVY A 0 A_ChangeFlag("Frightened", 0)
    HEVY A 0 A_GiveInventory("ZSpecOpsMSitRep", 1)
    HEVY A 0 A_JumpIfInventory("ZSpecOpAggressive", 1, "AggressiveSwitch")
    HEVY A 0 A_JumpIfInventory("ZSpecOpSnipe", 1, "SnipeSwitch")
    HEVY A 0 A_JumpIfInventory("ZSpecOpWander", 1, "WanderSwitch")
    HEVY A 0 A_JumpIfInventory("ZSpecOpCreep", 1, "CreepSwitch")
    HEVY A 0 A_JumpIfInventory("ZSpecOpFlee", 1, "FleeSwitch")

  //Aggressive Mode
  AggressiveSwitch:
    HEVY A 0 A_ChangeFlag("MissileMore", 1)
    HEVY A 0 A_ChangeFlag("MissileEvenMore", 1)
    Goto AggressiveSee
  AggressiveSee:
    HEVY A 3 A_Chase("", "AggressiveMissile")
    HEVY A 0 A_JumpIfHealthLower(50, "See")
    HEVY A 0 A_Jump(32, 2)
    HEVY A 0 A_JumpIfCloser(768, 1)
    Goto See
    HEVY A 3 A_Chase("", "AggressiveMissile")
    HEVY A 0 A_JumpIfHealthLower(50, "See")
    HEVY A 0 A_Jump(32, 2)
    HEVY A 0 A_JumpIfCloser(768, 1)
    Goto See
    HEVY B 3 A_Chase("", "AggressiveMissile")
    HEVY B 0 A_JumpIfHealthLower(50, "See")
    HEVY B 0 A_Jump(32, 2)
    HEVY B 0 A_JumpIfCloser(768, 1)
    Goto See
    HEVY B 3 A_Chase("", "AggressiveMissile")
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    HEVY B 0 A_JumpIfHealthLower(50, "See")
    HEVY B 0 A_Jump(32, 2)
    HEVY B 0 A_JumpIfCloser(768, 1)
    Goto See
    HEVY C 3 A_Chase("", "AggressiveMissile")
    HEVY C 0 A_JumpIfHealthLower(50, "See")
    HEVY C 0 A_Jump(32, 2)
    HEVY C 0 A_JumpIfCloser(768, 1)
    Goto See
    HEVY C 3 A_Chase("", "AggressiveMissile")
    HEVY C 0 A_JumpIfHealthLower(50, "See")
    HEVY C 0 A_Jump(32, 2)
    HEVY C 0 A_JumpIfCloser(768, 1)
    Goto See
    HEVY D 3 A_Chase("", "AggressiveMissile")
    HEVY D 0 A_JumpIfHealthLower(50, "See")
    HEVY D 0 A_Jump(32, 2)
    HEVY D 0 A_JumpIfCloser(768, 1)
    Goto See
    HEVY D 3 A_Chase("", "AggressiveMissile")
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    HEVY D 0 A_JumpIfHealthLower(50, "See")
    HEVY D 0 A_Jump(32, 2)
    HEVY D 0 A_JumpIfCloser(768, 1)
    Goto See
    HEVY A 0
    Loop
  AggressiveMissile:
    HEVY EEE 4 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("RifleCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
    HEVY F 0 Bright A_PlayWeaponSound("SpecOpsZombie/Machinegun")
    HEVY G 2 Bright A_CustomBulletAttack(11,8,1,Random(1,5)*3)
    HEVY E 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("RifleCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
    HEVY F 0 Bright A_PlayWeaponSound("SpecOpsZombie/Machinegun")
    HEVY G 2 Bright A_CustomBulletAttack(11,8,1,Random(1,5)*3)
    HEVY E 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("RifleCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
    HEVY F 0 Bright A_PlayWeaponSound("SpecOpsZombie/Machinegun")
    HEVY G 2 Bright A_CustomBulletAttack(11,8,1,Random(1,5)*3)
    HEVY E 2 A_FaceTarget
    HEVY F 0 A_Jump(32, "AggressiveSee")
    HEVY F 0 A_Jump(192, 2)
    HEVY F 0 A_MonsterRefire(40, "AggressiveSee")
    HEVY F 0
    Goto AggressiveMissile+3

  //Snipe Mode
  SnipeSwitch:
    HEVY A 0 A_ChangeFlag("MissileMore", 1)
    HEVY A 0 A_ChangeFlag("MissileEvenMore", 1)
    Goto SnipeSee
  SnipeSee:
    HEVY E 0 A_Chase("", "SnipeMissile", 17)
    HEVY EEEE 2 A_FaceTarget
    HEVY E 0 A_JumpIfCloser(384, "See")
    HEVY E 0 A_CheckSight("SnipeIdle")
    Loop
  SnipeIdle:
    HEVY E 0 A_ClearTarget
    HEVY E 1 A_LookEx(10, 0, 0, 0, 360, "SnipeSee")
    Goto SnipeIdle+1
  SnipeMissile:
    HEVY E 0 A_Jump(128, 2)
    HEVY E 2 A_FaceTarget
    HEVY E 0 A_Jump(128, 2)
    HEVY E 2 A_FaceTarget
    HEVY E 0 A_Jump(128, 2)
    HEVY E 2 A_FaceTarget
    HEVY E 0 A_Jump(128, 2)
    HEVY E 2 A_FaceTarget
    HEVY E 0 A_Jump(128, 2)
    HEVY E 2 A_FaceTarget
    HEVY E 0 A_Jump(128, 2)
    HEVY E 2 A_FaceTarget
    HEVY E 0 A_Jump(128, 2)
    HEVY E 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("RifleCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
    HEVY F 0 Bright A_PlayWeaponSound("SpecOpsZombie/Machinegun")
    HEVY G 2 Bright A_CustomBulletAttack(6,4,1,Random(1,5)*3)
    HEVY E 2 A_FaceTarget
    HEVY E 0 A_Jump(192, "SnipeSee")
    HEVY E 0 A_MonsterRefire(40, "SnipeSee")
    Loop

  //Wander Mode
  WanderSwitch:
    HEVY A 0 A_ClearTarget
    Goto WanderSee
  WanderSee:
    HEVY A 4 A_Wander
    HEVY A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    HEVY A 4 A_Wander
    HEVY A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    HEVY B 4 A_Wander
    HEVY A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    HEVY B 4 A_Wander
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    HEVY A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    HEVY C 4 A_Wander
    HEVY A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    HEVY C 4 A_Wander
    HEVY A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    HEVY D 4 A_Wander
    HEVY A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    HEVY D 4 A_Wander
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    HEVY A 0 A_LookEx(10, 0, 0, 0, 360, "See")
    Loop

  //Creep Mode
  CreepSwitch:
    HEVY A 0 A_ChangeFlag("MissileMore", 1)
    HEVY A 0 A_ChangeFlag("AvoidMelee", 1)
    Goto CreepSee
  CreepSee:
    HEVY A 0 A_CheckSight("CreepCheck")
    HEVY A 0 A_JumpIfHealthLower(50, "See")
    HEVY AABB 5 A_Chase("", "CreepMissile", 2)
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	HEVY CCDD 5 A_Chase("", "CreepMissile", 2)
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    Loop
  CreepCheck:
    HEVY A 0 A_Jump(32, "See")
    Goto CreepSee+1
  CreepMissile:
    HEVY EEE 4 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("RifleCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
    HEVY F 0 Bright A_PlayWeaponSound("SpecOpsZombie/Machinegun")
    HEVY G 2 Bright A_CustomBulletAttack(11,8,1,Random(1,5)*3)
    HEVY E 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("RifleCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
    HEVY F 0 Bright A_PlayWeaponSound("SpecOpsZombie/Machinegun")
    HEVY G 2 Bright A_CustomBulletAttack(11,8,1,Random(1,5)*3)
    HEVY E 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("RifleCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
    HEVY F 0 Bright A_PlayWeaponSound("SpecOpsZombie/Machinegun")
    HEVY G 2 Bright A_CustomBulletAttack(11,8,1,Random(1,5)*3)
    HEVY E 2 A_FaceTarget
    HEVY F 0 A_Jump(32, "CreepSee")
    HEVY F 0 A_MonsterRefire(40, "CreepSee")
    Goto CreepMissile+3

  //Flee Mode
  FleeSwitch:
    HEVY A 0 A_ChangeFlag("Frightened", 1)
    Goto FleeSee
  FleeSee:
    HEVY AABB 3 A_Chase("", "FleeMissile")
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	HEVY CCDD 3 A_Chase("", "FleeMissile")
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    HEVY A 0 A_JumpIfCloser(768, 1)
    Goto See
    HEVY A 0
    Loop
  FleeMissile:
    HEVY EE 4 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("RifleCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
    HEVY F 0 Bright A_PlayWeaponSound("SpecOpsZombie/Machinegun")
    HEVY G 2 Bright A_CustomBulletAttack(11,8,1,Random(1,5)*3)
    HEVY E 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("RifleCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
    HEVY F 0 Bright A_PlayWeaponSound("SpecOpsZombie/Machinegun")
    HEVY G 2 Bright A_CustomBulletAttack(11,8,1,Random(1,5)*3)
    HEVY E 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("RifleCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
    HEVY F 0 Bright A_PlayWeaponSound("SpecOpsZombie/Machinegun")
    HEVY G 2 Bright A_CustomBulletAttack(11,8,1,Random(1,5)*3)
    HEVY E 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("RifleCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
    HEVY F 0 Bright A_PlayWeaponSound("SpecOpsZombie/Machinegun")
    HEVY G 2 Bright A_CustomBulletAttack(11,8,1,Random(1,5)*3)
    HEVY E 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("RifleCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
    HEVY F 0 Bright A_PlayWeaponSound("SpecOpsZombie/Machinegun")
    HEVY G 2 Bright A_CustomBulletAttack(11,8,1,Random(1,5)*3)
    HEVY E 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("RifleCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
    HEVY F 0 Bright A_PlayWeaponSound("SpecOpsZombie/Machinegun")
    HEVY G 2 Bright A_CustomBulletAttack(11,8,1,Random(1,5)*3)
    HEVY E 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("RifleCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
    HEVY F 0 Bright A_PlayWeaponSound("SpecOpsZombie/Machinegun")
    HEVY G 2 Bright A_CustomBulletAttack(11,8,1,Random(1,5)*3)
    HEVY E 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("RifleCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
    HEVY F 0 Bright A_PlayWeaponSound("SpecOpsZombie/Machinegun")
    HEVY G 2 Bright A_CustomBulletAttack(11,8,1,Random(1,5)*3)
    HEVY E 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("RifleCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
    HEVY F 0 Bright A_PlayWeaponSound("SpecOpsZombie/Machinegun")
    HEVY G 2 Bright A_CustomBulletAttack(11,8,1,Random(1,5)*3)
    HEVY E 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("RifleCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
    HEVY F 0 Bright A_PlayWeaponSound("SpecOpsZombie/Machinegun")
    HEVY G 2 Bright A_CustomBulletAttack(11,8,1,Random(1,5)*3)
    HEVY E 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("RifleCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
    HEVY F 0 Bright A_PlayWeaponSound("SpecOpsZombie/Machinegun")
    HEVY G 2 Bright A_CustomBulletAttack(11,8,1,Random(1,5)*3)
    HEVY E 2 A_FaceTarget
    TNT1 A 0 A_SpawnItemEx("RifleCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
    HEVY F 0 Bright A_PlayWeaponSound("SpecOpsZombie/Machinegun")
    HEVY G 2 Bright A_CustomBulletAttack(11,8,1,Random(1,5)*3)
    HEVY E 2 A_FaceTarget
    Goto FleeSee

  //Misc hurting states
  Pain:
    HEVY H 4
    HEVY H 4 A_Pain
    HEVY H 0 A_Jump(96, "See")
    Goto WhatPainState
  WhatPainState:
    HEVY H 0 A_JumpIfInventory("ZSpecOpAggressive", 1, "AggressiveSee")
    HEVY H 0 A_JumpIfInventory("ZSpecOpSnipe", 1, "SnipeSee")
    HEVY H 0 A_JumpIfInventory("ZSpecOpWander", 1, "WanderSee")
    HEVY H 0 A_JumpIfInventory("ZSpecOpCreep", 1, "CreepSee")
    HEVY H 0 A_JumpIfInventory("ZSpecOpFlee", 1, "FleeSee")
    Goto AggressiveSee
  Death:
    HEVY I 5
    HEVY J 5 A_Scream
    HEVY K 5
    HEVY L 5
    HEVY M 5 A_NoBlocking
	HEVY N -1
  Raise:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
    HEVY NMLKJI 5
    Goto See
  XDeath:
	HEVY O 3 A_XScream
	HEVY P 3 A_Fall
	TNT1 Q 0 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
	HEVY RST 3
	HEVY T 63000 CanRaise
	Stop
  }
}