// HeXen spawners for compatibility. Wahey!
actor ZPoisonShroom2 : ZPoisonShroom replaces ZPoisonShroom { +DONTRIP }

actor HexenAmmo12Small : CustomInventory replaces Mana1
{
    Inventory.PickupMessage "Picked up 10 of Ammo 2 and Ammo 1."
    Inventory.PickupSound "ammogem/bulletsmall"
    +FLOATBOB
    States
    {
      Spawn:
        AMSM E 20
        AMSM E 20 BRIGHT
        loop

      Pickup:
        TNT1 A 0 A_JumpIfInventory("MarathonClass",1,"PickupMarathon")
        TNT1 A 0 A_JumpIfInventory("HexenClass",1,"PickupWolfen")
        TNT1 A 0 A_JumpIfInventory("WolfenClass",1,"PickupWolfen")
        TNT1 A 0 A_JumpIfInventory("AmmoShell",0,"PickupFailCheck")
        TNT1 A 0 A_JumpIfInventory("Clip",0,"PickupFailCheck2")
        TNT1 A 0 A_GiveInventory("AmmoShell",10)
        TNT1 A 0 A_GiveInventory("Clip",10)
        TNT1 A 0 A_GiveInventory("LavaNails",2)
        stop

      PickupMarathon:
        TNT1 A 0 A_JumpIfInventory("AmmoShell",0,"PickupFailCheck")
        TNT1 A 0 A_JumpIfInventory("Clip",0,"PickupFailCheck2")
        TNT1 A 0 A_GiveInventory("AmmoShell",10)
        TNT1 A 0 A_GiveInventory("Clip",10)
        TNT1 A 0 A_SetBlend("Green",0.4,4)
        stop

      PickupWolfen:
        TNT1 A 0 A_JumpIfInventory("Clip",0,"PickupFail")
        TNT1 A 0 A_GiveInventory("Clip",20)
        stop

      PickupFailCheck:
        TNT1 A 0 A_JumpIfInventory("Clip",0,"PickupFail")
        TNT1 A 0 A_GiveInventory("Clip",10)
        TNT1 A 0 A_GiveInventory("LavaNails",2)
        stop

      PickupFailCheck2:
        TNT1 A 0 A_JumpIfInventory("AmmoShell",0,"PickupFail")
        TNT1 A 0 A_GiveInventory("AmmoShell",10)
        TNT1 A 0 A_GiveInventory("LavaNails",5)
        stop

      PickupFail:
        AMSM E 1
        fail
    }
}

actor HexenAmmo34Small : CustomInventory replaces Mana2
{
    Inventory.PickupMessage "Picked up 5 of Ammo 3 and 10 of Ammo 4."
    Inventory.PickupSound "ammogem/plasmasmall"
    +FLOATBOB
    States
    {
      Spawn:
        AMSM F 20
        AMSM F 20 BRIGHT
        loop

      Pickup:
        TNT1 A 0 A_JumpIfInventory("MarathonClass",1,"PickupMarathon")
        TNT1 A 0 A_JumpIfInventory("HexenClass",1,"PickupHexen")
        TNT1 A 0 A_JumpIfInventory("RocketAmmo",0,"PickupFailCheck")
        TNT1 A 0 A_JumpIfInventory("Cell",0,"PickupFailCheck2")
        TNT1 A 0 A_GiveInventory("RocketAmmo",5)
        TNT1 A 0 A_GiveInventory("Cell",10)
        TNT1 A 0 A_GiveInventory("ClusterRocketAmmo",1)
        stop

      PickupMarathon:
        TNT1 A 0 A_JumpIfInventory("RocketAmmo",0,"PickupFailCheck")
        TNT1 A 0 A_JumpIfInventory("Cell",0,"PickupFailCheck2")
        TNT1 A 0 A_GiveInventory("RocketAmmo",5)
        TNT1 A 0 A_GiveInventory("Cell",10)
        TNT1 A 0 A_SetBlend("Green",0.4,4)
        stop

      PickupFailCheck2:
        TNT1 A 0 A_JumpIfInventory("RocketAmmo",0,"PickupFail")
        TNT1 A 0 A_GiveInventory("RocketAmmo",5)
        TNT1 A 0 A_GiveInventory("ClusterRocketAmmo",1)
        stop

      PickupFailCheck:
        TNT1 A 0 A_JumpIfInventory("Cell",0,"PickupFail")
        TNT1 A 0 A_GiveInventory("Cell",10)
        TNT1 A 0 A_GiveInventory("ClusterRocketAmmo",1)
        stop

      PickupHexen:
        TNT1 A 0 A_JumpIfInventory("Cell",0,"PickupFail")
        TNT1 A 0 A_GiveInventory("Cell",15)
        stop

      PickupFail:
        AMSM F 1
        fail
    }
}

actor HexenEverythingAmmo : CustomInventory replaces Mana3
{
    Inventory.PickupMessage "Picked up 15 of all ammo."
    Inventory.PickupSound "ammo/mana"
    -INVENTORY.ALWAYSPICKUP
    +FLOATBOB
    Scale 0.75
    States
    {
      Spawn:
        AMMB E 20
        AMMB E 20 BRIGHT
        loop

      Pickup:
        TNT1 A 0 A_JumpIfInventory("MarathonClass",1,"PickupMarathon")
        TNT1 A 0 A_JumpIfInventory("HexenClass",1,"PickupHexen")
        TNT1 A 0 A_JumpIfInventory("WolfenClass",1,"PickupWolfen")
        TNT1 A 0 A_JumpIfInventory("QuakeClass",1,"PickupQuake")
        TNT1 A 0 A_GiveInventory("Clip",15)
        TNT1 A 0 A_GiveInventory("AmmoShell",15)
        TNT1 A 0 A_GiveInventory("RocketAmmo",15)
        TNT1 A 0 A_GiveInventory("Cell",15)
        stop

      PickupMarathon:
        TNT1 A 0 A_GiveInventory("Clip",15)
        TNT1 A 0 A_GiveInventory("AmmoShell",15)
        TNT1 A 0 A_GiveInventory("RocketAmmo",15)
        TNT1 A 0 A_GiveInventory("Cell",15)
        TNT1 A 0 A_SetBlend("Green",0.4,4)
        stop

      PickupWolfen:
        TNT1 A 0 A_GiveInventory("Clip",30)
        TNT1 A 0 A_GiveInventory("RocketAmmo",15)
        TNT1 A 0 A_GiveInventory("Cell",15)
        stop

      PickupHexen:
        TNT1 A 0 A_GiveInventory("Clip",30)
        TNT1 A 0 A_GiveInventory("Cell",30)
        stop

      PickupQuake:
        TNT1 A 0 A_GiveInventory("Clip",15)
        TNT1 A 0 A_GiveInventory("LavaNails",3)
        TNT1 A 0 A_GiveInventory("AmmoShell",15)
        TNT1 A 0 A_GiveInventory("RocketAmmo",15)
        TNT1 A 0 A_GiveInventory("ClusterRocketAmmo",3)
        TNT1 A 0 A_GiveInventory("Cell",15)
        stop
    }
}

actor HexenArmor1 : BasicArmorBonus replaces AmuletOfWarding
{
    RenderStyle Add
    Alpha 0.875
    +Floatbob
    Armor.Savepercent 33.33333
    Armor.MaxSaveAmount 200
    Armor.Saveamount 25
    Inventory.PickupMessage "Picked up 25 Armor."
    Inventory.PickupSound "armor1get"
    States
    {
      Spawn:
        RMR3 A 1 BRIGHT A_SpawnItemEx("ArmorHexenTrail", 0, 0, 2.5, 0, 0, 0, 0, 128)
        loop
    }
}

actor ArmorHexenTrail
{
    Renderstyle Add
    Alpha 0.5
    Scale 0.95
    -Solid
    +Noclip
    +Nogravity
    +Nointeraction
    +CLIENTSIDEONLY
    States
    {
      Spawn:
        RMR3 A 1 A_FadeOut(0.05)
        Loop
    }
}

actor HexenArmor5 : CustomInventory replaces ArtiBoostArmor
{
    +Floatbob
    Inventory.PickupMessage "Picked up 50 Extra Armor."
    Inventory.PickupSound "nosoundforyoubitch"
    States
    {
      Spawn:
        BRAC ABCDEFGH 4 Bright
        Loop

      Pickup:
        TNT1 A 0 A_JumpIfInventory("MarathonClass",1,"PickupMarathon")
        TNT1 A 1 A_JumpIfInventory("CorvusClass",1,"PickupHeretic")
        TNT1 A 0 A_PlaySound("FighterHammerHitWall")
        TNT1 A 1 A_GiveInventory("HexenArmor5B")
        stop

      PickupMarathon:
        TNT1 A 0 A_SetBlend("White",0.5,5)
        TNT1 A 0 A_PlaySound("FighterHammerHitWall")
        TNT1 A 1 A_GiveInventory("HexenArmor5B")
        stop

      PickupHeretic:
        TNT1 A 0 A_JumpIfInventory("HexenArmor5A",0,"PickupHereticFail")
        TNT1 A 0 A_PlaySound("heretic/itemget")
        TNT1 A 1 A_GiveInventory("HexenArmor5A")
        stop

      PickupHereticFail:
        BRAC A 4 BRIGHT
        fail
    }
}

actor HexenArmor5A : CustomInventory
{
    //tag "Dragonskin Bracers"
    +INVBAR
    Inventory.Icon "ARTIBRAC"
    Inventory.DefMaxAmount
    States
    {
      Use:
        TNT1 A 0 A_GiveInventory("HexenArmor5B",50)
        stop
    }
}

actor HexenArmor5B : BasicArmorBonus
{
    Armor.Savepercent 33.33333
    Armor.MaxSaveAmount 300
    Armor.Saveamount 50
}

