
actor DoomImp2 : DoomImp replaces DoomImp
{
    +NOTDMATCH
    +NOICEDEATH
    DamageFactor "Mace", 1.1
    DamageFactor "DragonClaw", 1.5
    PainChance "MightyBoot", 255
    states
    {
      Death.DukeDamage:

      Death.DukePistol:
        TNT1 A 0 A_Jump(218,"Death")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)
        goto Death

      Death.MightyBoot:
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        TNT1 A 0 A_Jump(64,"Death")
        TNT1 A 0 A_GiveToTarget("DukeBootTaunt",1)
        goto Death

      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        goto "Super::Death"

      Death.DukeExplosive:
        TNT1 A 0 A_JumpIfHealthLower(-3,"DukeGibStart")
        goto Death.DukeDamage

      DukeGibStart:
        TNT1 A 0 A_UnsetSolid
        TNT1 A 0 A_SpawnDebris("DukeGibs1")
        TNT1 A 0 A_SpawnDebris("DukeGibs2")
        TNT1 A 0 A_SpawnDebris("DukeGibs3")
        TNT1 A 0 A_SpawnDebris("DukeGibs4")
        TNT1 A 0 A_SpawnDebris("DukeGibs5")
        TNT1 A 0 A_SpawnDebris("DukeGibs6")
        TNT1 A 0 A_PlaySound("duke/enemygib")
        TNT1 A 0 A_Jump(96,"XDeath")
        TNT1 A 0 A_GiveToTarget("DukeGibTaunt",1)

      XDeath:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        goto "Super::XDeath"

      Pain.MightyBoot:
        TNT1 A 0 A_ChangeFlag("NOPAIN",1)
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        TROO H 2 A_FaceTarget
        TNT1 A 0 A_Recoil(14)
        TROO H 16 A_Pain
        Goto See

      Missile:
        TNT1 A 0 A_ChangeFlag("NOPAIN",0)
        goto "Super::Missile"

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TROO H 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorch","soundslot5",0,0)
        TROO H 3 A_SpawnItem("ZorchEffectSmall")
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        TROO H 3 A_SetTranslucent(0.9,0)
        TROO H 0 A_Scream
        TROO H 3 A_SetTranslucent(0.8,0)
        TROO H 0 A_NoBlocking
        TROO H 3 A_SetTranslucent(0.7,0)
        TROO H 3 A_SetTranslucent(0.6,0)
        TROO H 3 A_SetTranslucent(0.5,0)
        TROO H 3 A_SetTranslucent(0.4,0)
        TROO H 3 A_SetTranslucent(0.3,0)
        TROO H 3 A_SetTranslucent(0.2,0)
        TROO H 3 A_SetTranslucent(0.1,0)
        TNT1 A 1 A_SetTranslucent(1,0)
        TNT1 A -1
        stop

      Raise:
        TNT1 A 0 A_JumpIfInventory("EnemyZorched",1,"ZorchRaise")
        TROO ML 8
        TROO KJI 6
        goto See

      ZorchRaise:
        TNT1 A 1 A_UnsetShootable
        TNT1 A 1 A_SpawnItem("SpawnFire2")
        TNT1 A 0 A_PlaySound("archvile/resummon")
        TNT1 A 1 A_TakeInventory("EnemyZorched",1)
        TNT1 A 0 A_SetTranslucent(0.1,0)
        TROO A 3 A_SetTranslucent(0.2,0)
        TROO A 3 A_SetTranslucent(0.3,0)
        TROO A 3 A_SetTranslucent(0.4,0)
        TROO A 3 A_SetTranslucent(0.5,0)
        TROO A 3 A_SetTranslucent(0.6,0)
        TROO A 3 A_SetTranslucent(0.7,0)
        TROO A 3 A_SetTranslucent(0.8,0)
        TROO A 3 A_SetTranslucent(0.9,0)
        TROO A 3 A_SetTranslucent(1,0)
        TROO A 1 A_SetShootable
        Goto See

      Death.DukeIce:
        TNT1 A 0 A_PlaySound("duke/enemyfreeze")
        TNT1 A 0 A_GiveInventory("FreezethrowerWeakness")
        TNT1 A 0 A_Jump(218,"Ice")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        TNT1 A 0 A_NoBlocking
        //TNT1 A 0 A_SpawnItem("ImpFrozen")
        TROO H 0 A_GenericFreezeDeath
        TROO H 70 A_UnsetSolid
        TROO H 0 A_IceGuyDie
        TROO H 1 A_IceGuyDie
        TNT1 A -1
        stop
    }
}

actor DoomImpBall2 : DoomImpBall replaces DoomImpBall
{
    +THRUGHOST
    +FIREDAMAGE
}

actor Nazi2 : WolfensteinSS replaces WolfensteinSS
{
    DamageFactor "Mace", 1.1
    DamageFactor "DragonClaw", 1.5
    PainChance "MightyBoot", 255
    DropItem "Clip2"
    +THRUGHOST
    +NOTDMATCH
    +NOICEDEATH
    states
    {
      Death.DukeDamage:

      Death.DukePistol:
        TNT1 A 0 A_Jump(218,"Death")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)
        goto Death

      Death.MightyBoot:
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        TNT1 A 0 A_Jump(64,"Death")
        TNT1 A 0 A_GiveToTarget("DukeBootTaunt",1)
        goto Death

      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        goto "Super::Death"

      Death.DukeExplosive:
        TNT1 A 0 A_JumpIfHealthLower(-3,"DukeGibStart")
        goto Death.DukeDamage

      DukeGibStart:
        TNT1 A 0 A_UnsetSolid
        TNT1 A 0 A_SpawnDebris("DukeGibs1")
        TNT1 A 0 A_SpawnDebris("DukeGibs2")
        TNT1 A 0 A_SpawnDebris("DukeGibs3")
        TNT1 A 0 A_SpawnDebris("DukeGibs4")
        TNT1 A 0 A_SpawnDebris("DukeGibs5")
        TNT1 A 0 A_SpawnDebris("DukeGibs6")
        TNT1 A 0 A_PlaySound("duke/enemygib")
        TNT1 A 0 A_Jump(96,"XDeath")
        TNT1 A 0 A_GiveToTarget("DukeGibTaunt",1)

      XDeath:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        goto "Super::XDeath"

      Missile:
        TNT1 A 0 A_ChangeFlag("NOPAIN",0)
        SSWV EF 10 A_FaceTarget
        TNT1 A 0 A_PlaySound("wolfss/attack")
        SSWV G 4 bright A_CustomMissile("DoomEnemyBullet",32,0,random(-22.5,22.5),8)
        SSWV F 6 A_FaceTarget
        TNT1 A 0 A_PlaySound("wolfss/attack")
        SSWV G 4 bright A_CustomMissile("DoomEnemyBullet",32,0,random(-22.5,22.5),8)
        SSWV F 1 A_CPosRefire
        goto Missile+2

      Pain.MightyBoot:
        TNT1 A 0 A_ChangeFlag("NOPAIN",1)
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        SSWV H 2 A_FaceTarget
        TNT1 A 0 A_Recoil(14)
        SSWV H 16 A_Pain
        Goto See

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        SSWV H 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorch","soundslot5",0,0)
        SSWV H 3 A_SpawnItem("ZorchEffectSmall")
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        SSWV H 3 A_SetTranslucent(0.9,0)
        SSWV H 0 A_Scream
        SSWV H 3 A_SetTranslucent(0.8,0)
        SSWV H 0 A_NoBlocking
        SSWV H 3 A_SetTranslucent(0.7,0)
        SSWV H 3 A_SetTranslucent(0.6,0)
        SSWV H 3 A_SetTranslucent(0.5,0)
        SSWV H 3 A_SetTranslucent(0.4,0)
        SSWV H 3 A_SetTranslucent(0.3,0)
        SSWV H 3 A_SetTranslucent(0.2,0)
        SSWV H 3 A_SetTranslucent(0.1,0)
        TNT1 A 1 A_SetTranslucent(1,0)
        TNT1 A -1
        stop

      Raise:
        TNT1 A 0 A_JumpIfInventory("EnemyZorched",1,"ZorchRaise")
        SSWV MLKJI 5
        goto See

      ZorchRaise:
        TNT1 A 1 A_UnsetShootable
        TNT1 A 1 A_SpawnItem("SpawnFire2")
        TNT1 A 0 A_PlaySound("archvile/resummon")
        TNT1 A 1 A_TakeInventory("EnemyZorched",1)
        TNT1 A 0 A_SetTranslucent(0.1,0)
        SSWV A 3 A_SetTranslucent(0.2,0)
        SSWV A 3 A_SetTranslucent(0.3,0)
        SSWV A 3 A_SetTranslucent(0.4,0)
        SSWV A 3 A_SetTranslucent(0.5,0)
        SSWV A 3 A_SetTranslucent(0.6,0)
        SSWV A 3 A_SetTranslucent(0.7,0)
        SSWV A 3 A_SetTranslucent(0.8,0)
        SSWV A 3 A_SetTranslucent(0.9,0)
        SSWV A 3 A_SetTranslucent(1,0)
        SSWV A 1 A_SetShootable
        Goto See

      Death.DukeIce:
        TNT1 A 0 A_PlaySound("duke/enemyfreeze")
        TNT1 A 0 A_GiveInventory("FreezethrowerWeakness")
        TNT1 A 0 A_Jump(218,"Ice")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        //TNT1 A 0 A_NoBlocking
        //TNT1 A 0 A_SpawnItem("NaziFrozen")
        SSWV H 0 A_GenericFreezeDeath
        SSWV H 70 A_UnsetSolid
        SSWV H 0 A_IceGuyDie
        SSWV H 1 A_IceGuyDie
        TNT1 A -1
        stop
    }
}

