
actor Doom_Fatso : ZBaseActor 19395
{
  Obituary "%o was incinerated by a Mancubus."
  Health 500
  Radius 30
  height 64
  mass 1000
  Speed 8
  SeeSound "fatso/sight"
  PainSound "fatso/pain"
  DeathSound "fatso/death"
  ActiveSound "fatso/active"
  dropitem "RPGAmmo" 32 5
  painchance 64
  Painchance "Shrinker", 256
  painchance "FireBurning", 200
  painchance "MightyBoot", 128
  painchance "BootStun", 256
  painchance "MicrowaveBlast", 256
  MONSTER
  +FLOORCLIP
  xscale 1.1
  yscale 1.0
  damagefactor "AlienzShrinker", 0.0
  damagefactor "Shrinkerhit", 0.0
  damagefactor "Explosion", 0.65
  damagefactor "RocketExplosion", 0.65
  damagefactor "ShellExplosion", 0.80
  damagefactor "Fire", 0.6
  damagefactor "BulletFlame", 0.88
  Species "Mancubuses"
  +DOHARMSPECIES
  +NOINFIGHTSPECIES
  +DONTHARMCLASS
  WoundHealth 10
  States
  {
  Spawn:
    FATT A 0
    "####" "#" 0 Thing_ChangeTID(0,1000)
    FATT AA 15 A_Look
    Loop
  See:
    "####" "#" 0 A_SetHeightOffset(0)
    FATT AABBCCDDEEFF 4 A_ChaseD3D
    Loop
  Missile:
    "####" "#" 0 A_SetHeightOffset(-5)
    "####" "#" 0 A_JumpIfCloser(260,"Flamer")
  Missile1:
    "####" "#" 0 A_JumpIfCloser(500,2)
    "####" "#" 0 A_Jump(64,"Missile2")
    "####" "#" 0 A_FatRaise
    FATT G 10 A_FaceTarget
    FATT G 10 A_FaceTarget
    "####" "#" 0 A_CustomMissile("MuzzleFlashFast",32,5,0)
    "####" "#" 0 A_CustomMissile("Doom_FatShot",30,-25,10,0)
    "####" "#" 0 A_CustomMissile("Doom_FatShot",30,25,0,0)
    FATT H 10 BRIGHT
    FATT IG 5 A_FaceTarget
    "####" "#" 0 A_CustomMissile("MuzzleFlashFast",32,5,0)
    "####" "#" 0 A_CustomMissile("Doom_FatShot",30,-25,0,0)
    "####" "#" 0 A_CustomMissile("Doom_FatShot",30,25,-10,0)
    FATT H 10 BRIGHT
    FATT IG 5 A_FaceTarget
    "####" "#" 0 A_CustomMissile("MuzzleFlashFast",32,5,0)
    "####" "#" 0 A_CustomMissile("Doom_FatShot",30,-25,4,0)
    "####" "#" 0 A_CustomMissile("Doom_FatShot",30,25,-4,0)
    FATT H 10 BRIGHT
    FATT IG 5
    Goto See
  Missile2:
    "####" "#" 0 A_JumpIfCloser(1000,2)
    "####" "#" 0 A_Jump(256,"Missile1")
    FATT G 15 A_FaceTarget
    "####" "#" 0 A_FaceTarget
    FATT H 6 bright A_CustomMissile("FireFlyBigFireBall",30,-25,0,2,Random[RIDMONSTERAT](4,8))
    "####" "#" 0 A_FaceTarget
    FATT I 6 bright
    "####" "#" 0 A_FaceTarget
    FATT H 6 bright A_CustomMissile("FireFlyBigFireBall",30,25,0,2,Random[RIDMONSTERAT](4,8))
    "####" "#" 0 A_FaceTarget
    FATT G 6 bright
    "####" "#" 0 A_FaceTarget
    FATT H 6 bright A_CustomMissile("FireFlyBigFireBall",30,-25,0,2,Random[RIDMONSTERAT](4,8))
    "####" "#" 0 A_FaceTarget
    FATT I 6 bright
    "####" "#" 0 A_FaceTarget
    FATT H 6 bright A_CustomMissile("FireFlyBigFireBall",30,25,0,2,Random[RIDMONSTERAT](4,8))
    "####" "#" 0 A_FaceTarget
    FATT G 6 bright
    "####" "#" 0 A_CPosRefire
    "####" "#" 0 A_Jump(96,"See")
    "####" "#" 0 A_JumpIfCloser(500,"See")
    goto Missile2+3
  Flamer:
    "####" "#" 0 A_Jump(32,"Missile1")
    FATT G 10 A_FaceTarget
    "####" "#" 0 A_CustomMissile("MuzzleFlashFast",32,5,0)
    "####" "#" 0 A_PlaySound("duke/flame",0)
    FATT H 1 A_FaceTarget
    "####" "#" 0 A_CustomMissile("FireFlyFlameBreath",30,25,Random[RIDMONSTERAT](-10,0),CMF_AIMDIRECTION|CMF_OFFSETPITCH,random[RIDMONSTERAT](-1, 1))
    FATT H 1 Bright A_CustomMissile("FireFlyFlameBreath",30,-25,Random[RIDMONSTERAT](0,10),CMF_AIMDIRECTION|CMF_OFFSETPITCH,random[RIDMONSTERAT](-1, 1))
    FATT H 1
    "####" "#" 0 A_CustomMissile("FireFlyFlameBreath",30,25,Random[RIDMONSTERAT](-10,0),CMF_AIMDIRECTION|CMF_OFFSETPITCH,random[RIDMONSTERAT](-1, 1))
    FATT H 1 Bright A_CustomMissile("FireFlyFlameBreath",30,-25,Random[RIDMONSTERAT](0,10),CMF_AIMDIRECTION|CMF_OFFSETPITCH,random[RIDMONSTERAT](-1, 1))
    FATT H 1
    "####" "#" 0 A_CustomMissile("FireFlyFlameBreath",30,25,Random[RIDMONSTERAT](-10,0),CMF_AIMDIRECTION|CMF_OFFSETPITCH,random[RIDMONSTERAT](-1, 1))
    FATT H 1 Bright A_CustomMissile("FireFlyFlameBreath",30,-25,Random[RIDMONSTERAT](0,10),CMF_AIMDIRECTION|CMF_OFFSETPITCH,random[RIDMONSTERAT](-1, 1))
    "####" "#" 0 A_CustomMissile("MuzzleFlashFast",32,5,0)
    "####" "#" 0 A_PlaySound("duke/flame",0)
    FATT H 1 A_FaceTarget
    "####" "#" 0 A_CustomMissile("FireFlyFlameBreath",30,25,Random[RIDMONSTERAT](-10,0),CMF_AIMDIRECTION|CMF_OFFSETPITCH,random[RIDMONSTERAT](-1, 1))
    FATT H 1 Bright A_CustomMissile("FireFlyFlameBreath",30,-25,Random[RIDMONSTERAT](0,10),CMF_AIMDIRECTION|CMF_OFFSETPITCH,random[RIDMONSTERAT](-1, 1))
    FATT H 1
    "####" "#" 0 A_CustomMissile("FireFlyFlameBreath",30,25,Random[RIDMONSTERAT](-10,0),CMF_AIMDIRECTION|CMF_OFFSETPITCH,random[RIDMONSTERAT](-1, 1))
    FATT H 1 Bright A_CustomMissile("FireFlyFlameBreath",30,-25,Random[RIDMONSTERAT](0,10),CMF_AIMDIRECTION|CMF_OFFSETPITCH,random[RIDMONSTERAT](-1, 1))
    FATT H 1
    "####" "#" 0 A_CustomMissile("FireFlyFlameBreath",30,25,Random[RIDMONSTERAT](-10,0),CMF_AIMDIRECTION|CMF_OFFSETPITCH,random[RIDMONSTERAT](-1, 1))
    FATT H 1 Bright A_CustomMissile("FireFlyFlameBreath",30,-25,Random[RIDMONSTERAT](0,10),CMF_AIMDIRECTION|CMF_OFFSETPITCH,random[RIDMONSTERAT](-1, 1))
    "####" "#" 0 A_CustomMissile("MuzzleFlashFast",32,5,0)
    "####" "#" 0 A_PlaySound("duke/flame",0)
    FATT H 1 A_FaceTarget
    "####" "#" 0 A_CustomMissile("FireFlyFlameBreath",30,25,Random[RIDMONSTERAT](-10,0),CMF_AIMDIRECTION|CMF_OFFSETPITCH,random[RIDMONSTERAT](-1, 1))
    FATT H 1 Bright A_CustomMissile("FireFlyFlameBreath",30,-25,Random[RIDMONSTERAT](0,10),CMF_AIMDIRECTION|CMF_OFFSETPITCH,random[RIDMONSTERAT](-1, 1))
    FATT H 1
    "####" "#" 0 A_CustomMissile("FireFlyFlameBreath",30,25,Random[RIDMONSTERAT](-10,0),CMF_AIMDIRECTION|CMF_OFFSETPITCH,random[RIDMONSTERAT](-1, 1))
    FATT H 1 Bright A_CustomMissile("FireFlyFlameBreath",30,-25,Random[RIDMONSTERAT](0,10),CMF_AIMDIRECTION|CMF_OFFSETPITCH,random[RIDMONSTERAT](-1, 1))
    FATT H 1
    "####" "#" 0 A_CustomMissile("FireFlyFlameBreath",30,25,Random[RIDMONSTERAT](-10,0),CMF_AIMDIRECTION|CMF_OFFSETPITCH,random[RIDMONSTERAT](-1, 1))
    FATT H 1 Bright A_CustomMissile("FireFlyFlameBreath",30,-25,Random[RIDMONSTERAT](0,10),CMF_AIMDIRECTION|CMF_OFFSETPITCH,random[RIDMONSTERAT](-1, 1))
    "####" "#" 0 A_CPosRefire
    "####" "#" 0 A_Jump(128,"See")
    "####" "#" 0 A_JumpIfCloser(260,2)
    "####" "#" 0 A_Jump(256,"See")
    "####" "#" 0
    goto Flamer+2
  Pain.BootStun:
    "####" "#" 0 A_SetHeightOffset(-5)
    "####" "#" 0 A_Jump(128,"Pain2BootStun")
    FATT J 9 A_PlayVoiceSoundPitch("Pain")
    FATT J 9
    goto See
  Pain2BootStun:
    FATT U 9 A_PlayVoiceSoundPitch("Pain")
    FATT U 9
    goto See
  Pain:
    "####" "#" 0 A_SetHeightOffset(-5)
    "####" "#" 0 A_Jump(128,"Pain2")
    FATT J 3
    FATT J 3 A_PlayVoiceSoundPitch("Pain")
    Goto See
  Pain2:
    FATT U 3
    FATT U 3 A_PlayVoiceSoundPitch("Pain")
    Goto See
  Pain.MicrowaveBlast:
    "####" "#" 0 A_SetHeightOffset(-5)
    FATT J 1
    "####" "#" 0 A_CheckThump("Pain.BootStun")
    loop
  Death:
    FAT3 B 9 A_PlayVoiceSoundPitch("Death")
    FAT3 C 9
    FAT3 D 9 A_NoBlocking
    FAT3 E 9
    FAT3 F 1 {A_BossDeath; A_SpawnItemEx("DeadDoom_Fatso", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL|SXF_SETMASTER);}
    "####" "#" 0 A_SpawnItemEx("DukeRedBloodPool")
    TNT1 A -1
    stop
  Pain.Shrinker:
    "####" "#" 0 A_PlaySound("shrinker/shrink")
    "####" "#" 0 A_InvulnerablePlus(1)
    FATT J 5 A_PlayVoiceSoundPitch("Pain")
    "####" "#" 0 A_CustomMissile("ShrinkEffect",8,0,0)
  Shrink:
    FATT J 2 {A_SetScale(ScaleX - 0.04, ScaleY - 0.04); A_SpawnItemEx("ShrunkBlur",0,0,0,0,0,0,angle,SXF_TRANSFERSPRITEFRAME|SXF_TRANSFERSCALE|SXF_TRANSFERTRANSLATION|SXF_NOCHECKPOSITION|SXF_ABSOLUTEANGLE);}
    "####" "#" 0 A_JumpIf(ScaleX > 0.2 && ScaleY > 0.2, "Shrink")
    "####" "#" 0 A_Shrink("A","B","C","D",0.3)
    "####" "#" 0 {A_ChangeFlag("COUNTKILL",0); A_Die("BossDeath");}
    stop
  XDeath:
  Death.BossStomp:
    "####" "#" 0 A_XScream
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_BossDeath
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_FatsoHead1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_FatsoLeg1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_FatsoArm1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5","Gib6")
    TNT1 A 1
    Stop
  Death.PlasmaGib:
    "####" "#" 0 A_SpawnItemEx("DukePlasmaExplosion",0,0,32,0,0,0,0,1,0)
    "####" "#" 0 A_XScream
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_BossDeath
    "####" "#" 0 A_SpawnDebris("DukeGibs1NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_FatsoHead1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_FatsoLeg1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_FatsoArm1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5","Gib6")
    TNT1 A 1
    Stop
  Death.Explosion:
  Death.RocketExplosion:
    "####" "#" 0 A_XScream
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_BossDeath
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_FatsoHead1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_FatsoLeg1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_FatsoArm1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5","Gib6")
    TNT1 A 1
    Stop
  Death.ExplosiveShotgun:
  Death.ShellExplosion:
    "####" "#" 0 A_XScream
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_BossDeath
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_FatsoHead1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_FatsoLeg1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_FatsoArm1",TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5","Gib6")
    TNT1 A 1
    Stop
  Gib1:
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB1 E 1 A_SpawnItemEx("Gib1DeathSkin", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION)
    Stop
  Gib2:
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB2 E 1 A_SpawnItemEx("Gib2DeathSkin", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION)
    Stop
  Gib3:
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB3 E 1 A_SpawnItemEx("Gib3DeathSkin", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION)
    Stop
  Gib4:
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB4 E 1 A_SpawnItemEx("Gib4DeathSkin", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION)
    Stop
  Gib5:
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB5 E 1 A_SpawnItemEx("Gib5DeathSkin", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION)
    Stop
  Gib6:
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    XFBT A 5
    XFBT B 5
    XFBT C 5
    XFBT D 5
    XFBT E 5
    XFBT FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 35 A_Gravity
    XFBT FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 1 A_FadeOut(0.1)
    Stop
  Wound.Expander:
   "####" "#" 0 A_Die("Expander")
  Death.Expander:
    "####" "#" 0 A_ChangeFlag("DONTCORPSE",1)
    "####" "#" 0 A_PlaySound("expander/expand")
    "####" "#" 0 {A_UnsetShootable; A_UnsetSolid;}
  Expand:
    FATT J 1 A_SetScale(ScaleX + 0.01, ScaleY + 0.01)
    "####" "#" 0 A_JumpIf(ScaleX < 1.5 && ScaleY < 1.5, "Expand")
    FATT JJJJJ 1
    "####" "#" 0 A_SetScale(1.1, 1.0)
    "####" "#" 0 A_PlayVoiceSoundPitch("Death","",4)
    "####" "#" 0 A_SpawnItemEx("ExpanderExplosion",0,0,32,0,0,0,0,1,0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    goto Death.Explosion
  Wound.Ice:
    "####" "#" 0 A_Freeze("See")
    "####" "#" 0 {A_ChangeFlag("COUNTKILL",0); A_Die("BossDeath");}
    TNT1 A 1
    stop
  Death.BossDeath:
    "####" "#" 0 A_BossDeath
    TNT1 A 1
    Stop
  Death.Headshot:
    "####" "#" 0 A_XScream
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("Doom_FatsoHead1",TRUE, 1.0, 1.0)
    FATT K 21 A_NoBlocking
    FATT P 14
    FATT RS 7
    FATT T 1 {A_BossDeath; A_SpawnItemEx("DeadDoom_FatsoBehead", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL);}
    "####" "#" 0 A_SpawnItemEx("DukeRedBloodPool")
    stop
  Possessed:
    "####" "#" 0 A_ChangeFlag("NOPAIN", 1)
    FAT3 F 8 {A_XScream; A_AdjustTics(1.0,1.0);}
    FAT3 E 8 {A_XScream; A_AdjustTics(1.0,1.0);}
    FAT3 D 8 A_AdjustTics(1.0,1.0)
    FAT3 C 8 A_AdjustTics(1.0,1.0)
    FAT3 B 8 A_AdjustTics(0,1.0)
    "####" "#" 0 A_ChangeFlag("NOPAIN", 0)
    goto See
  }
}