actor HexenArmor2 : HexenArmor1 replaces FalconShield { }
actor HexenArmor3 : HexenArmor1 replaces MeshArmor { }
actor HexenArmor4 : HexenArmor1 replaces PlatinumHelm { }

actor HexenAmmoBackpack2 : AmmoBackpack replaces CWeapStaff { }
actor HexenAmmoBackpack3 : AmmoBackpack replaces MWeapLightning { }

actor HexenNothingSpawner1 replaces MWeaponPiece3
{
    +CLIENTSIDEONLY
    +NOINTERACTION
    States
    {
      Spawn:
        TNT1 A 0
        stop
    }
}

actor HexenBlueArmorSpawner1 : ArmorPack2 replaces FWeaponPiece3 { }
actor HexenBlueArmorSpawner2 : ArmorPack2 replaces FWeaponPiece2 { }
actor HexenBlueArmorSpawner3 : ArmorPack2 replaces FWeaponPiece1 { }

actor HexenArmorDump replaces ArtiBlastRadius
{
    DropItem ArmorScrap
    DropItem ArmorScrap
    DropItem ArmorScrap
    DropItem ArmorScrap
    DropItem ArmorScrap
    States
    {
      Spawn:
        ACLO E 1
        TNT1 A 0 A_NoBlocking
        stop
    }
}

actor HexenTeamPickup : CustomInventory replaces ArtiHealingRadius
{
    +Floatbob
    +INVENTORY.BIGPOWERUP
    +INVENTORY.PICKUPFLASH
    +INVENTORY.HUBPOWER
    +COUNTITEM
    Inventory.PickupMessage "Picked up Team Power."
    Inventory.PickupSound "nosoundforyoubitch"
    states
    {
      Spawn:
        HRAD ABCDEFGHIJKLMNOP 4 Bright
        Loop

      Pickup:
        TNT1 A 0 A_JumpIfInventory("MarathonClass",1,"PickupMarathon")
        TNT1 A 0 A_JumpIfInventory("DoomguyClass",1,"PickupDoom")
        TNT1 A 0 A_JumpIfInventory("ChexClass",1,"PickupChex")
        TNT1 A 0 A_JumpIfInventory("WolfenClass",1,"PickupWolfen")
        TNT1 A 0 A_JumpIfInventory("CorvusClass",1,"PickupHeretic")
        TNT1 A 0 A_JumpIfInventory("HexenClass",1,"PickupHexen")
        TNT1 A 0 A_JumpIfInventory("DukeClass",1,"PickupDuke")
        TNT1 A 0 A_JumpIfInventory("QuakeClass",1,"PickupQuake")
        TNT1 A 1
        fail

      PickupDoom:
        TNT1 A 0 A_PlaySound("MysticIncant")
        TNT1 AAAAAAAAAAAAAAA 1 A_SpawnItemEx("HealPack0",0,0,random(60,90),random(-4,4),random(-4,4),random(1,7),48,0)//A_SpawnDebris("HealPack0")
        stop

      PickupChex:
        TNT1 A 0 A_PlaySound("MysticIncant")
        TNT1 AAAAAAAAAAAAAAA 1 A_SpawnItemEx("ArmorScrap",0,0,random(60,90),random(-4,4),random(-4,4),random(1,7),48,0) //A_SpawnDebris("ArmorScrap")
        stop

      PickupWolfen:
        TNT1 A 0 A_PlaySound("MysticIncant")
        TNT1 AAA 1 A_SpawnItemEx("Ammo1Small",0,0,random(60,90),random(-4,4),random(-4,4),random(1,7),48,0)//A_SpawnDebris("Ammo1Small")
        TNT1 AAA 1 A_SpawnItemEx("Ammo2Small",0,0,random(60,90),random(-4,4),random(-4,4),random(1,7),48,0)//A_SpawnDebris("Ammo1Small")
        stop

      PickupHeretic:
        TNT1 A 0 A_JumpIfInventory("ArtiHealingRadius2",0,"PickupHereticFail")
        TNT1 A 0 A_PlaySound("heretic/itemget")
        TNT1 A 1 A_GiveInventory("ArtiHealingRadius2")
        stop

      PickupHexen:
        TNT1 A 0 A_JumpIfInventory("PortMysticAmbit",0,"PickupHereticFail")
        TNT1 A 0 A_PlaySound("hexen/artiget")
        TNT1 A 1 A_GiveInventory("PortMysticAmbit")
        stop

      PickupHereticFail:
        HRAD A 4 BRIGHT
        fail

      PickupDuke:
        TNT1 A 0 A_PlaySound("MysticIncant")
        TNT1 AAAAA 1 A_SpawnItemEx("Ammo3Small",0,0,random(60,90),random(-4,4),random(-4,4),random(1,7),48,0)//A_SpawnDebris("Ammo1Small")
        stop

      PickupMarathon:
        TNT1 A 0 A_SetBlend("White",0.5,5)
        TNT1 A 0 A_PlaySound("MysticIncant")
        TNT1 A 1 A_GiveInventory("Allmap",1)
        TNT1 A 1 A_GiveInventory("PowerScanner",1)
        stop

      PickupQuake:
        TNT1 A 0 A_PlaySound("MysticIncant")
        TNT1 AAAA 1 A_SpawnItemEx("QuakeQuarterDamage",0,0,random(60,90),random(-4,4),random(-4,4),random(1,7),48,0)
        stop
    }
}

Actor QuakeQuarterDamage : PowerupGiver
{
  +COUNTITEM
  +FLOATBOB
  -INVBAR
  +INVENTORY.PICKUPFLASH
  +INVENTORY.AUTOACTIVATE
  Powerup.Type QuackQuarterDamage
  RenderStyle Add
  Alpha 0.9
  Scale 0.2
  Inventory.PickupAnnouncerEntry "strength"
  Inventory.PickupSound "quakeweps/quadready"
  Inventory.PickupMessage "Picked up a Quarter Damage!"
  States
  {
  Spawn:
    QRTD A -1
    stop
  }
}

Actor PowerQuackQuarterDamage : PowerDamage
{
  Powerup.Color "00 50 FF", 0.1
  Powerup.Duration -60
  DamageFactor "Pistol", 1.25
  DamageFactor "ZorchPistol", 1.25
  DamageFactor "TimonsAxe", 1.25
  DamageFactor "Mace", 1.25
  DamageFactor "DragonClaw", 1.25
  DamageFactor "Normal", 1.25
  DamageFactor "Zorch", 1.25
  DamageFactor "BFG", 1.25
  DamageFactor "BFGSpray", 1.25
  DamageFactor "Fire", 1.25
  DamageFactor "Ice", 1.25
  DamageFactor "Disintegrate", 1.25
  DamageFactor "WolfenFlamethrower", 1.25
  DamageFactor "DukeDamage", 1.25
  DamageFactor "DukeExplosive", 1.25
  DamageFactor "DukeIce", 1.25
  DamageFactor "MightyBoot", 1.25
  
  DamageFactor "DukePistol", 1.25
	DamageFactor "MarathonPistol", 1.25
	DamageFactor "Explosive", 1.25
	DamageFactor "MarathonFusion", 1.25
	DamageFactor "DoomPlasma", 1.25
	DamageFactor "CorvusCrossbow", 1.25
	DamageFactor "CorvusHellstaff", 1.25
	DamageFactor "MarathonPlasma", 1.25
	DamageFactor "BJSpear", 1.25
	DamageFactor "WMCBeam", 1.25
	DamageFactor "WMCNade", 1.25
	DamageFactor "QuakePistol", 1.25
	DamageFactor "NotQuadded", 1.25
}

actor ArtiHealingRadius2: ArtiHealingRadius { Inventory.MaxAmount 16 }

actor HexenHealPack0 : HealPack0 replaces ArtiPoisonBag { }

actor HexenMegapack : Megapack replaces ArtiDarkServant { }

actor HexenInvulnerability : InvulnPowerup replaces ArtiInvulnerability2 { }

actor HexenAmmoBackpack : AmmoBackpack replaces ArtiBoostMana { }

actor HexenBootsPickup : CustomInventory replaces ArtiSpeedBoots
{
    +Floatbob
    +INVENTORY.BIGPOWERUP
    +INVENTORY.PICKUPFLASH
    +INVENTORY.HUBPOWER
    +COUNTITEM
    Inventory.PickupAnnouncerEntry "Haste"
    Inventory.PickupMessage "Picked up Haste."
    Inventory.PickupSound "nosoundforyoubitch"
    states
    {
      Spawn:
        SPED ABCDEFGH 3 Bright
        Loop

      Pickup:
        TNT1 A 0 A_JumpIfInventory("MarathonClass",1,"PickupMarathon")
        TNT1 A 1 A_JumpIfInventory("HexenClass",1,"PickupHexen")
        TNT1 A 1 A_JumpIfInventory("CorvusClass",1,"PickupHeretic")
        TNT1 A 0 A_PlaySound("SorcererSpellCast")
        TNT1 A 1 A_GiveInventory("PowerSpeed")
        stop

      PickupMarathon:
        TNT1 A 0 A_SetBlend("Green",0.4,4)
        TNT1 A 0 A_PlaySound("SorcererSpellCast")
        TNT1 A 1 A_GiveInventory("PowerSpeed")
        stop

      PickupHeretic:
        TNT1 A 0 A_JumpIfInventory("ArtiSpeedBoots",0,"PickupHereticFail")
        TNT1 A 0 A_PlaySound("heretic/itemget")
        TNT1 A 1 A_GiveInventory("ArtiSpeedBoots")
        stop

      PickupHexen:
        TNT1 A 0 A_JumpIfInventory("ArtiSpeedBoots",0,"PickupHereticFail")
        TNT1 A 0 A_PlaySound("hexen/artiget")
        TNT1 A 1 A_GiveInventory("ArtiSpeedBoots")
        stop

      PickupHereticFail:
        SPED A 4
        fail
    }
}