actor ShotgunGuy2 : ShotgunGuy replaces ShotgunGuy
{
    DamageFactor "Mace", 1.1
    DamageFactor "DragonClaw", 1.5
    PainChance "MightyBoot", 255
    +THRUGHOST
    +NOTDMATCH
    +NOICEDEATH
    dropitem "Shotgun2"
    states
    {
      Death.DukeDamage:

      Death.DukePistol:
        TNT1 A 0 A_Jump(218,"Death")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)
        goto Death

      Death.MightyBoot:
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        TNT1 A 0 A_Jump(64,"Death")
        TNT1 A 0 A_GiveToTarget("DukeBootTaunt",1)
        goto Death

      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        goto "Super::Death"

      Death.DukeExplosive:
        TNT1 A 0 A_JumpIfHealthLower(-3,"DukeGibStart")
        goto Death.DukeDamage

      DukeGibStart:
        TNT1 A 0 A_UnsetSolid
        TNT1 A 0 A_SpawnDebris("DukeGibs1")
        TNT1 A 0 A_SpawnDebris("DukeGibs2")
        TNT1 A 0 A_SpawnDebris("DukeGibs3")
        TNT1 A 0 A_SpawnDebris("DukeGibs4")
        TNT1 A 0 A_SpawnDebris("DukeGibs5")
        TNT1 A 0 A_SpawnDebris("DukeGibs6")
        TNT1 A 0 A_PlaySound("duke/enemygib")
        TNT1 A 0 A_Jump(96,"XDeath")
        TNT1 A 0 A_GiveToTarget("DukeGibTaunt",1)

      XDeath:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        goto "Super::XDeath"

      Missile:
        TNT1 A 0 A_ChangeFlag("NOPAIN",0)
        SPOS E 10 A_FaceTarget
        TNT1 A 0 A_PlaySound("shotguy/attack")
        TNT1 AAA 0 bright A_CustomMissile("DoomEnemyBullet",32,0,random(-22.5,22.5),8)
        SPOS F 10 bright
        SPOS E 10
        goto See

      Pain.MightyBoot:
        TNT1 A 0 A_ChangeFlag("NOPAIN",1)
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        SPOS G 2 A_FaceTarget
        TNT1 A 0 A_Recoil(14)
        SPOS G 16 A_Pain
        Goto See

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        SPOS G 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorch","soundslot5",0,0)
        SPOS G 3 A_SpawnItem("ZorchEffectSmall")
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        SPOS G 3 A_SetTranslucent(0.9,0)
        SPOS G 0 A_Scream
        SPOS G 3 A_SetTranslucent(0.8,0)
        SPOS G 0 A_NoBlocking
        SPOS G 3 A_SetTranslucent(0.7,0)
        SPOS G 3 A_SetTranslucent(0.6,0)
        SPOS G 3 A_SetTranslucent(0.5,0)
        SPOS G 3 A_SetTranslucent(0.4,0)
        SPOS G 3 A_SetTranslucent(0.3,0)
        SPOS G 3 A_SetTranslucent(0.2,0)
        SPOS G 3 A_SetTranslucent(0.1,0)
        TNT1 A 1 A_SetTranslucent(1,0)
        TNT1 A -1
        stop

      Raise:
        TNT1 A 0 A_JumpIfInventory("EnemyZorched",1,"ZorchRaise")
        SPOS LKJIH 5
        goto See

      ZorchRaise:
        TNT1 A 1 A_UnsetShootable
        TNT1 A 1 A_SpawnItem("SpawnFire2")
        TNT1 A 0 A_PlaySound("archvile/resummon")
        TNT1 A 1 A_TakeInventory("EnemyZorched",1)
        TNT1 A 0 A_SetTranslucent(0.1,0)
        SPOS A 3 A_SetTranslucent(0.2,0)
        SPOS A 3 A_SetTranslucent(0.3,0)
        SPOS A 3 A_SetTranslucent(0.4,0)
        SPOS A 3 A_SetTranslucent(0.5,0)
        SPOS A 3 A_SetTranslucent(0.6,0)
        SPOS A 3 A_SetTranslucent(0.7,0)
        SPOS A 3 A_SetTranslucent(0.8,0)
        SPOS A 3 A_SetTranslucent(0.9,0)
        SPOS A 3 A_SetTranslucent(1,0)
        SPOS A 1 A_SetShootable
        Goto See

      Death.DukeIce:
        TNT1 A 0 A_PlaySound("duke/enemyfreeze")
        TNT1 A 0 A_GiveInventory("FreezethrowerWeakness")
        TNT1 A 0 A_Jump(218,"Ice")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        //TNT1 A 0 A_NoBlocking
        //TNT1 A 0 A_SpawnItem("ShotgunGuyFrozen")
        SPOS G 0 A_GenericFreezeDeath
        SPOS G 70 A_UnsetSolid
        SPOS G 0 A_IceGuyDie
        SPOS G 1 A_IceGuyDie
        TNT1 A -1
        stop
    }
}

