actor RGAZombie_2 : RGAMonster
{
  Obituary "%o was killed by a trooper."
  Health 50
  GibHealth 70
  Radius 20
  Height 56
  Mass 100
  Speed 7
  ReactionTime 10
  MinMissileChance 211
  PainChance 150
  PainChance "Dragon", 75
  PainChance "DragonF", 75
  PainChance "Dragonsplosion", 75
  PainChance "RGAFire", 75
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 1.4
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "grunt/sight"
  PainSound "grunt/pain"
  DeathSound "grunt/death"
  ActiveSound "grunt/active"
  Species "Zombie"
  MONSTER
  +FLOORCLIP
  Tag "Trooper"
  States
  {
  Spawn:
    POS2 A 0
    POS2 A 0 A_Jump(64,2)
    POS2 A 0 A_GiveInventory("GrenadeAmmo",1)
    POS2 A 0 A_CheckFlag("Friendly","Idle")
    POS2 A 0 Thing_SetSpecial(0,226,613,0,random(5,10))
  Idle:
    POS2 A 10 A_Look
    Loop
  See2:
    POS2 E 7
  See:
    POS2 A 0 A_JumpIfInventory("MonHold",1,"Death")
    POS2 A 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    POS2 AABBCCDDAABBCC 3 A_Chase("","Missile")
    POS2 DD 3 A_Chase
    POS2 AABBCCDDAABBCC 3 A_Chase("","Missile")
    POS2 DD 3 A_Chase
    POS2 D 0 A_SpawnItemEx("ZombieStepDamage",0,0,28,0,0,0,0,0,0)
    Goto See+1
  SeeBlind:
    POS2 A 0 A_Jump(144,"MissileBlind","SeeBlind2","SeeBlind2")
    POS2 AAB 3 A_Wander
    POS2 B 0 A_Jump(224,2)
    POS2 B 0 A_Pain
    POS2 B 3 A_Wander
    POS2 B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    POS2 CCDD 3 A_Wander
    POS2 D 0 A_SpawnItemEx("ZombieStepDamage",0,0,28,0,0,0,0,0,0)
    goto See
  SeeBlind2:
    POS2 A 0 A_Jump(256,1,2,3)
    POS2 AAA 3
    POS2 A 0 A_Jump(224,2)
    POS2 A 0 A_Pain
    POS2 A 3
    POS2 A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+2
    POS2 A 0 A_Jump(256,1,2,3,4)
    POS2 AAAA 3
    goto See
  MissileBlind:
    POS2 E 7
    POS2 F 0 BRIGHT A_PlayWeaponSound("u45/fire")
    POS2 F 8 BRIGHT A_CustomBulletAttack(45, 4.6, 1, 9, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    POS2 E 0 A_Jump(192,"See2")
    POS2 E 5
    goto MissileBlind+1
  Melee:
  Missile:
    POS2 E 7 A_FaceTarget
    POS2 E 0 A_Jump(40,"Grenade")
    POS2 F 0 BRIGHT A_PlayWeaponSound("u45/fire")
    POS2 F 8 BRIGHT A_CustomBulletAttack(22.5, 2.3, 1, 9, "MonsterBulletPuff", 0, FBF_NORANDOM)
    POS2 E 0 A_Jump(128,"See2")
    POS2 E 5 A_FaceTarget
    POS2 F 0 BRIGHT A_PlayWeaponSound("u45/fire")
    POS2 F 8 BRIGHT A_CustomBulletAttack(22.5, 2.3, 1, 9, "MonsterBulletPuff", 0, FBF_NORANDOM)
    POS2 E 0 A_Jump(160,"See2")
    POS2 E 5 A_FaceTarget
    POS2 F 0 BRIGHT A_PlayWeaponSound("u45/fire")
    POS2 F 8 BRIGHT A_CustomBulletAttack(22.5, 2.3, 1, 9, "MonsterBulletPuff", 0, FBF_NORANDOM)
    goto See2
  Grenade:
    POS2 E 0 A_JumpIfCloser(384,1)
    goto Missile+2
    POS2 E 0 A_JumpIfInventory("GrenadeAmmo",1,1)
    goto Missile+2
    POS2 E 10 A_PlaySound("grunt/sight")
    POS2 E 10 A_PlayWeaponSound("grenade/pinpull")
    POS2 E 0 A_FaceTarget
    POS2 E 1 A_PlayWeaponSound("grenade/throw")
    POS2 E 0 A_TakeInventory("GrenadeAmmo",1)
    POS2 V 25 A_CustomMissile("FragGrenade_Zombie",30,0,0,2,10)
    goto See
  Pain.Stun3:
    POS2 G 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    POS2 G 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    POS2 G 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain.NormalExplode:
  Pain.Sniper:
  Pain.ExplosionF:
  Pain.ExplosionC:
  Pain.Explosion:
    POS2 G 3
    POS2 G 6 A_Pain
    goto See
  Pain:
    POS2 G 3
    POS2 G 3 A_Pain
    goto See
  Death.Shotgungib:
    POS2 H 0 A_JumpIfCloser(128, "XDeath")
  Death.Shotgun:
    POS2 H 0 A_JumpIfHealthLower(-70, "XDeath")
  Death:
    POS2 H 0
    POS2 H 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",2,0,0)) == 1, 2)
    POS2 H 0 A_Jump(36,"Death2")
    POS2 H 5
    POS2 I 5 A_Scream
    POS2 I 0 A_SpawnItemEx("USP45Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 0 A_JumpIfInventory("GrenadeAmmo",1,5)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
    POS2 J 0 A_Jump(244,2)
    POS2 J 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  Death.Burnt:
    "####" # 0 A_Jump(128,2)
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
  Death.Crush:
  Death.Sniper:
    POS2 H 5
    POS2 I 5 A_Scream
    POS2 I 0 A_SpawnItemEx("USP45Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  Death.Knife:
    POS2 H 5
    POS2 I 5
    POS2 I 0 A_SpawnItemEx("USP45Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 5 A_NoBlocking
    POS2 J 0 A_PlaySound("body/splats")
    POS2 K 5 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" G 1
    "####" A 0 A_GiveInventory("MonHold",1)
    "####" A 0 A_Jump(64,"Death.Burnt")
    "####" A 0 A_ChangeFlag("FRIGHTENED",1)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Chase("","")
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Chase("","")
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Chase("","")
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Chase("","")
    "####" A 0 A_ChangeFlag("FRIGHTENED",0)
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" D 0 A_Jump(32,"Death.Burnt")
  Death.FireCont:
    "####" A 0 A_Jump(48,2)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" D 0 A_JumpIfInventory("MonHold",5,"Death.Burnt")
    "####" D 0 A_Jump(160,"Death.Burnt")
    "####" D 0 A_GiveInventory("MonHold",1)
    goto Death.FireCont
  Death.Ice:
    "####" # 0 A_SpawnItemEx("USP45Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    "####" # 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 5 A_GenericFreezeDeath
    "----" A 1 A_FreezeDeathChunks
    wait
  Death.BarrelBoom:
    POS2 H 0 A_JumpIfCloser(128, "XDeath")
  Death.NormalExplode:
  Death.Cyber:
  Death.ExplosionF:
  Death.ExplosionC:
  Death.Explosion:
    POS2 H 5 A_JumpIfHealthLower(-70, "XDeath")
    POS2 I 5 A_Scream
    POS2 I 0 A_SpawnItemEx("USP45Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 0 A_JumpIfInventory("GrenadeAmmo",1,5)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
    POS2 J 0 A_Jump(252,2)
    POS2 J 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  Death2:
    POS2 H 5
    POS2 I 5 A_Pain
    POS2 J 5 A_NoBlocking
    POS2 K 5
    POS2 L 5 A_JumpIfInventory("GrenadeAmmo",1,"Death2alt")
    TNT1 A 0 A_Stop
    TNT1 A 15 A_SpawnItemEx("RGAZombie_LastStand2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
    TNT1 A 15 A_JumpIfInventory("Blinded",1,"LastDeath")
    Wait
  Death2alt:
    POS2 L 5
    TNT1 A 0 A_Stop
    TNT1 A 15 A_SpawnItemEx("RGAZombie_LastStand2alt",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
    TNT1 A 15 A_JumpIfInventory("Blinded",1,"LastDeath")
    Wait
  XDeath:
    POSS M 5
    POSS N 5 A_XScream
    POSS N 0 A_SpawnItemEx("USP45Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POSS N 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POSS O 5 A_NoBlocking
    POSS PQRST 5
    POSS U 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, 2)
    POSS U -1
    Stop
    POSS UUUUUU 5250 CanRaise
    POSS UUUUUUUUU 2 A_FadeOut(0.1)
    Stop
  LastDeath:
    POS2 L 5
    POS2 L 15 A_TakeInventory("Blinded",1)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  DeathClean:
    POS2 LLLLLL 5250 CanRaise
    POS2 LLLLLLLLL 2 A_FadeOut(0.1)
    Stop
  Raise:
    POS2 K 0
    POS2 K 0 A_GiveInventory("GrenadeAmmo",1)
    POS2 K 0 A_ChangeFlag("FRIGHTENED",0)
    POS2 K 0 A_TakeInventory("MonHold",35)
    POS2 K 0 A_CheckFlag("Friendly",2)
    POS2 K 0 Thing_SetSpecial(0,226,613,0,random(3,4))
    POS2 KJIH 5
    goto See
  }
}

actor RGAZombie_3 : RGAMonster
{
  Obituary "%o was killed by a trooper."
  Health 50
  GibHealth 70
  Radius 20
  Height 56
  Mass 100
  Speed 7
  ReactionTime 10
  MinMissileChance 211
  PainChance 150
  PainChance "Dragon", 75
  PainChance "DragonF", 75
  PainChance "Dragonsplosion", 75
  PainChance "RGAFire", 75
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 1.4
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "grunt/sight"
  PainSound "grunt/pain"
  DeathSound "grunt/death"
  ActiveSound "grunt/active"
  Species "Zombie"
  MONSTER
  +FLOORCLIP
  Tag "Trooper"
  States
  {
  Spawn:
    POS2 A 0
    POS2 A 0 A_Jump(64,2)
    POS2 A 0 A_GiveInventory("GrenadeAmmo",1)
    POS2 A 0 A_CheckFlag("Friendly","Idle")
    POS2 A 0 Thing_SetSpecial(0,226,613,0,random(5,10))
  Idle:
    POS2 A 10 A_Look
    Loop
  See2:
    POS2 E 7
  See:
    POS2 A 0 A_JumpIfInventory("MonHold",1,"Death")
    POS2 A 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    POS2 AABBCCDDAABBCC 3 A_Chase("","Missile")
    POS2 DD 3 A_Chase
    POS2 AABBCCDDAABBCC 3 A_Chase("","Missile")
    POS2 DD 3 A_Chase
    POS2 D 0 A_SpawnItemEx("ZombieStepDamage",0,0,28,0,0,0,0,0,0)
    Goto See+1
  SeeBlind:
    POS2 A 0 A_Jump(144,"MissileBlind","SeeBlind2","SeeBlind2")
    POS2 AAB 3 A_Wander
    POS2 B 0 A_Jump(224,2)
    POS2 B 0 A_Pain
    POS2 B 3 A_Wander
    POS2 B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    POS2 CCDD 3 A_Wander
    POS2 D 0 A_SpawnItemEx("ZombieStepDamage",0,0,28,0,0,0,0,0,0)
    goto See
  SeeBlind2:
    POS2 A 0 A_Jump(256,1,2,3)
    POS2 AAA 3
    POS2 A 0 A_Jump(224,2)
    POS2 A 0 A_Pain
    POS2 A 3
    POS2 A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+2
    POS2 A 0 A_Jump(256,1,2,3,4)
    POS2 AAAA 3
    goto See
  MissileBlind:
    POS2 E 7
    POS2 F 0 BRIGHT A_PlayWeaponSound("m93r/fire")
    POS2 F 8 BRIGHT A_CustomBulletAttack(45, 4.6, 1, 8, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    POS2 E 5
    POS2 E 0 A_Jump(160,"See")
    goto MissileBlind+1
  Melee:
  Missile:
    POS2 E 7 A_FaceTarget
    POS2 E 0 A_Jump(40,"Grenade")
    POS2 F 0 BRIGHT A_PlayWeaponSound("m93r/fire")
    POS2 F 8 BRIGHT A_CustomBulletAttack(22.5, 2.3, 1, 8, "MonsterBulletPuff", 0, FBF_NORANDOM)
    POS2 E 0 A_Jump(128,"See2")
    POS2 E 5 A_FaceTarget
    POS2 F 0 BRIGHT A_PlayWeaponSound("m93r/fire")
    POS2 F 8 BRIGHT A_CustomBulletAttack(22.5, 2.3, 1, 8, "MonsterBulletPuff", 0, FBF_NORANDOM)
    POS2 E 0 A_Jump(128,"See2")
    POS2 E 5 A_FaceTarget
    POS2 F 0 BRIGHT A_PlayWeaponSound("m93r/fire")
    POS2 F 8 BRIGHT A_CustomBulletAttack(22.5, 2.3, 1, 8, "MonsterBulletPuff", 0, FBF_NORANDOM)
    POS2 E 0 A_Jump(128,"See2")
    POS2 E 5 A_FaceTarget
    POS2 F 0 BRIGHT A_PlayWeaponSound("m93r/fire")
    POS2 F 8 BRIGHT A_CustomBulletAttack(22.5, 2.3, 1, 8, "MonsterBulletPuff", 0, FBF_NORANDOM)
    goto See2
  Grenade:
    POS2 E 0 A_JumpIfCloser(384,1)
    goto Missile+2
    POS2 E 0 A_JumpIfInventory("GrenadeAmmo",1,1)
    goto Missile+2
    POS2 E 10 A_PlaySound("grunt/sight")
    POS2 E 10 A_PlayWeaponSound("grenade/pinpull")
    POS2 E 0 A_FaceTarget
    POS2 E 1 A_PlayWeaponSound("grenade/throw")
    POS2 E 0 A_TakeInventory("GrenadeAmmo",1)
    POS2 V 25 A_CustomMissile("FragGrenade_Zombie",30,0,0,2,10)
    goto See
  Pain.Stun3:
    POS2 G 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    POS2 G 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    POS2 G 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain.NormalExplode:
  Pain.Sniper:
  Pain.ExplosionF:
  Pain.ExplosionC:
  Pain.Explosion:
    POS2 G 3
    POS2 G 6 A_Pain
    goto See
  Pain:
    POS2 G 3
    POS2 G 3 A_Pain
    goto See
  Death.Shotgungib:
    POS2 H 0 A_JumpIfCloser(128, "XDeath")
  Death.Shotgun:
    POS2 H 0 A_JumpIfHealthLower(-70, "XDeath")
  Death:
    POS2 H 0
    POS2 H 0 A_CheckFlag("Boss",3)
    POS2 H 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",2,0,0)) == 1, 2)
    POS2 H 0 A_Jump(36,"Death2")
    POS2 H 5
    POS2 I 5 A_Scream
    POS2 I 0 A_SpawnItemEx("M9Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 0 A_JumpIfInventory("GrenadeAmmo",1,5)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
    POS2 J 0 A_Jump(244,2)
    POS2 J 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  Death.Burnt:
    "####" # 0 A_Jump(128,2)
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
  Death.Crush:
  Death.Sniper:
    POS2 H 5
    POS2 I 5 A_Scream
    POS2 I 0 A_SpawnItemEx("M9Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  Death.Knife:
    POS2 H 5
    POS2 I 5
    POS2 I 0 A_SpawnItemEx("M9Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 5 A_NoBlocking
    POS2 J 0 A_PlaySound("body/splats")
    POS2 K 5 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" G 1
    "####" A 0 A_GiveInventory("MonHold",1)
    "####" A 0 A_Jump(64,"Death.Burnt")
    "####" A 0 A_ChangeFlag("FRIGHTENED",1)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Chase("","")
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Chase("","")
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Chase("","")
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Chase("","")
    "####" A 0 A_ChangeFlag("FRIGHTENED",0)
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" D 0 A_Jump(32,"Death.Burnt")
  Death.FireCont:
    "####" A 0 A_Jump(48,2)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" D 0 A_JumpIfInventory("MonHold",5,"Death.Burnt")
    "####" D 0 A_Jump(160,"Death.Burnt")
    "####" D 0 A_GiveInventory("MonHold",1)
    goto Death.FireCont
  Death.Ice:
    "####" # 0 A_SpawnItemEx("M9Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    "####" # 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 5 A_GenericFreezeDeath
    "----" A 1 A_FreezeDeathChunks
    wait
  Death.BarrelBoom:
    POS2 H 0 A_JumpIfCloser(128, "XDeath")
  Death.NormalExplode:
  Death.Cyber:
  Death.ExplosionF:
  Death.Explosion:
    POS2 H 5 A_JumpIfHealthLower(-70, "XDeath")
    POS2 I 5 A_Scream
    POS2 I 0 A_SpawnItemEx("M9Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 0 A_JumpIfInventory("GrenadeAmmo",1,5)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
    POS2 J 0 A_Jump(252,2)
    POS2 J 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  Death2:
    POS2 H 5
    POS2 I 5 A_Pain
    POS2 J 5 A_NoBlocking
    POS2 K 5
    POS2 L 5 A_JumpIfInventory("GrenadeAmmo",1,"Death2alt")
    TNT1 A 0 A_Stop
    TNT1 A 15 A_SpawnItemEx("RGAZombie_LastStand3",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
    TNT1 A 15 A_JumpIfInventory("Blinded",1,"LastDeath")
    Wait
  Death2alt:
    POS2 L 5
    TNT1 A 0 A_Stop
    TNT1 A 15 A_SpawnItemEx("RGAZombie_LastStand3alt",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
    TNT1 A 15 A_JumpIfInventory("Blinded",1,"LastDeath")
    Wait
  XDeath:
    POSS M 5
    POSS N 5 A_XScream
    POSS N 0 A_SpawnItemEx("M9Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POSS N 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POSS O 5 A_NoBlocking
    POSS PQRST 5
    POSS U 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, 2)
    POSS U -1
    Stop
    POSS UUUUUU 5250 CanRaise
    POSS UUUUUUUUU 2 A_FadeOut(0.1)
    Stop
  LastDeath:
    POS2 L 5
    POS2 L 15 A_TakeInventory("Blinded",1)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  DeathClean:
    POS2 LLLLLL 5250 CanRaise
    POS2 LLLLLLLLL 2 A_FadeOut(0.1)
    Stop
  Raise:
    POS2 K 0
    POS2 K 0 A_GiveInventory("GrenadeAmmo",1)
    POS2 K 0 A_ChangeFlag("FRIGHTENED",0)
    POS2 K 0 A_TakeInventory("MonHold",35)
    POS2 K 0 A_CheckFlag("Friendly",2)
    POS2 K 0 Thing_SetSpecial(0,226,613,0,random(3,4))
    POS2 KJIH 5
    goto See
  }
}

actor RGAZombie_4 : RGAMonster
{
  Obituary "%o was killed by a trooper."
  Health 50
  GibHealth 70
  Radius 20
  Height 56
  Mass 100
  Speed 7
  ReactionTime 10
  MinMissileChance 211
  PainChance 150
  PainChance "Dragon", 75
  PainChance "DragonF", 75
  PainChance "Dragonsplosion", 75
  PainChance "RGAFire", 75
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 1.4
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "grunt/sight"
  PainSound "grunt/pain"
  DeathSound "grunt/death"
  ActiveSound "grunt/active"
  Species "Zombie"
  MONSTER
  +MISSILEMORE
  +FLOORCLIP
  Tag "Trooper"
  States
  {
  Spawn:
    POS2 A 0
    POS2 A 0 A_Jump(64,2)
    POS2 A 0 A_GiveInventory("GrenadeAmmo",1)
    POS2 A 0 A_CheckFlag("Friendly","Idle")
    POS2 A 0 Thing_SetSpecial(0,226,613,0,random(5,10))
  Idle:
    POS2 A 10 A_Look
    Loop
  See:
    POS2 A 0 A_JumpIfInventory("MonHold",1,"Death")
    POS2 A 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    POS2 AABBCCDDAABBCC 3 A_Chase("","Missile")
    POS2 DD 3 A_Chase
    POS2 AABBCCDDAABBCC 3 A_Chase("","Missile")
    POS2 DD 3 A_Chase
    POS2 D 0 A_SpawnItemEx("ZombieStepDamage",0,0,28,0,0,0,0,0,0)
    Goto See+1
  SeeBlind:
    POS2 A 0 A_Jump(144,"MissileBlind","SeeBlind2","SeeBlind2")
    POS2 AAB 3 A_Wander
    POS2 B 0 A_Jump(224,2)
    POS2 B 0 A_Pain
    POS2 B 3 A_Wander
    POS2 B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    POS2 CCDD 3 A_Wander
    POS2 D 0 A_SpawnItemEx("ZombieStepDamage",0,0,28,0,0,0,0,0,0)
    goto See
  SeeBlind2:
    POS2 A 0 A_Jump(256,1,2,3)
    POS2 AAA 3
    POS2 A 0 A_Jump(224,2)
    POS2 A 0 A_Pain
    POS2 A 3
    POS2 A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+2
    POS2 A 0 A_Jump(256,1,2,3,4)
    POS2 AAAA 3
    goto See
  MissileBlind:
    POS2 E 8
    POS2 F 0 BRIGHT A_PlayWeaponSound("m93r/fire")
    POS2 F 3 BRIGHT A_CustomBulletAttack(45, 4.6, 1, 7, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    POS2 E 3
    POS2 F 0 BRIGHT A_PlayWeaponSound("m93r/fire")
    POS2 F 3 BRIGHT A_CustomBulletAttack(45, 4.6, 1, 7, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    POS2 E 10
    goto See
  Melee:
  Missile:
    POS2 E 8 A_FaceTarget
    POS2 E 0 A_Jump(40,"Grenade")
    POS2 F 0 BRIGHT A_PlayWeaponSound("m93r/fire")
    POS2 F 3 BRIGHT A_CustomBulletAttack(25, 2.5, 1, 7, "MonsterBulletPuff", 0, FBF_NORANDOM)
    POS2 E 3 A_FaceTarget
    POS2 F 0 BRIGHT A_PlayWeaponSound("m93r/fire")
    POS2 F 3 BRIGHT A_CustomBulletAttack(25, 2.5, 1, 7, "MonsterBulletPuff", 0, FBF_NORANDOM)
    POS2 E 10
    goto See
  Grenade:
    POS2 E 0 A_JumpIfCloser(384,1)
    goto Missile+2
    POS2 E 0 A_JumpIfInventory("GrenadeAmmo",1,1)
    goto Missile+2
    POS2 E 10 A_PlaySound("grunt/sight")
    POS2 E 10 A_PlayWeaponSound("grenade/pinpull")
    POS2 E 0 A_FaceTarget
    POS2 E 1 A_PlayWeaponSound("grenade/throw")
    POS2 E 0 A_TakeInventory("GrenadeAmmo",1)
    POS2 V 25 A_CustomMissile("FragGrenade_Zombie",30,0,0,2,10)
    goto See
  Pain.Stun3:
    POS2 G 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    POS2 G 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    POS2 G 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain.NormalExplode:
  Pain.Sniper:
  Pain.ExplosionF:
  Pain.ExplosionC:
  Pain.Explosion:
    POS2 G 3
    POS2 G 6 A_Pain
    goto See
  Pain:
    POS2 G 3
    POS2 G 3 A_Pain
    goto See
  Death.Shotgungib:
    POS2 H 0 A_JumpIfCloser(128, "XDeath")
  Death.Shotgun:
    POS2 H 0 A_JumpIfHealthLower(-70, "XDeath")
  Death:
    POS2 H 0
    POS2 H 0 A_CheckFlag("Boss",3)
    POS2 H 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",2,0,0)) == 1, 2)
    POS2 H 0 A_Jump(36,"Death2")
    POS2 H 5
    POS2 I 5 A_Scream
    POS2 I 0 A_SpawnItemEx("M93RDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 0 A_JumpIfInventory("GrenadeAmmo",1,5)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
    POS2 J 0 A_Jump(244,2)
    POS2 J 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  Death.Burnt:
    "####" # 0 A_Jump(128,2)
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
  Death.Crush:
  Death.Sniper:
    POS2 H 5
    POS2 I 5 A_Scream
    POS2 I 0 A_SpawnItemEx("M93RDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  Death.Knife:
    POS2 H 5
    POS2 I 5
    POS2 I 0 A_SpawnItemEx("M93RDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 5 A_NoBlocking
    POS2 J 0 A_PlaySound("body/splats")
    POS2 K 5 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" G 1
    "####" A 0 A_GiveInventory("MonHold",1)
    "####" A 0 A_Jump(64,"Death.Burnt")
    "####" A 0 A_ChangeFlag("FRIGHTENED",1)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Chase("","")
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Chase("","")
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Chase("","")
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Chase("","")
    "####" A 0 A_ChangeFlag("FRIGHTENED",0)
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" D 0 A_Jump(32,"Death.Burnt")
  Death.FireCont:
    "####" A 0 A_Jump(48,2)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" D 0 A_JumpIfInventory("MonHold",5,"Death.Burnt")
    "####" D 0 A_Jump(160,"Death.Burnt")
    "####" D 0 A_GiveInventory("MonHold",1)
    Goto Death.FireCont
  Death.Ice:
    "####" # 0 A_SpawnItemEx("M93RDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    "####" # 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 5 A_GenericFreezeDeath
    "----" A 1 A_FreezeDeathChunks
    wait
  Death.BarrelBoom:
    POS2 H 0 A_JumpIfCloser(128, "XDeath")
  Death.NormalExplode:
  Death.Cyber:
  Death.ExplosionF:
  Death.Explosion:
    POS2 H 5 A_JumpIfHealthLower(-70, "XDeath")
    POS2 I 5 A_Scream
    POS2 I 0 A_SpawnItemEx("M93RDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 0 A_JumpIfInventory("GrenadeAmmo",1,5)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
    POS2 J 0 A_Jump(252,2)
    POS2 J 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  Death2:
    POS2 H 5
    POS2 I 5 A_Pain
    POS2 J 5 A_NoBlocking
    POS2 K 5
    POS2 L 5 A_JumpIfInventory("GrenadeAmmo",1,"Death2alt")
    TNT1 A 0 A_Stop
    TNT1 A 15 A_SpawnItemEx("RGAZombie_LastStand4",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
    TNT1 A 15 A_JumpIfInventory("Blinded",1,"LastDeath")
    Wait
  Death2alt:
    POS2 L 5
    TNT1 A 0 A_Stop
    TNT1 A 15 A_SpawnItemEx("RGAZombie_LastStand4alt",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
    TNT1 A 15 A_JumpIfInventory("Blinded",1,"LastDeath")
    Wait
  XDeath:
    POSS M 5
    POSS N 5 A_XScream
    POSS N 0 A_SpawnItemEx("M93RDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POSS N 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POSS O 5 A_NoBlocking
    POSS PQRST 5
    POSS U 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, 2)
    POSS U -1
    Stop
    POSS UUUUUU 5250 CanRaise
    POSS UUUUUUUUU 2 A_FadeOut(0.1)
    Stop
  LastDeath:
    POS2 L 5
    POS2 L 15 A_TakeInventory("Blinded",1)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  DeathClean:
    POS2 LLLLLL 5250 CanRaise
    POS2 LLLLLLLLL 2 A_FadeOut(0.1)
    Stop
  Raise:
    POS2 K 0
    POS2 K 0 A_GiveInventory("GrenadeAmmo",1)
    POS2 K 0 A_ChangeFlag("FRIGHTENED",0)
    POS2 K 0 A_TakeInventory("MonHold",35)
    POS2 K 0 A_CheckFlag("Friendly",2)
    POS2 K 0 Thing_SetSpecial(0,226,613,0,random(3,4))
    POS2 KJIH 5
    goto See
  }
}

actor RGAZombie_5 : RGAMonster
{
  Obituary "%o was killed by a trooper."
  Health 50
  GibHealth 70
  Radius 20
  Height 56
  Mass 100
  Speed 7
  ReactionTime 10
  MinMissileChance 211
  PainChance 150
  PainChance "Dragon", 75
  PainChance "DragonF", 75
  PainChance "Dragonsplosion", 75
  PainChance "RGAFire", 75
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 1.4
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "grunt/sight"
  PainSound "grunt/pain"
  DeathSound "grunt/death"
  ActiveSound "grunt/active"
  Species "Zombie"
  MONSTER
  +FLOORCLIP
  Tag "Trooper"
  States
  {
  Spawn:
    POS2 A 0
    POS2 A 0 A_Jump(64,2)
    POS2 A 0 A_GiveInventory("GrenadeAmmo",1)
    POS2 A 0 A_CheckFlag("Friendly","Idle")
    POS2 A 0 Thing_SetSpecial(0,226,613,0,random(5,10))
  Idle:
    POS2 A 10 A_Look
    Loop
  See2:
    POS2 E 10
  See:
    POS2 A 0 A_JumpIfInventory("MonHold",1,"Death")
    POS2 A 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    POS2 AABBCCDDAABBCC 3 A_Chase("","Missile")
    POS2 DD 3 A_Chase
    POS2 AABBCCDDAABBCC 3 A_Chase("","Missile")
    POS2 DD 3 A_Chase
    POS2 D 0 A_SpawnItemEx("ZombieStepDamage",0,0,28,0,0,0,0,0,0)
    Goto See+1
  SeeBlind:
    POS2 A 0 A_Jump(144,"MissileBlind","SeeBlind2","SeeBlind2")
    POS2 AAB 3 A_Wander
    POS2 B 0 A_Jump(224,2)
    POS2 B 0 A_Pain
    POS2 B 3 A_Wander
    POS2 B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    POS2 CCDD 3 A_Wander
    POS2 D 0 A_SpawnItemEx("ZombieStepDamage",0,0,28,0,0,0,0,0,0)
    goto See
  SeeBlind2:
    POS2 A 0 A_Jump(256,1,2,3)
    POS2 AAA 3
    POS2 A 0 A_Jump(224,2)
    POS2 A 0 A_Pain
    POS2 A 3
    POS2 A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+2
    POS2 A 0 A_Jump(256,1,2,3,4)
    POS2 AAAA 3
    goto See
  MissileBlind:
    POS2 E 8
    POS2 F 0 BRIGHT A_PlayWeaponSound("pp2000/fire")
    POS2 F 2 BRIGHT A_CustomBulletAttack(45, 4.5, 1, 7, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    POS2 E 0 A_Jump(110,"See2")
    POS2 E 3
    POS2 F 0 BRIGHT A_PlayWeaponSound("pp2000/fire")
    POS2 F 2 BRIGHT A_CustomBulletAttack(47, 5.5, 1, 7, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    POS2 E 0 A_Jump(148,"See2")
    POS2 E 3
    POS2 F 0 BRIGHT A_PlayWeaponSound("pp2000/fire")
    POS2 F 2 BRIGHT A_CustomBulletAttack(49, 6.5, 1, 7, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    goto See2
  Melee:
  Missile:
    POS2 E 8 A_FaceTarget
    POS2 E 0 A_Jump(40,"Grenade")
    POS2 F 0 BRIGHT A_PlayWeaponSound("pp2000/fire")
    POS2 F 2 BRIGHT A_CustomBulletAttack(22.5, 2.3, 1, 7, "MonsterBulletPuff", 0, FBF_NORANDOM)
    POS2 E 0 A_Jump(70,"See2")
    POS2 E 3 A_FaceTarget
    POS2 F 0 BRIGHT A_PlayWeaponSound("pp2000/fire")
    POS2 F 2 BRIGHT A_CustomBulletAttack(23.5, 2.8, 1, 7, "MonsterBulletPuff", 0, FBF_NORANDOM)
    POS2 E 0 A_Jump(108,"See2")
    POS2 E 3 A_FaceTarget
    POS2 F 0 BRIGHT A_PlayWeaponSound("pp2000/fire")
    POS2 F 2 BRIGHT A_CustomBulletAttack(24.5, 3.3, 1, 7, "MonsterBulletPuff", 0, FBF_NORANDOM)
    POS2 E 0 A_Jump(108,"See2")
    POS2 E 3 A_FaceTarget
    POS2 F 0 BRIGHT A_PlayWeaponSound("pp2000/fire")
    POS2 F 2 BRIGHT A_CustomBulletAttack(25.5, 3.8, 1, 7, "MonsterBulletPuff", 0, FBF_NORANDOM)
    POS2 E 0 A_Jump(108,"See2")
    POS2 E 3 A_FaceTarget
    POS2 F 0 BRIGHT A_PlayWeaponSound("pp2000/fire")
    POS2 F 2 BRIGHT A_CustomBulletAttack(26.5, 4.3, 1, 7, "MonsterBulletPuff", 0, FBF_NORANDOM)
    POS2 E 0 A_Jump(108,"See2")
    POS2 E 3 A_FaceTarget
    POS2 F 0 BRIGHT A_PlayWeaponSound("pp2000/fire")
    POS2 F 2 BRIGHT A_CustomBulletAttack(27.5, 4.8, 1, 7, "MonsterBulletPuff", 0, FBF_NORANDOM)
    goto See2
  Grenade:
    POS2 E 0 A_JumpIfCloser(384,1)
    goto Missile+2
    POS2 E 0 A_JumpIfInventory("GrenadeAmmo",1,1)
    goto Missile+2
    POS2 E 10 A_PlaySound("grunt/sight")
    POS2 E 10 A_PlayWeaponSound("grenade/pinpull")
    POS2 E 0 A_FaceTarget
    POS2 E 1 A_PlayWeaponSound("grenade/throw")
    POS2 E 0 A_TakeInventory("GrenadeAmmo",1)
    POS2 V 25 A_CustomMissile("FragGrenade_Zombie",30,0,0,2,10)
    goto See
  Pain.Stun3:
    POS2 G 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    POS2 G 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    POS2 G 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain.NormalExplode:
  Pain.Sniper:
  Pain.ExplosionF:
  Pain.ExplosionC:
  Pain.Explosion:
    POS2 G 3
    POS2 G 6 A_Pain
    goto See
  Pain:
    POS2 G 3
    POS2 G 3 A_Pain
    goto See
  Death.Shotgungib:
    POS2 H 0 A_JumpIfCloser(128, "XDeath")
  Death.Shotgun:
    POS2 H 0 A_JumpIfHealthLower(-70, "XDeath")
  Death:
    POS2 H 0
    POS2 H 0 A_CheckFlag("Boss",3)
    POS2 H 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",2,0,0)) == 1, 2)
    POS2 H 0 A_Jump(36,"Death2")
    POS2 H 5
    POS2 I 5 A_Scream
    POS2 I 0 A_SpawnItemEx("PP2000Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 0 A_JumpIfInventory("GrenadeAmmo",1,5)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
    POS2 J 0 A_Jump(244,2)
    POS2 J 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  Death.Burnt:
    "####" # 0 A_Jump(128,2)
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
  Death.Crush:
  Death.Sniper:
    POS2 H 5
    POS2 I 5 A_Scream
    POS2 I 0 A_SpawnItemEx("PP2000Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  Death.Knife:
    POS2 H 5
    POS2 I 5
    POS2 I 0 A_SpawnItemEx("PP2000Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 5 A_NoBlocking
    POS2 J 0 A_PlaySound("body/splats")
    POS2 K 5 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" G 1
    "####" A 0 A_GiveInventory("MonHold",1)
    "####" A 0 A_Jump(64,"Death.Burnt")
    "####" A 0 A_ChangeFlag("FRIGHTENED",1)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Chase("","")
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Chase("","")
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Chase("","")
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Chase("","")
    "####" A 0 A_ChangeFlag("FRIGHTENED",0)
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" D 0 A_Jump(32,"Death.Burnt")
  Death.FireCont:
    "####" A 0 A_Jump(48,2)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" D 0 A_JumpIfInventory("MonHold",5,"Death.Burnt")
    "####" D 0 A_Jump(160,"Death.Burnt")
    "####" D 0 A_GiveInventory("MonHold",1)
    Goto Death.FireCont
  Death.Ice:
    "####" # 0 A_SpawnItemEx("PP2000Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    "####" # 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 5 A_GenericFreezeDeath
    "----" A 1 A_FreezeDeathChunks
    wait
  Death.BarrelBoom:
    POS2 H 0 A_JumpIfCloser(128, "XDeath")
  Death.NormalExplode:
  Death.Cyber:
  Death.ExplosionF:
  Death.Explosion:
    POS2 H 5 A_JumpIfHealthLower(-70, "XDeath")
    POS2 I 5 A_Scream
    POS2 I 0 A_SpawnItemEx("PP2000Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 0 A_JumpIfInventory("GrenadeAmmo",1,5)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
    POS2 J 0 A_Jump(252,2)
    POS2 J 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  Death2:
    POS2 H 5
    POS2 I 5 A_Pain
    POS2 J 5 A_NoBlocking
    POS2 K 5
    POS2 L 5 A_JumpIfInventory("GrenadeAmmo",1,"Death2alt")
    TNT1 A 0 A_Stop
    TNT1 A 15 A_SpawnItemEx("RGAZombie_LastStand5",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
    TNT1 A 15 A_JumpIfInventory("Blinded",1,"LastDeath")
    Wait
  Death2alt:
    POS2 L 5
    TNT1 A 0 A_Stop
    TNT1 A 15 A_SpawnItemEx("RGAZombie_LastStand5alt",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
    TNT1 A 15 A_JumpIfInventory("Blinded",1,"LastDeath")
    Wait
  XDeath:
    POSS M 5
    POSS N 5 A_XScream
    POSS N 0 A_SpawnItemEx("PP2000Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POSS N 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POSS O 5 A_NoBlocking
    POSS PQRST 5
    POSS U 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, 2)
    POSS U -1
    Stop
    POSS UUUUUU 5250 CanRaise
    POSS UUUUUUUUU 2 A_FadeOut(0.1)
    Stop
  LastDeath:
    POS2 L 5
    POS2 L 15 A_TakeInventory("Blinded",1)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  DeathClean:
    POS2 LLLLLL 5250 CanRaise
    POS2 LLLLLLLLL 2 A_FadeOut(0.1)
    Stop
  Raise:
    POS2 K 0
    POS2 K 0 A_GiveInventory("GrenadeAmmo",1)
    POS2 K 0 A_ChangeFlag("FRIGHTENED",0)
    POS2 K 0 A_TakeInventory("MonHold",35)
    POS2 K 0 A_CheckFlag("Friendly",2)
    POS2 K 0 Thing_SetSpecial(0,226,613,0,random(3,4))
    POS2 KJIH 5
    goto See
  }
}

actor RGAZombie_6 : RGAMonster
{
  Obituary "%o was killed by a trooper."
  Health 50
  GibHealth 70
  Radius 20
  Height 56
  Mass 100
  Speed 7
  ReactionTime 10
  MinMissileChance 211
  PainChance 150
  PainChance "Dragon", 75
  PainChance "DragonF", 75
  PainChance "Dragonsplosion", 75
  PainChance "RGAFire", 75
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 1.4
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "grunt/sight"
  PainSound "grunt/pain"
  DeathSound "grunt/death"
  ActiveSound "grunt/active"
  Species "Zombie"
  MONSTER
  +FLOORCLIP
  Tag "Trooper"
  States
  {
  Spawn:
    POS2 A 0
    POS2 A 0 A_Jump(64,2)
    POS2 A 0 A_GiveInventory("GrenadeAmmo",1)
    POS2 A 0 A_CheckFlag("Friendly","Idle")
    POS2 A 0 Thing_SetSpecial(0,226,613,0,random(5,10))
  Idle:
    POS2 A 10 A_Look
    Loop
  See2:
    POS2 E 10
  See:
    POS2 A 0 A_JumpIfInventory("MonHold",1,"Death")
    POS2 A 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    POS2 AABBCCDDAABBCC 3 A_Chase("","Missile")
    POS2 DD 3 A_Chase
    POS2 AABBCCDDAABBCC 3 A_Chase("","Missile")
    POS2 DD 3 A_Chase
    POS2 D 0 A_SpawnItemEx("ZombieStepDamage",0,0,28,0,0,0,0,0,0)
    Goto See+1
  SeeBlind:
    POS2 A 0 A_Jump(144,"MissileBlind","SeeBlind2","SeeBlind2")
    POS2 AAB 3 A_Wander
    POS2 B 0 A_Jump(224,2)
    POS2 B 0 A_Pain
    POS2 B 3 A_Wander
    POS2 B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    POS2 CCDD 3 A_Wander
    POS2 D 0 A_SpawnItemEx("ZombieStepDamage",0,0,28,0,0,0,0,0,0)
    goto See
  SeeBlind2:
    POS2 A 0 A_Jump(256,1,2,3)
    POS2 AAA 3
    POS2 A 0 A_Jump(224,2)
    POS2 A 0 A_Pain
    POS2 A 3
    POS2 A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+2
    POS2 A 0 A_Jump(256,1,2,3,4)
    POS2 AAAA 3
    goto See
  MissileBlind:
    POS2 E 8
    POS2 F 0 BRIGHT A_PlayWeaponSound("g18/fire")
    POS2 F 2 BRIGHT A_CustomBulletAttack(45, 4.5, 1, 6, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    POS2 E 0 A_Jump(124,"See2")
    POS2 E 2
    POS2 F 0 BRIGHT A_PlayWeaponSound("g18/fire")
    POS2 F 2 BRIGHT A_CustomBulletAttack(47, 6.5, 1, 6, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    POS2 E 0 A_Jump(160,"See2")
    POS2 E 2
    POS2 F 0 BRIGHT A_PlayWeaponSound("g18/fire")
    POS2 F 2 BRIGHT A_CustomBulletAttack(49, 8.5, 1, 6, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    goto See2
  Melee:
  Missile:
    POS2 E 8 A_FaceTarget
    POS2 E 0 A_Jump(40,"Grenade")
    POS2 F 0 BRIGHT A_PlayWeaponSound("g18/fire")
    POS2 F 2 BRIGHT A_CustomBulletAttack(22.5, 2.3, 1, 6, "MonsterBulletPuff", 0, FBF_NORANDOM)
    POS2 E 0 A_Jump(68,"See2")
    POS2 E 2 A_FaceTarget
    POS2 F 0 BRIGHT A_PlayWeaponSound("g18/fire")
    POS2 F 2 BRIGHT A_CustomBulletAttack(23.5, 2.8, 1, 6, "MonsterBulletPuff", 0, FBF_NORANDOM)
    POS2 E 0 A_Jump(104,"See2")
    POS2 E 2 A_FaceTarget
    POS2 F 0 BRIGHT A_PlayWeaponSound("g18/fire")
    POS2 F 2 BRIGHT A_CustomBulletAttack(24.5, 3.3, 1, 6, "MonsterBulletPuff", 0, FBF_NORANDOM)
    POS2 E 0 A_Jump(104,"See2")
    POS2 E 2 A_FaceTarget
    POS2 F 0 BRIGHT A_PlayWeaponSound("g18/fire")
    POS2 F 2 BRIGHT A_CustomBulletAttack(25.5, 3.8, 1, 6, "MonsterBulletPuff", 0, FBF_NORANDOM)
    POS2 E 0 A_Jump(104,"See2")
    POS2 E 2 A_FaceTarget
    POS2 F 0 BRIGHT A_PlayWeaponSound("g18/fire")
    POS2 F 2 BRIGHT A_CustomBulletAttack(26.5, 4.3, 1, 6, "MonsterBulletPuff", 0, FBF_NORANDOM)
    goto See2
  Grenade:
    POS2 E 0 A_JumpIfCloser(384,1)
    goto Missile+2
    POS2 E 0 A_JumpIfInventory("GrenadeAmmo",1,1)
    goto Missile+2
    POS2 E 10 A_PlaySound("grunt/sight")
    POS2 E 10 A_PlayWeaponSound("grenade/pinpull")
    POS2 E 0 A_FaceTarget
    POS2 E 1 A_PlayWeaponSound("grenade/throw")
    POS2 E 0 A_TakeInventory("GrenadeAmmo",1)
    POS2 V 25 A_CustomMissile("FragGrenade_Zombie",30,0,0,2,10)
    goto See
  Pain.Stun3:
    POS2 G 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    POS2 G 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    POS2 G 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain.NormalExplode:
  Pain.Sniper:
  Pain.ExplosionF:
  Pain.ExplosionC:
  Pain.Explosion:
    POS2 G 3
    POS2 G 6 A_Pain
    goto See
  Pain:
    POS2 G 3
    POS2 G 3 A_Pain
    goto See
  Death.Shotgungib:
    POS2 H 0 A_JumpIfCloser(128, "XDeath")
  Death.Shotgun:
    POS2 H 0 A_JumpIfHealthLower(-70, "XDeath")
  Death:
    POS2 H 0
    POS2 H 0 A_CheckFlag("Boss",3)
    POS2 H 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",2,0,0)) == 1, 2)
    POS2 H 0 A_Jump(36,"Death2")
    POS2 H 5
    POS2 I 5 A_Scream
    POS2 I 0 A_SpawnItemEx("G18Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 0 A_JumpIfInventory("GrenadeAmmo",1,5)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
    POS2 J 0 A_Jump(244,2)
    POS2 J 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  Death.Burnt:
    "####" # 0 A_Jump(128,2)
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
  Death.Crush:
  Death.Sniper:
    POS2 H 5
    POS2 I 5 A_Scream
    POS2 I 0 A_SpawnItemEx("G18Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  Death.Knife:
    POS2 H 5
    POS2 I 5
    POS2 I 0 A_SpawnItemEx("G18Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 5 A_NoBlocking
    POS2 J 0 A_PlaySound("body/splats")
    POS2 K 5 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" G 1
    "####" A 0 A_GiveInventory("MonHold",1)
    "####" A 0 A_Jump(64,"Death.Burnt")
    "####" A 0 A_ChangeFlag("FRIGHTENED",1)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Chase("","")
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Chase("","")
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Chase("","")
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Chase("","")
    "####" A 0 A_ChangeFlag("FRIGHTENED",0)
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" D 0 A_Jump(32,"Death.Burnt")
  Death.FireCont:
    "####" A 0 A_Jump(48,2)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" D 0 A_JumpIfInventory("MonHold",5,"Death.Burnt")
    "####" D 0 A_Jump(160,"Death.Burnt")
    "####" D 0 A_GiveInventory("MonHold",1)
    Goto Death.FireCont
  Death.Ice:
    "####" # 0 A_SpawnItemEx("G18Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    "####" # 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 5 A_GenericFreezeDeath
    "----" A 1 A_FreezeDeathChunks
    wait
  Death.BarrelBoom:
    POS2 H 0 A_JumpIfCloser(128, "XDeath")
  Death.NormalExplode:
  Death.Cyber:
  Death.ExplosionF:
  Death.ExplosionC:
  Death.Explosion:
    POS2 H 5 A_JumpIfHealthLower(-70, "XDeath")
    POS2 I 5 A_Scream
    POS2 I 0 A_SpawnItemEx("G18Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 0 A_JumpIfInventory("GrenadeAmmo",1,5)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
    POS2 J 0 A_Jump(252,2)
    POS2 J 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  Death2:
    POS2 H 5
    POS2 I 5 A_Pain
    POS2 J 5 A_NoBlocking
    POS2 K 5
    POS2 L 5 A_JumpIfInventory("GrenadeAmmo",1,"Death2alt")
    TNT1 A 0 A_Stop
    TNT1 A 15 A_SpawnItemEx("RGAZombie_LastStand6",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
    TNT1 A 15 A_JumpIfInventory("Blinded",1,"LastDeath")
    Wait
  Death2alt:
    POS2 L 5
    TNT1 A 0 A_Stop
    TNT1 A 15 A_SpawnItemEx("RGAZombie_LastStand6alt",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
    TNT1 A 15 A_JumpIfInventory("Blinded",1,"LastDeath")
    Wait
  XDeath:
    POSS M 5
    POSS N 5 A_XScream
    POSS N 0 A_SpawnItemEx("G18Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POSS N 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POSS O 5 A_NoBlocking
    POSS PQRST 5
    POSS U 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, 2)
    POSS U -1
    Stop
    POSS UUUUUU 5250 CanRaise
    POSS UUUUUUUUU 2 A_FadeOut(0.1)
    Stop
  LastDeath:
    POS2 L 5
    POS2 L 15 A_TakeInventory("Blinded",1)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  DeathClean:
    POS2 LLLLLL 5250 CanRaise
    POS2 LLLLLLLLL 2 A_FadeOut(0.1)
    Stop
  Raise:
    POS2 K 0
    POS2 K 0 A_GiveInventory("GrenadeAmmo",1)
    POS2 K 0 A_ChangeFlag("FRIGHTENED",0)
    POS2 K 0 A_TakeInventory("MonHold",35)
    POS2 K 0 A_CheckFlag("Friendly",2)
    POS2 K 0 Thing_SetSpecial(0,226,613,0,random(3,4))
    POS2 KJIH 5
    goto See
  }
}

actor RGAZombie_LastStand2 : RGAMonster
{
  Obituary "%o was killed by a last stand trooper!"
  Health 35
  GibHealth 60
  Radius 20
  Height 32
  DeathHeight 14
  BurnHeight 14
  Mass 2000
  Speed 0
  ReactionTime 10
  MinMissileChance 211
  PainChance 150
  PainChance "Dragon", 75
  PainChance "DragonF", 75
  PainChance "Dragonsplosion", 75
  PainChance "RGAFire", 75
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 0.9
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "grunt/sight"
  AttackSound "u45/fire"
  PainSound "grunt/pain"
  DeathSound "grunt/death"
  ActiveSound "grunt/pain"
  DamageFactor "Step", 0.0
  Species "Zombie"
  MONSTER
  +FLOORCLIP
  +MISSILEMORE
  -COUNTKILL
  -SOLID
  +NOICEDEATH
  DropItem "USP45Drop" 48
  DropItem "SubAmmo" 136
  Tag "Trooper"
  States
  {
  Spawn:
    LST1 B 0
    LST1 B 0 A_CheckFlag("Friendly",2)
    LST1 B 0 Thing_SetSpecial(0,226,613,0,random(3,5))
    LST1 DBA 6
  Idle:
    LST1 B 6 A_Look
    LST1 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST1 B 0 A_GiveInventory("LastStandHP",1)
    LST1 BA 6 A_Look
    LST1 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST1 A 0 A_GiveInventory("LastStandHP",1)
    LST1 A 6 A_Look
    loop
  See2:
    LST2 A 6
  See:
    LST2 B 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    LST2 BB 3 A_Chase("","")
    LST2 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 B 0 A_GiveInventory("LastStandHP",1)
    LST2 BBAA 3 A_Chase
    LST2 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 A 0 A_GiveInventory("LastStandHP",1)
    LST2 AA 3 A_Chase
    loop
  SeeBlind:
    LST2 BB 3
    LST2 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 B 0 A_GiveInventory("LastStandHP",1)
    LST2 B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    LST2 BBAA 3 A_Jump(32,"MissileBlind")
    LST2 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 A 0 A_GiveInventory("LastStandHP",1)
    LST2 A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto See+11
    LST2 AA 3 A_Jump(32,"MissileBlind")
    goto See
  Die:
    LST2 A 0 A_Die
    goto Death
  MissileBlind:
    LST2 A 8
    LST2 C 5 BRIGHT A_CustomBulletAttack(26, 8, 1, 7, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    LST2 A 0 A_Jump(168,"See2")
    LST2 A 5
    LST2 C 5 BRIGHT A_CustomBulletAttack(26, 8, 1, 7, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    LST2 A 0 A_Jump(216,"See2")
    LST2 A 5
    LST2 C 5 BRIGHT A_CustomBulletAttack(26, 8, 1, 7, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    goto See2
  Missile:
    LST2 A 8 A_FaceTarget
    LST2 C 5 BRIGHT A_CustomBulletAttack(13, 4, 1, 7, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST2 A 0 A_Jump(112,"See2")
    LST2 A 5 A_FaceTarget
    LST2 C 5 BRIGHT A_CustomBulletAttack(13, 4, 1, 7, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST2 A 0 A_Jump(144,"See2")
    LST2 A 5 A_FaceTarget
    LST2 C 5 BRIGHT A_CustomBulletAttack(13, 4, 1, 7, "MonsterBulletPuff", 0, FBF_NORANDOM)
    goto See2
  Pain.Stun3:
    LST1 D 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    LST1 D 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    LST1 D 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain:
    LST1 D 3
    LST1 D 6 A_Pain
    goto See
  Death:
    LST1 D 5 A_Scream
    POS2 K 5 A_NoBlocking
    POS2 LL 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.Knife:
    LST1 D 5
    POS2 K 5 A_NoBlocking
    POS2 LL 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" # 0 A_Jump(128,"Death")
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
    goto Death
  }
}

actor RGAZombie_LastStand2alt : RGAZombie_LastStand2
{
  States
  {
  Death:
    LST1 D 5 A_Scream
    POS2 K 0 A_Jump(224,2)
    POS2 K 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 K 5 A_NoBlocking
    POS2 LL 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.Knife:
    LST1 D 5
    POS2 K 0 A_Jump(224,2)
    POS2 K 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 K 5 A_NoBlocking
    POS2 LL 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  }
}

actor RGAZombie_LastStand3 : RGAMonster
{
  Obituary "%o was killed by a last stand trooper!"
  Health 35
  GibHealth 60
  Radius 20
  Height 32
  DeathHeight 14
  BurnHeight 14
  Mass 2000
  Speed 0
  ReactionTime 10
  MinMissileChance 211
  PainChance 150
  PainChance "Dragon", 75
  PainChance "DragonF", 75
  PainChance "Dragonsplosion", 75
  PainChance "RGAFire", 75
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 0.9
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "grunt/sight"
  AttackSound "m93r/fire"
  PainSound "grunt/pain"
  DeathSound "grunt/death"
  ActiveSound "grunt/pain"
  DamageFactor "Step", 0.0
  Species "Zombie"
  MONSTER
  +FLOORCLIP
  +MISSILEMORE
  -COUNTKILL
  -SOLID
  +NOICEDEATH
  DropItem "M9Drop" 48
  DropItem "SubAmmo" 136
  Tag "Trooper"
  States
  {
  Spawn:
    LST1 B 0
    LST1 B 0 A_CheckFlag("Friendly",2)
    LST1 B 0 Thing_SetSpecial(0,226,613,0,random(3,5))
    LST1 DBA 6
  Idle:
    LST1 B 6 A_Look
    LST1 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST1 B 0 A_GiveInventory("LastStandHP",1)
    LST1 BA 6 A_Look
    LST1 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST1 A 0 A_GiveInventory("LastStandHP",1)
    LST1 A 6 A_Look
    loop
  See2:
    LST2 A 6
  See:
    LST2 B 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    LST2 BB 3 A_Chase("","")
    LST2 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 B 0 A_GiveInventory("LastStandHP",1)
    LST2 BBAA 3 A_Chase
    LST2 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 A 0 A_GiveInventory("LastStandHP",1)
    LST2 AA 3 A_Chase
    loop
  SeeBlind:
    LST2 BB 3
    LST2 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 B 0 A_GiveInventory("LastStandHP",1)
    LST2 B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    LST2 BBAA 3 A_Jump(32,"MissileBlind")
    LST2 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 A 0 A_GiveInventory("LastStandHP",1)
    LST2 A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto See+11
    LST2 AA 3 A_Jump(32,"MissileBlind")
    goto See
  Die:
    LST2 A 0 A_Die
    goto Death
  MissileBlind:
    LST2 A 8
    LST2 C 5 BRIGHT A_CustomBulletAttack(26, 8, 1, 5, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    LST2 A 0 A_Jump(168,"See2")
    LST2 A 5
    LST2 C 5 BRIGHT A_CustomBulletAttack(26, 8, 1, 5, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    LST2 A 0 A_Jump(168,"See2")
    LST2 A 5
    LST2 C 5 BRIGHT A_CustomBulletAttack(26, 8, 1, 5, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    LST2 A 0 A_Jump(168,"See2")
    LST2 A 5
    LST2 C 5 BRIGHT A_CustomBulletAttack(26, 8, 1, 5, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    goto See2
  Missile:
    LST2 A 8 A_FaceTarget
    LST2 C 5 BRIGHT A_CustomBulletAttack(13, 4, 1, 5, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST2 A 0 A_Jump(112,"See2")
    LST2 A 5 A_FaceTarget
    LST2 C 5 BRIGHT A_CustomBulletAttack(13, 4, 1, 5, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST2 A 0 A_Jump(112,"See2")
    LST2 A 5 A_FaceTarget
    LST2 C 5 BRIGHT A_CustomBulletAttack(13, 4, 1, 5, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST2 A 0 A_Jump(112,"See2")
    LST2 A 5 A_FaceTarget
    LST2 C 5 BRIGHT A_CustomBulletAttack(13, 4, 1, 5, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST2 A 0 A_Jump(112,"See2")
    LST2 A 5 A_FaceTarget
    LST2 C 5 BRIGHT A_CustomBulletAttack(13, 4, 1, 5, "MonsterBulletPuff", 0, FBF_NORANDOM)
    goto See2
  Pain.Stun3:
    LST1 D 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    LST1 D 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    LST1 D 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain:
    LST1 D 3
    LST1 D 6 A_Pain
    goto See
  Death:
    LST1 D 5 A_Scream
    POS2 K 5 A_NoBlocking
    POS2 LL 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.Knife:
    LST1 D 5
    POS2 K 5 A_NoBlocking
    POS2 LL 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" # 0 A_Jump(128,"Death")
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
    goto Death
  }
}

actor RGAZombie_LastStand3alt : RGAZombie_LastStand3
{
  States
  {
  Death:
    LST1 D 5 A_Scream
    POS2 K 0 A_Jump(224,2)
    POS2 K 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 K 5 A_NoBlocking
    POS2 LL 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.Knife:
    LST1 D 5
    POS2 K 0 A_Jump(224,2)
    POS2 K 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 K 5 A_NoBlocking
    POS2 LL 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  }
}

actor RGAZombie_LastStand4 : RGAMonster
{
  Obituary "%o was killed by a last stand trooper!"
  Health 35
  GibHealth 60
  Radius 20
  Height 32
  DeathHeight 14
  BurnHeight 14
  Mass 2000
  Speed 0
  ReactionTime 10
  MinMissileChance 211
  PainChance 150
  PainChance "Dragon", 75
  PainChance "DragonF", 75
  PainChance "Dragonsplosion", 75
  PainChance "RGAFire", 75
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 0.9
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "grunt/sight"
  AttackSound "m93r/fire"
  PainSound "grunt/pain"
  DeathSound "grunt/death"
  ActiveSound "grunt/pain"
  DamageFactor "Step", 0.0
  Species "Zombie"
  MONSTER
  +FLOORCLIP
  +MISSILEMORE
  -COUNTKILL
  -SOLID
  +NOICEDEATH
  DropItem "M93RDrop" 48
  DropItem "SubAmmo" 136
  Tag "Trooper"
  States
  {
  Spawn:
    LST1 B 0
    LST1 B 0 A_CheckFlag("Friendly",2)
    LST1 B 0 Thing_SetSpecial(0,226,613,0,random(3,5))
    LST1 DBA 6
  Idle:
    LST1 B 6 A_Look
    LST1 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST1 B 0 A_GiveInventory("LastStandHP",1)
    LST1 BA 6 A_Look
    LST1 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST1 A 0 A_GiveInventory("LastStandHP",1)
    LST1 A 6 A_Look
    loop
  See:
    LST2 B 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    LST2 BB 3 A_Chase("","")
    LST2 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 B 0 A_GiveInventory("LastStandHP",1)
    LST2 BBAA 3 A_Chase
    LST2 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 A 0 A_GiveInventory("LastStandHP",1)
    LST2 AA 3 A_Chase
    loop
  SeeBlind:
    LST2 BB 3
    LST2 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 B 0 A_GiveInventory("LastStandHP",1)
    LST2 B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    LST2 BBAA 3 A_Jump(32,"MissileBlind")
    LST2 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 A 0 A_GiveInventory("LastStandHP",1)
    LST2 A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto See+11
    LST2 AA 3 A_Jump(32,"MissileBlind")
    goto See
  Die:
    LST2 A 0 A_Die
    goto Death
  MissileBlind:
    LST2 A 8
    LST2 C 2 BRIGHT A_CustomBulletAttack(26, 8, 1, 3, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    LST2 A 1
    LST2 C 2 BRIGHT A_CustomBulletAttack(26, 8, 1, 3, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    LST2 A 1
    LST2 C 2 BRIGHT A_CustomBulletAttack(26, 8, 1, 3, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    LST2 A 6
    goto See
  Missile:
    LST2 A 8 A_FaceTarget
    LST2 C 2 BRIGHT A_CustomBulletAttack(13, 4, 1, 3, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST2 A 1 A_FaceTarget
    LST2 C 2 BRIGHT A_CustomBulletAttack(13, 4, 1, 3, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST2 A 1 A_FaceTarget
    LST2 C 2 BRIGHT A_CustomBulletAttack(13, 4, 1, 3, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST2 A 6
    goto See
  Pain.Stun3:
    LST1 D 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    LST1 D 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    LST1 D 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain:
    LST1 D 3
    LST1 D 6 A_Pain
    goto See
  Death:
    LST1 D 5 A_Scream
    POS2 K 5 A_NoBlocking
    POS2 LL 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.Knife:
    LST1 D 5
    POS2 K 5 A_NoBlocking
    POS2 LL 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" # 0 A_Jump(128,"Death")
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
    goto Death
  }
}

actor RGAZombie_LastStand4alt : RGAZombie_LastStand4
{
  States
  {
  Death:
    LST1 D 5 A_Scream
    POS2 K 0 A_Jump(224,2)
    POS2 K 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 K 5 A_NoBlocking
    POS2 LL 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.Knife:
    LST1 D 5
    POS2 K 0 A_Jump(224,2)
    POS2 K 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 K 5 A_NoBlocking
    POS2 LL 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  }
}

actor RGAZombie_LastStand5 : RGAMonster
{
  Obituary "%o was killed by a last stand trooper!"
  Health 35
  GibHealth 60
  Radius 20
  Height 32
  DeathHeight 14
  BurnHeight 14
  Mass 2000
  Speed 0
  ReactionTime 10
  MinMissileChance 211
  PainChance 150
  PainChance "Dragon", 75
  PainChance "DragonF", 75
  PainChance "Dragonsplosion", 75
  PainChance "RGAFire", 75
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 0.9
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "grunt/sight"
  AttackSound "pp2000/fire"
  PainSound "grunt/pain"
  DeathSound "grunt/death"
  ActiveSound "grunt/pain"
  DamageFactor "Step", 0.0
  Species "Zombie"
  MONSTER
  +FLOORCLIP
  +MISSILEMORE
  -COUNTKILL
  -SOLID
  +NOICEDEATH
  DropItem "PP2000Drop" 48
  DropItem "SubAmmo" 136
  Tag "Trooper"
  States
  {
  Spawn:
    LST1 B 0
    LST1 B 0 A_CheckFlag("Friendly",2)
    LST1 B 0 Thing_SetSpecial(0,226,613,0,random(3,5))
    LST1 DBA 6
  Idle:
    LST1 B 6 A_Look
    LST1 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST1 B 0 A_GiveInventory("LastStandHP",1)
    LST1 BA 6 A_Look
    LST1 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST1 A 0 A_GiveInventory("LastStandHP",1)
    LST1 A 6 A_Look
    loop
  See2:
    LST2 A 6
  See:
    LST2 B 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    LST2 BB 3 A_Chase("","")
    LST2 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 B 0 A_GiveInventory("LastStandHP",1)
    LST2 BBAA 3 A_Chase
    LST2 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 A 0 A_GiveInventory("LastStandHP",1)
    LST2 AA 3 A_Chase
    loop
  SeeBlind:
    LST2 BB 3
    LST2 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 B 0 A_GiveInventory("LastStandHP",1)
    LST2 B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    LST2 BBAA 3 A_Jump(32,"MissileBlind")
    LST2 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 A 0 A_GiveInventory("LastStandHP",1)
    LST2 A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto See+11
    LST2 AA 3 A_Jump(32,"MissileBlind")
    goto See
  Die:
    LST2 A 0 A_Die
    goto Death
  MissileBlind:
    LST2 A 8
    LST2 C 2 BRIGHT A_CustomBulletAttack(30, 12, 1, 5, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    LST2 A 0 A_Jump(132,"See2")
    LST2 A 2
    LST2 C 2 BRIGHT A_CustomBulletAttack(32, 14, 1, 5, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    LST2 A 0 A_Jump(132,"See2")
    LST2 A 2
    LST2 C 2 BRIGHT A_CustomBulletAttack(34, 16, 1, 5, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    goto See2
  Missile:
    LST2 A 8 A_FaceTarget
    LST2 C 2 BRIGHT A_CustomBulletAttack(15, 6, 1, 5, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST2 A 0 A_Jump(88,"See2")
    LST2 A 2 A_FaceTarget
    LST2 C 2 BRIGHT A_CustomBulletAttack(16, 7, 1, 5, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST2 A 0 A_Jump(88,"See2")
    LST2 A 2 A_FaceTarget
    LST2 C 2 BRIGHT A_CustomBulletAttack(17, 8, 1, 5, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST2 A 0 A_Jump(88,"See2")
    LST2 A 2 A_FaceTarget
    LST2 C 2 BRIGHT A_CustomBulletAttack(18, 9, 1, 5, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST2 A 0 A_Jump(88,"See2")
    LST2 A 2 A_FaceTarget
    LST2 C 2 BRIGHT A_CustomBulletAttack(19, 10, 1, 5, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST2 A 0 A_Jump(88,"See2")
    LST2 A 2 A_FaceTarget
    LST2 C 2 BRIGHT A_CustomBulletAttack(20, 11, 1, 5, "MonsterBulletPuff", 0, FBF_NORANDOM)
    goto See2
  Pain.Stun3:
    LST1 D 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    LST1 D 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    LST1 D 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain:
    LST1 D 3
    LST1 D 6 A_Pain
    goto See
  Death:
    LST1 D 5 A_Scream
    POS2 K 5 A_NoBlocking
    POS2 LL 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.Knife:
    LST1 D 5
    POS2 K 5 A_NoBlocking
    POS2 LL 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" # 0 A_Jump(128,"Death")
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
    goto Death
  }
}

actor RGAZombie_LastStand5alt : RGAZombie_LastStand5
{
  States
  {
  Death:
    LST1 D 5 A_Scream
    POS2 K 0 A_Jump(224,2)
    POS2 K 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 K 5 A_NoBlocking
    POS2 LL 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.Knife:
    LST1 D 5
    POS2 K 0 A_Jump(224,2)
    POS2 K 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 K 5 A_NoBlocking
    POS2 LL 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  }
}

actor RGAZombie_LastStand6 : RGAMonster
{
  Obituary "%o was killed by a last stand trooper!"
  Health 35
  GibHealth 60
  Radius 20
  Height 32
  DeathHeight 14
  BurnHeight 14
  Mass 2000
  Speed 0
  ReactionTime 10
  MinMissileChance 211
  PainChance 150
  PainChance "Dragon", 75
  PainChance "DragonF", 75
  PainChance "Dragonsplosion", 75
  PainChance "RGAFire", 75
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 0.9
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "grunt/sight"
  AttackSound "g18/fire"
  PainSound "grunt/pain"
  DeathSound "grunt/death"
  ActiveSound "grunt/pain"
  DamageFactor "Step", 0.0
  Species "Zombie"
  MONSTER
  +FLOORCLIP
  +MISSILEMORE
  -COUNTKILL
  -SOLID
  +NOICEDEATH
  DropItem "G18Drop" 48
  DropItem "SubAmmo" 136
  Tag "Trooper"
  States
  {
  Spawn:
    LST1 B 0
    LST1 B 0 A_CheckFlag("Friendly",2)
    LST1 B 0 Thing_SetSpecial(0,226,613,0,random(3,5))
    LST1 DBA 6
  Idle:
    LST1 B 6 A_Look
    LST1 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST1 B 0 A_GiveInventory("LastStandHP",1)
    LST1 BA 6 A_Look
    LST1 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST1 A 0 A_GiveInventory("LastStandHP",1)
    LST1 A 6 A_Look
    loop
  See2:
    LST2 A 6
  See:
    LST2 B 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    LST2 BB 3 A_Chase("","")
    LST2 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 B 0 A_GiveInventory("LastStandHP",1)
    LST2 BBAA 3 A_Chase
    LST2 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 A 0 A_GiveInventory("LastStandHP",1)
    LST2 AA 3 A_Chase
    loop
  SeeBlind:
    LST2 BB 3
    LST2 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 B 0 A_GiveInventory("LastStandHP",1)
    LST2 B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    LST2 BBAA 3 A_Jump(32,"MissileBlind")
    LST2 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 A 0 A_GiveInventory("LastStandHP",1)
    LST2 A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto See+11
    LST2 AA 3 A_Jump(32,"MissileBlind")
    goto See
  Die:
    LST2 A 0 A_Die
    goto Death
  MissileBlind:
    LST2 A 8
    LST2 C 2 BRIGHT A_CustomBulletAttack(34, 12, 1, 3, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    LST2 A 0 A_Jump(144,"See2")
    LST2 A 1
    LST2 C 2 BRIGHT A_CustomBulletAttack(36, 14, 1, 3, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    LST2 A 0 A_Jump(144,"See2")
    LST2 A 1
    LST2 C 2 BRIGHT A_CustomBulletAttack(38, 16, 1, 3, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    goto See2
  Missile:
    LST2 A 8 A_FaceTarget
    LST2 C 2 BRIGHT A_CustomBulletAttack(17, 6, 1, 3, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST2 A 0 A_Jump(96,"See2")
    LST2 A 1 A_FaceTarget
    LST2 C 2 BRIGHT A_CustomBulletAttack(18, 7, 1, 3, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST2 A 0 A_Jump(96,"See2")
    LST2 A 1 A_FaceTarget
    LST2 C 2 BRIGHT A_CustomBulletAttack(19, 8, 1, 3, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST2 A 0 A_Jump(96,"See2")
    LST2 A 1 A_FaceTarget
    LST2 C 2 BRIGHT A_CustomBulletAttack(20, 9, 1, 3, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST2 A 0 A_Jump(96,"See2")
    LST2 A 1 A_FaceTarget
    LST2 C 2 BRIGHT A_CustomBulletAttack(21, 10, 1, 3, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST2 A 0 A_Jump(96,"See2")
    LST2 A 1 A_FaceTarget
    LST2 C 2 BRIGHT A_CustomBulletAttack(22, 11, 1, 3, "MonsterBulletPuff", 0, FBF_NORANDOM)
    goto See2
  Pain.Stun3:
    LST1 D 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    LST1 D 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    LST1 D 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain:
    LST1 D 3
    LST1 D 6 A_Pain
    goto See
  Death:
    LST1 D 5 A_Scream
    POS2 K 5 A_NoBlocking
    POS2 LL 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.Knife:
    LST1 D 5
    POS2 K 5 A_NoBlocking
    POS2 LL 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" # 0 A_Jump(128,"Death")
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
    goto Death
  }
}

actor RGAZombie_LastStand6alt : RGAZombie_LastStand6
{
  States
  {
  Death:
    LST1 D 5 A_Scream
    POS2 K 0 A_Jump(224,2)
    POS2 K 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 K 5 A_NoBlocking
    POS2 LL 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.Knife:
    LST1 D 5
    POS2 K 0 A_Jump(224,2)
    POS2 K 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 K 5 A_NoBlocking
    POS2 LL 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  }
}

actor DrDude : RGAMonster
{
  Obituary "%o was capped by a scientist."
  HitObituary "%o was given brain surgery by a scientist."
  Health 70
  GibHealth 70
  Radius 20
  Height 56
  Mass 100
  Speed 6
  ReactionTime 10
  MinMissileChance 211
  PainChance 175
  PainChance "Dragon", 88
  PainChance "DragonF", 88
  PainChance "Dragonsplosion", 88
  PainChance "RGAFire", 88
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 1.4
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "heavy/sight"
  PainSound "grunt/pain"
  DeathSound "heavy/death"
  ActiveSound "heavy/active"
  Species "Zombie"
  MONSTER
  +FLOORCLIP
  Translation "112:125=[189,159,130]:[28,21,15]", "128:133=56:79", "144:147=54:79", "0:0=2:2", "109:109=15:15", "111:111=1:1", "5:8=1:2", "110:110=108:108", "126:127=238:239", "192:207=168:184"
  Scale 1.12
  Tag "Scientist"
  States
  {
  Spawn:
    DRDO A 0
    DRDO A 0 A_CheckFlag("Friendly","Idle")
    DRDO A 0 Thing_SetSpecial(0,226,613,0,random(6,12))
  Idle:
    DRDO A 10 A_Look
    Loop
  See2:
    DRDO F 8
  See:
    DRDO A 0 A_JumpIfInventory("MonHold",1,"Death")
    DRDO A 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    DRDO AABBCCDDAABBCC 3 A_Chase("","Missile")
    DRDO DD 3 A_Chase
    DRDO AABBCCDDAABBCC 3 A_Chase("","Missile")
    DRDO DD 3 A_Chase
    DRDO D 0 A_SpawnItemEx("ZombieStepDamage",0,0,28,0,0,0,0,0,0)
    Goto See+1
  SeeBlind:
    DRDO A 0 A_Jump(144,"MissileBlind","SeeBlind2","SeeBlind2")
    DRDO AAB 3 A_Wander
    DRDO B 0 A_Jump(224,2)
    DRDO B 0 A_Pain
    DRDO B 3 A_Wander
    DRDO B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    DRDO CCDD 3 A_Wander
    DRDO D 0 A_SpawnItemEx("ZombieStepDamage",0,0,28,0,0,0,0,0,0)
    goto See
  SeeBlind2:
    DRDO A 0 A_Jump(256,1,2,3)
    DRDO AAA 3
    DRDO A 0 A_Jump(224,2)
    DRDO A 0 A_Pain
    DRDO A 3
    DRDO A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+2
    DRDO A 0 A_Jump(256,1,2,3,4)
    DRDO AAAA 3
    goto See
  MissileBlind:
    DRDO EF 10
    DRDO G 0 BRIGHT A_PlayWeaponSound("44magnum/fire")
    DRDO G 8 BRIGHT A_CustomBulletAttack(21, 7, 1, 13, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    DRDO F 0 A_Jump(192,"See2")
    DRDO F 6
    goto MissileBlind+2
  Missile:
    DRDO EF 10 A_FaceTarget
    DRDO G 0 BRIGHT A_PlayWeaponSound("44magnum/fire")
    DRDO G 8 BRIGHT A_CustomBulletAttack(10.5, 3.5, 1, 13, "MonsterBulletPuff", 0, FBF_NORANDOM)
    DRDO F 0 A_Jump(168,"See2")
    DRDO F 6 A_FaceTarget
    DRDO G 0 BRIGHT A_PlayWeaponSound("44magnum/fire")
    DRDO G 8 BRIGHT A_CustomBulletAttack(10.5, 3.5, 1, 13, "MonsterBulletPuff", 0, FBF_NORANDOM)
    goto See2
  Melee:
    DRDO EF 6 A_FaceTarget
    DRDO G 0 BRIGHT A_PlayWeaponSound("44magnum/fire")
    DRDO G 8 BRIGHT A_CustomBulletAttack(9, 3, 1, 13, "MonsterBulletPuff", 0, FBF_NORANDOM)
    DRDO F 0 A_Jump(152,"See2")
    DRDO F 4 A_FaceTarget
    DRDO G 0 BRIGHT A_PlayWeaponSound("44magnum/fire")
    DRDO G 8 BRIGHT A_CustomBulletAttack(9, 3, 1, 13, "MonsterBulletPuff", 0, FBF_NORANDOM)
    goto See2
  Pain.Stun3:
    DRDO H 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    DRDO H 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    DRDO H 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain.NormalExplode:
  Pain.Sniper:
  Pain.ExplosionF:
  Pain.ExplosionC:
  Pain.Explosion:
    DRDO H 3
    DRDO H 6 A_Pain
    goto See
  Pain:
    DRDO H 3
    DRDO H 3 A_Pain
    goto See
  Death.Shotgungib:
    DRDO I 0 A_JumpIfCloser(128, "XDeath")
  Death.Shotgun:
    DRDO I 0 A_JumpIfHealthLower(-45, "XDeath")
  Death:
    DRDO I 0
    DRDO I 0 A_CheckFlag("Boss",3)
    DRDO I 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",2,0,0)) == 1, 2)
    DRDO I 0 A_Jump(36,"Death2")
    DRDO I 5
    DRDO J 5 A_Scream
    DRDO J 0 A_SpawnItemEx("44MagnumDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,207)
    DRDO J 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    DRDO K 5 A_NoBlocking
    DRDO L 5
    DRDO MM 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    DRDO N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    DRDO N -1
    Stop
  Death.Burnt:
    "####" # 0 A_Jump(128,2)
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
  Death.Crush:
  Death.Sniper:
    DRDO I 5
    DRDO J 5 A_Scream
    DRDO J 0 A_SpawnItemEx("44MagnumDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,207)
    DRDO J 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    DRDO K 5 A_NoBlocking
    DRDO L 5
    DRDO MM 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    DRDO N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    DRDO N -1
    Stop
  Death.Knife:
    DRDO I 5
    DRDO J 5
    DRDO J 0 A_SpawnItemEx("44MagnumDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,207)
    DRDO J 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    DRDO K 5 A_NoBlocking
    DRDO L 5
    DRDO L 0 A_PlaySound("body/splats")
    DRDO MM 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    DRDO N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    DRDO N -1
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" G 1
    "####" A 0 A_GiveInventory("MonHold",1)
    "####" A 0 A_Jump(64,"Death.Burnt")
    "####" A 0 A_ChangeFlag("FRIGHTENED",1)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Chase("","")
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Chase("","")
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Chase("","")
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Chase("","")
    "####" A 0 A_ChangeFlag("FRIGHTENED",0)
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" D 0 A_Jump(32,"Death.Burnt")
  Death.FireCont:
    "####" A 0 A_Jump(48,2)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" D 0 A_JumpIfInventory("MonHold",5,"Death.Burnt")
    "####" D 0 A_Jump(160,"Death.Burnt")
    "####" D 0 A_GiveInventory("MonHold",1)
    Goto Death.FireCont
  Death.Ice:
    "####" # 0 A_SpawnItemEx("44MagnumDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,207)
    "####" # 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 5 A_GenericFreezeDeath
    "----" A 1 A_FreezeDeathChunks
    wait
  Death.BarrelBoom:
    DRDO I 0 A_JumpIfCloser(128, "XDeath")
  Death.NormalExplode:
  Death.Cyber:
  Death.ExplosionF:
  Death.ExplosionC:
  Death.Explosion:
    DRDO I 5 A_JumpIfHealthLower(-70, "XDeath")
    DRDO J 5 A_Scream
    DRDO J 0 A_SpawnItemEx("44MagnumDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,207)
    DRDO J 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    DRDO K 5 A_NoBlocking
    DRDO L 5
    DRDO MM 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    DRDO N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    DRDO N -1
    Stop
  Death2:
    DRDO I 5
    DRDO J 5 A_Pain
    DRDO K 5 A_NoBlocking
    DRDO LM 5
    DRDO N 5
    TNT1 A 0 A_Stop
    TNT1 A 15 A_SpawnItemEx("DrDude_LastStand",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
    TNT1 A 15 A_JumpIfInventory("Blinded",1,"LastDeath")
    Wait
  XDeath:
    POSS O 7
    POSS P 7 A_XScream
    POSS P 0 A_SpawnItemEx("44MagnumDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,207)
    POSS P 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    POSS Q 7 A_NoBlocking
    POSS RST 6
    POSS U 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, 2)
    POSS U -1
    Stop
    POSS UUUUUU 5250 CanRaise
    POSS UUUUUUUUU 2 A_FadeOut(0.1)
    Stop
  LastDeath:
    DRDO N 5
    DRDO N 15 A_TakeInventory("Blinded",1)
    DRDO N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    DRDO N -1
    Stop
  DeathClean:
    DRDO NNNNNN 5250 CanRaise
    DRDO NNNNNNNNN 2 A_FadeOut(0.1)
    Stop
  Raise:
    DRDO N 0
    DRDO N 0 A_ChangeFlag("FRIGHTENED",0)
    DRDO N 0 A_TakeInventory("MonHold",35)
    DRDO N 0 A_CheckFlag("Friendly",2)
    DRDO N 0 Thing_SetSpecial(0,226,613,0,random(3,6))
    DRDO NMLKJI 5
    goto See
  }
}

actor DrDude2 : RGAMonster
{
  Obituary "%o was capped by a scientist."
  HitObituary "%o was given brain surgery by a scientist."
  Health 70
  GibHealth 70
  Radius 20
  Height 56
  Mass 100
  Speed 6
  ReactionTime 10
  MinMissileChance 211
  PainChance 175
  PainChance "Dragon", 88
  PainChance "DragonF", 88
  PainChance "Dragonsplosion", 88
  PainChance "RGAFire", 88
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 1.4
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "heavy/sight"
  PainSound "grunt/pain"
  DeathSound "heavy/death"
  ActiveSound "heavy/active"
  Species "Zombie"
  MONSTER
  +FLOORCLIP
  Translation "112:125=[189,159,130]:[28,21,15]", "128:133=56:79", "144:147=54:79", "0:0=2:2", "109:109=15:15", "111:111=1:1", "5:8=1:2", "110:110=108:108", "126:127=238:239", "192:207=168:184"
  Scale 1.12
  Tag "Scientist"
  States
  {
  Spawn:
    DRDO A 0
    DRDO A 0 A_CheckFlag("Friendly","Idle")
    DRDO A 0 Thing_SetSpecial(0,226,613,0,random(6,12))
  Idle:
    DRDO A 10 A_Look
    Loop
  See2:
    DRDO F 8
  See:
    DRDO A 0 A_JumpIfInventory("MonHold",1,"Death")
    DRDO A 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    DRDO AABBCCDDAABBCC 3 A_Chase("","Missile")
    DRDO DD 3 A_Chase
    DRDO AABBCCDDAABBCC 3 A_Chase("","Missile")
    DRDO DD 3 A_Chase
    DRDO D 0 A_SpawnItemEx("ZombieStepDamage",0,0,28,0,0,0,0,0,0)
    Goto See+1
  SeeBlind:
    DRDO A 0 A_Jump(144,"MissileBlind","SeeBlind2","SeeBlind2")
    DRDO AAB 3 A_Wander
    DRDO B 0 A_Jump(224,2)
    DRDO B 0 A_Pain
    DRDO B 3 A_Wander
    DRDO B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    DRDO CCDD 3 A_Wander
    DRDO D 0 A_SpawnItemEx("ZombieStepDamage",0,0,28,0,0,0,0,0,0)
    goto See
  SeeBlind2:
    DRDO A 0 A_Jump(256,1,2,3)
    DRDO AAA 3
    DRDO A 0 A_Jump(224,2)
    DRDO A 0 A_Pain
    DRDO A 3
    DRDO A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+2
    DRDO A 0 A_Jump(256,1,2,3,4)
    DRDO AAAA 3
    goto See
  MissileBlind:
    DRDO EF 8
    DRDO G 0 BRIGHT A_PlayWeaponSound("deagle/fire")
    DRDO G 8 BRIGHT A_CustomBulletAttack(27, 9, 1, 11, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    DRDO F 0 A_Jump(192,"See2")
    DRDO F 4
    goto MissileBlind+2
  Missile:
    DRDO EF 8 A_FaceTarget
    DRDO G 0 BRIGHT A_PlayWeaponSound("deagle/fire")
    DRDO G 8 BRIGHT A_CustomBulletAttack(13.5, 4.5, 1, 11, "MonsterBulletPuff", 0, FBF_NORANDOM)
    DRDO F 0 A_Jump(168,"See2")
    DRDO F 4 A_FaceTarget
    DRDO G 0 BRIGHT A_PlayWeaponSound("deagle/fire")
    DRDO G 8 BRIGHT A_CustomBulletAttack(13.5, 4.5, 1, 11, "MonsterBulletPuff", 0, FBF_NORANDOM)
    goto See2
  Melee:
    DRDO EF 6 A_FaceTarget
    DRDO G 0 BRIGHT A_PlayWeaponSound("deagle/fire")
    DRDO G 8 BRIGHT A_CustomBulletAttack(12, 4, 1, 11, "MonsterBulletPuff", 0, FBF_NORANDOM)
    DRDO F 0 A_Jump(152,"See2")
    DRDO F 2 A_FaceTarget
    DRDO G 0 BRIGHT A_PlayWeaponSound("deagle/fire")
    DRDO G 8 BRIGHT A_CustomBulletAttack(12, 4, 1, 11, "MonsterBulletPuff", 0, FBF_NORANDOM)
    goto See2
  Pain.Stun3:
    DRDO H 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    DRDO H 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    DRDO H 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain.NormalExplode:
  Pain.Sniper:
  Pain.ExplosionF:
  Pain.ExplosionC:
  Pain.Explosion:
    DRDO H 3
    DRDO H 6 A_Pain
    goto See
  Pain:
    DRDO H 3
    DRDO H 3 A_Pain
    goto See
  Death.Shotgungib:
    DRDO I 0 A_JumpIfCloser(128, "XDeath")
  Death.Shotgun:
    DRDO I 0 A_JumpIfHealthLower(-45, "XDeath")
  Death:
    DRDO I 0
    DRDO I 0 A_CheckFlag("Boss",3)
    DRDO I 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",2,0,0)) == 1, 2)
    DRDO I 0 A_Jump(36,"Death2")
    DRDO I 5
    DRDO J 5 A_Scream
    //DRDO J 0 A_SpawnItemEx("DeagleDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,207)
    DRDO J 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    DRDO K 5 A_NoBlocking
    DRDO L 5
    DRDO MM 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    DRDO N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    DRDO N -1
    Stop
  Death.Burnt:
    "####" # 0 A_Jump(128,2)
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
  Death.Crush:
  Death.Sniper:
    DRDO I 5
    DRDO J 5 A_Scream
    //DRDO J 0 A_SpawnItemEx("DeagleDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,207)
    DRDO J 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    DRDO K 5 A_NoBlocking
    DRDO L 5
    DRDO MM 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    DRDO N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    DRDO N -1
    Stop
  Death.Knife:
    DRDO I 5
    DRDO J 5
    //DRDO J 0 A_SpawnItemEx("DeagleDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,207)
    DRDO J 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    DRDO K 5 A_NoBlocking
    DRDO L 5
    DRDO L 0 A_PlaySound("body/splats")
    DRDO MM 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    DRDO N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    DRDO N -1
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" G 1
    "####" A 0 A_GiveInventory("MonHold",1)
    "####" A 0 A_Jump(64,"Death.Burnt")
    "####" A 0 A_ChangeFlag("FRIGHTENED",1)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Chase("","")
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Chase("","")
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Chase("","")
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Chase("","")
    "####" A 0 A_ChangeFlag("FRIGHTENED",0)
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" D 0 A_Jump(32,"Death.Burnt")
  Death.FireCont:
    "####" A 0 A_Jump(48,2)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" D 0 A_JumpIfInventory("MonHold",5,"Death.Burnt")
    "####" D 0 A_Jump(160,"Death.Burnt")
    "####" D 0 A_GiveInventory("MonHold",1)
    Goto Death.FireCont
  Death.Ice:
    //"####" # 0 A_SpawnItemEx("DeagleDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,207)
    "####" # 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 5 A_GenericFreezeDeath
    "----" A 1 A_FreezeDeathChunks
    wait
  Death.BarrelBoom:
    DRDO I 0 A_JumpIfCloser(128, "XDeath")
  Death.NormalExplode:
  Death.Cyber:
  Death.ExplosionF:
  Death.ExplosionC:
  Death.Explosion:
    DRDO I 5 A_JumpIfHealthLower(-70, "XDeath")
    DRDO J 5 A_Scream
    //DRDO J 0 A_SpawnItemEx("DeagleDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,207)
    DRDO J 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    DRDO K 5 A_NoBlocking
    DRDO L 5
    DRDO MM 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    DRDO N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    DRDO N -1
    Stop
  Death2:
    DRDO I 5
    DRDO J 5 A_Pain
    DRDO K 5 A_NoBlocking
    DRDO LM 5
    DRDO N 5
    TNT1 A 0 A_Stop
    TNT1 A 15 A_SpawnItemEx("DrDude2_LastStand",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
    TNT1 A 15 A_JumpIfInventory("Blinded",1,"LastDeath")
    Wait
  XDeath:
    POSS O 7
    POSS P 7 A_XScream
    //POSS P 0 A_SpawnItemEx("DeagleDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,207)
    POSS P 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    POSS Q 7 A_NoBlocking
    POSS RST 6
    POSS U 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, 2)
    POSS U -1
    Stop
    POSS UUUUUU 5250 CanRaise
    POSS UUUUUUUUU 2 A_FadeOut(0.1)
    Stop
  LastDeath:
    DRDO N 5
    DRDO N 15 A_TakeInventory("Blinded",1)
    DRDO N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    DRDO N -1
    Stop
  DeathClean:
    DRDO NNNNNN 5250 CanRaise
    DRDO NNNNNNNNN 2 A_FadeOut(0.1)
    Stop
  Raise:
    DRDO N 0
    DRDO N 0 A_ChangeFlag("FRIGHTENED",0)
    DRDO N 0 A_TakeInventory("MonHold",35)
    DRDO N 0 A_CheckFlag("Friendly",2)
    DRDO N 0 Thing_SetSpecial(0,226,613,0,random(3,6))
    DRDO NMLKJI 5
    goto See
  }
}

actor DrDude_LastStand : RGAMonster
{
  Obituary "%o was killed by a last stand scientist!"
  Health 45
  GibHealth 60
  Radius 20
  Height 32
  DeathHeight 14
  BurnHeight 14
  Mass 2000
  Speed 0
  ReactionTime 10
  MinMissileChance 211
  PainChance 175
  PainChance "Dragon", 88
  PainChance "DragonF", 88
  PainChance "Dragonsplosion", 88
  PainChance "RGAFire", 88
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 0.9
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "heavy/sight"
  AttackSound "44magnum/fire"
  PainSound "grunt/pain"
  DeathSound "heavy/death"
  ActiveSound "grunt/pain"
  Translation "112:125=[189,159,130]:[28,21,15]", "128:133=56:79", "144:147=54:79", "0:0=2:2", "109:109=15:15", "111:111=1:1", "5:8=1:2", "110:110=108:108", "126:127=238:239", "192:207=168:184"
  DamageFactor "Step", 0.0
  Species "Zombie"
  MONSTER
  +MISSILEMORE
  +FLOORCLIP
  -COUNTKILL
  -SOLID
  +NOICEDEATH
  Scale 1.12
  DropItem "44MagnumDrop" 48
  DropItem "SubAmmo" 96
  Tag "Scientist"
  States
  {
  Spawn:
    LST5 B 0
    LST5 B 0 A_CheckFlag("Friendly",2)
    LST5 B 0 Thing_SetSpecial(0,226,613,0,random(3,6))
    LST5 DBA 6
  Idle:
    LST5 B 6 A_Look
    LST5 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST5 B 0 A_GiveInventory("LastStandHP",1)
    LST5 BA 6 A_Look
    LST5 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST5 A 0 A_GiveInventory("LastStandHP",1)
    LST5 A 6 A_Look
    loop
  See2:
    LST5 A 8
  See:
    LST5 B 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    LST5 BB 3 A_Chase("","")
    LST5 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST5 B 0 A_GiveInventory("LastStandHP",1)
    LST5 BBAA 3 A_Chase
    LST5 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST5 A 0 A_GiveInventory("LastStandHP",1)
    LST5 AA 3 A_Chase
    loop
  SeeBlind:
    LST5 BB 3
    LST5 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST5 B 0 A_GiveInventory("LastStandHP",1)
    LST5 B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    LST5 BBAA 3 A_Jump(32,"MissileBlind")
    LST5 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST5 A 0 A_GiveInventory("LastStandHP",1)
    LST5 A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto See+11
    LST5 AA 3 A_Jump(32,"MissileBlind")
    goto See
  Die:
    LST5 A 0 A_Die
    goto Death
  MissileBlind:
    LST5 AA 10
    LST5 C 8 BRIGHT A_CustomBulletAttack(26, 4, 1, 13, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    goto See2
  Missile:
    LST5 AA 10 A_FaceTarget
    LST5 C 8 BRIGHT A_CustomBulletAttack(13, 2, 1, 13, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST5 A 0 A_Jump(160,"See2")
    LST5 A 6 A_FaceTarget
    LST5 C 8 BRIGHT A_CustomBulletAttack(13, 2, 1, 13, "MonsterBulletPuff", 0, FBF_NORANDOM)
    goto See2
  Pain.Stun3:
    LST5 A 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    LST5 A 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    LST5 A 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain:
    LST5 D 3
    LST5 D 6 A_Pain
    goto See
  Death:
    LST5 D 5 A_Scream
    DRDO M 5 A_NoBlocking
    DRDO NN 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    DRDO N 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.Knife:
    LST5 D 5
    DRDO M 5 A_NoBlocking
    DRDO NN 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    DRDO N 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" # 0 A_Jump(128,"Death")
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
    goto Death
  }
}

actor DrDude2_LastStand : RGAMonster
{
  Obituary "%o was killed by a last stand scientist!"
  Health 45
  GibHealth 60
  Radius 20
  Height 32
  DeathHeight 14
  BurnHeight 14
  Mass 2000
  Speed 0
  ReactionTime 10
  MinMissileChance 211
  PainChance 175
  PainChance "Dragon", 88
  PainChance "DragonF", 88
  PainChance "Dragonsplosion", 88
  PainChance "RGAFire", 88
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 0.9
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "heavy/sight"
  AttackSound "deagle/fire"
  PainSound "grunt/pain"
  DeathSound "heavy/death"
  ActiveSound "grunt/pain"
  Translation "112:125=[189,159,130]:[28,21,15]", "128:133=56:79", "144:147=54:79", "0:0=2:2", "109:109=15:15", "111:111=1:1", "5:8=1:2", "110:110=108:108", "126:127=238:239", "192:207=168:184"
  DamageFactor "Step", 0.0
  Species "Zombie"
  MONSTER
  +FLOORCLIP
  +MISSILEMORE
  -COUNTKILL
  -SOLID
  +NOICEDEATH
  Scale 1.12
  DropItem "DeagleDrop" 2
  DropItem "SubAmmo" 96
  Tag "Scientist"
  States
  {
  Spawn:
    LST5 B 0
    LST5 B 0 A_CheckFlag("Friendly",2)
    LST5 B 0 Thing_SetSpecial(0,226,613,0,random(3,6))
    LST5 DBA 6
  Idle:
    LST5 B 6 A_Look
    LST5 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST5 B 0 A_GiveInventory("LastStandHP",1)
    LST5 BA 6 A_Look
    LST5 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST5 A 0 A_GiveInventory("LastStandHP",1)
    LST5 A 6 A_Look
    loop
  See2:
    LST5 A 8
  See:
    LST5 B 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    LST5 BB 3 A_Chase("","")
    LST5 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST5 B 0 A_GiveInventory("LastStandHP",1)
    LST5 BBAA 3 A_Chase
    LST5 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST5 A 0 A_GiveInventory("LastStandHP",1)
    LST5 AA 3 A_Chase
    loop
  SeeBlind:
    LST5 BB 3
    LST5 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST5 B 0 A_GiveInventory("LastStandHP",1)
    LST5 B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    LST5 BBAA 3 A_Jump(32,"MissileBlind")
    LST5 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST5 A 0 A_GiveInventory("LastStandHP",1)
    LST5 A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto See+11
    LST5 AA 3 A_Jump(32,"MissileBlind")
    goto See
  Die:
    LST5 A 0 A_Die
    goto Death
  MissileBlind:
    LST5 AA 8
    LST5 C 8 BRIGHT A_CustomBulletAttack(28, 6, 1, 11, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    goto See2
  Missile:
    LST5 AA 8 A_FaceTarget
    LST5 C 8 BRIGHT A_CustomBulletAttack(14, 3, 1, 11, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST5 A 0 A_Jump(160,"See2")
    LST5 A 4 A_FaceTarget
    LST5 C 8 BRIGHT A_CustomBulletAttack(14, 3, 1, 11, "MonsterBulletPuff", 0, FBF_NORANDOM)
    goto See2
  Pain.Stun3:
    LST5 A 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    LST5 A 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    LST5 A 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain:
    LST5 D 3
    LST5 D 6 A_Pain
    goto See
  Death:
    LST5 D 5 A_Scream
    DRDO M 5 A_NoBlocking
    DRDO NN 2 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    DRDO N 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.Knife:
    LST5 D 5
    DRDO M 5 A_NoBlocking
    DRDO NN 2 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    DRDO N 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" # 0 A_Jump(128,"Death")
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
    goto Death
  }
}

actor RGAShotgun_2 : RGAMonster
{
  Obituary "%o was shot by a sergeant."
  Health 75
  GibHealth 70
  Radius 20
  Height 56
  Mass 100
  Speed 7
  PainChance 120
  PainChance "Dragon", 60
  PainChance "DragonF", 60
  PainChance "Dragonsplosion", 60
  PainChance "RGAFire", 60
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 1.4
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "shotguy/sight"
  PainSound "shotguy/pain"
  DeathSound "shotguy/death"
  ActiveSound "shotguy/active"
  Species "Shotgunzombie"
  MONSTER
  +FLOORCLIP
  Tag "Sergeant"
  States
  {
  Spawn:
    SPOS A 0
    SPOS A 0 A_CheckFlag("Friendly","Idle")
    SPOS A 0 Thing_SetSpecial(0,226,613,0,random(6,12))
  Idle:
    SPOS A 10 A_Look
    Loop
  See:
    SPOS A 0 A_JumpIfInventory("MonHold",1,"Death")
    SPOS A 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    SPOS AABBCCDDAABBCC 3 A_Chase("","Missile")
    SPOS DD 3 A_Chase
    SPOS AABBCCDDAABBCC 3 A_Chase("","Missile")
    SPOS DD 3 A_Chase
    SPOS D 0 A_SpawnItemEx("ZombieStepDamage",0,0,28,0,0,0,0,0,0)
    Goto See+1
  SeeBlind:
    SPOS A 0 A_Jump(144,"MissileBlind","SeeBlind2","SeeBlind2")
    SPOS AAB 3 A_Wander
    SPOS B 0 A_Jump(224,2)
    SPOS B 0 A_Pain
    SPOS B 3 A_Wander
    SPOS A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    SPOS CCDD 3 A_Wander
    SPOS D 0 A_SpawnItemEx("ZombieStepDamage",0,0,28,0,0,0,0,0,0)
    goto See
  SeeBlind2:
    SPOS A 0 A_Jump(256,1,2,3)
    SPOS AAA 3
    SPOS A 0 A_Jump(224,2)
    SPOS A 0 A_Pain
    SPOS A 3
    SPOS A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+2
    SPOS A 0 A_Jump(256,1,2,3,4)
    SPOS AAAA 3
    goto See
  MissileBlind:
    SPOS E 8
    SPOS F 0 BRIGHT A_PlayWeaponSound("spas/fire")
    SPOS F 10 BRIGHT A_CustomBulletAttack(45, 4.6, 5, 6, "MonsterShotgunPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    SPOS E 10
    goto See
  Melee:
  Missile:
    SPOS E 8 A_FaceTarget
    SPOS F 0 BRIGHT A_PlayWeaponSound("spas/fire")
    SPOS F 10 BRIGHT A_CustomBulletAttack(22.5, 2.3, 5, 6, "MonsterShotgunPuff", 0, FBF_NORANDOM)
    SPOS E 10
    goto See
  Pain.Stun3:
    SPOS G 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    SPOS G 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    SPOS G 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain.NormalExplode:
  Pain.Sniper:
  Pain.ExplosionF:
  Pain.ExplosionC:
  Pain.Explosion:
    SPOS G 3
    SPOS G 6 A_Pain
    goto See
  Pain:
    SPOS G 3
    SPOS G 3 A_Pain
    goto See
  Death.Shotgungib:
    SPOS H 0 A_JumpIfCloser(128, "XDeath")
  Death.Shotgun:
    SPOS H 0 A_JumpIfHealthLower(-35, "XDeath")
  Death:
    SPOS H 0
    SPOS H 0 A_CheckFlag("Boss",3)
    SPOS H 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",2,0,0)) == 1, 2)
    SPOS H 0 A_Jump(36,"Death2","Death3")
    SPOS H 5
    SPOS I 5 A_Scream
    SPOS I 0 A_SpawnItemEx("SPASDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,173)
    SPOS I 0 A_SpawnItemEx("ShotgunAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    SPOS J 5 A_NoBlocking
    SPOS K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    SPOS L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    SPOS L -1
    Stop
  Death.Burnt:
    "####" # 0 A_Jump(128,2)
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
  Death.Crush:
  Death.Sniper:
    SPOS H 5
    SPOS I 5 A_Scream
    SPOS I 0 A_SpawnItemEx("SPASDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,173)
    SPOS I 0 A_SpawnItemEx("ShotgunAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    SPOS J 5 A_NoBlocking
    SPOS K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    SPOS L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    SPOS L -1
    Stop
  Death.Knife:
    SPOS H 5
    SPOS I 5
    SPOS I 0 A_SpawnItemEx("SPASDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,173)
    SPOS I 0 A_SpawnItemEx("ShotgunAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    SPOS J 5 A_NoBlocking
    SPOS J 0 A_PlaySound("body/splats")
    SPOS K 5 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    SPOS L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    SPOS L -1
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" G 1
    "####" A 0 A_GiveInventory("MonHold",1)
    "####" A 0 A_Jump(64,"Death.Burnt")
    "####" A 0 A_ChangeFlag("FRIGHTENED",1)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Chase("","")
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Chase("","")
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Chase("","")
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Chase("","")
    "####" A 0 A_ChangeFlag("FRIGHTENED",0)
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" D 0 A_Jump(32,"Death.Burnt")
  Death.FireCont:
    "####" A 0 A_Jump(48,2)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" D 0 A_JumpIfInventory("MonHold",5,"Death.Burnt")
    "####" D 0 A_Jump(160,"Death.Burnt")
    "####" D 0 A_GiveInventory("MonHold",1)
    Goto Death.FireCont
  Death.Ice:
    "####" # 0 A_SpawnItemEx("SPASDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,173)
    "####" # 0 A_SpawnItemEx("ShotgunAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 5 A_GenericFreezeDeath
    "----" A 1 A_FreezeDeathChunks
    wait
  Death.BarrelBoom:
    SPOS H 0 A_JumpIfCloser(128, "XDeath")
  Death.NormalExplode:
  Death.Cyber:
  Death.ExplosionF:
  Death.ExplosionC:
  Death.Explosion:
    SPOS H 5 A_JumpIfHealthLower(-70, "XDeath")
    SPOS I 5 A_Scream
    SPOS I 0 A_SpawnItemEx("SPASDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,173)
    SPOS I 0 A_SpawnItemEx("ShotgunAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    SPOS J 5 A_NoBlocking
    SPOS K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    SPOS L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    SPOS L -1
    Stop
  Death2:
    SPOS H 5
    SPOS I 5 A_Pain
    SPOS J 5 A_NoBlocking
    SPOS K 5
    SPOS L 5
    TNT1 A 0 A_Stop
    TNT1 A 15 A_SpawnItemEx("RGAShotgun_LastStand2A",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
    TNT1 A 15 A_JumpIfInventory("Blinded",1,"LastDeath")
    Wait
  Death3:
    SPOS H 5
    SPOS I 5 A_Pain
    SPOS J 5 A_NoBlocking
    SPOS K 5
    SPOS L 5
    TNT1 A 0 A_Stop
    TNT1 A 15 A_SpawnItemEx("RGAShotgun_LastStand2B",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
    TNT1 A 15 A_JumpIfInventory("Blinded",1,"LastDeath")
    Wait
  XDeath:
    SPOS M 5
    SPOS N 5 A_XScream
    SPOS N 0 A_SpawnItemEx("SPASDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,173)
    SPOS N 0 A_SpawnItemEx("ShotgunAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    SPOS O 5 A_NoBlocking
    SPOS PQRST 5
    SPOS U 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, 2)
    SPOS U -1
    Stop
    SPOS UUUUUU 5250 CanRaise
    SPOS UUUUUUUUU 2 A_FadeOut(0.1)
    Stop
  LastDeath:
    SPOS L 5
    SPOS L 15 A_TakeInventory("Blinded",1)
    SPOS L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    SPOS L -1
    Stop
  DeathClean:
    SPOS LLLLLL 5250 CanRaise
    SPOS LLLLLLLLL 2 A_FadeOut(0.1)
    Stop
  Raise:
    SPOS L 0
    SPOS L 0 A_ChangeFlag("FRIGHTENED",0)
    SPOS L 0 A_TakeInventory("MonHold",35)
    SPOS L 0 A_CheckFlag("Friendly",2)
    SPOS L 0 Thing_SetSpecial(0,226,613,0,random(3,6))
    SPOS LKJIH 5
    goto See
  }
}

actor RGAShotgun_3 : RGAMonster
{
  Obituary "%o was shot by a sergeant."
  Health 75
  GibHealth 70
  Radius 20
  Height 56
  Mass 100
  Speed 7
  PainChance 120
  PainChance "Dragon", 60
  PainChance "DragonF", 60
  PainChance "Dragonsplosion", 60
  PainChance "RGAFire", 60
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 1.4
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "shotguy/sight"
  PainSound "shotguy/pain"
  DeathSound "shotguy/death"
  ActiveSound "shotguy/active"
  Species "Shotgunzombie"
  MONSTER
  +FLOORCLIP
  Tag "Sergeant"
  States
  {
  Spawn:
    SPOS A 0
    SPOS A 0 A_CheckFlag("Friendly","Idle")
    SPOS A 0 Thing_SetSpecial(0,226,613,0,random(6,12))
  Idle:
    SPOS A 10 A_Look
    Loop
  See:
    SPOS A 0 A_JumpIfInventory("MonHold",1,"Death")
    SPOS A 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    SPOS AABBCCDDAABBCC 3 A_Chase("","Missile")
    SPOS DD 3 A_Chase
    SPOS AABBCCDDAABBCC 3 A_Chase("","Missile")
    SPOS DD 3 A_Chase
    SPOS D 0 A_SpawnItemEx("ZombieStepDamage",0,0,28,0,0,0,0,0,0)
    Goto See+1
  SeeBlind:
    SPOS A 0 A_Jump(144,"MissileBlind","SeeBlind2","SeeBlind2")
    SPOS AAB 3 A_Wander
    SPOS B 0 A_Jump(224,2)
    SPOS B 0 A_Pain
    SPOS B 3 A_Wander
    SPOS B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    SPOS CCDD 3 A_Wander
    SPOS D 0 A_SpawnItemEx("ZombieStepDamage",0,0,28,0,0,0,0,0,0)
    goto See
  SeeBlind2:
    SPOS A 0 A_Jump(256,1,2,3)
    SPOS AAA 3
    SPOS A 0 A_Jump(224,2)
    SPOS A 0 A_Pain
    SPOS A 3
    SPOS A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+2
    SPOS A 0 A_Jump(256,1,2,3,4)
    SPOS AAAA 3
    goto See
  MissileBlind:
    SPOS E 9
    SPOS F 0 BRIGHT A_PlayWeaponSound("m1887/fire")
    SPOS F 10 BRIGHT A_CustomBulletAttack(45, 4.6, 6, 6, "MonsterShotgunPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    SPOS E 12 A_PlaySound("m1887/click")
    SPOS E 4 A_PlaySound("m1887/clack")
    goto See
  Melee:
  Missile:
    SPOS E 9 A_FaceTarget
    SPOS F 0 BRIGHT A_PlayWeaponSound("m1887/fire")
    SPOS F 10 BRIGHT A_CustomBulletAttack(22.5, 2.3, 6, 6, "MonsterShotgunPuff", 0, FBF_NORANDOM)
    SPOS E 12 A_PlaySound("m1887/click")
    SPOS E 4 A_PlaySound("m1887/clack")
    goto See
  Pain.Stun3:
    SPOS G 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    SPOS G 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    SPOS G 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain.NormalExplode:
  Pain.Sniper:
  Pain.ExplosionF:
  Pain.ExplosionC:
  Pain.Explosion:
    SPOS G 3
    SPOS G 6 A_Pain
    goto See
  Pain:
    SPOS G 3
    SPOS G 3 A_Pain
    goto See
  Death.Shotgungib:
    SPOS H 0 A_JumpIfCloser(128, "XDeath")
  Death.Shotgun:
    SPOS H 0 A_JumpIfHealthLower(-35, "XDeath")
  Death:
    SPOS H 0
    SPOS H 0 A_CheckFlag("Boss",3)
    SPOS H 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",2,0,0)) == 1, 2)
    SPOS H 0 A_Jump(36,"Death2","Death3")
    SPOS H 5
    SPOS I 5 A_Scream
    SPOS I 0 A_SpawnItemEx("M1887Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,173)
    SPOS I 0 A_SpawnItemEx("ShotgunAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    SPOS J 5 A_NoBlocking
    SPOS K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    SPOS L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    SPOS L -1
    Stop
  Death.Burnt:
    "####" # 0 A_Jump(128,2)
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
  Death.Crush:
  Death.Sniper:
    SPOS H 5
    SPOS I 5 A_Scream
    SPOS I 0 A_SpawnItemEx("M1887Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,173)
    SPOS I 0 A_SpawnItemEx("ShotgunAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    SPOS J 5 A_NoBlocking
    SPOS K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    SPOS L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    SPOS L -1
    Stop
  Death.Knife:
    SPOS H 5
    SPOS I 5
    SPOS I 0 A_SpawnItemEx("M1887Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,173)
    SPOS I 0 A_SpawnItemEx("ShotgunAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    SPOS J 5 A_NoBlocking
    SPOS J 0 A_PlaySound("body/splats")
    SPOS K 5 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    SPOS L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    SPOS L -1
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" G 1
    "####" A 0 A_GiveInventory("MonHold",1)
    "####" A 0 A_Jump(64,"Death.Burnt")
    "####" A 0 A_ChangeFlag("FRIGHTENED",1)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Chase("","")
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Chase("","")
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Chase("","")
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Chase("","")
    "####" A 0 A_ChangeFlag("FRIGHTENED",0)
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" D 0 A_Jump(32,"Death.Burnt")
  Death.FireCont:
    "####" A 0 A_Jump(48,2)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" D 0 A_JumpIfInventory("MonHold",5,"Death.Burnt")
    "####" D 0 A_Jump(160,"Death.Burnt")
    "####" D 0 A_GiveInventory("MonHold",1)
    Goto Death.FireCont
  Death.Ice:
    "####" # 0 A_SpawnItemEx("M1887Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,173)
    "####" # 0 A_SpawnItemEx("ShotgunAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 5 A_GenericFreezeDeath
    "----" A 1 A_FreezeDeathChunks
    wait
  Death.BarrelBoom:
    SPOS H 0 A_JumpIfCloser(128, "XDeath")
  Death.NormalExplode:
  Death.Cyber:
  Death.ExplosionF:
  Death.ExplosionC:
  Death.Explosion:
    SPOS H 5 A_JumpIfHealthLower(-70, "XDeath")
    SPOS I 5 A_Scream
    SPOS I 0 A_SpawnItemEx("M1887Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,173)
    SPOS I 0 A_SpawnItemEx("ShotgunAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    SPOS J 5 A_NoBlocking
    SPOS K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    SPOS L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    SPOS L -1
    Stop
  Death2:
    SPOS H 5
    SPOS I 5 A_Pain
    SPOS J 5 A_NoBlocking
    SPOS K 5
    SPOS L 5
    TNT1 A 0 A_Stop
    TNT1 A 15 A_SpawnItemEx("RGAShotgun_LastStand3A",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
    TNT1 A 15 A_JumpIfInventory("Blinded",1,"LastDeath")
    Wait
  Death3:
    SPOS H 5
    SPOS I 5 A_Pain
    SPOS J 5 A_NoBlocking
    SPOS K 5
    SPOS L 5
    TNT1 A 0 A_Stop
    TNT1 A 15 A_SpawnItemEx("RGAShotgun_LastStand3B",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
    TNT1 A 15 A_JumpIfInventory("Blinded",1,"LastDeath")
    Wait
  XDeath:
    SPOS M 5
    SPOS N 5 A_XScream
    SPOS N 0 A_SpawnItemEx("M1887Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,173)
    SPOS N 0 A_SpawnItemEx("ShotgunAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    SPOS O 5 A_NoBlocking
    SPOS PQRST 5
    SPOS U 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, 2)
    SPOS U -1
    Stop
    SPOS UUUUUU 5250 CanRaise
    SPOS UUUUUUUUU 2 A_FadeOut(0.1)
    Stop
  LastDeath:
    SPOS L 5
    SPOS L 15 A_TakeInventory("Blinded",1)
    SPOS L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    SPOS L -1
    Stop
  DeathClean:
    SPOS LLLLLL 5250 CanRaise
    SPOS LLLLLLLLL 2 A_FadeOut(0.1)
    Stop
  Raise:
    SPOS L 0
    SPOS L 0 A_ChangeFlag("FRIGHTENED",0)
    SPOS L 0 A_TakeInventory("MonHold",35)
    SPOS L 0 A_CheckFlag("Friendly",2)
    SPOS L 0 Thing_SetSpecial(0,226,613,0,random(3,6))
    SPOS LKJIH 5
    goto See
  }
}

actor RGAShotgun_4 : RGAMonster
{
  Obituary "%o was hosed by a sergeant."
  Health 75
  GibHealth 70
  Radius 20
  Height 56
  Mass 100
  Speed 7
  PainChance 120
  PainChance "Dragon", 60
  PainChance "DragonF", 60
  PainChance "Dragonsplosion", 60
  PainChance "RGAFire", 60
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 1.4
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "shotguy/sight"
  PainSound "shotguy/pain"
  DeathSound "shotguy/death"
  ActiveSound "shotguy/active"
  Translation "128:141=105:111", "142:143=5:6", "144:149=108:111", "150:151=5:6", "152:157=107:111", "158:159=5:6", "112:123=107:111", "124:127=5:6", "1:2=5:6", "73:76=108:111", "77:79=5:7", "236:239=5:6", "20:47=30:47"
  Species "Shotgunzombie"
  MONSTER
  +FLOORCLIP
  Tag "Sergeant"
  States
  {
  Spawn:
    POSS A 0
    POSS A 0 A_CheckFlag("Friendly","Idle")
    POSS A 0 Thing_SetSpecial(0,226,613,0,random(6,12))
  Idle:
    POSS A 10 A_Look
    Loop
  See2:
    POSS E 6
  See:
    POSS A 0 A_JumpIfInventory("MonHold",1,"Death")
    POSS A 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    POSS AABBCCDDAABBCC 3 A_Chase("","Missile")
    POSS DD 3 A_Chase
    POSS AABBCCDDAABBCC 3 A_Chase("","Missile")
    POSS DD 3 A_Chase
    POSS D 0 A_SpawnItemEx("ZombieStepDamage",0,0,28,0,0,0,0,0,0)
    Goto See+1
  SeeBlind:
    POSS A 0 A_Jump(144,"MissileBlind","SeeBlind2","SeeBlind2")
    POSS AAB 3 A_Wander
    POSS B 0 A_Jump(224,2)
    POSS B 0 A_Pain
    POSS B 3 A_Wander
    POSS B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    POSS CCDD 3 A_Wander
    POSS D 0 A_SpawnItemEx("ZombieStepDamage",0,0,28,0,0,0,0,0,0)
    goto See
  SeeBlind2:
    POSS A 0 A_Jump(256,1,2,3)
    POSS AAA 3
    POSS A 0 A_Jump(192,2)
    POSS A 0 A_Pain
    POSS A 3
    POSS A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+2
    POSS A 0 A_Jump(256,1,2,3,4)
    POSS AAAA 3
    goto See
  MissileBlind:
    POSS E 0 A_PlayWeaponSound("vector/bolt")
    POSS E 8
    POSS F 0 BRIGHT A_PlayWeaponSound("vector/fire")
    POSS F 1 BRIGHT A_CustomBulletAttack(35.0, 3.6, 1, 5, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    POSS E 0 A_Jump(24,"See2")
    POSS E 1
    POSS F 0 BRIGHT A_PlayWeaponSound("vector/fire")
    POSS F 1 BRIGHT A_CustomBulletAttack(35.0, 3.6, 1, 5, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    POSS E 0 A_Jump(96,"See2")
    POSS E 1
    POSS F 0 BRIGHT A_PlayWeaponSound("vector/fire")
    POSS F 1 BRIGHT A_CustomBulletAttack(35.0, 3.6, 1, 5, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    POSS E 0 A_Jump(144,"See2")
    POSS E 1
    POSS F 0 BRIGHT A_PlayWeaponSound("vector/fire")
    POSS F 1 BRIGHT A_CustomBulletAttack(35.0, 3.6, 1, 5, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    goto See2
  Melee:
  Missile:
    POSS E 0 A_PlayWeaponSound("vector/bolt")
    POSS E 8 A_FaceTarget
    POSS F 0 BRIGHT A_PlayWeaponSound("vector/fire")
    POSS F 1 BRIGHT A_CustomBulletAttack(17.5, 1.8, 1, 5, "MonsterBulletPuff", 0, FBF_NORANDOM)
    POSS E 1 A_FaceTarget
    POSS F 0 BRIGHT A_PlayWeaponSound("vector/fire")
    POSS F 1 BRIGHT A_CustomBulletAttack(17.5, 1.8, 1, 5, "MonsterBulletPuff", 0, FBF_NORANDOM)
    POSS E 0 A_Jump(32,"See2")
    POSS E 1 A_FaceTarget
    POSS F 0 BRIGHT A_PlayWeaponSound("vector/fire")
    POSS F 1 BRIGHT A_CustomBulletAttack(17.5, 1.8, 1, 5, "MonsterBulletPuff", 0, FBF_NORANDOM)
    POSS E 0 A_Jump(96,"See2")
    POSS E 1 A_FaceTarget
    POSS F 0 BRIGHT A_PlayWeaponSound("vector/fire")
    POSS F 1 BRIGHT A_CustomBulletAttack(17.5, 1.8, 1, 5, "MonsterBulletPuff", 0, FBF_NORANDOM)
    POSS E 0 A_Jump(128,"See2")
    POSS E 1 A_FaceTarget
    POSS F 0 BRIGHT A_PlayWeaponSound("vector/fire")
    POSS F 1 BRIGHT A_CustomBulletAttack(17.5, 1.8, 1, 5, "MonsterBulletPuff", 0, FBF_NORANDOM)
    POSS E 0 A_Jump(160,"See2")
    POSS E 1 A_FaceTarget
    POSS F 0 BRIGHT A_PlayWeaponSound("vector/fire")
    POSS F 1 BRIGHT A_CustomBulletAttack(17.5, 1.8, 1, 5, "MonsterBulletPuff", 0, FBF_NORANDOM)
    POSS E 0 A_Jump(192,"See2")
    POSS E 1 A_FaceTarget
    POSS F 0 BRIGHT A_PlayWeaponSound("vector/fire")
    POSS F 1 BRIGHT A_CustomBulletAttack(17.5, 1.8, 1, 5, "MonsterBulletPuff", 0, FBF_NORANDOM)
    POSS E 0 A_Jump(224,"See2")
    POSS E 1 A_FaceTarget
    POSS F 0 BRIGHT A_PlayWeaponSound("vector/fire")
    POSS F 2 BRIGHT A_CustomBulletAttack(17.5, 1.8, 1, 5, "MonsterBulletPuff", 0, FBF_NORANDOM)
    goto See2
  Pain.Stun3:
    POSS G 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    POSS G 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    POSS G 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain.NormalExplode:
  Pain.Sniper:
  Pain.ExplosionF:
  Pain.ExplosionC:
  Pain.Explosion:
    POSS G 3
    POSS G 6 A_Pain
    goto See
  Pain:
    POSS G 3
    POSS G 3 A_Pain
    goto See
  Death.Shotgungib:
    POSS H 0 A_JumpIfCloser(128, "XDeath")
  Death.Shotgun:
    POSS H 0 A_JumpIfHealthLower(-35, "XDeath")
  Death:
    POSS H 0
    POSS H 0 A_CheckFlag("Boss",3)
    POSS H 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",2,0,0)) == 1, 2)
    POSS H 0 A_Jump(36,"Death2")
    POSS H 5
    POSS I 5 A_Scream
    POSS I 0 A_SpawnItemEx("VectorDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POSS I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,183)
    POSS J 5 A_NoBlocking
    POSS K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POSS L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POSS L -1
    Stop
  Death.Burnt:
    "####" # 0 A_Jump(128,2)
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
  Death.Crush:
  Death.Sniper:
    POSS H 5
    POSS I 5 A_Scream
    POSS I 0 A_SpawnItemEx("VectorDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POSS I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,183)
    POSS J 5 A_NoBlocking
    POSS K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POSS L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POSS L -1
    Stop
  Death.Knife:
    POSS H 5
    POSS I 5
    POSS I 0 A_SpawnItemEx("VectorDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POSS I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,183)
    POSS J 5 A_NoBlocking
    POSS J 0 A_PlaySound("body/splats")
    POSS K 5 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POSS L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POSS L -1
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" G 1
    "####" A 0 A_GiveInventory("MonHold",1)
    "####" A 0 A_Jump(80,"Death.Burnt")
    "####" A 0 A_ChangeFlag("FRIGHTENED",1)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Chase("","")
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Chase("","")
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Chase("","")
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Chase("","")
    "####" A 0 A_ChangeFlag("FRIGHTENED",0)
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" D 0 A_Jump(32,"Death.Burnt")
  Death.FireCont:
    "####" A 0 A_Jump(48,2)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" D 0 A_JumpIfInventory("MonHold",5,"Death.Burnt")
    "####" D 0 A_Jump(160,"Death.Burnt")
    "####" D 0 A_GiveInventory("MonHold",1)
    Goto Death.FireCont
  Death.Ice:
    "####" # 0 A_SpawnItemEx("VectorDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    "####" # 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,183)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 5 A_GenericFreezeDeath
    "----" A 1 A_FreezeDeathChunks
    wait
  Death.BarrelBoom:
    POSS H 0 A_JumpIfCloser(128, "XDeath")
  Death.NormalExplode:
  Death.Cyber:
  Death.ExplosionF:
  Death.ExplosionC:
  Death.Explosion:
    POSS H 5 A_JumpIfHealthLower(-70, "XDeath")
    POSS I 5 A_Scream
    POSS I 0 A_SpawnItemEx("VectorDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POSS I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,183)
    POSS J 5 A_NoBlocking
    POSS K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POSS L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POSS L -1
    Stop
  Death2:
    POSS H 5
    POSS I 5 A_Pain
    POSS J 5 A_NoBlocking
    POSS K 5
    POSS L 5
    TNT1 A 0 A_Stop
    TNT1 A 15 A_SpawnItemEx("RGAShotgun_LastStand4",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
    TNT1 A 15 A_JumpIfInventory("Blinded",1,"LastDeath")
    Wait
  XDeath:
    POSS M 5
    POSS N 5 A_XScream
    POSS N 0 A_SpawnItemEx("VectorDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POSS N 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,183)
    POSS O 5 A_NoBlocking
    POSS PQRST 5
    POSS U 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, 2)
    POSS U -1
    Stop
    POSS UUUUUU 5250 CanRaise
    POSS UUUUUUUUU 2 A_FadeOut(0.1)
    Stop
  LastDeath:
    POSS L 5
    POSS L 15 A_TakeInventory("Blinded",1)
    POSS L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POSS L -1
    Stop
  DeathClean:
    POSS LLLLLL 5250 CanRaise
    POSS LLLLLLLLL 2 A_FadeOut(0.1)
    Stop
  Raise:
    POSS K 0
    POSS K 0 A_ChangeFlag("FRIGHTENED",0)
    POSS K 0 A_TakeInventory("MonHold",35)
    POSS K 0 A_CheckFlag("Friendly",2)
    POSS K 0 Thing_SetSpecial(0,226,613,0,random(4,6))
    POSS KJIH 5
    goto See
  }
}

actor RGAShotgun_LastStand2A : RGAMonster
{
  Obituary "%o was shot by a last stand sergeant!"
  Health 40
  GibHealth 60
  Radius 20
  Height 32
  DeathHeight 14
  BurnHeight 14
  Mass 2000
  Speed 0
  PainChance 120
  PainChance "Dragon", 60
  PainChance "DragonF", 60
  PainChance "Dragonsplosion", 60
  PainChance "RGAFire", 60
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 0.9
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "shotguy/sight"
  AttackSound "u45/fire"
  PainSound "shotguy/pain"
  DeathSound "shotguy/death"
  ActiveSound "shotguy/pain"
  DamageFactor "Step", 0.0
  Species "Shotgunzombie"
  MONSTER
  +MISSILEMORE
  +FLOORCLIP
  -COUNTKILL
  -SOLID
  +NOICEDEATH
  //DropItem "AA12Drop" 72
  DropItem "ShotgunAmmo" 128
  Tag "Sergeant"
  States
  {
  Spawn:
    LST3 B 0
    LST3 B 0 A_CheckFlag("Friendly",2)
    LST3 B 0 Thing_SetSpecial(0,226,613,0,random(3,6))
    LST3 DBA 6
  Idle:
    LST3 B 6 A_Look
    LST3 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST3 B 0 A_GiveInventory("LastStandHP",1)
    LST3 BA 6 A_Look
    LST3 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST3 A 0 A_GiveInventory("LastStandHP",1)
    LST3 A 6 A_Look
    loop
  See2:
    LST3 A 6
  See:
    LST3 B 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    LST3 BB 3 A_Chase("","")
    LST3 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST3 B 0 A_GiveInventory("LastStandHP",1)
    LST3 BBAA 3 A_Chase
    LST3 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST3 A 0 A_GiveInventory("LastStandHP",1)
    LST3 AA 3 A_Chase
    loop
  Die:
    LST3 A 0 A_Die
    goto Death
  SeeBlind:
    LST3 BB 3
    LST3 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST3 B 0 A_GiveInventory("LastStandHP",1)
    LST3 B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    LST3 BBAA 3 A_Jump(32,"MissileBlind")
    LST3 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST3 A 0 A_GiveInventory("LastStandHP",1)
    LST3 A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto See+11
    LST3 AA 3 A_Jump(32,"MissileBlind")
    goto See
  MissileBlind:
    LST3 A 8
    LST3 C 5 BRIGHT A_CustomBulletAttack(26, 4, 1, 7, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    LST3 A 0 A_Jump(168,"See2")
    LST3 A 5
    LST3 C 5 BRIGHT A_CustomBulletAttack(26, 4, 1, 7, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    LST3 A 0 A_Jump(216,"See2")
    LST3 A 5
    LST3 C 5 BRIGHT A_CustomBulletAttack(26, 4, 1, 7, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    goto See2
  Missile:
    LST3 A 8 A_FaceTarget
    LST3 C 5 BRIGHT A_CustomBulletAttack(13, 2, 1, 7, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST3 A 0 A_Jump(112,"See2")
    LST3 A 5 A_FaceTarget
    LST3 C 5 BRIGHT A_CustomBulletAttack(13, 2, 1, 7, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST3 A 0 A_Jump(144,"See2")
    LST3 A 5 A_FaceTarget
    LST3 C 5 BRIGHT A_CustomBulletAttack(13, 2, 1, 7, "MonsterBulletPuff", 0, FBF_NORANDOM)
    goto See2
  Pain.Stun3:
    LST3 A 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    LST3 A 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    LST3 A 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain:
    LST3 D 3
    LST3 D 6 A_Pain
    goto See
  Death.Shotgungib:
    LST3 D 0 A_JumpIfCloser(128, "XDeath")
  Death.Shotgun:
    LST3 D 0 A_JumpIfHealthLower(-30, "XDeath")
  Death:
    LST3 D 5 A_Scream
    SPOS K 5 A_NoBlocking
    SPOS LL 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    SPOS L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.Knife:
    LST3 D 5
    SPOS K 5 A_NoBlocking
    SPOS LL 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    SPOS L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" # 0 A_Jump(128,"Death")
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
    goto Death
  }
}

actor RGAShotgun_LastStand2B : RGAMonster
{
  Obituary "%o was shot by a last stand sergeant!"
  Health 40
  GibHealth 60
  Radius 20
  Height 32
  DeathHeight 14
  BurnHeight 14
  Mass 2000
  Speed 0
  PainChance 120
  PainChance "Dragon", 60
  PainChance "DragonF", 60
  PainChance "Dragonsplosion", 60
  PainChance "RGAFire", 60
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 0.9
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "shotguy/sight"
  AttackSound "aa12/fire"
  PainSound "shotguy/pain"
  DeathSound "shotguy/death"
  ActiveSound "shotguy/pain"
  DamageFactor "Step", 0.0
  Species "Shotgunzombie"
  MONSTER
  +MISSILEMORE
  +FLOORCLIP
  -COUNTKILL
  -SOLID
  +NOICEDEATH
  //DropItem "AA12Drop" 72
  DropItem "ShotgunAmmo" 128
  Tag "Sergeant"
  States
  {
  Spawn:
    LST4 B 0
    LST4 B 0 A_CheckFlag("Friendly",2)
    LST4 B 0 Thing_SetSpecial(0,226,613,0,random(3,6))
    LST4 DBA 6
  Idle:
    LST4 B 6 A_Look
    LST4 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST4 B 0 A_GiveInventory("LastStandHP",1)
    LST4 BA 6 A_Look
    LST4 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST4 A 0 A_GiveInventory("LastStandHP",1)
    LST4 A 6 A_Look
    loop
  See:
    LST4 B 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    LST4 BB 3 A_Chase("","")
    LST4 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST4 B 0 A_GiveInventory("LastStandHP",1)
    LST4 BBAA 3 A_Chase
    LST4 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST4 A 0 A_GiveInventory("LastStandHP",1)
    LST4 AA 3 A_Chase
    loop
  Die:
    LST4 A 0 A_Die
    goto Death
  SeeBlind:
    LST4 BB 3
    LST4 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST4 B 0 A_GiveInventory("LastStandHP",1)
    LST4 B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    LST4 BBAA 3 A_Jump(32,"MissileBlind")
    LST4 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST4 A 0 A_GiveInventory("LastStandHP",1)
    LST4 A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto See+11
    LST4 AA 3 A_Jump(32,"MissileBlind")
    goto See
  MissileBlind:
    LST4 A 8
    LST4 C 10 BRIGHT A_CustomBulletAttack(45, 4.6, 4, 6, "MonsterShotgunPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    LST4 A 8
    goto See
  Missile:
    LST4 A 8 A_FaceTarget
    LST4 C 10 BRIGHT A_CustomBulletAttack(22.5, 2.3, 4, 6, "MonsterShotgunPuff", 0, FBF_NORANDOM)
    LST4 A 8
    goto See
  Pain.Stun3:
    LST4 A 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    LST4 A 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    LST4 A 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain:
    LST4 D 3
    LST4 D 6 A_Pain
    goto See
  Death:
    LST4 D 5 A_Scream
    SPOS K 5 A_NoBlocking
    SPOS LL 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    SPOS L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.Knife:
    LST4 D 5
    SPOS K 5 A_NoBlocking
    SPOS LL 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    SPOS L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" # 0 A_Jump(128,"Death")
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
    goto Death
  }
}

actor RGAShotgun_LastStand3A : RGAMonster
{
  Obituary "%o was shot by a last stand sergeant!"
  Health 40
  GibHealth 60
  Radius 20
  Height 32
  DeathHeight 14
  BurnHeight 14
  Mass 2000
  Speed 0
  PainChance 120
  PainChance "Dragon", 60
  PainChance "DragonF", 60
  PainChance "Dragonsplosion", 60
  PainChance "RGAFire", 60
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 0.9
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "shotguy/sight"
  AttackSound "u45/fire"
  PainSound "shotguy/pain"
  DeathSound "shotguy/death"
  ActiveSound "shotguy/pain"
  DamageFactor "Step", 0.0
  Species "Shotgunzombie"
  MONSTER
  +MISSILEMORE
  +FLOORCLIP
  -COUNTKILL
  -SOLID
  +NOICEDEATH
  //DropItem "AA12Drop" 72
  DropItem "ShotgunAmmo" 128
  Tag "Sergeant"
  States
  {
  Spawn:
    LST3 B 0
    LST3 B 0 A_CheckFlag("Friendly",2)
    LST3 B 0 Thing_SetSpecial(0,226,613,0,random(3,6))
    LST3 DBA 6
  Idle:
    LST3 B 6 A_Look
    LST3 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST3 B 0 A_GiveInventory("LastStandHP",1)
    LST3 BA 6 A_Look
    LST3 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST3 A 0 A_GiveInventory("LastStandHP",1)
    LST3 A 6 A_Look
    loop
  See2:
    LST3 A 6
  See:
    LST3 B 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    LST3 BB 3 A_Chase("","")
    LST3 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST3 B 0 A_GiveInventory("LastStandHP",1)
    LST3 BBAA 3 A_Chase
    LST3 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST3 A 0 A_GiveInventory("LastStandHP",1)
    LST3 AA 3 A_Chase
    loop
  Die:
    LST3 A 0 A_Die
    goto Death
  SeeBlind:
    LST3 BB 3
    LST3 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST3 B 0 A_GiveInventory("LastStandHP",1)
    LST3 B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    LST3 BBAA 3 A_Jump(32,"MissileBlind")
    LST3 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST3 A 0 A_GiveInventory("LastStandHP",1)
    LST3 A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto See+11
    LST3 AA 3 A_Jump(32,"MissileBlind")
    goto See
  MissileBlind:
    LST3 A 8
    LST3 C 5 BRIGHT A_CustomBulletAttack(26, 4, 1, 7, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    LST3 A 0 A_Jump(168,"See2")
    LST3 A 5
    LST3 C 5 BRIGHT A_CustomBulletAttack(26, 4, 1, 7, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    LST3 A 0 A_Jump(216,"See2")
    LST3 A 5
    LST3 C 5 BRIGHT A_CustomBulletAttack(26, 4, 1, 7, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    goto See2
  Missile:
    LST3 A 8 A_FaceTarget
    LST3 C 5 BRIGHT A_CustomBulletAttack(13, 2, 1, 7, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST3 A 0 A_Jump(112,"See2")
    LST3 A 5 A_FaceTarget
    LST3 C 5 BRIGHT A_CustomBulletAttack(13, 2, 1, 7, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST3 A 0 A_Jump(144,"See2")
    LST3 A 5 A_FaceTarget
    LST3 C 5 BRIGHT A_CustomBulletAttack(13, 2, 1, 7, "MonsterBulletPuff", 0, FBF_NORANDOM)
    goto See2
  Pain.Stun3:
    LST3 A 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    LST3 A 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    LST3 A 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain:
    LST3 D 3
    LST3 D 6 A_Pain
    goto See
  Death:
    LST3 D 5 A_Scream
    SPOS K 5 A_NoBlocking
    SPOS LL 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    SPOS L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.Knife:
    LST3 D 5
    SPOS K 5 A_NoBlocking
    SPOS LL 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    SPOS L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" # 0 A_Jump(128,"Death")
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
    goto Death
  }
}

actor RGAShotgun_LastStand3B : RGAMonster
{
  Obituary "%o was shot by a last stand sergeant!"
  Health 40
  GibHealth 60
  Radius 20
  Height 32
  DeathHeight 14
  BurnHeight 14
  Mass 2000
  Speed 0
  PainChance 120
  PainChance "Dragon", 60
  PainChance "DragonF", 60
  PainChance "Dragonsplosion", 60
  PainChance "RGAFire", 60
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 0.9
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "shotguy/sight"
  AttackSound "aa12/fire"
  PainSound "shotguy/pain"
  DeathSound "shotguy/death"
  ActiveSound "shotguy/pain"
  DamageFactor "Step", 0.0
  Species "Shotgunzombie"
  MONSTER
  +MISSILEMORE
  +FLOORCLIP
  -COUNTKILL
  -SOLID
  +NOICEDEATH
  //DropItem "AA12Drop" 72
  DropItem "ShotgunAmmo" 128
  Tag "Sergeant"
  States
  {
  Spawn:
    LST4 B 0
    LST4 B 0 A_CheckFlag("Friendly",2)
    LST4 B 0 Thing_SetSpecial(0,226,613,0,random(3,6))
    LST4 DBA 6
  Idle:
    LST4 B 6 A_Look
    LST4 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST4 B 0 A_GiveInventory("LastStandHP",1)
    LST4 BA 6 A_Look
    LST4 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST4 A 0 A_GiveInventory("LastStandHP",1)
    LST4 A 6 A_Look
    loop
  See:
    LST4 B 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    LST4 BB 3 A_Chase("","")
    LST4 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST4 B 0 A_GiveInventory("LastStandHP",1)
    LST4 BBAA 3 A_Chase
    LST4 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST4 A 0 A_GiveInventory("LastStandHP",1)
    LST4 AA 3 A_Chase
    loop
  Die:
    LST4 A 0 A_Die
    goto Death
  SeeBlind:
    LST4 BB 3
    LST4 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST4 B 0 A_GiveInventory("LastStandHP",1)
    LST4 B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    LST4 BBAA 3 A_Jump(32,"MissileBlind")
    LST4 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST4 A 0 A_GiveInventory("LastStandHP",1)
    LST4 A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto See+11
    LST4 AA 3 A_Jump(32,"MissileBlind")
    goto See
  MissileBlind:
    LST4 A 8
    LST4 C 10 BRIGHT A_CustomBulletAttack(45, 4.6, 4, 6, "MonsterShotgunPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    LST4 A 8
    goto See
  Missile:
    LST4 A 8 A_FaceTarget
    LST4 C 10 BRIGHT A_CustomBulletAttack(22.5, 2.3, 4, 6, "MonsterShotgunPuff", 0, FBF_NORANDOM)
    LST4 A 8
    goto See
  Pain.Stun3:
    LST4 A 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    LST4 A 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    LST4 A 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain:
    LST4 D 3
    LST4 D 6 A_Pain
    goto See
  Death:
    LST4 D 5 A_Scream
    SPOS K 5 A_NoBlocking
    SPOS LL 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    SPOS L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.Knife:
    LST4 D 5
    SPOS K 5 A_NoBlocking
    SPOS LL 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    SPOS L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" # 0 A_Jump(128,"Death")
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
    goto Death
  }
}

actor RGAShotgun_LastStand4 : RGAMonster
{
  Obituary "%o was shot by a last stand sergeant!"
  Health 40
  GibHealth 60
  Radius 20
  Height 32
  DeathHeight 14
  BurnHeight 14
  Mass 2000
  Speed 0
  PainChance 120
  PainChance "Dragon", 60
  PainChance "DragonF", 60
  PainChance "Dragonsplosion", 60
  PainChance "RGAFire", 60
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 0.9
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "shotguy/sight"
  AttackSound "u45/fire"
  PainSound "shotguy/pain"
  DeathSound "shotguy/death"
  ActiveSound "shotguy/pain"
  DamageFactor "Step", 0.0
  Species "Shotgunzombie"
  MONSTER
  +MISSILEMORE
  +FLOORCLIP
  -COUNTKILL
  -SOLID
  +NOICEDEATH
  Translation "128:141=105:111", "142:143=5:6", "144:149=108:111", "150:151=5:6", "152:157=107:111", "158:159=5:6", "112:123=107:111", "124:127=5:6", "1:2=5:6", "73:76=108:111", "77:79=5:7", "236:239=5:6", "20:47=30:47"
  dropitem "VectorDrop" 64
  dropitem "SubAmmo" 72
  Tag "Sergeant"
  States
  {
  Spawn:
    LST2 B 0
    LST2 B 0 A_CheckFlag("Friendly",2)
    LST2 B 0 Thing_SetSpecial(0,226,613,0,random(3,6))
    LST2 DBA 6
  Idle:
    LST2 B 6 A_Look
    LST2 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 B 0 A_GiveInventory("LastStandHP",1)
    LST2 BA 6 A_Look
    LST2 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 A 0 A_GiveInventory("LastStandHP",1)
    LST2 A 6 A_Look
    loop
  See2:
    LST2 A 6
  See:
    LST2 B 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    LST2 BB 3 A_Chase("","")
    LST2 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 B 0 A_GiveInventory("LastStandHP",1)
    LST2 BBAA 3 A_Chase
    LST2 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 A 0 A_GiveInventory("LastStandHP",1)
    LST2 AA 3 A_Chase
    loop
  Die:
    LST2 A 0 A_Die
    goto Death
  SeeBlind:
    LST2 BB 3
    LST2 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 B 0 A_GiveInventory("LastStandHP",1)
    LST2 B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    LST2 BBAA 3 A_Jump(32,"MissileBlind")
    LST2 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST2 A 0 A_GiveInventory("LastStandHP",1)
    LST2 A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto See+11
    LST2 AA 3 A_Jump(32,"MissileBlind")
    goto See
  MissileBlind:
    LST2 A 8
    LST2 C 5 BRIGHT A_CustomBulletAttack(26, 4, 1, 7, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    LST2 A 0 A_Jump(168,"See2")
    LST2 A 5
    LST2 C 5 BRIGHT A_CustomBulletAttack(26, 4, 1, 7, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    LST2 A 0 A_Jump(216,"See2")
    LST2 A 5
    LST2 C 5 BRIGHT A_CustomBulletAttack(26, 4, 1, 7, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    goto See2
  Missile:
    LST2 A 8 A_FaceTarget
    LST2 C 5 BRIGHT A_CustomBulletAttack(13, 2, 1, 7, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST2 A 0 A_Jump(112,"See2")
    LST2 A 5 A_FaceTarget
    LST2 C 5 BRIGHT A_CustomBulletAttack(13, 2, 1, 7, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST2 A 0 A_Jump(144,"See2")
    LST2 A 5 A_FaceTarget
    LST2 C 5 BRIGHT A_CustomBulletAttack(13, 2, 1, 7, "MonsterBulletPuff", 0, FBF_NORANDOM)
    goto See2
  Pain.Stun3:
    LST2 A 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    LST2 A 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    LST2 A 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain:
    LST2 D 3
    LST2 D 6 A_Pain
    goto See
  Death:
    LST2 D 5 A_Scream
    POSS K 5 A_NoBlocking
    POSS LL 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POSS L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.Knife:
    LST2 D 5
    POSS K 5 A_NoBlocking
    POSS LL 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POSS L 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" # 0 A_Jump(128,"Death")
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
    goto Death
  }
}

actor RGASuperShotgun_2 : RGAMonster
{
  Obituary "%o was jacked by a lieutenant."
  Scale 0.9
  Health 120
  GibHealth 100
  Radius 20
  Height 56
  Mass 110
  Speed 4
  ReactionTime 12
  MinMissileChance 218
  PainChance 120
  PainChance "Dragon", 60
  PainChance "DragonF", 60
  PainChance "Dragonsplosion", 60
  PainChance "RGAFire", 60
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 1.4
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "heavy/sight"
  PainSound "grunt/pain"
  DeathSound "heavy/death"
  ActiveSound "heavy/active"
  Species "Shotgunzombie"
  MONSTER
  +FLOORCLIP
  Tag "Lieutenant"
  States
  {
  Spawn:
    GPOS A 0
    GPOS A 0 A_CheckFlag("Friendly","Idle")
    GPOS A 0 Thing_SetSpecial(0,226,613,0,random(8,16))
  Idle:
    GPOS A 10 A_Look
    Loop
  See2:
    GPOS DDDD 2 A_Chase("","")
  See:
    GPOS A 0 A_JumpIfInventory("MonHold",1,"Death")
    GPOS A 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    GPOS AAAABBBBCCCCDDDDAAAABBBBCCCC 2 A_Chase("","Missile")
    GPOS DDDD 2 A_Chase("Melee","Missile")
    GPOS AAAABBBBCCCCDDDDAAAABBBBCCCC 2 A_Chase("","Missile")
    GPOS DDDD 2 A_Chase("Melee","Missile")
    GPOS D 0 A_SpawnItemEx("ZombieStepDamage",0,0,28,0,0,0,0,0,0)
    Goto See+1
  SeeBlind:
    GPOS A 0 A_Jump(144,"MissileBlind","SeeBlind2","SeeBlind2")
    GPOS AAAABB 2 A_Wander
    GPOS B 0 A_Jump(224,2)
    GPOS B 0 A_Pain
    GPOS BB 2 A_Wander
    GPOS B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+10
    GPOS CCCCDDDD 2 A_Wander
    GPOS D 0 A_SpawnItemEx("ZombieStepDamage",0,0,28,0,0,0,0,0,0)
    goto See
  SeeBlind2:
    GPOS A 0 A_Jump(256,1,2,3)
    GPOS AAA 4
    GPOS A 0 A_Jump(192,2)
    GPOS A 0 A_Pain
    GPOS A 4
    GPOS A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+2
    GPOS A 0 A_Jump(256,1,2,3,4)
    GPOS AAAA 4
    goto See
  MissileBlind:
    GPOS E 4
    GPOS E 8 A_PlaySound("m9/lock")
    GPOS E 8 A_PlaySound("m9/lock")
    GPOS F 0 BRIGHT A_PlayWeaponSound("ranger/fire")
    GPOS F 2 BRIGHT A_CustomBulletAttack(43, 15, 4, 6, "MonsterShotgunPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    GPOS E 2
    GPOS F 0 BRIGHT A_PlayWeaponSound("ranger/fire")
    GPOS F 8 BRIGHT A_CustomBulletAttack(43, 15, 4, 6, "MonsterShotgunPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    GPOS E 12
    GPOS E 6 A_PlaySound("ranger/close")
    goto See
  Melee:
  Missile:
    GPOS E 4 A_FaceTarget
    GPOS E 0 A_PlaySound("m9/lock")
    GPOS E 8 A_JumpIfCloser(288,"Missile2")
    GPOS F 0 BRIGHT A_PlayWeaponSound("ranger/fire")
    GPOS F 8 BRIGHT A_CustomBulletAttack(17, 6, 4, 6, "MonsterShotgunPuff", 0, FBF_NORANDOM)
    GPOS E 12
    GPOS E 4 A_PlaySound("ranger/close")
    Goto See
  Missile2:
    GPOS E 4
    GPOS E 8 A_PlaySound("m9/lock")
    GPOS F 0 BRIGHT A_PlayWeaponSound("ranger/fire")
    GPOS F 2 BRIGHT A_CustomBulletAttack(21.5, 7.5, 4, 6, "MonsterShotgunPuff", 0, FBF_NORANDOM)
    GPOS E 2 A_FaceTarget
    GPOS F 0 BRIGHT A_PlayWeaponSound("ranger/fire")
    GPOS F 8 BRIGHT A_CustomBulletAttack(21.5, 7.5, 4, 6, "MonsterShotgunPuff", 0, FBF_NORANDOM)
    GPOS E 12
    GPOS E 6 A_PlaySound("ranger/close")
    Goto See2
  Pain.Stun3:
    GPOS G 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    GPOS G 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    GPOS G 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain.NormalExplode:
  Pain.Sniper:
  Pain.ExplosionF:
  Pain.ExplosionC:
  Pain.Explosion:
    GPOS G 6
    GPOS G 9 A_Pain
    goto See2
  Pain:
    GPOS G 3
    GPOS G 9 A_Pain
    Goto See2
  Death.Shotgungib:
    GPOS H 0 A_JumpIfCloser(128, "XDeath")
  Death.Shotgun:
    GPOS H 0 A_JumpIfHealthLower(-50, "XDeath")
  Death:
    GPOS H 0
    GPOS H 0 A_CheckFlag("Boss",3)
    GPOS H 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",2,0,0)) == 1, 2)
    GPOS H 0 A_Jump(36,"Death2","Death3")
    GPOS H 5
    GPOS I 5 A_Scream
    GPOS I 0 A_SpawnItemEx("RangerDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    GPOS I 0 A_SpawnItemEx("ShotgunAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,95)
    GPOS J 5 A_NoBlocking
    GPOS K 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    GPOS K 2 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    GPOS LM 5
    GPOS N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    GPOS N -1
    Stop
  Death.Burnt:
    "####" # 0 A_Jump(128,2)
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
  Death.Crush:
  Death.Sniper:
    GPOS H 5
    GPOS I 5 A_Scream
    GPOS I 0 A_SpawnItemEx("RangerDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    GPOS I 0 A_SpawnItemEx("ShotgunAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,95)
    GPOS J 5 A_NoBlocking
    GPOS K 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    GPOS K 2 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    GPOS LM 5
    GPOS N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    GPOS N -1
    Stop
  Death.Knife:
    GPOS H 5
    GPOS I 5
    GPOS I 0 A_SpawnItemEx("RangerDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    GPOS I 0 A_SpawnItemEx("ShotgunAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,95)
    GPOS J 5 A_NoBlocking
    GPOS K 3 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    GPOS K 2 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    GPOS L 5
    GPOS M 5 A_PlaySound("body/splats")
    GPOS N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    GPOS N -1
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" G 1
    "####" A 0 A_GiveInventory("MonHold",1)
    "####" A 0 A_Jump(64,"Death.Burnt")
    "####" A 0 A_ChangeFlag("FRIGHTENED",1)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Chase("","")
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Chase("","")
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Chase("","")
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Chase("","")
    "####" A 0 A_ChangeFlag("FRIGHTENED",0)
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" D 0 A_Jump(32,"Death.Burnt")
  Death.FireCont:
    "####" A 0 A_Jump(48,2)
    "####" A 0 A_Pain
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" AA 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" AA 2 A_Wander
    "####" BB 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" BB 2 A_Wander
    "####" CC 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" CC 2 A_Wander
    "####" DD 0 A_SpawnItemEx("FireFlare", random(-2,2), random(-2,2), random(12,20), random(-1,1), random(-3,1), random(1,2), 0, 128, 24)
    "####" DD 2 A_Wander
    "####" D 0 A_JumpIfInventory("MonHold",5,"Death.Burnt")
    "####" D 0 A_Jump(160,"Death.Burnt")
    "####" D 0 A_GiveInventory("MonHold",1)
    Goto Death.FireCont
  Death.Ice:
    "####" # 0 A_SpawnItemEx("RangerDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    "####" # 0 A_SpawnItemEx("ShotgunAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,95)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 0 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    "####" # 5 A_GenericFreezeDeath
    "----" A 1 A_FreezeDeathChunks
    wait
  Death.BarrelBoom:
    GPOS H 0 A_JumpIfCloser(128, "XDeath")
  Death.NormalExplode:
  Death.Cyber:
  Death.ExplosionF:
  Death.ExplosionC:
  Death.Explosion:
    GPOS H 5 A_JumpIfHealthLower(-100, "XDeath")
    GPOS I 5 A_Scream
    GPOS I 0 A_SpawnItemEx("RangerDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    GPOS I 0 A_SpawnItemEx("ShotgunAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,95)
    GPOS J 5 A_NoBlocking
    GPOS K 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    GPOS K 2 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    GPOS LM 5
    GPOS N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    GPOS N -1
    Stop
  Death2:
    GPOS H 5
    GPOS I 5 A_Pain
    GPOS J 5 A_NoBlocking
    GPOS KLM 5
    GPOS N 5
    TNT1 A 0 A_Stop
    TNT1 A 15 A_SpawnItemEx("RGASuperShotgun_LastStand",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
    TNT1 A 15 A_JumpIfInventory("Blinded",1,"LastDeath")
    Wait
  Death3:
    GPOS H 5
    GPOS I 5 A_Pain
    GPOS J 5 A_NoBlocking
    GPOS KLM 5
    GPOS N 5
    TNT1 A 0 A_Stop
    TNT1 A 15 A_SpawnItemEx("RGASuperShotgun_LastStand2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS|SXF_SETMASTER,0)
    TNT1 A 15 A_JumpIfInventory("Blinded",1,"LastDeath")
    Wait
  XDeath:
    GPOS O 5
    GPOS P 5 A_XScream
    GPOS P 0 A_SpawnItemEx("RangerDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    GPOS P 0 A_SpawnItemEx("ShotgunAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,95)
    GPOS Q 5 A_NoBlocking
    GPOS RS 5
    GPOS T 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, 2)
    GPOS T -1
    Stop
    GPOS TTTTTT 5250 CanRaise
    GPOS TTTTTTTTT 2 A_FadeOut(0.1)
    Stop
  LastDeath:
    GPOS N 5
    GPOS N 15 A_TakeInventory("Blinded",1)
    GPOS N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    GPOS N -1
    Stop
  DeathClean:
    GPOS NNNNNN 5250 CanRaise
    GPOS NNNNNNNNN 2 A_FadeOut(0.1)
    Stop
  Raise:
    GPOS M 0
    GPOS M 0 A_ChangeFlag("FRIGHTENED",0)
    GPOS M 0 A_TakeInventory("MonHold",35)
    GPOS M 0 A_CheckFlag("Friendly",2)
    GPOS M 0 Thing_SetSpecial(0,226,613,0,random(4,8))
    GPOS MLKJIH 4
    Goto See
  }
}

actor RGASuperShotgun_LastStand : RGAMonster
{
  Obituary "%o was jacked by a last stand lieutenant!"
  Scale 0.9
  Health 50
  GibHealth 90
  Radius 20
  Height 32
  DeathHeight 14
  BurnHeight 14
  Mass 2200
  Speed 0
  PainChance 120
  PainChance "Dragon", 60
  PainChance "DragonF", 60
  PainChance "Dragonsplosion", 60
  PainChance "RGAFire", 60
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 0.9
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "heavy/sight"
  AttackSound "deagle/fire"
  PainSound "grunt/pain"
  DeathSound "heavy/death"
  ActiveSound "grunt/pain"
  DamageFactor "Step", 0.0
  Species "Shotgunzombie"
  MONSTER
  +MISSILEMORE
  +FLOORCLIP
  -COUNTKILL
  -SOLID
  +NOICEDEATH
  //DropItem "StrikerDrop" 104
  DropItem "ShotgunAmmo" 160
  Tag "Lieutenant"
  States
  {
  Spawn:
    LST7 B 0
    LST7 B 0 A_CheckFlag("Friendly",2)
    LST7 B 0 Thing_SetSpecial(0,226,613,0,random(4,8))
    LST7 DBA 6
  Idle:
    LST7 B 6 A_Look
    LST7 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST7 B 0 A_GiveInventory("LastStandHP",1)
    LST7 BA 6 A_Look
    LST7 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST7 A 0 A_GiveInventory("LastStandHP",1)
    LST7 A 6 A_Look
    loop
  See2:
    LST7 A 8
  See:
    LST7 B 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    LST7 BB 3 A_Chase("","")
    LST7 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST7 B 0 A_GiveInventory("LastStandHP",1)
    LST7 BBAA 3 A_Chase
    LST7 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST7 A 0 A_GiveInventory("LastStandHP",1)
    LST7 AA 3 A_Chase
    loop
  Die:
    LST7 A 0 A_Die
    goto Death
  SeeBlind:
    LST7 BB 3
    LST7 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST7 B 0 A_GiveInventory("LastStandHP",1)
    LST7 B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    LST7 BBAA 3 A_Jump(32,"MissileBlind")
    LST7 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST7 A 0 A_GiveInventory("LastStandHP",1)
    LST7 A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto See+11
    LST7 AA 3 A_Jump(32,"MissileBlind")
    goto See
  MissileBlind:
    LST7 AA 6
    LST7 C 8 BRIGHT A_CustomBulletAttack(28, 6, 1, 13, "MonsterBulletPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    goto See2
  Missile:
    LST7 AA 6 A_FaceTarget
    LST7 C 8 BRIGHT A_CustomBulletAttack(14, 3, 1, 13, "MonsterBulletPuff", 0, FBF_NORANDOM)
    LST7 A 0 A_Jump(160,"See2")
    LST7 A 4 A_FaceTarget
    LST7 C 8 BRIGHT A_CustomBulletAttack(14, 3, 1, 13, "MonsterBulletPuff", 0, FBF_NORANDOM)
    goto See2
  Pain.Stun3:
    LST7 A 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    LST7 A 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    LST7 A 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain:
    LST7 D 3
    LST7 D 6 A_Pain
    goto See
  Death:
    LST7 D 5 A_Scream
    GPOS M 5 A_NoBlocking
    GPOS NNN 2 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    GPOS N 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.Knife:
    LST7 D 5
    GPOS M 5 A_NoBlocking
    GPOS NNN 2 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    GPOS N 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" # 0 A_Jump(128,"Death")
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
    goto Death
  }
}

actor RGASuperShotgun_LastStand2 : RGAMonster
{
  Obituary "%o was jacked by a Last stand lieutenant!"
  Scale 0.9
  Health 50
  GibHealth 90
  Radius 20
  Height 32
  DeathHeight 14
  BurnHeight 14
  Mass 2200
  Speed 0
  PainChance 120
  PainChance "Dragon", 60
  PainChance "DragonF", 60
  PainChance "Dragonsplosion", 60
  PainChance "RGAFire", 60
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Knife", 0.9
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  SeeSound "heavy/sight"
  AttackSound "striker/fire"
  PainSound "grunt/pain"
  DeathSound "heavy/death"
  ActiveSound "grunt/pain"
  DamageFactor "Step", 0.0
  Species "Shotgunzombie"
  MONSTER
  +MISSILEMORE
  +FLOORCLIP
  -COUNTKILL
  -SOLID
  +NOICEDEATH
  //DropItem "StrikerDrop" 104
  DropItem "ShotgunAmmo" 160
  Tag "Lieutenant"
  States
  {
  Spawn:
    LST6 B 0
    LST6 B 0 A_CheckFlag("Friendly",2)
    LST6 B 0 Thing_SetSpecial(0,226,613,0,random(4,8))
    LST6 DBA 6
  Idle:
    LST6 B 6 A_Look
    LST6 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST6 B 0 A_GiveInventory("LastStandHP",1)
    LST6 BA 6 A_Look
    LST6 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST6 A 0 A_GiveInventory("LastStandHP",1)
    LST6 A 6 A_Look
    loop
  See:
    LST6 B 0 A_JumpIfInventory("BlindCheck",1,"SeeBlind")
    LST6 BB 3 A_Chase("","")
    LST6 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST6 B 0 A_GiveInventory("LastStandHP",1)
    LST6 BBAA 3 A_Chase
    LST6 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST6 A 0 A_GiveInventory("LastStandHP",1)
    LST6 AA 3 A_Chase
    loop
  Die:
    LST6 A 0 A_Die
    goto Death
  SeeBlind:
    LST6 BB 3
    LST6 B 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST6 B 0 A_GiveInventory("LastStandHP",1)
    LST6 B 0 A_JumpIfInventory("BlindCheck",1,1)
    goto see+6
    LST6 BBAA 3 A_Jump(32,"MissileBlind")
    LST6 A 0 A_JumpIfInventory("LastStandHP",50,"Die")
    LST6 A 0 A_GiveInventory("LastStandHP",1)
    LST6 A 0 A_JumpIfInventory("BlindCheck",1,1)
    goto See+11
    LST6 AA 3 A_Jump(32,"MissileBlind")
    goto See
  MissileBlind:
    LST6 A 8
    LST6 C 10 BRIGHT A_CustomBulletAttack(44.6, 4.4, 4, 6, "MonsterShotgunPuff", 0, CBAF_AIMFACING || FBF_NORANDOM)
    LST6 A 8
    goto See
  Missile:
    LST6 A 8 A_FaceTarget
    LST6 C 10 BRIGHT A_CustomBulletAttack(22.3, 2.2, 4, 6, "MonsterShotgunPuff", 0, FBF_NORANDOM)
    LST6 A 8
    goto See
  Pain.Stun3:
    LST6 A 0 ACS_NamedExecuteAlways("RefStun",0,2,0,0)
    goto Pain
  Pain.Stun2:
    LST6 A 0 ACS_NamedExecuteAlways("RefStun",0,1,0,0)
    goto Pain
  Pain.Stun:
    LST6 A 0 ACS_NamedExecuteAlways("RefStun",0,0,0,0)
    goto Pain
  Pain:
    LST6 D 3
    LST6 D 9 A_Pain
    goto See
  Death:
    LST6 D 5 A_Scream
    GPOS M 5 A_NoBlocking
    GPOS NNN 2 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    GPOS N 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.Knife:
    LST6 D 5
    GPOS M 5 A_NoBlocking
    GPOS NNN 2 A_SpawnItemEx("ArmorBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    GPOS N 20 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" # 0 A_Jump(128,"Death")
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
    goto Death
  }
}

actor RGAZombie_2Stealth : RGAZombie_2
{
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  States
  {
  Death.Shotgungib:
    POS2 H 0 A_JumpIfCloser(128, "XDeath")
  Death.Shotgun:
    POS2 H 0 A_JumpIfHealthLower(-70, "XDeath")
  Death:
    POS2 H 5
    POS2 I 5 A_Scream
    POS2 I 0 A_SpawnItemEx("USP45Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 0 A_JumpIfInventory("GrenadeAmmo",1,5)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
    POS2 J 0 A_Jump(244,2)
    POS2 J 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  }
}

actor RGAZombie_3Stealth : RGAZombie_3
{
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  States
  {
  Death.Shotgungib:
    POS2 H 0 A_JumpIfCloser(128, "XDeath")
  Death.Shotgun:
    POS2 H 0 A_JumpIfHealthLower(-70, "XDeath")
  Death:
    POS2 H 5
    POS2 I 5 A_Scream
    POS2 I 0 A_SpawnItemEx("M9Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 0 A_JumpIfInventory("GrenadeAmmo",1,5)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
    POS2 J 0 A_Jump(244,2)
    POS2 J 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  }
}

actor RGAZombie_4Stealth : RGAZombie_4
{
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  States
  {
  Death.Shotgungib:
    POS2 H 0 A_JumpIfCloser(128, "XDeath")
  Death.Shotgun:
    POS2 H 0 A_JumpIfHealthLower(-70, "XDeath")
  Death:
    POS2 H 5
    POS2 I 5 A_Scream
    POS2 I 0 A_SpawnItemEx("M93RDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 0 A_JumpIfInventory("GrenadeAmmo",1,5)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
    POS2 J 0 A_Jump(244,2)
    POS2 J 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  }
}

actor RGAZombie_5Stealth : RGAZombie_5
{
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  States
  {
  Death.Shotgungib:
    POS2 H 0 A_JumpIfCloser(128, "XDeath")
  Death.Shotgun:
    POS2 H 0 A_JumpIfHealthLower(-70, "XDeath")
  Death:
    POS2 H 5
    POS2 I 5 A_Scream
    POS2 I 0 A_SpawnItemEx("PP2000Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 0 A_JumpIfInventory("GrenadeAmmo",1,5)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
    POS2 J 0 A_Jump(244,2)
    POS2 J 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  }
}

actor RGAZombie_6Stealth : RGAZombie_6
{
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  States
  {
  Death.Shotgungib:
    POS2 H 0 A_JumpIfCloser(128, "XDeath")
  Death.Shotgun:
    POS2 H 0 A_JumpIfHealthLower(-70, "XDeath")
  Death:
    POS2 H 5
    POS2 I 5 A_Scream
    POS2 I 0 A_SpawnItemEx("G18Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POS2 I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,127)
    POS2 J 0 A_JumpIfInventory("GrenadeAmmo",1,5)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
    POS2 J 0 A_Jump(244,2)
    POS2 J 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    POS2 J 5 A_NoBlocking
    POS2 K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POS2 L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POS2 L -1
    Stop
  }
}

actor DrDudeStealth : DrDude
{
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  States
  {
  Death.Shotgungib:
    DRDO I 0 A_JumpIfCloser(128, "XDeath")
  Death.Shotgun:
    DRDO I 0 A_JumpIfHealthLower(-45, "XDeath")
  Death:
    DRDO I 5
    DRDO J 5 A_Scream
    DRDO J 0 A_SpawnItemEx("44MagnumDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,207)
    DRDO J 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    DRDO K 5 A_NoBlocking
    DRDO L 5
    DRDO MM 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    DRDO N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    DRDO N -1
    Stop
  }
}

actor DrDude2Stealth : DrDude2
{
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  States
  {
  Death.Shotgungib:
    DRDO I 0 A_JumpIfCloser(128, "XDeath")
  Death.Shotgun:
    DRDO I 0 A_JumpIfHealthLower(-45, "XDeath")
  Death:
    DRDO I 5
    DRDO J 5 A_Scream
    DRDO J 0 A_SpawnItemEx("DeagleDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,207)
    DRDO J 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    DRDO K 5 A_NoBlocking
    DRDO L 5
    DRDO MM 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    DRDO N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    DRDO N -1
    Stop
  }
}

actor RGAShotgun_2Stealth : RGAShotgun_2
{
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  States
  {
  Death.Shotgungib:
    SPOS H 0 A_JumpIfCloser(128, "XDeath")
  Death.Shotgun:
    SPOS H 0 A_JumpIfHealthLower(-35, "XDeath")
  Death:
    SPOS H 5
    SPOS I 5 A_Scream
    SPOS I 0 A_SpawnItemEx("SPASDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,173)
    SPOS I 0 A_SpawnItemEx("ShotgunAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    SPOS J 5 A_NoBlocking
    SPOS K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    SPOS L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    SPOS L -1
    Stop
  }
}

actor RGAShotgun_3Stealth : RGAShotgun_3
{
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  States
  {
  Death.Shotgungib:
    SPOS H 0 A_JumpIfCloser(128, "XDeath")
  Death.Shotgun:
    SPOS H 0 A_JumpIfHealthLower(-35, "XDeath")
  Death:
    SPOS H 5
    SPOS I 5 A_Scream
    SPOS I 0 A_SpawnItemEx("M1887Drop",0,0,0,random(-2,2),random(-2,2),3,0,0,173)
    SPOS I 0 A_SpawnItemEx("ShotgunAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    SPOS J 5 A_NoBlocking
    SPOS K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    SPOS L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    SPOS L -1
    Stop
  }
}

actor RGAShotgun_4Stealth : RGAShotgun_4
{
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  States
  {
  Death.Shotgungib:
    POSS H 0 A_JumpIfCloser(128, "XDeath")
  Death.Shotgun:
    POSS H 0 A_JumpIfHealthLower(-35, "XDeath")
  Death:
    POSS H 5
    POSS I 5 A_Scream
    POSS I 0 A_SpawnItemEx("VectorDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,191)
    POSS I 0 A_SpawnItemEx("SubAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,183)
    POSS J 5 A_NoBlocking
    POSS K 5 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    POSS L 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    POSS L -1
    Stop
  }
}

actor RGASuperShotgun_2Stealth : RGASuperShotgun_2
{
  +STEALTH
  RenderStyle Translucent
  Alpha 0
  States
  {
  Death.Shotgungib:
    GPOS H 0 A_JumpIfCloser(128, "XDeath")
  Death.Shotgun:
    GPOS H 0 A_JumpIfHealthLower(-50, "XDeath")
  Death:
    GPOS H 5
    GPOS I 5 A_Scream
    GPOS I 0 A_SpawnItemEx("RangerDrop",0,0,0,random(-2,2),random(-2,2),3,0,0,159)
    GPOS I 0 A_SpawnItemEx("ShotgunAmmo",0,0,0,random(-2,2),random(-2,2),3,0,0,95)
    GPOS J 5 A_NoBlocking
    GPOS K 3 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    GPOS K 2 A_SpawnItemEx("HealthBonus_3",0,0,0,random(-2,2),random(-2,2),random(2,5),0,0,0)
    GPOS LM 5
    GPOS N 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0) % 2) == 1, "DeathClean")
    GPOS N -1
    Stop
  }
}