actor HexenTeleportPickup : CustomInventory replaces ArtiTeleportOther
{
    +Floatbob
    +INVENTORY.BIGPOWERUP
    +INVENTORY.PICKUPFLASH
    +INVENTORY.HUBPOWER
    +COUNTITEM
    Inventory.PickupMessage "Picked up Banishment."
    Inventory.PickupSound "nosoundforyoubitch"
    states
    {
      Spawn:
        TELO ABCD 5 BRIGHT
        Loop

      Pickup:
        TNT1 A 1 A_JumpIfInventory("HexenClass",1,"PickupHexen")
        TNT1 A 0 A_JumpIfInventory("CorvusClass",1,"PickupHeretic")
        fail

      PickupHeretic:
        TNT1 A 0 A_JumpIfInventory("ArtiTeleportOther",0,"PickupHereticFail")
        TNT1 A 0 A_PlaySound("heretic/itemget")
        TNT1 A 1 A_GiveInventory("ArtiTeleportOther")
        stop

      PickupHereticFail:
        TELO A 5 BRIGHT
        fail

      PickupHexen:
        TNT1 A 0 A_JumpIfInventory("ArtiTeleportOther",0,"PickupHereticFail")
        TNT1 A 0 A_PlaySound("hexen/artiget")
        TNT1 A 1 A_GiveInventory("ArtiTeleportOther")
        stop
    }
}

// Whew. Now for the enemies.
actor Pig2 : Pig replaces Pig // Even without the Porkalator, enemies can still get turned into pigs via traps!
{
    States
    {
      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        goto "Super::Death"

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorchsmall","soundslot5",0,0)
        PIGY D 3 A_SpawnItem("ZorchEffectSuperTiny")
        PIGY D 3 A_SetTranslucent(0.9,0)
        TNT1 A 0 A_ActiveSound
        PIGY D 3 A_SetTranslucent(0.8,0)
        TNT1 D 0 A_NoBlocking
        PIGY D 3 A_SetTranslucent(0.7,0)
        PIGY D 3 A_SetTranslucent(0.6,0)
        PIGY D 3 A_SetTranslucent(0.5,0)
        PIGY D 3 A_SetTranslucent(0.4,0)
        PIGY D 3 A_SetTranslucent(0.3,0)
        PIGY D 3 A_SetTranslucent(0.2,0)
        PIGY D 3 A_SetTranslucent(0.1,0)
        TNT1 A 1 A_SetTranslucent(1,0)
        TNT1 A -1
        stop

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        PIGY M 0 A_UnsetSolid
        PIGY M 70 A_GenericFreezeDeath
        PIGY M 0 A_IceGuyDie
        PIGY M 1 A_IceGuyDie
        TNT1 A -1
        stop
    }
}

actor FireDemon2 : FireDemon replaces FireDemon
{
    +NOTDMATCH
    +NOICEDEATH
    DamageFactor "QuakePistol", 1.5
    DamageFactor "MarathonPistol", 1.25
    DamageFactor "DukePistol", 2
    DamageFactor "Pistol", 2
    DamageFactor "ZorchPistol", 2
    DamageFactor "TimonsAxe", 1.2
    DamageFactor "Normal", 1.15
    DamageFactor "DragonClaw", 1.45
    DamageFactor "Mace", 1.15
    DamageFactor "Zorch", 1.15
    DamageFactor "BFG", 1.15
    DamageFactor "BFGSpray", 1.15
    DamageFactor "Fire", 1.15
    DamageFactor "Ice", 1.15
    DamageFactor "Disintegrate", 1.15
    DamageFactor "DukeDamage", 1.15
    DamageFactor "DukeExplosive", 1.05
    DamageFactor "DukeIce", 1.2
    DamageFactor "Explosive", 1.15
    DamageFactor "MarathonFusion", 1.15
    DamageFactor "DoomPlasma", 1.15
    DamageFactor "CorvusCrossbow", 1.15
    DamageFactor "CorvusHellstaff", 1.15
    DamageFactor "MarathonPlasma", 1.15
    DamageFactor "BJSpear", 1.15
    DamageFactor "WMCBeam", 1.15
    DamageFactor "WMCNade", 1.15
    PainChance "MightyBoot", 255
    States
    {
      Chase:
        TNT1 A 0 A_SetTranslucent(1,0)
        FDMN ABC 5 Bright A_FireDChase
        Loop

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

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

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        TNT1 A 0 A_NoGravity
        TNT1 A 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorchsmall","soundslot5",0,0)
        FDMN D 3 A_SpawnItem("ZorchEffectTiny")
        FDMN D 3 A_SetTranslucent(0.9,0)
        TNT1 A 0 A_Pain
        FDMN D 3 A_SetTranslucent(0.8,0)
        FDMN D 3 A_SetTranslucent(0.7,0)
        FDMN D 3 A_SetTranslucent(0.6,0)
        FDMN D 3 A_SetTranslucent(0.5,0)
        FDMN D 3 A_SetTranslucent(0.4,0)
        FDMN D 3 A_SetTranslucent(0.3,0)
        FDMN D 3 A_SetTranslucent(0.2,0)
        FDMN D 3 A_SetTranslucent(0.1,0)
        TNT1 A 1 A_SetTranslucent(0,0)
        TNT1 A 0 A_NoBlocking
        TNT1 A -1
        stop

      Crash:
        TNT1 A 0 A_JumpIfInventory("EnemyZorched",1,"ZorchCrash")
        FDMN M 5 A_FaceTarget
        FDMN N 5 A_NoBlocking
        FDMN O 5 A_FiredSplotch
        Stop

      ZorchCrash:
        TNT1 A 5 A_SetTranslucent(0,0)
        TNT1 A 5 A_NoBlocking
        TNT1 A -1
        stop

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_Gravity
        TNT1 A 0 A_GiveInventory("EnemyZorched",1)
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        FDMN R 0 A_UnsetSolid
        FDMN R 70 A_GenericFreezeDeath
        FDMN R 0 A_IceGuyDie
        FDMN R 1 A_IceGuyDie
        TNT1 A -1
        stop

      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.DukeExplosive:
        TNT1 A 0 A_JumpIfHealthLower(-3,"DukeGibStart")
        goto Death.DukeDamage

      DukeGibStart:
        FDMN D 1
        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)
        goto XDeath

      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)
        goto Ice
        
      Pain.MightyBoot:
        TNT1 A 0 A_ChangeFlag("NOPAIN",1)
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        FDMN D 2 A_FaceTarget
        TNT1 A 0 A_Recoil(14)
        FDMN D 16 A_Pain
        Goto See

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

actor Ettin2 : Ettin replaces Ettin
{
    +NOTDMATCH
    +NOICEDEATH
    DamageFactor "QuakePistol", 1.5
    DamageFactor "MarathonPistol", 1.5
    DamageFactor "DukePistol", 3
    DamageFactor "Pistol", 3
    DamageFactor "ZorchPistol", 3
    DamageFactor "TimonsAxe", 1.2
    DamageFactor "Normal", 1.15
    DamageFactor "DragonClaw", 1.45
    DamageFactor "Mace", 1.15
    DamageFactor "Zorch", 1.15
    DamageFactor "BFG", 1.15
    DamageFactor "BFGSpray", 1.15
    DamageFactor "Fire", 1.15
    DamageFactor "Ice", 1.15
    DamageFactor "Disintegrate", 1.15
    DamageFactor "DukeDamage", 1.15
    DamageFactor "DukeExplosive", 1.05
    DamageFactor "DukeIce", 1.2
    DamageFactor "Explosive", 1.15
    DamageFactor "MarathonFusion", 1.15
    DamageFactor "DoomPlasma", 1.15
    DamageFactor "CorvusCrossbow", 1.15
    DamageFactor "CorvusHellstaff", 1.15
    DamageFactor "MarathonPlasma", 1.15
    DamageFactor "BJSpear", 1.15
    DamageFactor "WMCBeam", 1.15
    DamageFactor "WMCNade", 1.15
    PainChance "MightyBoot", 255
    States
    {
      See:
        TNT1 A 0 A_SetTranslucent(1,0)
        ETTN ABCD 5 A_Chase
        Loop

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

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

      Death.ZorchPistol:

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

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        ETTN R 0 A_UnsetSolid
        ETTN R 70 A_GenericFreezeDeath
        ETTN R 0 A_IceGuyDie
        ETTN R 1 A_IceGuyDie
        TNT1 A -1
        stop

      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.DukeExplosive:
        TNT1 A 0 A_JumpIfHealthLower(-3,"DukeGibStart")
        goto Death.DukeDamage

      DukeGibStart:
        ETTN H 1
        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)
        goto XDeath

      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)
        goto Ice
        
      Pain.MightyBoot:
        TNT1 A 0 A_ChangeFlag("NOPAIN",1)
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        ETTN H 2 A_FaceTarget
        TNT1 A 0 A_Recoil(14)
        ETTN H 16 A_Pain
        Goto See

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

actor EttinMash2 : Ettin2 replaces EttinMash
{
    +NOBLOOD
    +GHOST
    +NOICEDEATH
    RenderStyle Translucent
    Alpha 0.4
    States
    {
      Death:
      XDeath:
      Ice:
      Death.HexenIce:

      Death.DukeIce:

      Death.DukeExplosive:

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        Stop
    }
}