actor ChaingunGuy2 : ChaingunGuy replaces ChaingunGuy
{
    DamageFactor "Mace", 1.1
    DamageFactor "DragonClaw", 1.5
    PainChance "MightyBoot", 255
    +THRUGHOST
    +NOTDMATCH
    +NOICEDEATH
    dropitem "Chaingun2"
    states
    {
      Death.DukeDamage:

      Death.DukePistol:
        TNT1 A 0 A_Jump(218,"Death")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)
        goto Death

      Death.MightyBoot:
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        TNT1 A 0 A_Jump(64,"Death")
        TNT1 A 0 A_GiveToTarget("DukeBootTaunt",1)
        goto Death

      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        goto "Super::Death"

      Death.DukeExplosive:
        TNT1 A 0 A_JumpIfHealthLower(-3,"DukeGibStart")
        goto Death.DukeDamage

      DukeGibStart:
        TNT1 A 0 A_UnsetSolid
        TNT1 A 0 A_SpawnDebris("DukeGibs1")
        TNT1 A 0 A_SpawnDebris("DukeGibs2")
        TNT1 A 0 A_SpawnDebris("DukeGibs3")
        TNT1 A 0 A_SpawnDebris("DukeGibs4")
        TNT1 A 0 A_SpawnDebris("DukeGibs5")
        TNT1 A 0 A_SpawnDebris("DukeGibs6")
        TNT1 A 0 A_PlaySound("duke/enemygib")
        TNT1 A 0 A_Jump(96,"XDeath")
        TNT1 A 0 A_GiveToTarget("DukeGibTaunt",1)

      XDeath:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        goto "Super::XDeath"

      Missile:
        TNT1 A 0 A_ChangeFlag("NOPAIN",0)
        CPOS E 10 A_FaceTarget
        TNT1 A 0 A_PlaySound("chainguy/attack")
        CPOS F 4 bright A_CustomMissile("DoomEnemyBullet",32,0,random(-22.5,22.5),8)
        TNT1 A 0 A_PlaySound("chainguy/attack")
        CPOS E 4 bright A_CustomMissile("DoomEnemyBullet",32,0,random(-22.5,22.5),8)
        CPOS F 1 A_CPosRefire
        goto Missile+2

      Pain.MightyBoot:
        TNT1 A 0 A_ChangeFlag("NOPAIN",1)
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        CPOS G 2 A_FaceTarget
        TNT1 A 0 A_Recoil(14)
        CPOS G 16 A_Pain
        Goto See

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        CPOS G 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorch","soundslot5",0,0)
        CPOS G 3 A_SpawnItem("ZorchEffectSmall")
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        CPOS G 3 A_SetTranslucent(0.9,0)
        CPOS G 0 A_Scream
        CPOS G 3 A_SetTranslucent(0.8,0)
        CPOS G 0 A_NoBlocking
        CPOS G 3 A_SetTranslucent(0.7,0)
        CPOS G 3 A_SetTranslucent(0.6,0)
        CPOS G 3 A_SetTranslucent(0.5,0)
        CPOS G 3 A_SetTranslucent(0.4,0)
        CPOS G 3 A_SetTranslucent(0.3,0)
        CPOS G 3 A_SetTranslucent(0.2,0)
        CPOS G 3 A_SetTranslucent(0.1,0)
        TNT1 A 1 A_SetTranslucent(1,0)
        TNT1 A -1
        stop

      Raise:
        TNT1 A 0 A_JumpIfInventory("EnemyZorched",1,"ZorchRaise")
        CPOS NMLKJIH 5
        goto See

      ZorchRaise:
        TNT1 A 1 A_UnsetShootable
        TNT1 A 1 A_SpawnItem("SpawnFire2")
        TNT1 A 0 A_PlaySound("archvile/resummon")
        TNT1 A 1 A_TakeInventory("EnemyZorched",1)
        TNT1 A 0 A_SetTranslucent(0.1,0)
        CPOS A 3 A_SetTranslucent(0.2,0)
        CPOS A 3 A_SetTranslucent(0.3,0)
        CPOS A 3 A_SetTranslucent(0.4,0)
        CPOS A 3 A_SetTranslucent(0.5,0)
        CPOS A 3 A_SetTranslucent(0.6,0)
        CPOS A 3 A_SetTranslucent(0.7,0)
        CPOS A 3 A_SetTranslucent(0.8,0)
        CPOS A 3 A_SetTranslucent(0.9,0)
        CPOS A 3 A_SetTranslucent(1,0)
        CPOS A 1 A_SetShootable
        Goto See

      Death.DukeIce:
        TNT1 A 0 A_PlaySound("duke/enemyfreeze")
        TNT1 A 0 A_GiveInventory("FreezethrowerWeakness")
        TNT1 A 0 A_Jump(218,"Ice")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        //TNT1 A 0 A_NoBlocking
        //TNT1 A 0 A_SpawnItem("ChaingunGuyFrozen")
        CPOS G 0 A_GenericFreezeDeath
        CPOS G 70 A_UnsetSolid
        CPOS G 0 A_IceGuyDie
        CPOS G 1 A_IceGuyDie
        TNT1 A -1
        stop
    }
}

actor DoomDemon2 : Demon replaces Demon
{
    DamageFactor "Mace", 1.1
    DamageFactor "DragonClaw", 1.5
    PainChance "MightyBoot", 255
    +NOTDMATCH
    +NOICEDEATH
    states
    {
      Death.DukeExplosive:

      Death.DukeDamage:

      Death.DukePistol:
        TNT1 A 0 A_Jump(218,"Death")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)
        goto Death

      Death.MightyBoot:
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        TNT1 A 0 A_Jump(64,"Death")
        TNT1 A 0 A_GiveToTarget("DukeBootTaunt",1)
        goto Death

      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        goto "Super::Death"

      Pain.MightyBoot:
        TNT1 A 0 A_ChangeFlag("NOPAIN",1)
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        SARG H 2 A_FaceTarget
        TNT1 A 0 A_Recoil(12)
        SARG H 16 A_Pain
        Goto See

      Melee:
        TNT1 A 0 A_ChangeFlag("NOPAIN",0)
        goto "Super::Melee"

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        SARG H 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorch","soundslot5",0,0)
        SARG H 3 A_SpawnItem("ZorchEffectSmall")
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        SARG H 3 A_SetTranslucent(0.9,0)
        SARG H 0 A_PlaySound("chex/pinkyzorch")
        SARG H 3 A_SetTranslucent(0.8,0)
        SARG H 0 A_NoBlocking
        SARG H 3 A_SetTranslucent(0.7,0)
        SARG H 3 A_SetTranslucent(0.6,0)
        SARG H 3 A_SetTranslucent(0.5,0)
        SARG H 3 A_SetTranslucent(0.4,0)
        SARG H 3 A_SetTranslucent(0.3,0)
        SARG H 3 A_SetTranslucent(0.2,0)
        SARG H 3 A_SetTranslucent(0.1,0)
        TNT1 A 1 A_SetTranslucent(1,0)
        TNT1 A -1
        stop

      Raise:
        TNT1 A 0 A_JumpIfInventory("EnemyZorched",1,"ZorchRaise")
        SARG N 5
        SARG MLKJI 5
        Goto See

      ZorchRaise:
        TNT1 A 1 A_UnsetShootable
        TNT1 A 1 A_SpawnItem("SpawnFire2")
        TNT1 A 0 A_PlaySound("archvile/resummon")
        TNT1 A 1 A_TakeInventory("EnemyZorched",1)
        TNT1 A 0 A_SetTranslucent(0.1,0)
        SARG A 3 A_SetTranslucent(0.2,0)
        SARG A 3 A_SetTranslucent(0.3,0)
        SARG A 3 A_SetTranslucent(0.4,0)
        SARG A 3 A_SetTranslucent(0.5,0)
        SARG A 3 A_SetTranslucent(0.6,0)
        SARG A 3 A_SetTranslucent(0.7,0)
        SARG A 3 A_SetTranslucent(0.8,0)
        SARG A 3 A_SetTranslucent(0.9,0)
        SARG A 3 A_SetTranslucent(1,0)
        SARG A 1 A_SetShootable
        Goto See

      Death.DukeIce:
        TNT1 A 0 A_PlaySound("duke/enemyfreeze")
        TNT1 A 0 A_GiveInventory("FreezethrowerWeakness")
        TNT1 A 0 A_Jump(218,"Ice")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        TNT1 A 0 A_NoBlocking
        //TNT1 A 0 A_SpawnItem("DoomDemonFrozen")
        SARG H 0 A_GenericFreezeDeath
        SARG H 70 A_UnsetSolid
        SARG H 0 A_IceGuyDie
        SARG H 1 A_IceGuyDie
        TNT1 A -1
        stop
    }
}

actor Spectre2 : Spectre replaces Spectre
{
    DamageFactor "Mace", 1.1
    DamageFactor "DragonClaw", 1.5
    PainChance "MightyBoot", 255
    +NOTDMATCH
    +NOICEDEATH
    states
    {
      Death.DukeExplosive:

      Death.DukeDamage:

      Death.DukePistol:
        TNT1 A 0 A_Jump(218,"Death")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)
        goto Death

      Death.MightyBoot:
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        TNT1 A 0 A_Jump(64,"Death")
        TNT1 A 0 A_GiveToTarget("DukeBootTaunt",1)
        goto Death

      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        goto "Super::Death"

      Pain.MightyBoot:
        TNT1 A 0 A_ChangeFlag("NOPAIN",1)
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        SARG H 2 A_FaceTarget
        TNT1 A 0 A_Recoil(12)
        SARG H 16 A_Pain
        Goto See

      Melee:
        TNT1 A 0 A_ChangeFlag("NOPAIN",0)
        goto "Super::Melee"

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        SARG H 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorch","soundslot5",0,0)
        SARG H 3 A_SpawnItem("ZorchEffectSmall")
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        SARG H 3 A_SetTranslucent(0.9,2)
        SARG H 0 A_PlaySound("chex/pinkyzorch")
        SARG H 3 A_SetTranslucent(0.8,2)
        SARG H 0 A_NoBlocking
        SARG H 3 A_SetTranslucent(0.7,2)
        SARG H 3 A_SetTranslucent(0.6,2)
        SARG H 3 A_SetTranslucent(0.5,2)
        SARG H 3 A_SetTranslucent(0.4,2)
        SARG H 3 A_SetTranslucent(0.3,2)
        SARG H 3 A_SetTranslucent(0.2,2)
        SARG H 3 A_SetTranslucent(0.1,2)
        TNT1 A 1 A_SetTranslucent(1,0)
        TNT1 A -1
        stop

      Raise:
        TNT1 A 0 A_JumpIfInventory("EnemyZorched",1,"ZorchRaise")
        SARG N 5
        SARG MLKJI 5
        Goto See

      ZorchRaise:
        TNT1 A 1 A_UnsetShootable
        TNT1 A 1 A_SpawnItem("SpawnFire2")
        TNT1 A 0 A_PlaySound("archvile/resummon")
        TNT1 A 1 A_TakeInventory("EnemyZorched",1)
        TNT1 A 0 A_SetTranslucent(0.1,2)
        SARG A 3 A_SetTranslucent(0.2,2)
        SARG A 3 A_SetTranslucent(0.3,2)
        SARG A 3 A_SetTranslucent(0.4,2)
        SARG A 3 A_SetTranslucent(0.5,2)
        SARG A 3 A_SetTranslucent(0.6,2)
        SARG A 3 A_SetTranslucent(0.7,2)
        SARG A 3 A_SetTranslucent(0.8,2)
        SARG A 3 A_SetTranslucent(0.9,2)
        SARG A 3 A_SetTranslucent(1,2)
        SARG A 1 A_SetShootable
        Goto See

      Death.DukeIce:
        TNT1 A 0 A_PlaySound("duke/enemyfreeze")
        TNT1 A 0 A_GiveInventory("FreezethrowerWeakness")
        TNT1 A 0 A_Jump(218,"Ice")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        TNT1 A 0 A_NoBlocking
        SARG A 0 A_SetTranslucent(1,0)
        //TNT1 A 0 A_SpawnItem("DoomDemonFrozen")
        SARG H 0 A_GenericFreezeDeath
        SARG H 70 A_UnsetSolid
        SARG H 0 A_IceGuyDie
        SARG H 1 A_IceGuyDie
        TNT1 A -1
        stop
    }
}

