actor NetherWorldQueen : ZBaseActor 19129
{
  Obituary "%o was burnt to a crisp by the netherworld queen."
  HitObituary "%o was electrocuted by the netherworld queen."
  health 400
  radius 20
  height 54
  mass 1000
  speed 14
  seesound "alienM/sight"
  painsound "alienM/pain"
  deathsound "alienM/death"
  activesound "alienM/active"
  MONSTER
  +FLOORCLIP
  Scale 0.50
  damagefactor "Expander", 0.2
  damagefactor "AlienzShrinker", 0.0
  damagefactor "Shrinkerhit", 0.0
  damagefactor "Explosion", 0.65
  damagefactor "RocketExplosion", 0.65
  damagefactor "ShellExplosion", 0.80
  bloodcolor "AA D1 5C" 
  Damage (25)
  meleethreshold 196
  maxtargetrange 1024
  meleerange 56
  dropitem "ShrinkerAmmo" 64 20
  dropitem "ExpanderAmmo" 64 20
  dropitem "Shrinker" 32
  dropitem "Expander" 32
  dropitem "BootsPickup" 8
  painchance 85
  Painchance "Shrinker", 256
  painchance "FireBurning", 200
  painchance "MightyBoot", 128
  painchance "BootStun", 256
  painchance "MicrowaveBlast", 256
  Species "NetherWorldQueens"
  +DOHARMSPECIES
  +NOINFIGHTSPECIES
  +DONTHARMCLASS
  WoundHealth 10
  states
  {
  Spawn:
    QUEE A 0
    "####" "#" 0 Thing_ChangeTID(0,1000)
    QUEE AA 10 A_Look
    loop
  See:
    "####" "#" 0 A_SetHeightOffset(0)
    QUEE A 1
    "####" "#" 0
    QUEE AABBCCDD 2 A_Chase
    "####" "#" 0 A_Jump(4,"Birth")
    loop
  Birth:
    "####" "#" 0 A_Jump(16,2)
    "####" "#" 0 A_CheckSight("See")
    "####" "#" 0 A_CheckChildren(5, "See")
    "####" "#" 0 A_SetHeightOffset(-11)
    QUEE T 15 A_PlayVoiceSoundPitch("","queen/birth",4)
    QUEE TU 15
    "####" "#" 0 A_SpawnChildren("SlimerEgg",-50,20,0,0,1,5,0)
    goto see
  Missile:
    "####" "#" 0 A_PlayWeaponSound("alienz/attack")
    QUEE S 8 A_FaceTarget
    "####" "#" 0 A_SetHeightOffset(-11)
    QUEE TU 8 A_FaceTarget
    "####" "#" 0 A_CustomMissile("MuzzleFlashExpander",32,0,0)
    QUEE U 5 A_CustomMissile("AlienExpanderAttack",32,0,0)
    goto See
  Melee:
    QUEE E 3 A_FaceTarget
    QUEE E 3 A_PlaySound("alienz/melee")
    "####" "#" 0 A_CustomMissile("MuzzleFlashMedium",32,0,0)
    QUEE FG 3 BRIGHT A_CustomMeleeAttack(Random[RIDMONSTERAT](1,2)*5)
    "####" "#" 0 A_FaceTarget
    "####" "#" 0 A_PlaySound("alienz/melee")
    "####" "#" 0 A_CustomMissile("MuzzleFlashMedium",32,0,0)
    QUEE FG 3 BRIGHT A_CustomMeleeAttack(Random[RIDMONSTERAT](1,2)*5)
    "####" "#" 0 A_FaceTarget
    "####" "#" 0 A_PlaySound("alienz/melee")
    "####" "#" 0 A_CustomMissile("MuzzleFlashMedium",32,0,0)
    QUEE FG 3 BRIGHT A_CustomMeleeAttack(Random[RIDMONSTERAT](1,2)*5)
    "####" "#" 0 A_FaceTarget
    "####" "#" 0 A_PlaySound("alienz/melee")
    "####" "#" 0 A_CustomMissile("MuzzleFlashMedium",32,0,0)
    QUEE FG 3 BRIGHT A_CustomMeleeAttack(Random[RIDMONSTERAT](1,2)*5)
    "####" "#" 0 A_FaceTarget
    Goto See
  Pain.BootStun:
    "####" "#" 0 A_SetHeightOffset(0)
    "####" "#" 0 A_Jump(128,"Pain2BootStun")
    QUEE H 9 A_PlayVoiceSoundPitch("Pain")
    QUEE H 9
    goto See
  Pain2BootStun:
    QUEE V 9 A_PlayVoiceSoundPitch("Pain")
    QUEE V 9
    goto See
  Pain:
    "####" "#" 0 A_SetHeightOffset(0)
    "####" "#" 0 A_Jump(128,"Pain2")
    QUEE H 3
    QUEE H 3 A_PlayVoiceSoundPitch("Pain")
    goto See
  Pain2:
    QUEE V 3
    QUEE V 3 A_PlayVoiceSoundPitch("Pain")
    goto See
  Pain.MicrowaveBlast:
    "####" "#" 0 A_SetHeightOffset(0)
    QUEE H 1
    "####" "#" 0 A_CheckThump("Pain.BootStun")
    loop
  Death:
    QUEE H 5 
    QUEE I 5 A_PlayVoiceSoundPitch("Death")
    QUEE J 5 A_NoBlocking
    QUEE KLMNOP 5
    QUEE Q 1 {A_BossDeath; A_SpawnItemEx("DeadNetherWorldQueen", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL|SXF_SETMASTER);}
    "####" "#" 0 A_SpawnItemEx("DukeGreenBloodPool")
    TNT1 A -1
    stop
  Pain.Shrinker:
    "####" "#" 0 A_PlaySound("shrinker/shrink")
    "####" "#" 0 A_InvulnerablePlus(1)
    QUEE H 5 A_PlayVoiceSoundPitch("Pain")
    "####" "#" 0 A_CustomMissile("ShrinkEffect",8,0,0)
  Shrink:
    QUEE H 2 {A_SetScale(ScaleX - 0.04, ScaleY - 0.04); A_SpawnItemEx("ShrunkBlur",0,0,0,0,0,0,angle,SXF_TRANSFERSPRITEFRAME|SXF_TRANSFERSCALE|SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_ABSOLUTEANGLE);}
    "####" "#" 0 A_JumpIf(ScaleX > 0.2 && ScaleY > 0.2, "Shrink")
    "####" "#" 0 A_Shrink("A","B","C","D",0.11)
    "####" "#" 0 {A_ChangeFlag("COUNTKILL",0); A_Die("BossDeath");}
    stop
  XDeath:
  Death.BossStomp:
    "####" "#" 0 A_XScream
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_BossDeath
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("NetherworldQueenHead1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5")
    TNT1 A 1
    Stop
  Death.PlasmaGib:
    "####" "#" 0 A_SpawnItemEx("DukePlasmaExplosion",0,0,32,0,0,0,0,1,0)
    "####" "#" 0 A_XScream
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_BossDeath
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs1NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs2NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs3NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs4NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs5NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("NetherworldQueenHead1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5")
    TNT1 A 1
    Stop
  Death.Explosion:
  Death.RocketExplosion:
    "####" "#" 0 A_XScream
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_BossDeath
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("NetherworldQueenHead1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5")
    TNT1 A 1
    Stop
  Death.ExplosiveShotgun:
  Death.ShellExplosion:
    "####" "#" 0 A_XScream
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_BossDeath
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("NetherworldQueenHead1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5")
    TNT1 A 1
    Stop
  Gib1:
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs6", FALSE, 1.0, 1.0)
    2IB1 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    2IB1 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Gib2:
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs6", FALSE, 1.0, 1.0)
    2IB2 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    2IB2 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Gib3:
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs6", FALSE, 1.0, 1.0)
    2IB3 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    2IB3 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Gib4:
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs6", FALSE, 1.0, 1.0)
    2IB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    2IB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Gib5:
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs6", FALSE, 1.0, 1.0)
    2IB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    2IB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    stop
  Wound.Ice:
    "####" "#" 0 A_Freeze("See")
    "####" "#" 0 {A_ChangeFlag("COUNTKILL",0); A_Die("BossDeath");}
    TNT1 A 1
    stop
  Death.BossDeath:
    "####" "#" 0 A_BossDeath
    TNT1 A 1
    Stop
  Death.Headshot:
    "####" "#" 0 A_XScream
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("NetherworldQueenHead1", TRUE, 1.0, 1.0)
    3UEE H 10 A_NoBlocking
    3UEE I 5
    3UEE J 5
    3UEE KLMNOP 5
    3UEE Q 1 {A_BossDeath; A_SpawnItemEx("DeadNetherWorldQueenBehead", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL);}
    "####" "#" 0 A_SpawnItemEx("DukeGreenBloodPool")
    stop
  Possessed:
    "####" "#" 0 A_ChangeFlag("NOPAIN", 1)
    QUEE Q 5 {A_XScream; A_AdjustTics(1.0,1.0);}
    QUEE P 5 {A_XScream; A_AdjustTics(1.0,1.0);}
    QUEE ONMLK 5 A_AdjustTics(1.0,1.0)
    QUEE J 5 A_AdjustTics(1.0,1.0)
    QUEE I 5 A_AdjustTics(1.0,1.0)
    QUEE H 5 A_AdjustTics(0,1.0)
    "####" "#" 0 A_ChangeFlag("NOPAIN", 0)
    goto See
  }
}

actor DeadNetherWorldQueen : DeadDukeNukemGreenP 19130
{
  Radius 20
  Height 20
  scale 0.5
  States
  {
  Spawn:
    QUEE Q -1
    Stop
  Death.Fire:
    "####" "#" 0 A_SetTranslation("Burned")
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnItemEx("DeadNetherWorldQueen", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL)
    TNT1 A 1
    Stop
  Ice:
    "####" "#" 0 Thing_ChangeTID(0,3500)
    QUEE Q 5 A_GenericFreezeDeath
    QUEE Q 1 A_FreezeDeathChunks
    wait
  }
}

actor DeadNetherWorldQueenBehead : DeadDukeNukemGreen
{
  Radius 20
  Height 20
  scale 0.5
  States
  {
  Spawn:
    3UEE Q -1
    Stop
  Death.Fire:
    "####" "#" 0 A_SetTranslation("Burned")
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnItemEx("DeadNetherWorldQueenBehead", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL)
    TNT1 A 1
    Stop
  Ice:
    "####" "#" 0 Thing_ChangeTID(0,3500)
    3UEE Q 5 A_GenericFreezeDeath
    3UEE Q 1 A_FreezeDeathChunks
    wait
  }
}