actor Centaur2 : Centaur replaces Centaur
{
    +NOTDMATCH
    +NOICEDEATH
    DamageFactor "QuakePistol", 1.5
    DamageFactor "MarathonPistol", 1.5
    DamageFactor "DukePistol", 3
    DamageFactor "Pistol", 3
    DamageFactor "ZorchPistol", 3
    DamageFactor "TimonsAxe", 1.2
    DamageFactor "Normal", 1.15
    DamageFactor "DragonClaw", 1.45
    DamageFactor "Mace", 1.15
    DamageFactor "Zorch", 1.15
    DamageFactor "BFG", 1.15
    DamageFactor "BFGSpray", 1.15
    DamageFactor "Fire", 1.15
    DamageFactor "Ice", 1.15
    DamageFactor "Disintegrate", 1.15
    DamageFactor "DukeDamage", 1.15
    DamageFactor "DukeExplosive", 1.05
    DamageFactor "DukeIce", 1.2
    DamageFactor "Explosive", 1.15
    DamageFactor "MarathonFusion", 1.15
    DamageFactor "DoomPlasma", 1.15
    DamageFactor "CorvusCrossbow", 1.15
    DamageFactor "CorvusHellstaff", 1.15
    DamageFactor "MarathonPlasma", 1.15
    DamageFactor "BJSpear", 1.15
    DamageFactor "WMCBeam", 1.15
    DamageFactor "WMCNade", 1.15
    PainChance "MightyBoot", 255
    States
    {
      See:
        TNT1 A 0 A_SetTranslucent(1,0)
        CENT ABCD 4 A_Chase
        Loop

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

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

      Death.ZorchPistol:

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

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        CENT U 0 A_UnsetSolid
        CENT U 70 A_GenericFreezeDeath
        CENT U 0 A_IceGuyDie
        CENT U 1 A_IceGuyDie
        TNT1 A -1
        stop

      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.DukeExplosive:
        TNT1 A 0 A_JumpIfHealthLower(-3,"DukeGibStart")
        goto Death.DukeDamage

      DukeGibStart:
        CENT G 1
        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)
        goto XDeath

      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)
        goto Ice
        
      Pain.MightyBoot:
        TNT1 A 0 A_ChangeFlag("NOPAIN",1)
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        CENT G 2 A_FaceTarget
        TNT1 A 0 A_Recoil(14)
        CENT G 16 A_Pain
        Goto See

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

actor CentaurLeader2 : CentaurLeader replaces CentaurLeader
{
    +NOTDMATCH
    +NOICEDEATH
    DamageFactor "QuakePistol", 1.5
    DamageFactor "MarathonPistol", 1.5
    DamageFactor "DukePistol", 3
    DamageFactor "Pistol", 3
    DamageFactor "ZorchPistol", 3
    DamageFactor "TimonsAxe", 1.2
    DamageFactor "Normal", 1.15
    DamageFactor "DragonClaw", 1.45
    DamageFactor "Mace", 1.15
    DamageFactor "Zorch", 1.15
    DamageFactor "BFG", 1.15
    DamageFactor "BFGSpray", 1.15
    DamageFactor "Fire", 1.15
    DamageFactor "Ice", 1.15
    DamageFactor "Disintegrate", 1.15
    DamageFactor "DukeDamage", 1.15
    DamageFactor "DukeExplosive", 1.05
    DamageFactor "DukeIce", 1.2
    DamageFactor "Explosive", 1.15
    DamageFactor "MarathonFusion", 1.15
    DamageFactor "DoomPlasma", 1.15
    DamageFactor "CorvusCrossbow", 1.15
    DamageFactor "CorvusHellstaff", 1.15
    DamageFactor "MarathonPlasma", 1.15
    DamageFactor "BJSpear", 1.15
    DamageFactor "WMCBeam", 1.15
    DamageFactor "WMCNade", 1.15
    PainChance "MightyBoot", 255
    States
    {
      See:
        TNT1 A 0 A_SetTranslucent(1,0)
        CENT ABCD 4 A_Chase
        Loop

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

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

      Death.ZorchPistol:

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

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        CENT U 0 A_UnsetSolid
        CENT U 70 A_GenericFreezeDeath
        CENT U 0 A_IceGuyDie
        CENT U 1 A_IceGuyDie
        TNT1 A -1
        stop

      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.DukeExplosive:
        TNT1 A 0 A_JumpIfHealthLower(-3,"DukeGibStart")
        goto Death.DukeDamage

      DukeGibStart:
        CENT G 1
        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)
        goto XDeath

      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)
        goto Ice
        
      Pain.MightyBoot:
        TNT1 A 0 A_ChangeFlag("NOPAIN",1)
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        CENT G 2 A_FaceTarget
        TNT1 A 0 A_Recoil(14)
        CENT G 16 A_Pain
        Goto See

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

actor CentaurFX2 : CentaurFX replaces CentaurFX
{
    DamageType "HexSlaughtaur"
    +THRUGHOST
}

actor CentaurMash2 : Centaur2 replaces CentaurMash
{
    +NOBLOOD
    +BLASTED
    +GHOST
    -TELESTOMP
    +NOICEDEATH
    RenderStyle Translucent
    Alpha 0.4
    States
    {
      Death:
      XDeath:
      Ice:
      Death.HexenIce:

      Death.DukeIce:

      Death.DukeExplosive:

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        Stop
    }
}

actor Demon1B : Demon1 replaces Demon1
{
    +NOTDMATCH
    +NOICEDEATH
    DamageFactor "QuakePistol", 1.5
    DamageFactor "MarathonPistol", 1.5
    DamageFactor "DukePistol", 3
    DamageFactor "Pistol", 3
    DamageFactor "ZorchPistol", 3
    DamageFactor "TimonsAxe", 1.2
    DamageFactor "Normal", 1.15
    DamageFactor "DragonClaw", 1.45
    DamageFactor "Mace", 1.15
    DamageFactor "Zorch", 1.15
    DamageFactor "BFG", 1.15
    DamageFactor "BFGSpray", 1.15
    DamageFactor "Fire", 1.15
    DamageFactor "Ice", 1.15
    DamageFactor "Disintegrate", 1.15
    DamageFactor "DukeDamage", 1.15
    DamageFactor "DukeExplosive", 1.05
    DamageFactor "DukeIce", 1.2
    DamageFactor "Explosive", 1.15
    DamageFactor "MarathonFusion", 1.15
    DamageFactor "DoomPlasma", 1.15
    DamageFactor "CorvusCrossbow", 1.15
    DamageFactor "CorvusHellstaff", 1.15
    DamageFactor "MarathonPlasma", 1.15
    DamageFactor "BJSpear", 1.15
    DamageFactor "WMCBeam", 1.15
    DamageFactor "WMCNade", 1.15
    PainChance "MightyBoot", 255
    States
    {
      See:
        TNT1 A 0 A_SetTranslucent(1,0)
        DEMN ABCD 4 A_Chase
        Loop

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

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

      Death.ZorchPistol:

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

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        DEMN Q 0 A_UnsetSolid
        DEMN Q 70 A_GenericFreezeDeath
        DEMN Q 0 A_IceGuyDie
        DEMN Q 1 A_IceGuyDie
        TNT1 A -1
        stop

      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.DukeExplosive:
        TNT1 A 0 A_JumpIfHealthLower(-3,"DukeGibStart")
        goto Death.DukeDamage

      DukeGibStart:
        DEMN E 1
        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)
        goto XDeath

      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)
        goto Ice
        
      Pain.MightyBoot:
        TNT1 A 0 A_ChangeFlag("NOPAIN",1)
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        DEMN E 2 A_FaceTarget
        TNT1 A 0 A_Recoil(14)
        DEMN E 16 A_Pain
        Goto See

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

actor Demon1Mash2 : Demon1B replaces Demon1Mash
{
    +NOBLOOD
    +BLASTED
    +GHOST
    -TELESTOMP
    +NOICEDEATH
    RenderStyle Translucent
    Alpha 0.4
    States
    {
      Death:
      XDeath:
      Ice:
      Death.HexenIce:

      Death.DukeIce:

      Death.DukeExplosive:

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        Stop
    }
}

actor Demon1FX2 : Demon1FX1 replaces Demon1FX1 { +THRUGHOST }

actor Demon2FX2 : Demon2FX1 replaces Demon2FX1
{
    DamageType "HexGreenFire"
    +THRUGHOST
}

actor Demon2B : Demon2 replaces Demon2
{
    +NOTDMATCH
    +NOICEDEATH
    DamageFactor "QuakePistol", 1.5
    DamageFactor "MarathonPistol", 1.5
    DamageFactor "DukePistol", 3
    DamageFactor "Pistol", 3
    DamageFactor "ZorchPistol", 3
    DamageFactor "TimonsAxe", 1.2
    DamageFactor "Normal", 1.15
    DamageFactor "DragonClaw", 1.45
    DamageFactor "Mace", 1.15
    DamageFactor "Zorch", 1.15
    DamageFactor "BFG", 1.15
    DamageFactor "BFGSpray", 1.15
    DamageFactor "Fire", 1.15
    DamageFactor "Ice", 1.15
    DamageFactor "Disintegrate", 1.15
    DamageFactor "DukeDamage", 1.15
    DamageFactor "DukeExplosive", 1.05
    DamageFactor "DukeIce", 1.2
    DamageFactor "Explosive", 1.15
    DamageFactor "MarathonFusion", 1.15
    DamageFactor "DoomPlasma", 1.15
    DamageFactor "CorvusCrossbow", 1.15
    DamageFactor "CorvusHellstaff", 1.15
    DamageFactor "MarathonPlasma", 1.15
    DamageFactor "BJSpear", 1.15
    DamageFactor "WMCBeam", 1.15
    DamageFactor "WMCNade", 1.15
    PainChance "MightyBoot", 255
    States
    {
      See:
        TNT1 A 0 A_SetTranslucent(1,0)
        DEM2 ABCD 4 A_Chase
        Loop

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

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

      Death.ZorchPistol:

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

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        DEMN Q 0 A_UnsetSolid
        DEMN Q 70 A_GenericFreezeDeath
        DEMN Q 0 A_IceGuyDie
        DEMN Q 1 A_IceGuyDie
        TNT1 A -1
        stop

      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.DukeExplosive:
        TNT1 A 0 A_JumpIfHealthLower(-3,"DukeGibStart")
        goto Death.DukeDamage

      DukeGibStart:
        DEM2 E 1
        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)
        goto XDeath

      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)
        goto Ice
        
      Pain.MightyBoot:
        TNT1 A 0 A_ChangeFlag("NOPAIN",1)
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        DEM2 E 2 A_FaceTarget
        TNT1 A 0 A_Recoil(14)
        DEM2 E 16 A_Pain
        Goto See

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