actor LostSoul2 : LostSoul replaces LostSoul
{
    +NOBLOOD
    DamageFactor "Mace", 1.1
    DamageFactor "DragonClaw", 1.5
    PainChance "MightyBoot", 255
    +NOTDMATCH
    +NOICEDEATH
    states
    {
      Death.DukeIce:

      Death.DukeExplosive:

      Death.DukeDamage:

      Death.DukePistol:
        TNT1 A 0 A_Jump(218,"Death")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)
        goto Death

      Death.MightyBoot:
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        TNT1 A 0 A_Jump(64,"Death")
        TNT1 A 0 A_GiveToTarget("DukeBootTaunt",1)
        goto Death

      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        goto "Super::Death"

      Pain.MightyBoot:
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        SKUL E 2 BRIGHT A_FaceTarget
        TNT1 A 0 A_Recoil(14)
        SKUL E 16 BRIGHT A_Pain
        Goto See

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        SKUL E 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorchsmall","soundslot5",0,0)
        SKUL E 2 A_SpawnItem("ZorchEffectTiny")
        SKUL E 2 A_SetTranslucent(0.9,0)
        SKUL E 0 A_Scream
        SKUL E 2 A_SetTranslucent(0.8,0)
        SKUL E 0 A_NoBlocking
        SKUL E 2 A_SetTranslucent(0.7,0)
        SKUL E 2 A_SetTranslucent(0.6,0)
        SKUL E 2 A_SetTranslucent(0.5,0)
        SKUL E 2 A_SetTranslucent(0.4,0)
        SKUL E 2 A_SetTranslucent(0.3,0)
        SKUL E 2 A_SetTranslucent(0.2,0)
        SKUL E 2 A_SetTranslucent(0.1,0)
        TNT1 A 1 A_SetTranslucent(1,0)
        TNT1 A -1
        stop
    }
}

actor Archvile2 : Archvile replaces Archvile
{
    DamageFactor "Mace", 1.15
    DamageFactor "DragonClaw", 1.6
    PainChance "MightyBoot", 255
    +FIREDAMAGE
    +DONTRIP
    +NOTDMATCH
    +NOICEDEATH
    states
    {
      Death.DukeExplosive:

      Death.DukeDamage:

      Death.DukePistol:
        TNT1 A 0 A_Jump(218,"Death")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)
        goto Death

      Death.MightyBoot:
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        TNT1 A 0 A_Jump(64,"Death")
        TNT1 A 0 A_GiveToTarget("DukeBootTaunt",1)
        goto Death

      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        goto "Super::Death"

      Pain.MightyBoot:
        TNT1 A 0 A_ChangeFlag("NOPAIN",1)
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        VILE Q 2 A_FaceTarget
        TNT1 A 0 A_Recoil(12)
        VILE Q 16 A_Pain
        Goto See

      Missile:
        TNT1 A 0 A_ChangeFlag("NOPAIN",0)
        goto "Super::Missile"

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        VILE Q 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorch","soundslot5",0,0)
        VILE Q 4 A_SpawnItem("ZorchEffectBig")
        VILE Q 4 A_SetTranslucent(0.9,0)
        VILE Q 0 A_Scream
        VILE Q 4 A_SetTranslucent(0.8,0)
        VILE Q 0 A_NoBlocking
        VILE Q 4 A_SetTranslucent(0.7,0)
        VILE Q 4 A_SetTranslucent(0.6,0)
        VILE Q 4 A_SetTranslucent(0.5,0)
        VILE Q 4 A_SetTranslucent(0.4,0)
        VILE Q 4 A_SetTranslucent(0.3,0)
        VILE Q 4 A_SetTranslucent(0.2,0)
        VILE Q 4 A_SetTranslucent(0.1,0)
        TNT1 A 1 A_SetTranslucent(1,0)
        TNT1 A -1
        stop

      Death.DukeIce:
        TNT1 A 0 A_PlaySound("duke/enemyfreeze")
        TNT1 A 0 A_GiveInventory("FreezethrowerWeakness")
        TNT1 A 0 A_Jump(218,"Ice")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        TNT1 A 0 A_NoBlocking
        //TNT1 A 0 A_SpawnItem("ArchvileFrozen")
        VILE Q 0 A_GenericFreezeDeath
        VILE Q 70 A_UnsetSolid
        VILE Q 0 A_IceGuyDie
        VILE Q 1 A_IceGuyDie
        TNT1 A -1
        stop
    }
}

actor BaronOfHell2 : BaronOfHell replaces BaronOfHell
{
    DamageFactor "Mace", 1.15
    DamageFactor "DragonClaw", 1.6
    PainChance "MightyBoot", 255
    BloodColor darkolivegreen
    +DONTRIP
    +BOSSDEATH
    +NOTDMATCH
    +NOICEDEATH
    states
    {
      Melee:
        //TNT1 A 0 A_ChangeFlag("NOPAIN",0)
        //BOSS EF 8
        //BOSS G 8 A_CustomMeleeAttack(10,"baron/melee","baron/melee")
        //goto See
      Missile:
        TNT1 A 0 A_ChangeFlag("NOPAIN",0)
        BOSS EF 8 A_FaceTarget
        BOSS G 8 A_CustomComboAttack("BaronBall3", 32, 10 * random(1, 8), "baron/melee")//A_CustomMissile("BaronBall3")
        goto See

      Death.DukeExplosive:

      Death.DukeDamage:

      Death.DukePistol:
        TNT1 A 0 A_Jump(218,"Death")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)
        goto Death

      Death.MightyBoot:
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        TNT1 A 0 A_Jump(64,"Death")
        TNT1 A 0 A_GiveToTarget("DukeBootTaunt",1)
        goto Death

      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        goto "Super::Death"

      Pain.MightyBoot:
        TNT1 A 0 A_ChangeFlag("NOPAIN",1)
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        BOSS H 2 A_FaceTarget
        TNT1 A 0 A_Recoil(10)
        BOSS H 16 A_Pain
        Goto See

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        BOSS H 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorch","soundslot5",0,0)
        BOSS H 4 A_SpawnItem("ZorchEffectBig")
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        BOSS H 4 A_SetTranslucent(0.9,0)
        BOSS H 0 A_Scream
        BOSS H 4 A_SetTranslucent(0.8,0)
        BOSS H 0 A_NoBlocking
        BOSS H 4 A_SetTranslucent(0.7,0)
        BOSS H 4 A_SetTranslucent(0.6,0)
        BOSS H 4 A_SetTranslucent(0.5,0)
        BOSS H 4 A_SetTranslucent(0.4,0)
        BOSS H 4 A_SetTranslucent(0.3,0)
        BOSS H 4 A_SetTranslucent(0.2,0)
        BOSS H 4 A_SetTranslucent(0.1,0)
        TNT1 A 1 A_SetTranslucent(1,0)
        TNT1 A -1 A_BossDeath
        stop

      Raise:
        TNT1 A 0 A_JumpIfInventory("EnemyZorched",1,"ZorchRaise")
        BOSS ONMLKJI 8
        goto See

      ZorchRaise:
        TNT1 A 1 A_UnsetShootable
        TNT1 A 1 A_SpawnItem("SpawnFire2")
        TNT1 A 0 A_PlaySound("archvile/resummon")
        TNT1 A 1 A_TakeInventory("EnemyZorched",1)
        TNT1 A 0 A_SetTranslucent(0.1,0)
        BOSS A 3 A_SetTranslucent(0.2,0)
        BOSS A 3 A_SetTranslucent(0.3,0)
        BOSS A 3 A_SetTranslucent(0.4,0)
        BOSS A 3 A_SetTranslucent(0.5,0)
        BOSS A 3 A_SetTranslucent(0.6,0)
        BOSS A 3 A_SetTranslucent(0.7,0)
        BOSS A 3 A_SetTranslucent(0.8,0)
        BOSS A 3 A_SetTranslucent(0.9,0)
        BOSS A 3 A_SetTranslucent(1,0)
        BOSS A 1 A_SetShootable
        Goto See

      Death.DukeIce:
        TNT1 A 0 A_PlaySound("duke/enemyfreeze")
        TNT1 A 0 A_GiveInventory("FreezethrowerWeakness")
        TNT1 A 0 A_Jump(218,"Ice")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        TNT1 A 0 A_NoBlocking
        //TNT1 A 0 A_SpawnItem("BaronOfHellFrozen")
        BOSS H 0 A_GenericFreezeDeath
        BOSS H 70 A_UnsetSolid
        BOSS H 0 A_IceGuyDie
        BOSS H 1 A_IceGuyDie
        TNT1 A -1 A_BossDeath
        stop
    }
}