Actor Doom_FatShot : ZMissile
{
  Radius 6
  Height 8
  Speed 20
  Damage (random[RIDMONSTERAT](40,40))
  Projectile
  Decal "DukeScorch"
  DamageType BulletFlame
  RenderStyle "Add"
  Alpha 1
  SeeSound "fatso/attack"
  DeathSound "fatso/shotx"
  +BLOODLESSIMPACT
  +FORCEXYBILLBOARD
  +THRUGHOST
  +GHOST
  +RANDOMIZE
  -THRUSPECIES
  Species "none"
  ThruBits 1
  States
  {
  Spawn:
    MANF AABB 1 BRIGHT {A_SpawnItem("RedFlareMedium"); A_CustomMissile ("OldschoolRocketSmokeTrail2", 2, 0, random[RIDFX](70, 110), 2, random[RIDFX](0, 360));}
    loop
  Death:
    TNT1 A 0 A_SpawnItemEx("FlameExplosion",0,0,0,0,0,0,0,0)
    TNT1 AAAAA 0 A_CustomMissile ("RedPlasmaParticle", 0, 0, random[RIDFX](0, 360), 2, random[RIDFX](0, 360))
    TNT1 AAAAA 0 A_CustomMissile ("RedPlasmaParticle", 0, 0, random[RIDFX](0, 360), 2, random[RIDFX](0, 360))
    TNT1 AAAAA 0 A_CustomMissile ("RedPlasmaParticle", 0, 0, random[RIDFX](0, 360), 2, random[RIDFX](0, 360))
    MISL B 1 bright {A_SpawnItem("RedFlareMedium",0,0); A_FadeOut(0.075);}
    MISL B 1 bright {A_SpawnItem("RedFlareMedium",0,0); A_FadeOut(0.075);}
    MISL B 1 bright {A_SpawnItem("RedFlareMedium",0,0); A_FadeOut(0.075);}
    MISL B 1 bright {A_SpawnItem("RedFlareMedium",0,0); A_FadeOut(0.075);}
    TNT1 A 0 A_CustomMissile ("ShrinkerAttackSmoke", 1, 0, random[RIDFX](0, 360), 2, random[RIDFX](0, 160))
    TNT1 A 0 A_Explode(2,64)
    MISL C 1 bright {A_SpawnItem("RedFlareMedium",0,0); A_FadeOut(0.075);}
    MISL C 1 bright {A_SpawnItem("RedFlareMedium",0,0); A_FadeOut(0.075);}
    MISL C 1 bright A_FadeOut(0.075)
    MISL C 1 bright A_FadeOut(0.075)
    MISL D 1 bright A_FadeOut(0.075)
    MISL D 1 bright A_FadeOut(0.075)
    MISL D 1 bright A_FadeOut(0.075)
    MISL D 1 bright A_FadeOut(0.075)
    TNT1 A 9 A_CustomMissile ("ShrinkerAttackSmoke", 1, 0, random[RIDFX](0, 360), 2, random[RIDFX](0, 160))
    Stop
  }
}