actor Demon2Mash2 : Demon2B replaces Demon2Mash
{
    +NOBLOOD
    +BLASTED
    +GHOST
    -TELESTOMP
    +NOICEDEATH
    RenderStyle Translucent
    Alpha 0.4
    States
    {
      Death:
      XDeath:
      Ice:
      Death.HexenIce:

      Death.DukeIce:

      Death.DukeExplosive:

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        Stop
    }
}

actor IceGuy2 : IceGuy replaces IceGuy
{
    +NOTDMATCH
    +NOICEDEATH
    DamageFactor "QuakePistol", 1.5
    DamageFactor "MarathonPistol", 1.5
    DamageFactor "DukePistol", 3
    DamageFactor "Pistol", 3
    DamageFactor "ZorchPistol", 3
    DamageFactor "TimonsAxe", 1.2
    DamageFactor "Normal", 1.15
    DamageFactor "DragonClaw", 1.45
    DamageFactor "Mace", 1.15
    DamageFactor "Zorch", 1.15
    DamageFactor "BFG", 1.15
    DamageFactor "BFGSpray", 1.15
    DamageFactor "Fire", 1.15
    DamageFactor "Ice", 1.15
    DamageFactor "Disintegrate", 1.15
    DamageFactor "DukeDamage", 1.15
    DamageFactor "DukeExplosive", 1.05
    DamageFactor "DukeIce", 1.2
    DamageFactor "Explosive", 1.15
    DamageFactor "MarathonFusion", 1.15
    DamageFactor "DoomPlasma", 1.15
    DamageFactor "CorvusCrossbow", 1.15
    DamageFactor "CorvusHellstaff", 1.15
    DamageFactor "MarathonPlasma", 1.15
    DamageFactor "BJSpear", 1.15
    DamageFactor "WMCBeam", 1.15
    DamageFactor "WMCNade", 1.15
    PainChance "MightyBoot", 255
    States
    {
      See:
        TNT1 A 0 A_SetTranslucent(1,0)
        ICEY A 4 A_Chase
        ICEY B 4 A_IceGuyChase
        ICEY CD 4 A_Chase
        Loop

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

      Death.ZorchPistol:

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

      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

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

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

actor Serpent2 : Serpent replaces Serpent
{
    +NOTDMATCH
    +NOICEDEATH
    DamageFactor "QuakePistol", 1.5
    DamageFactor "MarathonPistol", 1.5
    DamageFactor "DukePistol", 3
    DamageFactor "Pistol", 3
    DamageFactor "ZorchPistol", 3
    DamageFactor "TimonsAxe", 1.2
    DamageFactor "Normal", 1.15
    DamageFactor "DragonClaw", 1.45
    DamageFactor "Mace", 1.15
    DamageFactor "Zorch", 1.15
    DamageFactor "BFG", 1.15
    DamageFactor "BFGSpray", 1.15
    DamageFactor "Fire", 1.15
    DamageFactor "Ice", 1.15
    DamageFactor "Disintegrate", 1.15
    DamageFactor "DukeDamage", 1.15
    DamageFactor "DukeExplosive", 1.05
    DamageFactor "DukeIce", 1.2
    DamageFactor "Explosive", 1.15
    DamageFactor "MarathonFusion", 1.15
    DamageFactor "DoomPlasma", 1.15
    DamageFactor "CorvusCrossbow", 1.15
    DamageFactor "CorvusHellstaff", 1.15
    DamageFactor "MarathonPlasma", 1.15
    DamageFactor "BJSpear", 1.15
    DamageFactor "WMCBeam", 1.15
    DamageFactor "WMCNade", 1.15
    PainChance "MightyBoot", 255
    States
    {
      Hump:
        TNT1 A 0 A_SetTranslucent(1,0)
        SSPT H 3 A_SerpentUnHide
        SSPT EFGEF 3 A_SerpentRaiseHump
        SSPT GEF 3
        SSPT GEFGE 3 A_SerpentLowerHump
        SSPT F 3 A_SerpentHide
        Goto See

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

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

      Death.ZorchPistol:

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

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        SSPT [ 0 A_UnsetSolid
        SSPT [ 70 A_GenericFreezeDeath
        SSPT [ 0 A_IceGuyDie
        SSPT [ 1 A_IceGuyDie
        TNT1 A -1
        stop

      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.DukeExplosive:
        TNT1 A 0 A_JumpIfHealthLower(-3,"DukeGibStart")
        goto Death.DukeDamage

      DukeGibStart:
        SSPT L 1
        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)
        goto XDeath

      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)
        goto Ice
    }
}

actor SerpentLeader2 : SerpentLeader replaces SerpentLeader
{
    +NOTDMATCH
    +NOICEDEATH
    DamageFactor "QuakePistol", 1.5
    DamageFactor "MarathonPistol", 1.5
    DamageFactor "DukePistol", 3
    DamageFactor "Pistol", 3
    DamageFactor "ZorchPistol", 3
    DamageFactor "TimonsAxe", 1.2
    DamageFactor "Normal", 1.15
    DamageFactor "DragonClaw", 1.45
    DamageFactor "Mace", 1.15
    DamageFactor "Zorch", 1.15
    DamageFactor "BFG", 1.15
    DamageFactor "BFGSpray", 1.15
    DamageFactor "Fire", 1.15
    DamageFactor "Ice", 1.15
    DamageFactor "Disintegrate", 1.15
    DamageFactor "DukeDamage", 1.15
    DamageFactor "DukeExplosive", 1.05
    DamageFactor "DukeIce", 1.2
    DamageFactor "Explosive", 1.15
    DamageFactor "MarathonFusion", 1.15
    DamageFactor "DoomPlasma", 1.15
    DamageFactor "CorvusCrossbow", 1.15
    DamageFactor "CorvusHellstaff", 1.15
    DamageFactor "MarathonPlasma", 1.15
    DamageFactor "BJSpear", 1.15
    DamageFactor "WMCBeam", 1.15
    DamageFactor "WMCNade", 1.15
    PainChance "MightyBoot", 255
    States
    {
      Hump:
        TNT1 A 0 A_SetTranslucent(1,0)
        SSPT H 3 A_SerpentUnHide
        SSPT EFGEF 3 A_SerpentRaiseHump
        SSPT GEF 3
        SSPT GEFGE 3 A_SerpentLowerHump
        SSPT F 3 A_SerpentHide
        Goto See

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

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

      Death.ZorchPistol:

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

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        SSPT [ 0 A_UnsetSolid
        SSPT [ 70 A_GenericFreezeDeath
        SSPT [ 0 A_IceGuyDie
        SSPT [ 1 A_IceGuyDie
        TNT1 A -1
        stop

      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.DukeExplosive:
        TNT1 A 0 A_JumpIfHealthLower(-3,"DukeGibStart")
        goto Death.DukeDamage

      DukeGibStart:
        SSPT L 1
        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)
        goto XDeath

      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)
        goto Ice
    }
}

actor SerpentFX2 : SerpentFX replaces SerpentFX
{
    DamageType "HexStalkerShot"
    +THRUGHOST
}

actor Bishop2 : Bishop replaces Bishop
{
    +NOTDMATCH
    +NOICEDEATH
    DamageFactor "QuakePistol", 1.5
    DamageFactor "MarathonPistol", 1.5
    DamageFactor "DukePistol", 3
    DamageFactor "Pistol", 3
    DamageFactor "ZorchPistol", 3
    DamageFactor "TimonsAxe", 1.2
    DamageFactor "Normal", 1.15
    DamageFactor "DragonClaw", 1.45
    DamageFactor "Mace", 1.15
    DamageFactor "Zorch", 1.15
    DamageFactor "BFG", 1.15
    DamageFactor "BFGSpray", 1.15
    DamageFactor "Fire", 1.15
    DamageFactor "Ice", 1.15
    DamageFactor "Disintegrate", 1.15
    DamageFactor "DukeDamage", 1.15
    DamageFactor "DukeExplosive", 1.05
    DamageFactor "DukeIce", 1.2
    DamageFactor "Explosive", 1.15
    DamageFactor "MarathonFusion", 1.15
    DamageFactor "DoomPlasma", 1.15
    DamageFactor "CorvusCrossbow", 1.15
    DamageFactor "CorvusHellstaff", 1.15
    DamageFactor "MarathonPlasma", 1.15
    DamageFactor "BJSpear", 1.15
    DamageFactor "WMCBeam", 1.15
    DamageFactor "WMCNade", 1.15
    PainChance "MightyBoot", 255
    States
    {
      See:
        TNT1 A 0 A_SetTranslucent(1,0)
        BISH A 2 A_Chase
        BISH A 2 A_BishopChase
        BISH A 2
        BISH B 2 A_BishopChase
        BISH B 2 A_Chase
        BISH B 2 A_BishopChase
        BISH A 1 A_BishopDecide
        Loop

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

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoGravity
        TNT1 A 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorch","soundslot5",0,0)
        BISH C 3 A_SpawnItem("ZorchEffectSmall")
        BISH C 3 A_SetTranslucent(0.9,0)
        TNT1 A 0 A_Scream
        BISH C 3 A_SetTranslucent(0.8,0)
        TNT1 A 0 A_NoBlocking
        BISH C 3 A_SetTranslucent(0.7,0)
        BISH C 3 A_SetTranslucent(0.6,0)
        BISH C 3 A_SetTranslucent(0.5,0)
        BISH C 3 A_SetTranslucent(0.4,0)
        BISH C 3 A_SetTranslucent(0.3,0)
        BISH C 3 A_SetTranslucent(0.2,0)
        BISH C 3 A_SetTranslucent(0.1,0)
        TNT1 A 1 A_SetTranslucent(1,0)
        TNT1 A 0 A_SpawnItemEx("BishopPuff", 0,0,40, 0,0,0.5)
        TNT1 A -1 A_QueueCorpse
        stop

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_Gravity
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        BISH X 0 A_UnsetSolid
        BISH X 70 A_GenericFreezeDeath
        BISH X 0 A_IceGuyDie
        BISH X 1 A_IceGuyDie
        TNT1 A -1
        stop

      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.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)
        goto Ice
        
      Pain.MightyBoot:
        TNT1 A 0 A_ChangeFlag("NOPAIN",1)
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        BISH C 2 A_FaceTarget
        TNT1 A 0 A_Recoil(14)
        BISH C 16 A_Pain
        Goto See

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

actor BishopFX2 : BishopFX replaces BishopFX
{
    DamageType "HexBishop"
}

actor Wraith2 : Wraith replaces Wraith
{
    +GHOST
    +NOTDMATCH
    +NOICEDEATH
    Alpha 0.75
    DamageFactor "QuakePistol", 1.5
    DamageFactor "MarathonPistol", 1.5
    DamageFactor "DukePistol", 3
    DamageFactor "Pistol", 3
    DamageFactor "ZorchPistol", 3
    DamageFactor "TimonsAxe", 1.2
    DamageFactor "Normal", 1.15
    DamageFactor "DragonClaw", 1.45
    DamageFactor "Mace", 1.15
    DamageFactor "Zorch", 1.15
    DamageFactor "BFG", 1.15
    DamageFactor "BFGSpray", 1.15
    DamageFactor "Fire", 1.15
    DamageFactor "Ice", 1.15
    DamageFactor "Disintegrate", 1.15
    DamageFactor "DukeDamage", 1.15
    DamageFactor "DukeExplosive", 1.05
    DamageFactor "DukeIce", 1.2
    DamageFactor "Explosive", 1.15
    DamageFactor "MarathonFusion", 1.15
    DamageFactor "DoomPlasma", 1.15
    DamageFactor "CorvusCrossbow", 1.15
    DamageFactor "CorvusHellstaff", 1.15
    DamageFactor "MarathonPlasma", 1.15
    DamageFactor "BJSpear", 1.15
    DamageFactor "WMCBeam", 1.15
    DamageFactor "WMCNade", 1.15
    PainChance "MightyBoot", 255
    States
    {
      See:
        TNT1 A 0 A_SetTranslucent(0.75,0)
        WRTH ABCD 4 A_WraithChase
        Loop

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

      Death.ZorchPistol:

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

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_ChangeFlag("GHOST",0)
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        WRT2 I 0 A_SetTranslucent(1,0)
        WRT2 I 0 A_UnsetSolid
        WRT2 I 70 A_GenericFreezeDeath
        WRT2 I 0 A_IceGuyDie
        WRT2 I 1 A_IceGuyDie
        TNT1 A -1
        stop

      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.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)
        goto Ice
        
      Pain.MightyBoot:
        TNT1 A 0 A_ChangeFlag("NOPAIN",1)
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        WRTH H 2 A_FaceTarget
        TNT1 A 0 A_Recoil(14)
        WRTH H 16 A_Pain
        Goto See

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

actor WraithFX6 : WraithFX1 replaces WraithFX1 { +THRUGHOST }

actor WraithBuried2 : WraithBuried replaces WraithBuried
{
    +GHOST
    +NOTDMATCH
    +NOICEDEATH
    Alpha 0.75
    DamageFactor "QuakePistol", 1.5
    DamageFactor "MarathonPistol", 1.5
    DamageFactor "DukePistol", 3
    DamageFactor "Pistol", 3
    DamageFactor "ZorchPistol", 3
    DamageFactor "TimonsAxe", 1.2
    DamageFactor "Normal", 1.15
    DamageFactor "DragonClaw", 1.45
    DamageFactor "Mace", 1.15
    DamageFactor "Zorch", 1.15
    DamageFactor "BFG", 1.15
    DamageFactor "BFGSpray", 1.15
    DamageFactor "Fire", 1.15
    DamageFactor "Ice", 1.15
    DamageFactor "Disintegrate", 1.15
    DamageFactor "DukeDamage", 1.15
    DamageFactor "DukeExplosive", 1.05
    DamageFactor "DukeIce", 1.2
    DamageFactor "Explosive", 1.15
    DamageFactor "MarathonFusion", 1.15
    DamageFactor "DoomPlasma", 1.15
    DamageFactor "CorvusCrossbow", 1.15
    DamageFactor "CorvusHellstaff", 1.15
    DamageFactor "MarathonPlasma", 1.15
    DamageFactor "BJSpear", 1.15
    DamageFactor "WMCBeam", 1.15
    DamageFactor "WMCNade", 1.15
    PainChance "MightyBoot", 255
    States
    {
      Spawn:
      Look:
        //TNT1 A 0 A_SetShootable
        //TNT1 A 0 A_SetSolid
        //TNT1 A 0 A_SetTranslucent(0.75,0)
        WRTH AB 15 A_Look
        Loop

      See:
        WRTH A 2 A_WraithRaiseInit
        WRTH A 2 A_WraithRaise
        WRTH A 2 A_FaceTarget
        WRTH BB 2 A_WraithRaise
        Goto See + 1

      Chase:
        TNT1 A 0 A_SetShootable
        TNT1 A 0 A_SetSolid
        TNT1 A 0 A_SetTranslucent(0.75,0)
        WRTH ABCD 4 A_WraithChase
        Loop

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

      Death.ZorchPistol:

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

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_ChangeFlag("GHOST",0)
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        WRT2 I 0 A_SetTranslucent(1,0)
        WRT2 I 0 A_UnsetSolid
        WRT2 I 70 A_GenericFreezeDeath
        WRT2 I 0 A_IceGuyDie
        WRT2 I 1 A_IceGuyDie
        TNT1 A -1
        stop

      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.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)
        goto Ice
        
      Pain.MightyBoot:
        TNT1 A 0 A_ChangeFlag("NOPAIN",1)
        TNT1 A 0 A_PlaySoundEx("duke/kickhit","body",0,0)
        WRTH H 2 A_FaceTarget
        TNT1 A 0 A_Recoil(14)
        WRTH H 16 A_Pain
        Goto See

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

actor BishopPuff2 : BishopPuff replaces BishopPuff
{
    +CLIENTSIDEONLY
    RenderStyle Add
    Alpha 0.75
}

actor ZorchEffectBossSmall
{
    RenderStyle Add
    Alpha 0.75
    xscale 1.25
    Speed 0
    Damage 0
    Radius 1
    Height 1
    MONSTER
    -SOLID
    +NOCLIP
    +NOGRAVITY
    +INVULNERABLE
    +CLIENTSIDEONLY
    +DONTSPLASH
    -EXPLODEONWATER
    +CANBOUNCEWATER
    States
    {
      Spawn:
        ZFOG AABBCCDDEEFFGGHHIIJJ 4 BRIGHT A_SpawnItemEx("ZorchSparkle",0,0,random(5,64),random(-7,7),random(-7,7),random(1,3),48,128)
        stop
    }
}

actor Dragon2 : Dragon replaces Dragon
{
    +NORADIUSDMG
    +NOTDMATCH
    +NOICEDEATH
    Health 1500
    DamageFactor "QuakePistol", 1.25
    DamageFactor "MarathonPistol", 1.25
    DamageFactor "DukePistol", 1.5
    DamageFactor "Pistol", 1.75
    DamageFactor "ZorchPistol", 1.75
    DamageFactor "TimonsAxe", 1.5
    DamageFactor "Normal", 0.9
    DamageFactor "DragonClaw", 1.2
    DamageFactor "Mace", 0.9
    DamageFactor "Zorch", 0.9
    DamageFactor "BFG", 0.5
    DamageFactor "BFGSpray", 0.5
    DamageFactor "Fire", 0.9
    DamageFactor "Ice", 0.9
    DamageFactor "Disintegrate", 0.9
    DamageFactor "DukeDamage", 0.9
    DamageFactor "DukeExplosive", 0.75
    DamageFactor "DukeIce", 0.9
    
    DamageFactor "Explosive", 0.9
    DamageFactor "MarathonFusion", 0.9
    DamageFactor "DoomPlasma", 0.9
    DamageFactor "CorvusCrossbow", 0.9
    DamageFactor "CorvusHellstaff", 0.9
    DamageFactor "MarathonPlasma", 0.9
    DamageFactor "BJSpear", 0.9
    DamageFactor "WMCBeam", 0.75
    DamageFactor "WMCNade", 0.5
    States
    {
      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        goto "Super::Death"

      Death.ZorchPistol:

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

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        DRAG N 0 A_PlaySoundEx("freeze/wyvern","soundslot6",0,0)
        DRAG N 0 A_UnsetShootable
        DRAG N 0 A_GenericFreezeDeath
        DRAG N 140 A_UnsetSolid
        DRAG N 0 A_PlaySoundEx("freeze/break","soundslot6",0,0)
        DRAG FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0 A_SpawnItemEx("IceChunk2",random(-1,1),random(-1,1),random(16,96),random(-2,2),random(-2,2),random(5,15))
        DRAG N 0 A_IceGuyDie
        DRAG N 1 A_IceGuyDie
        TNT1 A -1
        stop

      Death.DukeDamage:

      Death.MightyBoot:

      Death.DukeExplosive:

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

      See:
        TNT1 A 0 A_JumpIfInventory("DukeBossSee",1,"See2")
        TNT1 A 0 A_GiveInventory("DukeBossSee",1)
        TNT1 A 0 A_GiveToTarget("DukeBossSightTaunt")

      See2:
        DRAG CB 5
        DRAG A 5 A_DragonInitFlight
        DRAG B 3 A_DragonFlap
        DRAG BCCDDCCBBAA 3 A_DragonFlight
        Goto See + 3
    }
}

actor Heresiarch2 : Heresiarch replaces Heresiarch
{
    +NORADIUSDMG
    +NOTDMATCH
    +NOICEDEATH
    DamageFactor "QuakePistol", 1.25
    DamageFactor "MarathonPistol", 1.25
    DamageFactor "DukePistol", 1.5
    DamageFactor "Pistol", 1.75
    DamageFactor "ZorchPistol", 1.75
    DamageFactor "TimonsAxe", 1.1
    DamageFactor "Normal", 1.1
    DamageFactor "DragonClaw", 1.4
    DamageFactor "Mace", 1.1
    DamageFactor "Zorch", 1.1
    DamageFactor "BFG", 0.5
    DamageFactor "BFGSpray", 0.5
    DamageFactor "Fire", 1.1
    DamageFactor "Ice", 1.1
    DamageFactor "Disintegrate", 1.1
    DamageFactor "DukeDamage", 1.1
    DamageFactor "DukeExplosive", 0.95
    DamageFactor "DukeIce", 1.15
    
    DamageFactor "Explosive", 1.1
    DamageFactor "MarathonFusion", 1.1
    DamageFactor "DoomPlasma", 1.1
    DamageFactor "CorvusCrossbow", 1.1
    DamageFactor "CorvusHellstaff", 1.1
    DamageFactor "MarathonPlasma", 1.1
    DamageFactor "BJSpear", 0.9
    DamageFactor "WMCBeam", 0.75
    DamageFactor "WMCNade", 0.5
    States
    {
      Death.DukeDamage:

      Death.MightyBoot:

      Death.DukeExplosive:

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

      See:
        TNT1 A 0 A_JumpIfInventory("DukeBossSee",1,"See2")
        TNT1 A 0 A_GiveInventory("DukeBossSee",1)
        TNT1 A 0 A_GiveToTarget("DukeBossSightTaunt")

      See2:
        SORC ABCD 5 A_Chase
        Loop

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

      Death.ZorchPistol:

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

      Ice:
      Death.HexenIce:

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

actor SorcFX12 : SorcFX1 replaces SorcFX1
{
    +FIREDAMAGE
}

actor SorcFX42 : SorcFX4 replaces SorcFX4
{
    DamageType "HexHeresiarchPurple"
}

actor FighterBoss2 : FighterBoss replaces FighterBoss
{
    +BOSS
    +NORADIUSDMG
    +NOTDMATCH
    +NOICEDEATH
    DamageFactor "QuakePistol", 1.25
    DamageFactor "MarathonPistol", 1.25
    DamageFactor "DukePistol", 1.5
    DamageFactor "Pistol", 1.75
    DamageFactor "ZorchPistol", 1.75
    DamageFactor "TimonsAxe", 1.1
    DamageFactor "Normal", 0.9
    DamageFactor "DragonClaw", 1.2
    DamageFactor "Mace", 0.9
    DamageFactor "Zorch", 0.9
    DamageFactor "BFG", 0.5
    DamageFactor "BFGSpray", 0.5
    DamageFactor "Fire", 0.9
    DamageFactor "Ice", 0.9
    DamageFactor "Disintegrate", 0.9
    DamageFactor "DukeDamage", 0.9
    DamageFactor "DukeExplosive", 0.75
    DamageFactor "DukeIce", 0.9
    
    DamageFactor "Explosive", 0.9
    DamageFactor "MarathonFusion", 0.9
    DamageFactor "DoomPlasma", 0.9
    DamageFactor "CorvusCrossbow", 0.9
    DamageFactor "CorvusHellstaff", 0.9
    DamageFactor "MarathonPlasma", 0.9
    DamageFactor "BJSpear", 0.9
    DamageFactor "WMCBeam", 0.75
    DamageFactor "WMCNade", 0.5
    States
    {
      Death.DukeDamage:

      Death.MightyBoot:

      Death.DukeExplosive:

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

      See:
        TNT1 A 0 A_JumpIfInventory("DukeBossSee",1,"See2")
        TNT1 A 0 A_GiveInventory("DukeBossSee",1)
        TNT1 A 0 A_GiveToTarget("DukeBossSightTaunt")

      See2:
        PLAY ABCD 4 A_FastChase
        Loop

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

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

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorchhuge","soundslot5",0,0)
        PLAY G 8 A_SpawnItem("ZorchEffectBossSmall")
        PLAY G 8 A_SetTranslucent(0.9,0)
        TNT1 A 0 A_Scream
        PLAY G 8 A_SetTranslucent(0.8,0)
        TNT1 A 0 A_NoBlocking
        PLAY G 8 A_SetTranslucent(0.7,0)
        PLAY G 8 A_SetTranslucent(0.6,0)
        PLAY G 8 A_SetTranslucent(0.5,0)
        PLAY G 8 A_SetTranslucent(0.4,0)
        PLAY G 8 A_SetTranslucent(0.3,0)
        PLAY G 8 A_SetTranslucent(0.2,0)
        PLAY G 8 A_SetTranslucent(0.1,0)
        TNT1 A 1 A_SetTranslucent(1,0)
        TNT1 A 0 A_SpawnItemEx("BishopPuff", 0,0,40, 0,0,0.5)
        TNT1 A -1
        stop

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        PLAY X 0 A_PlaySoundEx("freeze/zedek","soundslot6",0,0)
        PLAY X 0 A_UnsetShootable
        PLAY X 0 A_GenericFreezeDeath
        PLAY X 140 A_UnsetSolid
        PLAY X 0 A_PlaySoundEx("freeze/break","soundslot6",0,0)
        PLAY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 0 A_SpawnItemEx("IceChunk2",random(-1,1),random(-1,1),random(16,96),random(-2,2),random(-2,2),random(5,15))
        PLAY X 0 A_IceGuyDie
        PLAY X 1 A_IceGuyDie
        TNT1 A -1
        stop
    }
}

actor FSwordMissile2 : FSwordMissile replaces FSwordMissile
{
    States
    {
      Death:
        FSFX D 4 Bright
        FSFX E 3 Bright A_FSwordFlames
        FSFX F 4 Bright //A_Explode(64, 128, 0)
        FSFX G 3 Bright
        FSFX H 4 Bright
        FSFX I 3 Bright
        FSFX J 4 Bright
        FSFX KLM 3 Bright
        Stop
    }
}

actor ClericBoss2 : ClericBoss replaces ClericBoss
{
    +BOSS
    +NORADIUSDMG
    +NOTDMATCH
    +NOICEDEATH
    DamageFactor "QuakePistol", 1.25
    DamageFactor "MarathonPistol", 1.25
    DamageFactor "DukePistol", 1.5
    DamageFactor "Pistol", 1.75
    DamageFactor "ZorchPistol", 1.75
    DamageFactor "TimonsAxe", 1.1
    DamageFactor "Normal", 0.9
    DamageFactor "DragonClaw", 1.2
    DamageFactor "Mace", 0.9
    DamageFactor "Zorch", 0.9
    DamageFactor "BFG", 0.75
    DamageFactor "BFGSpray", 0.75
    DamageFactor "Fire", 0.9
    DamageFactor "Ice", 0.9
    DamageFactor "Disintegrate", 0.9
    DamageFactor "DukeDamage", 0.9
    DamageFactor "DukeExplosive", 0.75
    DamageFactor "DukeIce", 0.9
    
    DamageFactor "Explosive", 0.9
    DamageFactor "MarathonFusion", 0.9
    DamageFactor "DoomPlasma", 0.9
    DamageFactor "CorvusCrossbow", 0.9
    DamageFactor "CorvusHellstaff", 0.9
    DamageFactor "MarathonPlasma", 0.9
    DamageFactor "BJSpear", 0.9
    DamageFactor "WMCBeam", 0.75
    DamageFactor "WMCNade", 0.5
    States
    {
      Death.DukeDamage:

      Death.MightyBoot:

      Death.DukeExplosive:

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

      See:
        TNT1 A 0 A_JumpIfInventory("DukeBossSee",1,"See2")
        TNT1 A 0 A_GiveInventory("DukeBossSee",1)
        TNT1 A 0 A_GiveToTarget("DukeBossSightTaunt")

      See2:
        CLER ABCD 4 A_FastChase
        Loop

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

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

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorchhuge","soundslot5",0,0)
        CLER H 8 A_SpawnItem("ZorchEffectBossSmall")
        CLER H 8 A_SetTranslucent(0.9,0)
        TNT1 A 0 A_Scream
        CLER H 8 A_SetTranslucent(0.8,0)
        TNT1 A 0 A_NoBlocking
        CLER H 8 A_SetTranslucent(0.7,0)
        CLER H 8 A_SetTranslucent(0.6,0)
        CLER H 8 A_SetTranslucent(0.5,0)
        CLER H 8 A_SetTranslucent(0.4,0)
        CLER H 8 A_SetTranslucent(0.3,0)
        CLER H 8 A_SetTranslucent(0.2,0)
        CLER H 8 A_SetTranslucent(0.1,0)
        TNT1 A 1 A_SetTranslucent(1,0)
        TNT1 A 0 A_SpawnItemEx("BishopPuff", 0,0,40, 0,0,0.5)
        TNT1 A -1
        stop

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        CLFR Z 0 A_PlaySoundEx("freeze/traductus","soundslot6",0,0)
        CLFR Z 0 A_UnsetShootable
        CLFR Z 0 A_GenericFreezeDeath
        CLFR Z 140 A_UnsetSolid
        CLFR Z 0 A_PlaySoundEx("freeze/break","soundslot6",0,0)
        CLFR ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 0 A_SpawnItemEx("IceChunk2",random(-1,1),random(-1,1),random(16,96),random(-2,2),random(-2,2),random(5,15))
        CLFR Z 0 A_IceGuyDie
        CLFR Z 1 A_IceGuyDie
        TNT1 A -1
        stop
    }
}

actor MageBoss2 : MageBoss replaces MageBoss
{
    +BOSS
    +NORADIUSDMG
    +NOTDMATCH
    +NOICEDEATH
    DamageFactor "QuakePistol", 1.25
    DamageFactor "MarathonPistol", 1.25
    DamageFactor "DukePistol", 1.5
    DamageFactor "Pistol", 1.75
    DamageFactor "ZorchPistol", 1.75
    DamageFactor "TimonsAxe", 1.1
    DamageFactor "Normal", 0.9
    DamageFactor "DragonClaw", 1.2
    DamageFactor "Mace", 0.9
    DamageFactor "Zorch", 0.9
    DamageFactor "BFG", 0.5
    DamageFactor "BFGSpray", 0.5
    DamageFactor "Fire", 0.9
    DamageFactor "Ice", 0.9
    DamageFactor "Disintegrate", 0.9
    DamageFactor "DukeDamage", 0.9
    DamageFactor "DukeExplosive", 0.75
    DamageFactor "DukeIce", 0.9
    
    DamageFactor "Explosive", 0.9
    DamageFactor "MarathonFusion", 0.9
    DamageFactor "DoomPlasma", 0.9
    DamageFactor "CorvusCrossbow", 0.9
    DamageFactor "CorvusHellstaff", 0.9
    DamageFactor "MarathonPlasma", 0.9
    DamageFactor "BJSpear", 0.9
    DamageFactor "WMCBeam", 0.75
    DamageFactor "WMCNade", 0.5
    States
    {
      Death.DukeDamage:

      Death.MightyBoot:

      Death.DukeExplosive:

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

      See:
        TNT1 A 0 A_JumpIfInventory("DukeBossSee",1,"See2")
        TNT1 A 0 A_GiveInventory("DukeBossSee",1)
        TNT1 A 0 A_GiveToTarget("DukeBossSightTaunt")

      See2:
        MAGE ABCD 4 A_FastChase
        Loop

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

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

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorchhuge","soundslot5",0,0)
        MAGE G 8 A_SpawnItem("ZorchEffectBossSmall")
        MAGE G 8 A_SetTranslucent(0.9,0)
        TNT1 A 0 A_Scream
        MAGE G 8 A_SetTranslucent(0.8,0)
        TNT1 A 0 A_NoBlocking
        MAGE G 8 A_SetTranslucent(0.7,0)
        MAGE G 8 A_SetTranslucent(0.6,0)
        MAGE G 8 A_SetTranslucent(0.5,0)
        MAGE G 8 A_SetTranslucent(0.4,0)
        MAGE G 8 A_SetTranslucent(0.3,0)
        MAGE G 8 A_SetTranslucent(0.2,0)
        MAGE G 8 A_SetTranslucent(0.1,0)
        TNT1 A 1 A_SetTranslucent(1,0)
        TNT1 A 0 A_SpawnItemEx("BishopPuff", 0,0,40, 0,0,0.5)
        TNT1 A -1
        stop

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        MAGE Y 0 A_UnsetShootable
        MAGE Y 0 A_PlaySoundEx("freeze/menelkir","soundslot6",0,0)
        MAGE Y 0 A_GenericFreezeDeath
        MAGE Y 140 A_UnsetSolid
        MAGE Y 0 A_PlaySoundEx("freeze/break","soundslot6",0,0)
        MAGE YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY 0 A_SpawnItemEx("IceChunk2",random(-1,1),random(-1,1),random(16,96),random(-2,2),random(-2,2),random(5,15))
        MAGE Y 0 A_IceGuyDie
        MAGE Y 1 A_IceGuyDie
        TNT1 A -1
        stop
    }
}

actor MageStaffFX22 : MageStaffFX2 replaces MageStaffFX2
{
    States
    {
      Death:
        MSP2 E 4 Bright A_SetTranslucent(1,1)
        MSP2 F 5 Bright //A_Explode(80, 192, 0)
        MSP2 GH 5 Bright
        MSP2 I 4 Bright
        Stop
    }
}

actor Korax2 : Korax replaces Korax
{
    DamageFactor "QuakePistol", 1.25
    DamageFactor "MarathonPistol", 1.25
    DamageFactor "DukePistol", 1.5
    DamageFactor "Pistol", 1.75
    DamageFactor "ZorchPistol", 1.75
    DamageFactor "BFG", 0.5
    DamageFactor "BFGSpray", 0.5
    DamageFactor "DukeExplosive", 0.75
    
    DamageFactor "Explosive", 0.9
    DamageFactor "WMCBeam", 0.75
    DamageFactor "WMCNade", 0.5
    PainChance "MarathonFusion", 0
    Health 10000
    PainChance 10
    Speed 20
    +INVULNERABLE
    +NORADIUSDMG
    +NOTDMATCH
    +NOICEDEATH
    States
    {
      Spawn:
        TNT1 A 0 A_SetTranslucent(0,0)
        TNT1 A 80
        TNT1 A 0 ACS_ExecuteAlways(204,0,1)
        KORX A 0 A_SetTranslucent(0.1,0)
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0)  
        KORX A 0 A_SetTranslucent(0.2,0)
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0)  
        KORX A 0 A_SetTranslucent(0.3,0)
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0)  
        KORX A 0 A_SetTranslucent(0.4,0)
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0)  
        KORX A 0 A_SetTranslucent(0.5,0)
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0)  
        KORX A 0 A_SetTranslucent(0.6,0)
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0)  
        KORX A 0 A_SetTranslucent(0.7,0)
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0)  
        KORX A 0 A_SetTranslucent(0.8,0)
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0)  
        KORX A 0 A_SetTranslucent(0.9,0)
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0)  
        TNT1 A 0 A_PlaySoundEx("KoraxVoiceGreetings","SoundSlot5",0,2)
        KORX AAAAAAAAAAAAAA 0 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, 4, 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 0 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, 4, 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 0 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, 4, 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 0 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, 4, 0, 129, 0) 
        KORX AAAAAAAAAAAAAA 0 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, 4, 0, 129, 0) 
        KORX A 100 A_SetTranslucent(1,0)
        TNT1 A 0 A_PlaySoundEx("KoraxVoiceReady","SoundSlot5",0,2)
        KORX A 100
        TNT1 A 0 A_ChangeFlag("INVULNERABLE",0)
        KORX A 1 A_Look
        wait

      Idle:
        KORX A 1 A_Look
        loop

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

      Death.ZorchPistol:

      Death.Zorch:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_Stop
        TNT1 A 0 A_ChangeFlag("DONTGIB",1)
        TNT1 A 0 A_PlaySoundEx("chex/zorchhuge","soundslot5",0,0)
        KORX H 10 A_SpawnItem("ZorchEffectHuge")
        KORX H 10 A_SetTranslucent(0.9,0)
        TNT1 A 0 A_PlaySoundEx("chex/koraxzorch","soundslot6",0,2)
        KORX H 10 A_SetTranslucent(0.8,0)
        TNT1 A 0 A_NoBlocking
        KORX H 10 A_SetTranslucent(0.7,0)
        KORX H 10 A_SetTranslucent(0.6,0)
        KORX H 10 A_SetTranslucent(0.5,0)
        KORX H 10 A_SetTranslucent(0.4,0)
        KORX H 10 A_SetTranslucent(0.3,0)
        KORX H 10 A_SetTranslucent(0.2,0)
        KORX H 10 A_SetTranslucent(0.1,0)
        TNT1 A 0 A_KoraxBonePop
        TNT1 A 1 A_SetTranslucent(1,0)
        TNT1 A -1
        stop

      Ice:
      Death.HexenIce:

      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        KORX H 0 A_KoraxBonePop
        KORX H 0 A_UnsetShootable
        KORX H 0 A_PlaySoundEx("freeze/korax","soundslot6",0,0)
        KORX H 0 A_GenericFreezeDeath
        KORX H 140 A_UnsetSolid
        KORX H 0 A_PlaySoundEx("freeze/break","soundslot6",0,0)
        KORX HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 0 A_SpawnItemEx("IceChunk2",random(-1,1),random(-1,1),random(16,96),random(-2,2),random(-2,2),random(5,15))
        KORX H 0 A_IceGuyDie
        KORX H 1 A_IceGuyDie
        TNT1 A -1
        stop

      Death.DukeDamage:

      Death.MightyBoot:

      Death.DukeExplosive:

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

      See:
        TNT1 A 0 A_JumpIfInventory("DukeBossSee",1,"See2")
        TNT1 A 0 A_GiveInventory("DukeBossSee",1)
        TNT1 A 0 A_GiveToTarget("DukeBossSightTaunt")

      See2:
        
        KORX AAA 3 A_KoraxChase
        KORX B 3 A_Chase
        KORX BBB 3 A_KoraxChase
        KORX C 0 A_PlaySound("KoraxStep")
        KORX C 3 A_Chase
        KORX CCC 3 A_KoraxChase
        KORX D 3 A_Chase
        KORX DDD 3 A_KoraxChase
        KORX A 0 A_PlaySound("KoraxStep")
        KORX A 3 A_Chase
        Loop
    }
}