actor BaronBall3 : BaronBall
{
    DamageType "DoomHellNoble"
    -THRUGHOST
}

actor BaronBall2 : BaronBall replaces BaronBall
{
    DamageType "DoomHellNoble"
    +THRUGHOST
}

actor Hellknight2 : Hellknight replaces Hellknight
{
    DamageFactor "Mace", 1.15
    DamageFactor "DragonClaw", 1.6
    PainChance "MightyBoot", 255
    BloodColor darkolivegreen
    +DONTRIP
    +NOTDMATCH
    +NOICEDEATH
    states
    {
      Death.DukeExplosive:

      Death.DukeDamage:

      Death.DukePistol:
        TNT1 A 0 A_Jump(218,"Death")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)
        goto Death

      Death.MightyBoot:
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        TNT1 A 0 A_Jump(64,"Death")
        TNT1 A 0 A_GiveToTarget("DukeBootTaunt",1)
        goto Death

      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        goto "Super::Death"

      Pain.MightyBoot:
        TNT1 A 0 A_ChangeFlag("NOPAIN",1)
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        BOS2 H 2 A_FaceTarget
        TNT1 A 0 A_Recoil(10)
        BOS2 H 16 A_Pain
        goto See

      Missile:
        TNT1 A 0 A_ChangeFlag("NOPAIN",0)
        goto "Super::Missile"

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        BOS2 H 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorch","soundslot5",0,0)
        BOS2 H 4 A_SpawnItem("ZorchEffectBig")
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        BOS2 H 4 A_SetTranslucent(0.9,0)
        BOS2 H 0 A_Scream
        BOS2 H 4 A_SetTranslucent(0.8,0)
        BOS2 H 0 A_NoBlocking
        BOS2 H 4 A_SetTranslucent(0.7,0)
        BOS2 H 4 A_SetTranslucent(0.6,0)
        BOS2 H 4 A_SetTranslucent(0.5,0)
        BOS2 H 4 A_SetTranslucent(0.4,0)
        BOS2 H 4 A_SetTranslucent(0.3,0)
        BOS2 H 4 A_SetTranslucent(0.2,0)
        BOS2 H 4 A_SetTranslucent(0.1,0)
        TNT1 A 1 A_SetTranslucent(1,0)
        TNT1 A -1 A_BossDeath
        stop

      Raise:
        TNT1 A 0 A_JumpIfInventory("EnemyZorched",1,"ZorchRaise")
        BOS2 ONMLKJI 8
        goto See

      ZorchRaise:
        TNT1 A 1 A_UnsetShootable
        TNT1 A 1 A_SpawnItem("SpawnFire2")
        TNT1 A 0 A_PlaySound("archvile/resummon")
        TNT1 A 1 A_TakeInventory("EnemyZorched",1)
        TNT1 A 0 A_SetTranslucent(0.1,0)
        BOS2 A 3 A_SetTranslucent(0.2,0)
        BOS2 A 3 A_SetTranslucent(0.3,0)
        BOS2 A 3 A_SetTranslucent(0.4,0)
        BOS2 A 3 A_SetTranslucent(0.5,0)
        BOS2 A 3 A_SetTranslucent(0.6,0)
        BOS2 A 3 A_SetTranslucent(0.7,0)
        BOS2 A 3 A_SetTranslucent(0.8,0)
        BOS2 A 3 A_SetTranslucent(0.9,0)
        BOS2 A 3 A_SetTranslucent(1,0)
        BOS2 A 1 A_SetShootable
        Goto See

      Death.DukeIce:
        TNT1 A 0 A_PlaySound("duke/enemyfreeze")
        TNT1 A 0 A_GiveInventory("FreezethrowerWeakness")
        TNT1 A 0 A_Jump(218,"Ice")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        TNT1 A 0 A_NoBlocking
        //TNT1 A 0 A_SpawnItem("HellKnightFrozen")
        BOS2 H 0 A_GenericFreezeDeath
        BOS2 H 70 A_UnsetSolid
        BOS2 H 0 A_IceGuyDie
        BOS2 H 1 A_IceGuyDie
        TNT1 A -1 A_BossDeath
        stop
    }
}

actor Cacodemon2 : Cacodemon replaces Cacodemon
{
    DamageFactor "Mace", 1.1
    DamageFactor "DragonClaw", 1.5
    PainChance "MightyBoot", 255
    BloodColor blue
    +NOTDMATCH
    +NOICEDEATH
    states
    {
      Death.DukeExplosive:

      Death.DukeDamage:

      Death.DukePistol:
        TNT1 A 0 A_Jump(218,"Death")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)
        goto Death

      Death.MightyBoot:
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        TNT1 A 0 A_Jump(64,"Death")
        TNT1 A 0 A_GiveToTarget("DukeBootTaunt",1)
        goto Death

      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        goto "Super::Death"

      Pain.MightyBoot:
        TNT1 A 0 A_ChangeFlag("NOPAIN",1)
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        HEAD F 2 A_FaceTarget
        TNT1 A 0 A_Recoil(14)
        HEAD F 16 A_Pain
        goto See

      Missile:
        TNT1 A 0 A_ChangeFlag("NOPAIN",0)
        goto "Super::Missile"

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoGravity
        HEAD F 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorch","soundslot5",0,0)
        HEAD F 4 A_SpawnItem("ZorchEffectBig")
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        HEAD F 4 A_SetTranslucent(0.9,0)
        HEAD F 0 A_Scream
        HEAD F 4 A_SetTranslucent(0.8,0)
        HEAD F 4 A_SetTranslucent(0.7,0)
        HEAD F 4 A_SetTranslucent(0.6,0)
        HEAD F 4 A_SetTranslucent(0.5,0)
        HEAD F 4 A_SetTranslucent(0.4,0)
        HEAD F 4 A_SetTranslucent(0.3,0)
        HEAD F 4 A_SetTranslucent(0.2,0)
        HEAD F 4 A_SetTranslucent(0.1,0)
        TNT1 A 1 A_SetTranslucent(1,0)
        TNT1 A 0 A_Gravity
        TNT1 A -1 A_NoBlocking
        stop

      Raise:
        TNT1 A 0 A_JumpIfInventory("EnemyZorched",1,"ZorchRaise")
        HEAD L 8 A_UnSetFloorClip
        HEAD KJIHG 8
        goto See

      ZorchRaise:
        TNT1 A 1 A_UnsetShootable
        TNT1 A 1 A_SpawnItem("SpawnFire2")
        TNT1 A 0 A_PlaySound("archvile/resummon")
        TNT1 A 1 A_TakeInventory("EnemyZorched",1)
        TNT1 A 0 A_NoGravity
        TNT1 A 0 A_SetTranslucent(0.1,0)
        HEAD A 3 A_SetTranslucent(0.2,0)
        HEAD A 3 A_SetTranslucent(0.3,0)
        HEAD A 3 A_SetTranslucent(0.4,0)
        HEAD A 3 A_SetTranslucent(0.5,0)
        HEAD A 3 A_SetTranslucent(0.6,0)
        HEAD A 3 A_SetTranslucent(0.7,0)
        HEAD A 3 A_SetTranslucent(0.8,0)
        HEAD A 3 A_SetTranslucent(0.9,0)
        HEAD A 3 A_SetTranslucent(1,0)
        HEAD A 1 A_SetShootable
        Goto See

      Death.DukeIce:
        TNT1 A 0 A_PlaySound("duke/enemyfreeze")
        TNT1 A 0 A_GiveInventory("FreezethrowerWeakness")
        TNT1 A 0 A_Jump(218,"Ice")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_Gravity
        TNT1 A 0 A_SetFloorClip
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        TNT1 A 0 A_NoBlocking
        //TNT1 A 0 A_SpawnItem("CacodemonFrozen")
        HEAD E 0 A_GenericFreezeDeath
        HEAD E 70 A_UnsetSolid
        HEAD E 0 A_IceGuyDie
        HEAD E 1 A_IceGuyDie
        TNT1 A -1
        stop
    }
}