actor DeadDoom_Fatso : DeadDukeNukemP 19396
{
  Radius 30
  Height 27
  xscale 1.1
  yscale 1.0
  States
  {
  Spawn:
    FAT3 F -1
    Stop
  Death.Fire:
    "####" "#" 0 A_SetTranslation("Burned")
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnItemEx("DeadDoom_Fatso", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL)
    TNT1 A 1
    Stop
  Ice:
    "####" "#" 0 Thing_ChangeTID(0,3500)
    FAT3 F 5 A_GenericFreezeDeath
    FAT3 F 1 A_FreezeDeathChunks
    wait
  Gib1:
  Gib2:
  Gib3:
  Gib4:
  Gib5:
    TNT1 A 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    TNT1 A 1 A_SpawnItemEx("Gib4DeathSkin", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION)
    Stop
  }
}

actor DeadDoom_FatsoBehead : DeadDukeNukem
{
  Radius 30
  Height 27
  xscale 1.1
  yscale 1.0
  States
  {
  Spawn:
    FATT T -1
    Stop
  Death.Fire:
    "####" "#" 0 A_SetTranslation("Burned")
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnItemEx("DeadDoom_FatsoBehead", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL)
    TNT1 A 1
    Stop
  Ice:
    "####" "#" 0 Thing_ChangeTID(0,3500)
    FATT T 5 A_GenericFreezeDeath
    FATT T 1 A_FreezeDeathChunks
    wait
  Gib1:
  Gib2:
  Gib3:
  Gib4:
  Gib5:
    TNT1 A 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    TNT1 A 1 A_SpawnItemEx("Gib4DeathSkin", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION)
    Stop
  }
}