
actor Doom_HellKnight : ZBaseActor 19392
{
  Obituary "%o was slain by a Hell Knight."
  Health 400
  Radius 20
  height 70
  mass 1000
  Speed 8
  SeeSound "knight/sight"
  ActiveSound "knight/active"
  PainSound "knight/pain"
  DeathSound "knight/death"
  dropitem "ShrinkerAmmo" 64 20
  dropitem "ExpanderAmmo" 64 20
  dropitem "Shrinker" 32
  dropitem "Expander" 32
  dropitem "BootsPickup" 8
  painchance 64
  Painchance "Shrinker", 256
  painchance "FireBurning", 200
  painchance "MightyBoot", 128
  painchance "BootStun", 256
  painchance "MicrowaveBlast", 256
  MONSTER
  +FLOORCLIP
  Scale 1.0
  damagefactor "AlienzShrinker", 0.0
  damagefactor "Shrinkerhit", 0.0
  damagefactor "Explosion", 0.7
  damagefactor "RocketExplosion", 0.7
  damagefactor "ShellExplosion", 0.85
  Species "Bruisers"
  +DOHARMSPECIES
  +NOINFIGHTSPECIES
  +DONTHARMCLASS
  WoundHealth 10
  meleerange 50
  States
  {
  Spawn:
    D2HK A 0
    "####" "#" 0 Thing_ChangeTID(0,1000)
    D2HK AA 10 A_Look
    Loop
  See:
    "####" "#" 0 A_SetHeightOffset(0)
    "####" "#" 0 A_JumpIfCloser(1024, 2)
    "####" "#" 0 A_Jump(256, 2)
    "####" "#" 0 A_Jump(64, "RunJump")
    D2HK AAABBBCCCDDD 2 A_Chase
    Loop
  RunJump:
    "####" "#" 0 A_CheckSight("See")
    "####" "#" 0 A_JumpIfCloser(100, "See")
    "####" "#" 0 A_SetHeightOffset(-8)
    BSCG AAAA 1 A_Chase("", "", CHF_NOPLAYACTIVE|CHF_NORANDOMTURN)
    "####" "#" 0 A_JumpIfCloser(350, "Jump")
    BSCG BBBB 1 A_ChasE("", "")
    "####" "#" 0 A_JumpIfCloser(350, "Jump")
    BSCG CCCC 1 A_Chase("", "", CHF_NOPLAYACTIVE|CHF_NORANDOMTURN)
    "####" "#" 0 A_JumpIfCloser(350, "Jump")
    BSCG DDDD 1 A_Chase("", "")
    "####" "#" 0 A_JumpIfCloser(350, "Jump")
    BSCG AAAA 1 A_Chase("", "", CHF_NOPLAYACTIVE|CHF_NORANDOMTURN)
    "####" "#" 0 A_JumpIfCloser(350, "Jump")
    BSCG BBBB 1 A_Chase("", "")
    "####" "#" 0 A_JumpIfCloser(350, "Jump")
    BSCG CCCC 1 A_Chase("", "", CHF_NOPLAYACTIVE|CHF_NORANDOMTURN)
    "####" "#" 0 A_JumpIfCloser(350, "Jump")
    BSCG DDDD 1 A_Chase("", "")
    "####" "#" 0 A_JumpIfCloser(350, "Jump")
    BSCG AAAA 1 A_Chase("", "", CHF_NOPLAYACTIVE|CHF_NORANDOMTURN)
    "####" "#" 0 A_JumpIfCloser(350, "Jump")
    BSCG BBBB 1 A_Chase("", "")
    "####" "#" 0 A_JumpIfCloser(350, "Jump")
    BSCG CCCC 1 A_Chase("", "", CHF_NOPLAYACTIVE|CHF_NORANDOMTURN)
    "####" "#" 0 A_JumpIfCloser(350, "Jump")
    BSCG DDDD 1 A_Chase("", "")
    "####" "#" 0 A_JumpIfCloser(350, "Jump")
    "####" "#" 0 A_Jump(128, "See")
    loop
  Jump:
    "####" "#" 0 ThrustThing(angle * 256 / 360, 5, 0, 0)
    "####" "#" 0 ThrustThingZ(0,30,0,0)
    "####" "#" 0 A_SetHeightOffset(-7)
    BSPC A 3 A_FaceTarget
    "####" "#" 0 ThrustThing(angle * 256 / 360, 5, 0, 0)
    "####" "#" 0 A_SetHeightOffset(-11)
    BSPC B 3 A_FaceTarget
    "####" "#" 0 A_SetHeightOffset(-14)
  JumpLoop:
    "####" "#" 0 ThrustThing(angle * 256 / 360, 5, 0, 0)
    BSPC CCC 1 A_JumpIf((!velx && !vely) || z - floorz < 3, "JumpFinish")
    Loop
  JumpFinish:
    "####" "#" 0 A_ScaleVelocity(0.33)
    "####" "#" 0 A_Quake(3, 17, 0, 192)
    "####" "#" 0 A_PlaySound("pig/heavyland", 5)
    "####" "#" 0 A_Explode(48, 118, XF_NOTMISSILE, 0, 32)
    "####" "#" 0 A_SpawnItem("ExplosionSmoke")
    "####" "#" 0 A_SetHeightOffset(-28)
    BSPC D 19 A_Gravity
    Goto See
  Melee:
    "####" "#" 0 A_SetHeightOffset(-1)
    D2HK E 7 A_FaceTarget
    D2HK F 6 A_FaceTarget
    "####" "#" 0 A_CustomMeleeAttack(random[RIDMONSTERAT](20,30), "baron/melee", "alienz/melee")
    "####" "#" 0 Radius_Quake (2, 3, 0, 5, 0)
    "####" "#" 0 A_SetHeightOffset(-8)
    D2HK G 6
    Goto See
  Missile:
    "####" "#" 0 A_SetHeightOffset(-1)
    "####" "#" 0 A_FaceTarget
    D2HK EEEE 2 BRIGHT A_CustomMissile("MuzzleFlashShrinker",32,0,0)
    "####" "#" 0 A_FaceTarget
    D2HK FFFF 2 BRIGHT A_CustomMissile("MuzzleFlashShrinker",32,0,0)
    "####" "#" 0 A_CustomMissile("MuzzleFlashShrinker",32,0,0)
    "####" "#" 0 A_SetHeightOffset(-8)
    D2HK G 8 BRIGHT A_CustomMissile("Doom_BaronOfHellBall", 36, 0, 0, 1)
    Goto See
  Pain.BootStun:
    "####" "#" 0 A_SetHeightOffset(-1)
    "####" "#" 0 A_Jump(128,"Pain2BootStun")
    D2HK H 9
    D2HK H 9 A_PlayVoiceSoundPitch("Pain")
    Goto See
  Pain2BootStun:
    D2HK S 9
    D2HK S 9 A_PlayVoiceSoundPitch("Pain")
    Goto See
  Pain:
    "####" "#" 0 A_SetHeightOffset(-1)
    "####" "#" 0 A_Jump(128,"Pain2")
    D2HK H 3
    D2HK H 3 A_PlayVoiceSoundPitch("Pain")
    Goto See
  Pain2:
    D2HK S 3
    D2HK S 3 A_PlayVoiceSoundPitch("Pain")
    Goto See
  Pain.MicrowaveBlast:
    "####" "#" 0 A_SetHeightOffset(-1)
    D2HK H 1
    "####" "#" 0 A_CheckThump("Pain.BootStun")
    loop
  Death:
    HKDD A 8 A_PlayVoiceSoundPitch("Death")
    HKDD B 8
    HKDD C 8 A_NoBlocking
    HKDD D 1 A_SpawnItemEx("DeadDoom_HellKnight", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL|SXF_SETMASTER)
    "####" "#" 0 A_SpawnItemEx("DukeRedBloodPool")
    TNT1 A -1
    stop
  Pain.Shrinker:
    "####" "#" 0 A_PlaySound("shrinker/shrink")
    "####" "#" 0 A_InvulnerablePlus(1)
    D2HK H 5 A_PlayVoiceSoundPitch("Pain")
    "####" "#" 0 A_CustomMissile("ShrinkEffect",8,0,0)
  Shrink:
    D2HK 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.3)
    "####" "#" 0 A_Remove(AAPTR_DEFAULT)
    stop
  XDeath:
  Death.BossStomp:
    "####" "#" 0 A_XScream
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_HellKnightHead1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_HellKnightArm1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_BaronOfHellLeg1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SetScale(0.7, 0.7)
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.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_SpawnDebris("DukeGibs1NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_HellKnightHead1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_HellKnightArm1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_BaronOfHellLeg1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SetScale(0.7, 0.7)
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Death.Explosion:
  Death.RocketExplosion:
    "####" "#" 0 A_XScream
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_HellKnightHead1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_HellKnightArm1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_BaronOfHellLeg1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SetScale(0.7, 0.7)
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Death.ExplosiveShotgun:
  Death.ShellExplosion:
    "####" "#" 0 A_XScream
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_HellKnightHead1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_HellKnightArm1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_BaronOfHellLeg1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SetScale(0.7, 0.7)
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Wound.Expander:
   "####" "#" 0 A_Die("Expander")
  Death.Expander:
    "####" "#" 0 A_ChangeFlag("DONTCORPSE",1)
    "####" "#" 0 A_PlaySound("expander/expand")
    "####" "#" 0 {A_UnsetShootable; A_UnsetSolid;}
  Expand:
    D2HK H 1 A_SetScale(ScaleX + 0.01, ScaleY + 0.01)
    "####" "#" 0 A_JumpIf(ScaleX < 1.5 && ScaleY < 1.5, "Expand")
    D2HK HHHHH 1
    "####" "#" 0 A_SetScale(1.0, 1.0)
    "####" "#" 0 A_PlayVoiceSoundPitch("Death","",4)
    "####" "#" 0 A_SpawnItemEx("ExpanderExplosion",0,0,32,0,0,0,0,1,0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    goto Death.Explosion
  Wound.Ice:
    "####" "#" 0 A_Freeze("See")
    "####" "#" 0 A_Remove(AAPTR_DEFAULT)
    TNT1 A 1
    stop
  Death.Headshot:
    "####" "#" 0 A_XScream
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_HellKnightHead1",TRUE, 1.0, 1.0)
    BOH2 A 24 A_NoBlocking
    BOH2 B 16
    BOH2 C 8
    BOH2 D 1 A_SpawnItemEx("DeadDoom_HellKnightBehead", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL)
    "####" "#" 0 A_SpawnItemEx("DukeRedBloodPool")
    stop
  Possessed:
    "####" "#" 0 A_ChangeFlag("NOPAIN", 1)
    HKDD D 8 {A_XScream; A_AdjustTics(1.0,1.0);}
    HKDD C 8 {A_XScream; A_AdjustTics(1.0,1.0);}
    HKDD B 8 A_AdjustTics(1.0,1.0)
    HKDD A 8 A_AdjustTics(1.0,1.0)
    "####" "#" 0 A_ChangeFlag("NOPAIN", 0)
    goto See
  }
}

actor DeadDoom_HellKnight : DeadDukeNukemP 19393
{
  Radius 20
  Height 18
  scale 1.0
  States
  {
  Spawn:
    HKDD D -1
    Stop
  Death.Fire:
    "####" "#" 0 A_SetTranslation("Burned")
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnItemEx("DeadDoom_HellKnight", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL)
    TNT1 A 1
    Stop
  Ice:
    "####" "#" 0 Thing_ChangeTID(0,3500)
    HKDD D 5 A_GenericFreezeDeath
    HKDD D 1 A_FreezeDeathChunks
    wait
  Gib1:
  Gib2:
  Gib3:
  Gib4:
  Gib5:
    TNT1 A 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    TNT1 A 1 A_SpawnItemEx("Gib4DeathSkin", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION)
    Stop
  }
}

actor DeadDoom_HellKnightBehead : DeadDukeNukem
{
  Radius 20
  Height 18
  scale 1.0
  States
  {
  Spawn:
    BOH2 D -1
    Stop
  Death.Fire:
    "####" "#" 0 A_SetTranslation("Burned")
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnItemEx("DeadDoom_HellKnightBehead", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL)
    TNT1 A 1
    Stop
  Ice:
    "####" "#" 0 Thing_ChangeTID(0,3500)
    BOH2 D 5 A_GenericFreezeDeath
    BOH2 D 1 A_FreezeDeathChunks
    wait
  Gib1:
  Gib2:
  Gib3:
  Gib4:
  Gib5:
    TNT1 A 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    TNT1 A 1 A_SpawnItemEx("Gib4DeathSkin", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION)
    Stop
  }
}