actor CacodemonBall2 : CacodemonBall replaces CacodemonBall
{
    DamageType "DoomCacodemon"
    +THRUGHOST
}

actor PainElemental2 : PainElemental replaces PainElemental
{
    DamageFactor "Mace", 1.1
    DamageFactor "DragonClaw", 1.5
    PainChance "MightyBoot", 255
    +NOTDMATCH
    +NOICEDEATH
    states
    {
      Death.DukeExplosive:

      Death.DukeDamage:

      Death.DukePistol:
        TNT1 A 0 A_Jump(218,"Death")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)
        goto Death

      Death.MightyBoot:
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        TNT1 A 0 A_Jump(64,"Death")
        TNT1 A 0 A_GiveToTarget("DukeBootTaunt",1)
        goto Death

      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        goto "Super::Death"

      Pain.MightyBoot:
        TNT1 A 0 A_ChangeFlag("NOPAIN",1)
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        PAIN E 2 A_FaceTarget
        TNT1 A 0 A_Recoil(14)
        PAIN E 16 A_Pain
        goto See

      Missile:
        TNT1 A 0 A_ChangeFlag("NOPAIN",0)
        goto "Super::Missile"

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoGravity
        PAIN E 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorch","soundslot5",0,0)
        PAIN E 4 A_SpawnItem("ZorchEffectBig")
        PAIN E 4 A_SetTranslucent(0.9,0)
        PAIN E 0 A_Scream
        TNT1 A 0 A_PainDie
        PAIN E 4 A_SetTranslucent(0.8,0)
        PAIN E 4 A_SetTranslucent(0.7,0)
        PAIN E 4 A_SetTranslucent(0.6,0)
        PAIN E 4 A_SetTranslucent(0.5,0)
        PAIN E 4 A_SetTranslucent(0.4,0)
        PAIN E 4 A_SetTranslucent(0.3,0)
        PAIN E 4 A_SetTranslucent(0.2,0)
        PAIN E 4 A_SetTranslucent(0.1,0)
        TNT1 A 1 A_SetTranslucent(1,0)
        TNT1 A 0 A_Gravity
        TNT1 A -1 A_NoBlocking
        stop

      Death.DukeIce:
        TNT1 A 0 A_PlaySound("duke/enemyfreeze")
        TNT1 A 0 A_GiveInventory("FreezethrowerWeakness")
        TNT1 A 0 A_Jump(218,"Ice")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_Gravity
        TNT1 A 0 A_SetFloorClip
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        TNT1 A 0 A_PainDie
        //TNT1 A 0 A_SpawnItem("PainElementalFrozen")
        PAIN E 0 A_GenericFreezeDeath
        PAIN E 70 A_UnsetSolid
        PAIN E 1 A_NoBlocking
        PAIN E 0 A_IceGuyDie
        PAIN E 1 A_IceGuyDie
        TNT1 A -1
        stop
    }
}

actor Arachnotron2 : Arachnotron replaces Arachnotron
{
    DamageFactor "Mace", 1.1
    DamageFactor "DragonClaw", 1.5
    DamageFactor "MarathonFusion", 2.0
    PainChance "MightyBoot", 255
    +DONTRIP
    +BOSSDEATH
    +NOTDMATCH
    +NOICEDEATH
    states
    {
      Death.DukeExplosive:

      Death.DukeDamage:

      Death.DukePistol:
        TNT1 A 0 A_Jump(218,"Death")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)
        goto Death

      Death.MightyBoot:
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        TNT1 A 0 A_Jump(64,"Death")
        TNT1 A 0 A_GiveToTarget("DukeBootTaunt",1)
        goto Death

      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        goto "Super::Death"

      Pain.MightyBoot:
        TNT1 A 0 A_ChangeFlag("NOPAIN",1)
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        BSPI I 2 A_FaceTarget
        TNT1 A 0 A_Recoil(8)
        BSPI I 16 A_Pain
        goto See

      Missile:
        TNT1 A 0 A_ChangeFlag("NOPAIN",0)
        goto "Super::Missile"

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        BSPI I 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorch","soundslot5",0,0)
        BSPI I 4 A_SpawnItem("ZorchEffectWide")
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        BSPI I 4 A_SetTranslucent(0.9,0)
        BSPI I 0 A_Pain
        BSPI I 4 A_SetTranslucent(0.8,0)
        BSPI I 0 A_NoBlocking
        BSPI I 4 A_SetTranslucent(0.7,0)
        BSPI I 4 A_SetTranslucent(0.6,0)
        BSPI I 4 A_SetTranslucent(0.5,0)
        BSPI I 4 A_SetTranslucent(0.4,0)
        BSPI I 4 A_SetTranslucent(0.3,0)
        BSPI I 4 A_SetTranslucent(0.2,0)
        BSPI I 4 A_SetTranslucent(0.1,0)
        TNT1 A 1 A_SetTranslucent(1,0)
        TNT1 A -1 A_BossDeath
        stop

      Raise:
        TNT1 A 0 A_JumpIfInventory("EnemyZorched",1,"ZorchRaise")
        BSPI PONMLKJ 5
        goto See+1

      ZorchRaise:
        TNT1 A 1 A_UnsetShootable
        TNT1 A 1 A_SpawnItem("SpawnFire2")
        TNT1 A 0 A_PlaySound("archvile/resummon")
        TNT1 A 1 A_TakeInventory("EnemyZorched",1)
        TNT1 A 0 A_SetTranslucent(0.1,0)
        BSPI A 3 A_SetTranslucent(0.2,0)
        BSPI A 3 A_SetTranslucent(0.3,0)
        BSPI A 3 A_SetTranslucent(0.4,0)
        BSPI A 3 A_SetTranslucent(0.5,0)
        BSPI A 3 A_SetTranslucent(0.6,0)
        BSPI A 3 A_SetTranslucent(0.7,0)
        BSPI A 3 A_SetTranslucent(0.8,0)
        BSPI A 3 A_SetTranslucent(0.9,0)
        BSPI A 3 A_SetTranslucent(1,0)
        BSPI A 1 A_SetShootable
        Goto See+1

      Death.DukeIce:
        TNT1 A 0 A_PlaySound("duke/enemyfreeze")
        TNT1 A 0 A_GiveInventory("FreezethrowerWeakness")
        TNT1 A 0 A_Jump(218,"Ice")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        //TNT1 A 0 A_SpawnItem("ArachnotronFrozen")
        BSPI I 0 A_GenericFreezeDeath
        BSPI I 70 A_UnsetSolid
        BSPI I 0 A_IceGuyDie
        BSPI I 1 A_IceGuyDie
        TNT1 A -1 A_BossDeath
        stop
    }
}

actor ArachnotronPlasma2 : ArachnotronPlasma replaces ArachnotronPlasma
{
    DamageType "DoomSpiderPlasma"
}

actor Fatso2 : Fatso replaces Fatso
{
    DamageFactor "Mace", 1.1
    DamageFactor "DragonClaw", 1.5
    DamageFactor "MarathonFusion", 2.0
    PainChance "MightyBoot", 255
    +DONTRIP
    +BOSSDEATH
    +NOTDMATCH
    +NOICEDEATH
    states
    {
      Death.DukeExplosive:

      Death.DukeDamage:

      Death.DukePistol:
        TNT1 A 0 A_Jump(218,"Death")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)
        goto Death

      Death.MightyBoot:
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        TNT1 A 0 A_Jump(64,"Death")
        TNT1 A 0 A_GiveToTarget("DukeBootTaunt",1)
        goto Death

      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        goto "Super::Death"

      Pain.MightyBoot:
        TNT1 A 0 A_ChangeFlag("NOPAIN",1)
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        FATT J 2 A_FaceTarget
        TNT1 A 0 A_Recoil(8)
        FATT J 16 A_Pain
        goto See

      Missile:
        TNT1 A 0 A_ChangeFlag("NOPAIN",0)
        goto "Super::Missile"

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        FATT J 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorch","soundslot5",0,0)
        FATT J 4 A_SpawnItem("ZorchEffectWide")
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        FATT J 4 A_SetTranslucent(0.9,0)
        FATT J 0 A_Pain
        FATT J 4 A_SetTranslucent(0.8,0)
        FATT J 0 A_NoBlocking
        FATT J 4 A_SetTranslucent(0.7,0)
        FATT J 4 A_SetTranslucent(0.6,0)
        FATT J 4 A_SetTranslucent(0.5,0)
        FATT J 4 A_SetTranslucent(0.4,0)
        FATT J 4 A_SetTranslucent(0.3,0)
        FATT J 4 A_SetTranslucent(0.2,0)
        FATT J 4 A_SetTranslucent(0.1,0)
        TNT1 A 1 A_SetTranslucent(1,0)
        TNT1 A -1 A_BossDeath
        stop

      Raise:
        TNT1 A 0 A_JumpIfInventory("EnemyZorched",1,"ZorchRaise")
        FATT RQPONMLK 5
        goto See

      ZorchRaise:
        TNT1 A 1 A_UnsetShootable
        TNT1 A 1 A_SpawnItem("SpawnFire2")
        TNT1 A 0 A_PlaySound("archvile/resummon")
        TNT1 A 1 A_TakeInventory("EnemyZorched",1)
        TNT1 A 0 A_SetTranslucent(0.1,0)
        FATT A 3 A_SetTranslucent(0.2,0)
        FATT A 3 A_SetTranslucent(0.3,0)
        FATT A 3 A_SetTranslucent(0.4,0)
        FATT A 3 A_SetTranslucent(0.5,0)
        FATT A 3 A_SetTranslucent(0.6,0)
        FATT A 3 A_SetTranslucent(0.7,0)
        FATT A 3 A_SetTranslucent(0.8,0)
        FATT A 3 A_SetTranslucent(0.9,0)
        FATT A 3 A_SetTranslucent(1,0)
        FATT A 1 A_SetShootable
        Goto See+1

      Death.DukeIce:
        TNT1 A 0 A_PlaySound("duke/enemyfreeze")
        TNT1 A 0 A_GiveInventory("FreezethrowerWeakness")
        TNT1 A 0 A_Jump(218,"Ice")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        TNT1 A 0 A_NoBlocking
        //TNT1 A 0 A_SpawnItem("FatsoFrozen")
        FATT J 0 A_GenericFreezeDeath
        FATT J 70 A_UnsetSolid
        FATT J 0 A_IceGuyDie
        FATT J 1 A_IceGuyDie
        TNT1 A -1 A_BossDeath
        stop
    }
}

actor FatShot2 : FatShot replaces FatShot
{
    +THRUGHOST
    +FIREDAMAGE
}

actor Revenant2 : Revenant replaces Revenant
{
    DamageFactor "Mace", 1.1
    DamageFactor "DragonClaw", 1.5
    DamageFactor "MarathonFusion", 2.0
    PainChance "MightyBoot", 255
    +NOTDMATCH
    +NOICEDEATH
    states
    {
      Death.DukeExplosive:

      Death.DukeDamage:

      Death.DukePistol:
        TNT1 A 0 A_Jump(218,"Death")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)
        goto Death

      Death.MightyBoot:
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        TNT1 A 0 A_Jump(64,"Death")
        TNT1 A 0 A_GiveToTarget("DukeBootTaunt",1)
        goto Death

      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        goto "Super::Death"

      Pain.MightyBoot:
        TNT1 A 0 A_ChangeFlag("NOPAIN",1)
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        SKEL L 2 A_FaceTarget
        TNT1 A 0 A_Recoil(12)
        SKEL L 16 A_Pain
        goto See

      Missile:
        TNT1 A 0 A_ChangeFlag("NOPAIN",0)
        SKEL J 1 Bright A_FaceTarget
        SKEL J 9 Bright A_FaceTarget
        SKEL K 0 A_Jump(128, "HomingMissile")
        SKEL K 10 A_CustomMissile("RevenantTracerDumbfire", 48)
        Goto EndMissile

      HomingMissile:
        SKEL K 10 A_CustomMissile("RevenantTracerHoming", 48)
        // Intentional fallthrough.
      EndMissile:
        SKEL K 10 A_FaceTarget
        Goto See

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        SKEL L 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorch","soundslot5",0,0)
        SKEL L 4 A_SpawnItem("ZorchEffectBig")
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        SKEL L 4 A_SetTranslucent(0.9,0)
        SKEL L 0 A_Pain
        SKEL L 4 A_SetTranslucent(0.8,0)
        SKEL L 0 A_NoBlocking
        SKEL L 4 A_SetTranslucent(0.7,0)
        SKEL L 4 A_SetTranslucent(0.6,0)
        SKEL L 4 A_SetTranslucent(0.5,0)
        SKEL L 4 A_SetTranslucent(0.4,0)
        SKEL L 4 A_SetTranslucent(0.3,0)
        SKEL L 4 A_SetTranslucent(0.2,0)
        SKEL L 4 A_SetTranslucent(0.1,0)
        TNT1 A 1 A_SetTranslucent(1,0)
        TNT1 A -1
        stop

      Raise:
        TNT1 A 0 A_JumpIfInventory("EnemyZorched",1,"ZorchRaise")
        SKEL Q 5
        SKEL PONML 5
        Goto See

      ZorchRaise:
        TNT1 A 1 A_UnsetShootable
        TNT1 A 1 A_SpawnItem("SpawnFire2")
        TNT1 A 0 A_PlaySound("archvile/resummon")
        TNT1 A 1 A_TakeInventory("EnemyZorched",1)
        TNT1 A 0 A_SetTranslucent(0.1,0)
        SKEL A 3 A_SetTranslucent(0.2,0)
        SKEL A 3 A_SetTranslucent(0.3,0)
        SKEL A 3 A_SetTranslucent(0.4,0)
        SKEL A 3 A_SetTranslucent(0.5,0)
        SKEL A 3 A_SetTranslucent(0.6,0)
        SKEL A 3 A_SetTranslucent(0.7,0)
        SKEL A 3 A_SetTranslucent(0.8,0)
        SKEL A 3 A_SetTranslucent(0.9,0)
        SKEL A 3 A_SetTranslucent(1,0)
        SKEL A 1 A_SetShootable
        Goto See+1

      Death.DukeIce:
        TNT1 A 0 A_PlaySound("duke/enemyfreeze")
        TNT1 A 0 A_GiveInventory("FreezethrowerWeakness")
        TNT1 A 0 A_Jump(218,"Ice")
        TNT1 A 0 A_GiveToTarget("DukeKillTaunt",1)

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        TNT1 A 0 A_NoBlocking
        SKEL L 0 A_GenericFreezeDeath
        SKEL L 70 A_UnsetSolid
        SKEL L 0 A_IceGuyDie
        SKEL L 1 A_IceGuyDie
        TNT1 A -1
        stop
    }
}

actor RevenantTracerDumbfire : RevenantTracer {
    Decal RevenantScorch
    +THRUGHOST
    DamageType "DoomTheseGuysAreTheBest"
    states {

      Spawn:
        FATB AB 2 bright
        loop
    }
}

actor RevenantTracerHoming : RevenantTracer {
    Decal RevenantScorch
    -THRUGHOST
    DamageType "DoomTheseGuysAreTheBest"
    states {

      Spawn:
        FATB A 1 bright A_Tracer
        FATB A 1 bright A_Tracer
        FATB B 1 bright A_Tracer
        FATB B 1 bright A_Tracer
        loop
    }
}

actor SpiderMastermind2 : Spidermastermind replaces Spidermastermind
{
    DamageFactor "Mace", 1.15
    DamageFactor "DragonClaw", 1.6
    DamageFactor "MarathonFusion", 2.0
    DamageFactor "WMCNade", 0.75
    +DONTRIP
    +BOSSDEATH
    +NOTDMATCH
    +NOICEDEATH
    states
    {
      See:
        TNT1 A 0 A_JumpIfInventory("DukeBossSee",1,"See2")
        TNT1 A 0 A_GiveInventory("DukeBossSee",1)
        TNT1 A 0 A_GiveToTarget("DukeBossSightTaunt")

      See2:
        SPID A 3 A_Metal
        SPID ABB 3 A_Chase
        SPID C 3 A_Metal
        SPID CDD 3 A_Chase
        SPID E 3 A_Metal
        SPID EFF 3 A_Chase
        loop

      Death.DukeDamage:

      Death.MightyBoot:

      Death.DukeExplosive:

      Death.DukePistol:
        TNT1 A 0 A_GiveToTarget("DukeBossKillTaunt",1)

      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        goto "Super::Death"

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        SPID I 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorchhuge","soundslot5",0,0)
        SPID I 8 A_SpawnItem("ZorchEffectHuge")
        SPID I 8 A_SetTranslucent(0.9,0)
        SPID I 0 A_PlaySoundEx("chex/spidmzorch","soundslot6",0,2)
        SPID I 8 A_SetTranslucent(0.8,0)
        SPID I 0 A_NoBlocking
        SPID I 8 A_SetTranslucent(0.7,0)
        SPID I 8 A_SetTranslucent(0.6,0)
        SPID I 8 A_SetTranslucent(0.5,0)
        SPID I 8 A_SetTranslucent(0.4,0)
        SPID I 8 A_SetTranslucent(0.3,0)
        SPID I 8 A_SetTranslucent(0.2,0)
        SPID I 8 A_SetTranslucent(0.1,0)
        TNT1 A 1 A_SetTranslucent(1,0)
        TNT1 A -1 A_BossDeath
        stop

      Death.DukeIce:
        TNT1 A 0 A_GiveToTarget("DukeBossKillTaunt",1)

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        //TNT1 A 0 A_SpawnItem("SpidermindFrozen")
        SPID I 0 A_PlaySoundEx("freeze/spidermind","soundslot6",0,0)
        SPID I 0 A_GenericFreezeDeath
        SPID I 0 A_UnsetShootable
        SPID I 140 A_UnsetSolid
        SPID I 0 A_PlaySoundEx("freeze/break","soundslot6",0,0)
        SPID IIIIIIIIIIIIIIIIIIIIIIIIIIIIII 0 A_SpawnItemEx("IceChunk2",random(-1,1),random(-1,1),random(16,96),random(-2,2),random(-2,2),random(5,15))//A_SpawnDebris("IceChunk2")
        SPID I 0 A_IceGuyDie
        SPID I 1 A_IceGuyDie
        TNT1 A -1 A_BossDeath
        stop
    }
}

actor IceChunk2 : IceChunk { Health 30 +CLIENTSIDEONLY -SOLID }

actor Cyberdemon2 : Cyberdemon replaces Cyberdemon
{
    DamageFactor "Mace", 1.15
    DamageFactor "DragonClaw", 1.6
    DamageFactor "MarathonFusion", 2.0
    DamageFactor "WMCNade", 0.75
    +DONTRIP
    +BOSSDEATH
    +NOTDMATCH
    +NOICEDEATH
    states
    {
      See:
        TNT1 A 0 A_JumpIfInventory("DukeBossSee",1,"See2")
        TNT1 A 0 A_GiveInventory("DukeBossSee",1)
        TNT1 A 0 A_GiveToTarget("DukeBossSightTaunt")

      See2:
        CYBR A 3 A_Hoof
        CYBR ABBCC 3 A_Chase
        CYBR D 3 A_Metal
        CYBR D 3
        loop

      Death.DukeDamage:

      Death.MightyBoot:

      Death.DukeExplosive:

      Death.DukePistol:
        TNT1 A 0 A_GiveToTarget("DukeBossKillTaunt",1)

      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        goto "Super::Death"

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        CYBR G 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorchhuge","soundslot5",0,0)
        CYBR G 8 A_SpawnItem("ZorchEffectHuge")
        CYBR G 8 A_SetTranslucent(0.9,0)
        CYBR G 0 A_PlaySoundEx("chex/cyberzorch","soundslot6",0,2)
        CYBR G 8 A_SetTranslucent(0.8,0)
        CYBR G 0 A_NoBlocking
        CYBR G 8 A_SetTranslucent(0.7,0)
        CYBR G 8 A_SetTranslucent(0.6,0)
        CYBR G 8 A_SetTranslucent(0.5,0)
        CYBR G 8 A_SetTranslucent(0.4,0)
        CYBR G 8 A_SetTranslucent(0.3,0)
        CYBR G 8 A_SetTranslucent(0.2,0)
        CYBR G 8 A_SetTranslucent(0.1,0)
        TNT1 A 1 A_SetTranslucent(1,0)
        TNT1 A -1 A_BossDeath
        stop

      Death.DukeIce:
        TNT1 A 0 A_GiveToTarget("DukeBossKillTaunt",1)

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        //TNT1 A 0 A_SpawnItem("CyberdemonFrozen")
        CYBR G 0 A_PlaySoundEx("freeze/cyberdemon","soundslot6",0,0)
        CYBR G 0 A_GenericFreezeDeath
        CYBR G 0 A_UnsetShootable
        CYBR G 140 A_UnsetSolid
        CYBR G 0 A_PlaySoundEx("freeze/break","soundslot6",0,0)
        CYBR GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG 0 A_SpawnItemEx("IceChunk2",random(-1,1),random(-1,1),random(16,96),random(-2,2),random(-2,2),random(5,15))//A_SpawnDebris("IceChunk2")
        CYBR G 0 A_IceGuyDie
        CYBR G 1 A_IceGuyDie
        TNT1 A -1 A_BossDeath
        stop
    }
}

actor CyberRocket : Rocket replaces Rocket
{
    DamageType "Explosive"
}

// Stealth monsters!
actor StealthArachnotron2 : Arachnotron2 replaces StealthArachnotron
{
    +STEALTH
    RenderStyle Translucent
    Alpha 0
    Obituary "$OB_STEALTHBABY"
}

actor StealthArchvile2 : Archvile2 replaces StealthArchvile
{
    +STEALTH
    RenderStyle Translucent
    Alpha 0
    Obituary "$OB_STEALTHVILE"
}

actor StealthBaron2 : BaronOfHell2 replaces StealthBaron
{
    +STEALTH
    RenderStyle Translucent
    Alpha 0
    Obituary "$OB_STEALTHBARON"
    HitObituary "$OB_STEALTHBARON"
}

actor StealthHellKnight2 : HellKnight2 replaces StealthHellKnight
{
    +STEALTH
    RenderStyle Translucent
    Alpha 0
    Obituary "$OB_STEALTHKNIGHT"
    HitObituary "$OB_STEALTHKNIGHT"
}

actor StealthCacodemon2 : Cacodemon2 replaces StealthCacodemon
{
    +STEALTH
    RenderStyle Translucent
    Alpha 0
    Obituary "$OB_STEALTHCACO"
    HitObituary "$OB_STEALTHCACO"
}

actor StealthDemon2 : DoomDemon2 replaces StealthDemon
{
    +STEALTH
    RenderStyle Translucent
    Alpha 0
    Obituary "$OB_STEALTHDEMON"
    HitObituary "$OB_STEALTHDEMON"
}

actor StealthChaingunGuy2 : ChaingunGuy2 replaces StealthChaingunGuy
{
    +STEALTH
    RenderStyle Translucent
    Alpha 0
    Obituary "$OB_STEALTHCHAINGUY"
}

actor StealthDoomImp2 : DoomImp2 replaces StealthDoomImp
{
    +STEALTH
    RenderStyle Translucent
    Alpha 0
    Obituary "$OB_STEALTHIMP"
    HitObituary "$OB_STEALTHIMP"
}

actor StealthFatso2 : Fatso2 replaces StealthFatso
{
    +STEALTH
    RenderStyle Translucent
    Alpha 0
    Obituary "$OB_STEALTHFATSO"
}

actor StealthRevenant2 : Revenant2 replaces StealthRevenant
{
    +STEALTH
    RenderStyle Translucent
    Alpha 0
    Obituary "$OB_STEALTHUNDEAD"
    HitObituary "$OB_STEALTHUNDEAD"
}

actor StealthShotgunGuy2 : ShotgunGuy2 replaces StealthShotgunGuy
{
    +STEALTH
    RenderStyle Translucent
    Alpha 0
    Obituary "$OB_STEALTHSHOTGUNGUY"
}

actor StealthZombieman2 : Zombieman2 replaces StealthZombieman
{
    +STEALTH
    RenderStyle Translucent
    Alpha 0
    Obituary "$OB_STEALTHZOMBIE"
}
