Actor GiveDukeDamagePickupLava : CustomInventory
{
  inventory.maxamount 1
  States
  {
  Pickup:
    TNT1 A 0 A_JumpIfInventory("DukeDamagePickup",1,4)
    TNT1 A 0 A_GiveInventory("DukeDamagePickup",30)
    TNT1 A 0 A_DamageSelf(random[RIDMONSTER](80,140),"Fire",DMSS_EXSPECIES,"None","Dukes")
    TNT1 A 0 A_DamageSelf(5,"Fire",DMSS_AFFECTARMOR,"None","Dukes")
    TNT1 A 1
    Stop
  }
}

Actor GiveDukeAcidDamagePickup : CustomInventory
{
  inventory.maxamount 1
  States
  {
  Pickup:
    TNT1 A 0 A_JumpIfInventory("DukeDamagePickup",6,3)
    TNT1 A 0 A_JumpIfInventory("DukeDamagePickup",1,3)
    TNT1 A 0 A_GiveInventory("DukeDamagePickup",20)
    TNT1 A 1
    Stop
    TNT1 A 0 A_GiveInventory("DukeDamagePickup",35)
    TNT1 A 0 A_DamageSelf(5,"DukeAcid",DMSS_AFFECTARMOR,"DukePlayer","Dukes")
    TNT1 A 1
    Stop
  }
}

Actor GiveDukeFireDamagePickup : CustomInventory
{
  inventory.maxamount 1
  States
  {
  Pickup:
    TNT1 A 0 A_JumpIfInventory("DukeDamagePickup",6,3)
    TNT1 A 0 A_JumpIfInventory("DukeDamagePickup",1,3)
    TNT1 A 0 A_GiveInventory("DukeDamagePickup",20)
    TNT1 A 1
    Stop
    TNT1 A 0 A_GiveInventory("DukeDamagePickup",35)
    TNT1 A 0 A_DamageSelf(5,"DukeFire",DMSS_AFFECTARMOR,"DukePlayer","Dukes")
    TNT1 A 1
    Stop
  }
}

Actor DukeDamagePickup : Inventory
{   
  Inventory.maxamount 35
  Inventory.amount 0
}

Actor GiveBootsSmearedWithRedBlood : CustomInventory
{
  inventory.maxamount 1
  States
  {
  Pickup: 		
    TNT1 A 0 A_TakeInventory("BootsSmearedWithGreenBlood",8)
    TNT1 A 0 A_TakeInventory("BootsSmearedWithIceBlood",8)
    TNT1 A 1 A_GiveInventory("BootsSmearedWithRedBlood",8)
    Stop
  }
}

Actor GiveBootsSmearedWithGreenBlood : CustomInventory
{
  inventory.maxamount 1
  States
  {
  Pickup: 		
    TNT1 A 0 A_TakeInventory("BootsSmearedWithRedBlood",8)
    TNT1 A 0 A_TakeInventory("BootsSmearedWithIceBlood",8)
    TNT1 A 1 A_GiveInventory("BootsSmearedWithGreenBlood",8)
    Stop
  }
}

Actor GiveBootsSmearedWithIceBlood : CustomInventory
{
  inventory.maxamount 1
  States
  {
  Pickup: 		
    TNT1 A 0 A_TakeInventory("BootsSmearedWithGreenBlood",8)
    TNT1 A 0 A_TakeInventory("BootsSmearedWithRedBlood",8)
    TNT1 A 1 A_GiveInventory("BootsSmearedWithIceBlood",8)
    Stop
  }
}

Actor BootsSmearedWithRedBlood : Inventory
{
inventory.maxamount 8
}

Actor BootsSmearedWithGreenBlood : Inventory
{
inventory.maxamount 8
}

Actor BootsSmearedWithIceBlood : Inventory
{
inventory.maxamount 8
}

Actor FootPrintAlternate: Inventory
{
inventory.maxamount 1
}

actor StompingAngle : Inventory
{
  inventory.amount 0
  inventory.maxamount 100
}

actor StompingPitch : Inventory
{
  inventory.amount 0
  inventory.maxamount 100
}

Actor BabeTaunt : ZCustomInventory
{
   Inventory.MaxAmount 1 
   States
   {
      Pickup:
	TNT1 A 0 A_JumpIfInventory("Attacking",1,4)
        TNT1 A 0 A_D3DPlayDukeSound("duke/babetaunt")
	TNT1 A 0 A_GiveInventory("DukeMoneyTaunt",1)
	TNT1 A 0 A_SelectWeapon("DukeMoneyTaunt")
	TNT1 A 1
        Stop
   }
}

Actor BabeDamn : ZCustomInventory
{
   Inventory.MaxAmount 1 
   States
   {
      Pickup:
        TNT1 A 1 A_D3DPlayDukeSound("duke/damn")
        Stop
   }
}

ACTOR DukePlayer : ZDukePlayer replaces Doomplayer 19307
{
  Speed 1
  Health 100
  Radius 16
  Height 56
  Mass 1000
  PainChance 256
  Player.ColorRange 112, 127
  Player.DisplayName "Duke"
  Player.CrouchSprite "DUKC"
  Player.StartItem "CrackKnuckles"
  Player.StartItem "MightyBoot"
  Player.StartItem "Pistol "
  Player.StartItem "PistolAmmo", 50
  Player.SoundClass "Duke"
  Player.ViewHeight 45
  player.attackzoffset 18
  Player.JumpZ 10
  scale 0.7
  damagefactor "Shrinker", 0.0
  damagefactor "Shrinkerhit", 0.0
  damagefactor "Explosion", 1.0
  damagefactor "RocketExplosion", 1.0
  damagefactor "ShellExplosion", 1.0
  damagefactor "Ice", 0.8
  damagefactor "Fire", 1.0
  damagefactor "BulletFlame", 1.0
  damagefactor "Bullet", 0.0
  damagefactor "Chaingun", 0.0
  damagefactor "FireChaingun", 0.0
  damagefactor "Shotgun", 0.0
  damagefactor "ExplosiveShotgun", 0.0
  damagefactor "SSG", 0.0
  damagefactor "MightyBoot", 0.0
  +FLOORCLIP
  Species "Dukes"
  +THRUSPECIES
  +MTHRUSPECIES
  WoundHealth 10
  states
  {
  Spawn:
    DUKE A 0 A_JumpIf(waterlevel >= 3, "Spawn3")
    DUKE A 0 A_JumpIfInventory("JetPackActive",1,"Spawn2")
    DUKE A 0 A_JumpIf(MomZ!=0,"IsJumpin")
    DUKE A 5 A_TakeInventory("Attacking",1)
    DUKE A 0 A_JumpIf(MomZ!=0,"IsJumpin")
    DUKE A 5 A_FindShrunkenFrozenEnemy
    DUKE A 0 A_JumpIf(MomZ!=0,"IsJumpin")
    DUKE A 5 A_FindShrunkenFrozenEnemy
    DUKE A 0 A_JumpIf(MomZ!=0,"IsJumpin")
    DUKE A 5 A_FindShrunkenFrozenEnemy
    DUKE A 0 A_TakeInventory("DukeShrinkCounter",100)
    DUKE A 0 A_JumpIf(MomZ!=0,"IsJumpin")
    DUKE A 5 A_FindShrunkenFrozenEnemy
    DUKE A 0 A_JumpIf(MomZ!=0,"IsJumpin")
    DUKE A 5 A_FindShrunkenFrozenEnemy
    DUKE A 0 A_JumpIf(MomZ!=0,"IsJumpin")
    DUKE A 5 A_FindShrunkenFrozenEnemy
    DUKE A 0 A_GiveInventory("Waiting",1)
    DUKE A 0 A_JumpIfInventory("Waiting",15,1)
    loop
    DUKE A 0 A_D3DPlayDukeSound("duke/waiting")
    DUKE A 0 A_GiveInventory("CrackKnuckles",1)
    DUKE A 0 A_SelectWeapon("CrackKnuckles")
    DUKE A 0 A_TakeInventory("Waiting",15)
    loop
  Spawn2:  
    DUKE B 2 A_TakeInventory("Attacking",1)
    DUKE B 0 A_TakeInventory("DukeShrinkCounter",100)
    DUKE B 3 A_TakeInventory("Waiting",15)
    DUKE B 0 A_FindShrunkenFrozenEnemy
    Goto Spawn
  Spawn3:  
    DUKS AC 5 A_TakeInventory("Attacking",1)
    DUKS A 0 A_TakeInventory("DukeShrinkCounter",100)
    DUKS DE 5 A_TakeInventory("Waiting",15)
    DUKS A 0 A_FindShrunkenFrozenEnemy
    Goto Spawn
  See:
    DUKE A 0 A_JumpIf(waterlevel >= 3, "See3")
    DUKE A 0 A_JumpIfInventory("JetPackActive",1,"See2")
    DUKE A 0 A_JumpIf(MomZ!=0,"IsJumpin")
    DUKE C 4 A_FindShrunkenFrozenEnemy
    DUKE A 0 A_JumpIf(MomZ!=0,"IsJumpin")
    DUKE D 4 A_FindShrunkenFrozenEnemy
    DUKE A 0 A_JumpIf(MomZ!=0,"IsJumpin")
    DUKE E 4 A_FindShrunkenFrozenEnemy
    DUKE A 0 A_JumpIf(MomZ!=0,"IsJumpin")
    DUKE F 4 A_FindShrunkenFrozenEnemy
    DUKE F 0 A_TakeInventory("DukeShrinkCounter",100)
    DUKE F 0 A_TakeInventory("Attacking",1)
    DUKE F 0 A_TakeInventory("Waiting",10)
    DUKE F 0 A_JumpIfInventory("BootsSmearedWithRedBlood", 1, "SeeSmearedWithRedBlood")
    DUKE F 0 A_JumpIfInventory("BootsSmearedWithGreenBlood", 1, "SeeSmearedWithGreenBlood")
    DUKE F 0 A_JumpIfInventory("BootsSmearedWithIceBlood", 1, "SeeSmearedWithIceBlood")
    loop
  See2:
    DUKE B 2 A_TakeInventory("Attacking",1)
    DUKE B 0 A_TakeInventory("DukeShrinkCounter",100)
    DUKE B 3 A_TakeInventory("Waiting",15)
    DUKE B 0 A_FindShrunkenFrozenEnemy
    Goto See
  See3:
    DUKS AC 5 A_TakeInventory("Attacking",1)
    DUKS A 0 A_TakeInventory("DukeShrinkCounter",100)
    DUKS DE 5 A_TakeInventory("Waiting",15)
    DUKS A 0 A_FindShrunkenFrozenEnemy
    Goto See
  IsJumpin:
    DUKE I 0 A_JumpIf(waterlevel >= 3, "IsJumpin3")
    DUKE I 0 A_JumpIfInventory("JetPackActive",1,"IsJumpin2")
    DUKE I 1 A_TakeInventory("DukeShrinkCounter",100) 
    DUKE I 1 A_TakeInventory("Waiting",15)
    DUKE I 1 A_FindShrunkenFrozenEnemy
    DUKE A 0 A_JumpIf(MomZ!=0,"InAir")
    Goto Spawn
  IsJumpin2:  
    DUKE B 2
    DUKE B 0 A_TakeInventory("DukeShrinkCounter",100)
    DUKE B 3 A_TakeInventory("Waiting",15)
    DUKE B 0 A_FindShrunkenFrozenEnemy
    Goto Spawn
  IsJumpin3:  
    DUKS AC 5
    DUKS A 0 A_TakeInventory("DukeShrinkCounter",100)
    DUKS DE 5 A_TakeInventory("Waiting",15)
    DUKS A 0 A_FindShrunkenFrozenEnemy
    Goto Spawn
  InAir:
    DUKE I 0 A_JumpIf(waterlevel >= 3, "InAir4")
    DUKE I 0 A_JumpIfInventory("JetPackActive",1,"InAir3") 
    DUKE I 2
    DUKE J 2
    DUKE J 4 A_FindShrunkenFrozenEnemy
  InAir2:
    DUKE K 0 A_TakeInventory("Attacking",1)
    DUKE K 0 A_JumpIf(waterlevel >= 3, "InAir4")
    DUKE K 0 A_JumpIfInventory("JetPackActive",1,"InAir3")
    DUKE K 2 A_TakeInventory("Waiting",15)
    DUKE K 1 A_JumpIf(MomZ==0,"Land")
    DUKE K 0 A_FindShrunkenFrozenEnemy
    Loop
  InAir3:
    DUKE B 0 A_TakeInventory("Attacking",1)
    DUKE B 2
    DUKE B 3 A_TakeInventory("Waiting",15)
    DUKE B 0 A_FindShrunkenFrozenEnemy
    Goto InAir2
  InAir4:
    DUKS A 0 A_TakeInventory("Attacking",1)
    DUKS AC 5
    DUKS DE 5 A_TakeInventory("Waiting",15)
    DUKS A 0 A_FindShrunkenFrozenEnemy
    Goto InAir2
  Land:
    DUKE A 0 A_JumpIf(waterlevel >= 3, "Land3")
    DUKE A 0 A_JumpIfInventory("JetPackActive",1,"Land2")
    DUKE AAAA 1
    DUKE A 1 A_FindShrunkenFrozenEnemy
    Goto Spawn
  Land2:  
    DUKE B 2
    DUKE B 0 A_TakeInventory("DukeShrinkCounter",100)
    DUKE B 3 A_TakeInventory("Waiting",15)
    DUKE B 0 A_FindShrunkenFrozenEnemy
    Goto Spawn
  Land3:  
    DUKS AC 5
    DUKS A 0 A_TakeInventory("DukeShrinkCounter",100)
    DUKS DE 5 A_TakeInventory("Waiting",15)
    DUKS A 0 A_FindShrunkenFrozenEnemy
    Goto Spawn
  Stomping:
    DUKE G 0 ACS_ExecuteAlways(600,0,0,0,0)
    DUKE G 7
    DUKE H 6
    DUKE G 7
    Goto Spawn
  KickFrozen:
    DUKE G 0 ACS_ExecuteAlways(601,0,0,0,0)
    DUKE G 7
    DUKE H 6
    DUKE G 7
    Goto Spawn
  Missile:
    DUKE A 0 A_JumpIf(waterlevel >= 3, "Missile3")
    DUKE A 0 A_JumpIfInventory("JetPackActive",1,"Missile2") 
    DUKE A 0 A_TakeInventory("BabeTaunt",1)
    DUKE A 0 A_GiveInventory("Attacking",1)
    DUKE AAAA 4 A_JumpIf(MomZ!=0,"IsJumpin")
    Goto Spawn
  Missile2:
    DUKE B 0 A_TakeInventory("BabeTaunt",1)
    DUKE B 0 A_GiveInventory("Attacking",1)
    DUKE B 2
    DUKE B 0 A_TakeInventory("DukeShrinkCounter",100)
    DUKE B 3 A_TakeInventory("Waiting",15)
    DUKE B 11
    Goto Spawn
  Missile3:
    DUKS A 0 A_TakeInventory("BabeTaunt",1)
    DUKS A 0 A_GiveInventory("Attacking",1)
    DUKS EE 5
    DUKS A 0 A_TakeInventory("DukeShrinkCounter",100)
    DUKS A 0 A_TakeInventory("Waiting",15)
    DUKS EE 5
    Goto See
  Melee:
    DUKE A 0
    Goto Missile
  ActorKick:
    DUKE G 7
    DUKE H 6 A_GiveInventory("Attacking",1)
    DUKE G 7
    goto Spawn
  Pain.Explosion:
  Pain.RocketExplosion:
  Pain.ShellExplosion:
  PainUnderwater:
    DUKE A 0
    DUKE A 1 A_Pain
    Goto Spawn
  Pain.Slime:
    DUKE O 0 A_JumpIf(ACS_ExecuteWithREsult(607) == 0, "Pain")
    DUKE O 3 ACS_ExecuteAlways(606,0,0,0,0)
    DUKE O 3 A_Pain
    Goto Spawn
  Pain:
    DUKE O 0 A_JumpIf(waterlevel >= 3, "PainUnderwater")
    DUKE O 0 A_Jump(128,"Pain2")
    DUKE O 0 A_JumpIfInventory("GettingSlimed",1,"PainQuiet")
    DUKE O 0 ACS_ExecuteAlways(608,0,0,0,0)
    DUKE O 3 A_PlaySound("bullet/hit",7)
    DUKE O 3 A_Pain
    Goto Spawn
  Pain2:
    DUKK O 0 A_JumpIfInventory("GettingSlimed",1,"PainQuiet")
    DUKK O 0 ACS_ExecuteAlways(608,0,0,0,0)
    DUKK O 3 A_PlaySound("bullet/hit",7)
    DUKK O 3 A_Pain
    Goto Spawn
  PainQuiet:
    DUKE O 3
    DUKE O 3 A_TakeInventory("Attacking",1)
    Goto Spawn
  Pain.LizardSpit:
    DUKE O 0
    DUKE O 3 ACS_ExecuteAlways(507,0,0,0,0)
    DUKE O 3 A_Pain
    Goto Spawn
  Pain.Brain:
    DUKE O 0
    DUKE O 3 ACS_ExecuteAlways(604,0,0,0,0)
    DUKE O 3 A_Pain
    Goto Spawn
  Pain.DukeAcid:
    DUKE O 0
    DUKE O 3 ACS_ExecuteAlways(606,0,0,0,0)
    DUKE O 3 A_Pain
    Goto Spawn
  Pain.Slimer:
    DUKE O 0
    DUKE O 3 ACS_ExecuteAlways(510,0,0,0,0)
    DUKE O 3 
    Goto Spawn
  Death:
    DUKE O 7 A_PlayerScream
    DUKE P 7 ACS_ExecuteAlways(521,0,0,0,0)
    DUKE Q 7 A_NoBlocking
    DUKE RS 7
    DUKE T 1 A_SpawnItemEx("DeadDukeNukemFoe", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL)
    TNT1 A 0 A_SpawnItemEx("DukeRedBloodPool")
    TNT1 A -1
    Stop
  Death.Fire:
  Death.FireChaingun:
  Death.BulletFlame:
    TNT1 A 0 A_SetTranslation("Burned")
    DUKE O 7 {A_PlayerScream; A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    DUKE P 7 {ACS_ExecuteAlways(521,0,0,0,0); A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    DUKE Q 7 {A_NoBlocking; A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    DUKE RS 7 A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90))
    DUKE T 1 A_SpawnItemEx("DeadDukeNukemFoe", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL)
    TNT1 A -1
    Stop
  XDeath:
  Death.BossStomp:
  Death.ExplosiveShotgun:
  Death.ShellExplosion:
    DUKE A 0 A_XScream
    DUKE A 5 A_PlayWeaponSound("*xdeath")
    DUKE A 0 A_NoBlocking
    DUKE A 0 A_SpawnDebris("DukeGibs1NF", FALSE, 1.0, 1.0)
    DUKE A 0 A_SpawnDebris("DukeGibs2NF", FALSE, 1.0, 1.0)
    DUKE A 0 A_SpawnDebris("DukeGibs3NF", FALSE, 1.0, 1.0)
    DUKE A 0 A_SpawnDebris("DukeGibs4NF", FALSE, 1.0, 1.0)
    DUKE A 0 A_SpawnDebris("DukeGibs5NF", FALSE, 1.0, 1.0)
    DUKE A 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    DUKE A 0 ACS_ExecuteAlways(521,0,0,0,0)
    GIB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB5 E -1
    stop
  Death.Explosion:
  Death.RocketExplosion:
    DUKE A 0 A_XScream
    DUKE A 5 A_PlayWeaponSound("*xdeath")
    DUKE A 0 A_NoBlocking
    DUKE A 0 A_SpawnDebris("DukeGibs1", FALSE, 1.0, 1.0)
    DUKE A 0 A_SpawnDebris("DukeGibs2", FALSE, 1.0, 1.0)
    DUKE A 0 A_SpawnDebris("DukeGibs3", FALSE, 1.0, 1.0)
    DUKE A 0 A_SpawnDebris("DukeGibs4", FALSE, 1.0, 1.0)
    DUKE A 0 A_SpawnDebris("DukeGibs5", FALSE, 1.0, 1.0)
    DUKE A 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    DUKE A 0 ACS_ExecuteAlways(521,0,0,0,0)
    GIB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB5 E -1
    stop
  Death.Expander:
    DUKE O 0 A_PlaySound("expander/expand")
    DUKE O 0 {A_UnsetShootable; A_UnsetSolid;}
  Expand:
    DUKE O 1 A_SetScale(ScaleX + 0.01, ScaleY + 0.01)
    DUKE O 0 A_JumpIf(ScaleX < 1.15 && ScaleY < 1.15, "Expand")
    DUKE OOOOO 1
    DUKE O 0 A_SetScale(0.75, 0.75)
    DUKE O 0 A_SpawnItemEx("ExpanderExplosion",0,0,32,0,0,0,0,1,0)
    goto Death.Explosion

  SeeSmearedWithRedBlood:
	DUKE F 0
	DUKE F 0 A_JumpIfInventory("FootPrintAlternate", 1, "SeeSmearedWithRedBlood2")
	DUKE F 0 A_SpawnItemEx("RedBloodFootPrintLeft", 0, 7)
	DUKE F 0 A_GiveInventory("FootPrintAlternate", 1)
	DUKE F 0 A_TakeInventory("BootsSmearedWithRedBlood", 1)
	Goto See
		
  SeeSmearedWithRedBlood2:
	DUKE F 0
	DUKE F 0 A_SpawnItemEx("RedBloodFootPrintRight", 0, -7)
	DUKE F 0 A_TakeInventory("FootPrintAlternate", 1)
	DUKE F 0 A_TakeInventory("BootsSmearedWithRedBlood", 1)
	Goto See

  SeeSmearedWithGreenBlood:
	DUKE F 0
	DUKE F 0 A_JumpIfInventory("FootPrintAlternate", 1, "SeeSmearedWithGreenBlood2")
	DUKE F 0 A_SpawnItemEx("GreenBloodFootPrintLeft", 0, 7)
	DUKE F 0 A_GiveInventory("FootPrintAlternate", 1)
	DUKE F 0 A_TakeInventory("BootsSmearedWithGreenBlood", 1)
	Goto See
		
  SeeSmearedWithGreenBlood2:
	DUKE F 0
	DUKE F 0 A_SpawnItemEx("GreenBloodFootPrintRight", 0, -7)
	DUKE F 0 A_TakeInventory("FootPrintAlternate", 1)
	DUKE F 0 A_TakeInventory("BootsSmearedWithGreenBlood", 1)
	Goto See

  SeeSmearedWithIceBlood:
	DUKE F 0
	DUKE F 0 A_JumpIfInventory("FootPrintAlternate", 1, "SeeSmearedWithIceBlood2")
	DUKE F 0 A_SpawnItemEx("IceBloodFootPrintLeft", 0, 7)
	DUKE F 0 A_GiveInventory("FootPrintAlternate", 1)
	DUKE F 0 A_TakeInventory("BootsSmearedWithIceBlood", 1)
	Goto See
		
  SeeSmearedWithIceBlood2:
	DUKE F 0
	DUKE F 0 A_SpawnItemEx("IceBloodFootPrintRight", 0, -7)
	DUKE F 0 A_TakeInventory("FootPrintAlternate", 1)
	DUKE F 0 A_TakeInventory("BootsSmearedWithIceBlood", 1)
	Goto See
    }
}

actor ShrunkDukePlayer : ZDukePlayerBase replaces ChickenPlayer
{
  ReactionTime 0
  PainChance 255
  Radius 16
  Height 24
  Mass 1000
  Speed 0.5
  Health 30
  Player.JumpZ 1
  Player.Viewheight 16
  Player.ForwardMove 0.5
  Player.SideMove 0.5
  Player.SpawnClass "Duke"
  Player.DisplayName "Duke Shrunk"
  Player.MorphWeapon "NothingWeapon"
  Player.ColorRange 112, 127
  damagefactor "Shrinker", 0.0
  damagefactor "AlienzShrinker", 0.0
  damagefactor "Shrinkerhit", 0.0
  +NOSKIN
  +CANSUPERMORPH
  scale 0.2
  -PICKUP
  Species "Dukes"
  +THRUSPECIES
  +MTHRUSPECIES
  States
  {
  Spawn:
    DUKE AA 0 NoDelay A_TakeInventory("DukeRunning",1)
    DUKE C 0 A_JumpIfInventory("DukeShrinkCounter",80,"Unshrink")
    DUKE A 0 A_JumpIfInventory("SteroidsActive",1,"Unshrink")
    DUKE AAAA 4 A_GiveInventory("DukeShrinkCounter",1)
    loop
  See:
    DUKE C 0 A_JumpIfInventory("DukeShrinkCounter",80,"Unshrink")
    DUKE A 0 A_JumpIfInventory("SteroidsActive",1,"Unshrink")
    DUKE C 0 A_GiveInventory("DukeRunning",1)
    DUKE CDEF 4 A_GiveInventory("DukeShrinkCounter",1)
    Loop
  Unshrink:
    DUKE C 4 A_TakeInventory("DukeShrinkCounter",80)
    DUKE DEF 4 A_GiveInventory("DukeShrinkRevertItem",1)
    goto See
  Melee:
  Missile:
    DUKE A 0
    Goto Spawn
  Pain.Explosion:
  Pain.RocketExplosion:
  Pain.ShellExplosion:
    DUKE A 0
    DUKE A 1 A_Pain
    Goto Spawn
  Pain:
    DUKE A 0
    DUKE A 0 A_PlaySound("bullet/hit",7)
    DUKE A 1 A_Pain
    Goto Spawn
  Pain.LizardSpit:
    DUKE A 0
    DUKE A 0 ACS_ExecuteAlways(507,0,0,0,0)
    DUKE A 1 A_Pain
    Goto Spawn
  Pain.Brain:
    DUKE A 0
    DUKE A 0 ACS_ExecuteAlways(604,0,0,0,0)
    DUKE A 1 A_Pain
    Goto Spawn
  Pain.Slime:
    DUKE A 0 A_JumpIf(ACS_ExecuteWithREsult(607) == 0, "Pain")
    DUKE A 0 ACS_ExecuteAlways(606,0,0,0,0)
    DUKE A 1 A_Pain
    Goto Spawn
  Death:
    DUKE A 0 A_SpawnItemEx("DukeRedBloodPool")
    DUKE A 0 A_XScream
    DUKE A 0 A_NoBlocking
    DUKE A 0 A_SpawnDebris("DukeGibs1NF", FALSE, 1.0, 1.0)
    DUKE A 0 A_SpawnDebris("DukeGibs2NF", FALSE, 1.0, 1.0)
    DUKE A 0 A_SpawnDebris("DukeGibs3NF", FALSE, 1.0, 1.0)
    DUKE A 0 A_SpawnDebris("DukeGibs4NF", FALSE, 1.0, 1.0)
    DUKE A 0 A_SpawnDebris("DukeGibs5NF", FALSE, 1.0, 1.0)
    DUKE A 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5")
    TNT1 A 1
	Stop
  Gib1:
	DUKE A 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB1 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
	GIB1 E -1
	Stop
  Gib2:
    DUKE A 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB2 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
	GIB2 E -1
	Stop
  Gib3:
    DUKE A 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB3 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
	GIB3 E -1
	Stop
  Gib4:
    DUKE A 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
	GIB4 E -1
	Stop
  Gib5:
	DUKE A 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
	GIB5 E -1
    stop
  }
}

actor DukeShrinkRevert : ZArtiTomeOfPower
{
  -COUNTITEM
  +INVENTORY.AUTOACTIVATE
  Powerup.Duration 35
  Inventory.Icon "TNT1A0"
  -INVENTORY.INVBAR
}

actor DukeShrinkCounter : Inventory
{
  inventory.amount 0
  inventory.maxamount 100
}

ACTOR DukeShrinkRevertItem : CustomInventory
{
  Inventory.PickupMessage ""
  Inventory.MaxAmount 100
  Inventory.Amount 1
  +INVENTORY.AUTOACTIVATE 
  +INVENTORY.QUIET
  scale 0.35
  States
  {
  Spawn:
    TNT1 A 5
    Stop
  Pickup:
    SHTP A 0 A_GiveInventory("DukeShrinkRevert",1)
    SHTP A 0 A_TakeInventory("NothingWeapon",1)
    TNT1 A 1
    stop
  }
}

Actor Reloading : Inventory
{
inventory.maxamount 1
}

Actor Kicking : Inventory
{
inventory.maxamount 1
}

actor Waiting : Inventory
{
  inventory.amount 0
  inventory.maxamount 420
}

actor Attacking : Inventory
{
  inventory.amount 0
  inventory.maxamount 1
}

actor GettingSlimed : Inventory
{
  inventory.amount 0
  inventory.maxamount 1
}

actor DukeRunning : Inventory
{
  inventory.amount 0
  inventory.maxamount 1
}

actor DukeTaunting : Inventory
{
  inventory.amount 0
  inventory.maxamount 1
}

actor DukeTauntingExpander : Inventory
{
  inventory.amount 0
  inventory.maxamount 1
}

actor DeadDukeNukem : ZDeadBody
{
  Radius 14
  Height 10
  scale 0.75
  +SHOOTABLE
  +NOTELEPORT
  +MOVEWITHSECTOR
  +CORPSE
  +FLOORCLIP
  -SOLID
  -THRUACTORS
  -GHOST
  -THRUGHOST
  +FORCEXYBILLBOARD
  +NOTAUTOAIMED
  damagefactor "Fire", 2.0
  damagefactor "BulletFlame", 2.0
  damagefactor "Shrinker", 200.0
  damagefactor "AlienzShrinker", 0.0
  damagefactor "Shrinkerhit", 0.0
  damagefactor "Plasma", 2.0
  damagefactor "MicrowaveBlast", 0.25
  Mass 9000
  Health 100
  PainChance 256
  Painchance "Bullet", 256
  Painchance "Chaingun", 256
  Painchance "FireChaingun", 256
  Painchance "Shotgun", 256
  Painchance "ExplosiveShotgun", 256
  Painchance "SSG", 256
  painchance "MicrowaveBlast", 256
  States
  {
  Spawn:
    DUKE T -1
    Stop
  Pain.Bullet:
  Pain.Chaingun:
  Pain.FireChaingun:
  Pain.MightyBoot:
    TNT1 A 0 A_PlaySound("flesh/hit")
    TNT1 A 0 A_Jump(256,"Spawn")
    goto Spawn
  Pain.Shotgun:
  Pain.ExplosiveShotgun:
  Pain.SSG:
    TNT1 A 0 A_PlaySound("flesh/hit",random[RIDMONSTER](1,7))
    TNT1 A 0 A_Jump(256,"Spawn")
    goto Spawn
  Pain.Explosion:
  Pain.RocketExplosion:
    TNT1 A 0 ThrustThingZ(0,5,0,1)
    TNT1 A 0 A_Jump(256,"Spawn")
    goto Spawn
  Pain.ShellExplosion:
    TNT1 A 0 ThrustThingZ(0,2,0,1)
    TNT1 A 0 A_Jump(256,"Spawn")
    goto Spawn
  Pain.MicrowaveBlast:
    TNT1 A 0 ThrustThingZ(0,15,0,1)
    TNT1 A 0 A_Jump(256,"Spawn")
    goto Spawn
  Death:
  XDeath:
  Death.BossStomp:
    TNT1 A 0 A_FaceTarget
    TNT1 A 0 A_NoBlocking
    TNT1 A 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    TNT1 A 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    TNT1 A 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    TNT1 A 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    TNT1 A 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    TNT1 A 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5")
    TNT1 A 1
    Stop
  Death.Plasma:
    TNT1 A 0 A_FaceTarget
    TNT1 A 0 A_NoBlocking
    TNT1 A 0 A_SpawnDebris("DukeGibs1NFP", TRUE, 1.0, 1.0)
    TNT1 A 0 A_SpawnDebris("DukeGibs2NFP", TRUE, 1.0, 1.0)
    TNT1 A 0 A_SpawnDebris("DukeGibs3NFP", TRUE, 1.0, 1.0)
    TNT1 A 0 A_SpawnDebris("DukeGibs4NFP", TRUE, 1.0, 1.0)
    TNT1 A 0 A_SpawnDebris("DukeGibs5NFP", TRUE, 1.0, 1.0)
    TNT1 A 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5")
    TNT1 A 1
    Stop
  Death.Explosion:
  Death.RocketExplosion:
    TNT1 A 0 A_FaceTarget
    TNT1 A 0 A_NoBlocking
    TNT1 A 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    TNT1 A 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    TNT1 A 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    TNT1 A 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    TNT1 A 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    TNT1 A 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5")
    TNT1 A 1
    Stop
  Death.FireChaingun:
  Death.BulletFlame:
    TNT1 A 0 A_SetTranslation("Burned")
  Death.ExplosiveShotgun:
  Death.ShellExplosion:
    TNT1 A 0 A_FaceTarget
    TNT1 A 0 A_NoBlocking
    TNT1 A 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    TNT1 A 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    TNT1 A 0 A_Jump(256,2)
    TNT1 A 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    TNT1 A 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    TNT1 A 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    TNT1 A 0 A_Jump(256,2)
    TNT1 A 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    TNT1 A 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    TNT1 A 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    TNT1 A 0 A_Jump(256,2)
    TNT1 A 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    TNT1 A 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    TNT1 A 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    TNT1 A 0 A_Jump(256,2)
    TNT1 A 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    TNT1 A 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    TNT1 A 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    TNT1 A 0 A_Jump(256,2)
    TNT1 A 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    TNT1 A 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5")
    TNT1 A 1
    Stop
  Gib1:
    TNT1 A 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB1 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB1 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Gib2:
    TNT1 A 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB2 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB2 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Gib3:
    TNT1 A 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB3 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB3 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Gib4:
    TNT1 A 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Gib5:
    TNT1 A 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Death.Fire:
    TNT1 A 0 A_SetTranslation("Burned")
    TNT1 A 0 A_NoBlocking
    TNT1 A 0 A_SpawnItemEx("DeadDukeNukem", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL)
    TNT1 A 1
    Stop
  Ice:
    "####" "#" 0 Thing_ChangeTID(0,3500)
    DUKE T 5 A_GenericFreezeDeath
    DUKE T 1 A_FreezeDeathChunks
    wait
  }
}

actor DeadDukeNukemP : DeadDukeNukem
{
}

actor DeadDukeNukemQ : DeadDukeNukem
{
}

actor DeadDukeNukemR : DeadDukeNukem
{
}

actor DeadDukeNukemGreen : DeadDukeNukem
{
  bloodcolor "AA D1 5C"
  States
  {
  Death:
  XDeath:
  Death.BossStomp:
    "####" "#" 0 A_FaceTarget
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5")
    TNT1 A 1
    Stop
  Death.Plasma:
    "####" "#" 0 A_FaceTarget
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs1NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs2NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs3NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs4NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs5NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5")
    TNT1 A 1
    Stop
  Death.Explosion:
  Death.RocketExplosion:
    "####" "#" 0 A_FaceTarget
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5")
    TNT1 A 1
    Stop
  Death.FireChaingun:
  Death.BulletFlame:
    "####" "#" 0 A_SetTranslation("Burned")
  Death.ExplosiveShotgun:
  Death.ShellExplosion:
    "####" "#" 0 A_FaceTarget
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5")
    TNT1 A 1
    Stop
  Gib1:
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs6", FALSE, 1.0, 1.0)
    2IB1 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    2IB1 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Gib2:
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs6", FALSE, 1.0, 1.0)
    2IB2 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    2IB2 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Gib3:
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs6", FALSE, 1.0, 1.0)
    2IB3 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    2IB3 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Gib4:
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs6", FALSE, 1.0, 1.0)
    2IB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    2IB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Gib5:
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs6", FALSE, 1.0, 1.0)
    2IB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    2IB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    stop
  }
}

actor DeadDukeNukemGreenP : DeadDukeNukemP
{
  bloodcolor "AA D1 5C"
  States
  {
  Death:
  XDeath:
  Death.BossStomp:
    "####" "#" 0 A_FaceTarget
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5")
    TNT1 A 1
    Stop
  Death.Plasma:
    "####" "#" 0 A_FaceTarget
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs1NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs2NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs3NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs4NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs5NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5")
    TNT1 A 1
    Stop
  Death.Explosion:
  Death.RocketExplosion:
    "####" "#" 0 A_FaceTarget
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5")
    TNT1 A 1
    Stop
  Death.FireChaingun:
  Death.BulletFlame:
    "####" "#" 0 A_SetTranslation("Burned")
  Death.ExplosiveShotgun:
  Death.ShellExplosion:
    "####" "#" 0 A_FaceTarget
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5")
    TNT1 A 1
    Stop
  Gib1:
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs6", FALSE, 1.0, 1.0)
    2IB1 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    2IB1 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Gib2:
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs6", FALSE, 1.0, 1.0)
    2IB2 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    2IB2 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Gib3:
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs6", FALSE, 1.0, 1.0)
    2IB3 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    2IB3 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Gib4:
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs6", FALSE, 1.0, 1.0)
    2IB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    2IB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Gib5:
    "####" "#" 0 A_SpawnDebris("AlienDukeGibs6", FALSE, 1.0, 1.0)
    2IB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    2IB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    stop
  }
}

actor DeadDukeNukemLarge : DeadDukeNukem
{
  Health 300
  States
  {
  Pain.Explosion:
  Pain.RocketExplosion:
    "####" "#" 0 ThrustThingZ(0,4,0,1)
    "####" "#" 0 A_Jump(256,"Spawn")
    goto Spawn
  Pain.ShellExplosion:
    "####" "#" 0 ThrustThingZ(0,2,0,1)
    "####" "#" 0 A_Jump(256,"Spawn")
    goto Spawn
  Pain.MicrowaveBlast:
    "####" "#" 0 ThrustThingZ(0,14,0,1)
    "####" "#" 0 A_Jump(256,"Spawn")
    goto Spawn
  Death:
  XDeath:
  Death.BossStomp:
    "####" "#" 0 A_FaceTarget
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Death.Plasma:
    "####" "#" 0 A_FaceTarget
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnDebris("DukeGibs1NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Death.Explosion:
  Death.RocketExplosion:
    "####" "#" 0 A_FaceTarget
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Death.FireChaingun:
  Death.BulletFlame:
    "####" "#" 0 A_SetTranslation("Burned")
  Death.ExplosiveShotgun:
  Death.ShellExplosion:
    "####" "#" 0 A_FaceTarget
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  }
}

actor DeadDukeNukemLargeP : DeadDukeNukemP
{
  Health 300
  States
  {
  Pain.Explosion:
  Pain.RocketExplosion:
    "####" "#" 0 ThrustThingZ(0,4,0,1)
    "####" "#" 0 A_Jump(256,"Spawn")
    goto Spawn
  Pain.ShellExplosion:
    "####" "#" 0 ThrustThingZ(0,2,0,1)
    "####" "#" 0 A_Jump(256,"Spawn")
    goto Spawn
  Pain.MicrowaveBlast:
    "####" "#" 0 ThrustThingZ(0,14,0,1)
    "####" "#" 0 A_Jump(256,"Spawn")
    goto Spawn
  Death:
  XDeath:
  Death.BossStomp:
    "####" "#" 0 A_FaceTarget
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Death.Plasma:
    "####" "#" 0 A_FaceTarget
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnDebris("DukeGibs1NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NFP", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Death.FireChaingun:
  Death.BulletFlame:
    "####" "#" 0 A_SetTranslation("Burned")
  Death.Explosion:
  Death.RocketExplosion:
    "####" "#" 0 A_FaceTarget
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Death.ExplosiveShotgun:
  Death.ShellExplosion:
    "####" "#" 0 A_FaceTarget
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  }
}

actor DukeNukemFoe : ZBaseActor 19375
{
  obituary "%o was gunned down by Duke Nukem."
  Health 150
  Radius 16
  Height 56
  Mass 1000
  Speed 20
  attacksound "dukebot/attack"
  painsound "dukebot/pain"
  deathsound "dukebot/death"
  painchance 85
  Painchance "Shrinker", 256
  painchance "FireBurning", 200
  MONSTER
  +FLOORCLIP
  +NEVERRESPAWN
  scale 0.7
  damagefactor "AlienzShrinker", 0.0
  damagefactor "Shrinkerhit", 0.0
  Species "DukeFoes"
  +DOHARMSPECIES
  +NOINFIGHTSPECIES
  +DONTHARMCLASS
  WoundHealth 10
  MeleeRange 56
  +MISSILEMORE
  +MISSILEEVENMORE
  States
  {
  Spawn:
    DUKE A 0
    "####" "#" 0 Thing_ChangeTID(0,1000)
    DUKE AAAA 5 A_Look
    Goto See
  See:
    "####" "#" 0 A_Stop
    "####" "#" 0 A_Jump(16,"Left","Right")
    DUKE CC 2 A_ChaseD3D
    DUKE DD 2 A_ChaseD3D
    DUKE EE 2 A_ChaseD3D
    DUKE FF 2 A_ChaseD3D
    Loop
  Left:
    DUKE C 4 ThrustThing(angle*256/360+192, 8, 0, 0)
    "####" "#" 0 A_ChaseD3D
    DUKE D 4 ThrustThing(angle*256/360+192, 8, 0, 0)
    "####" "#" 0 A_ChaseD3D
    DUKE E 4 ThrustThing(angle*256/360+192, 8, 0, 0)
    "####" "#" 0 A_ChaseD3D
    DUKE F 4 ThrustThing(angle*256/360+192, 8, 0, 0)
    "####" "#" 0 A_ChaseD3D
    "####" "#" 0 A_Stop
    Goto See
  Right:
    DUKE C 4 ThrustThing(angle*256/360+64, 8, 0, 0)
    "####" "#" 0 A_ChaseD3D
    DUKE D 4 ThrustThing(angle*256/360+64, 8, 0, 0) 
    "####" "#" 0 A_ChaseD3D
    DUKE E 4 ThrustThing(angle*256/360+64, 8, 0, 0)
    "####" "#" 0 A_ChaseD3D
    DUKE F 4 ThrustThing(angle*256/360+64, 8, 0, 0)
    "####" "#" 0 A_ChaseD3D
    "####" "#" 0 A_Stop
    Goto See
  Melee:
    DUKE G 7 A_FaceTarget
    DUKE H 6 A_CustomMeleeAttack(15,"duke/kick","duke/kick","LowPush")
    "####" "#" 0 Radius_Quake (2, 6, 0, 5, 0)
    DUKE G 7
    "####" "#" 0 A_Jump(224,"Missile")
    goto See
  Missile:
    "####" "#" 0 A_Jump(192, "MissileRight", "MissileLeft")
    "####" "#" 0 A_Jump(96, "MissileFront", "MissileBack")
    DUKE A 0 A_FaceTarget
    "####" "#" 0 A_CustomMissile("MuzzleFlashSmall",32,0,0)
    "####" "#" 0 A_PlaySound("pistol/shoot", 1)
    DUKE A 3 bright A_CustomMissile("EnemyProjectile", 45, 15, random[RIDMONSTERAT](-3, 3), CMF_OFFSETPITCH, random[RIDMONSTERAT](-1, 1))
    "####" "#" 0 A_CustomMissile("9mmSpawnLeft", 26, 0, -60, 2, random[RIDFX](20, 55))
    DUKE A 3 A_FaceTarget
    "####" "#" 0 A_CustomMissile("MuzzleFlashSmall",32,0,0)
    "####" "#" 0 A_PlaySound("pistol/shoot", 1)
    DUKE A 3 bright A_CustomMissile("EnemyProjectile", 45, 15, random[RIDMONSTERAT](-3, 3), CMF_OFFSETPITCH, random[RIDMONSTERAT](-1, 1))
    "####" "#" 0 A_CustomMissile("9mmSpawnLeft", 26, 0, -60, 2, random[RIDFX](20, 55))
    DUKE A 3 A_FaceTarget
    "####" "#" 0 A_CustomMissile("MuzzleFlashSmall",32,0,0)
    "####" "#" 0 A_PlaySound("pistol/shoot", 1)
    DUKE A 3 bright A_CustomMissile("EnemyProjectile", 45, 15, random[RIDMONSTERAT](-3, 3), CMF_OFFSETPITCH, random[RIDMONSTERAT](-1, 1))
    "####" "#" 0 A_CustomMissile("9mmSpawnLeft", 26, 0, -60, 2, random[RIDFX](20, 55))
    DUKE A 3 A_MonsterRefire(40,"See")
    "####" "#" 0 A_Jump(128,"See")
    goto Missile
  MissileFront:
    DUKE A 0 A_FaceTarget
    "####" "#" 0 A_CustomMissile("MuzzleFlashSmall",32,0,0)
    "####" "#" 0 A_PlaySound("pistol/shoot", 1)
    DUKE A 2 bright A_CustomMissile("EnemyProjectile", 45, 15, random[RIDMONSTERAT](-3, 3), CMF_OFFSETPITCH, random[RIDMONSTERAT](-1, 1))
    "####" "#" 0 A_CustomMissile("9mmSpawnLeft", 26, 0, -60, 2, random[RIDFX](20, 55))
    DUKE A 1 bright A_Recoil(-1)
    DUKE E 2 A_FaceTarget
    DUKE E 1 A_Recoil(-1)
    "####" "#" 0 A_CustomMissile("MuzzleFlashSmall",32,0,0)
    "####" "#" 0 A_PlaySound("pistol/shoot", 1)
    DUKE E 2 bright A_CustomMissile("EnemyProjectile", 45, 15, random[RIDMONSTERAT](-3, 3), CMF_OFFSETPITCH, random[RIDMONSTERAT](-1, 1))
    "####" "#" 0 A_CustomMissile("9mmSpawnLeft", 26, 0, -60, 2, random[RIDFX](20, 55))
    DUKE E 1 bright A_Recoil(-1)
    DUKE C 2 A_FaceTarget
    DUKE C 1 A_Recoil(-1)
    "####" "#" 0 A_CustomMissile("MuzzleFlashSmall",32,0,0)
    "####" "#" 0 A_PlaySound("pistol/shoot", 1)
    DUKE C 2 bright A_CustomMissile("EnemyProjectile", 45, 15, random[RIDMONSTERAT](-3, 3), CMF_OFFSETPITCH, random[RIDMONSTERAT](-1, 1))
    "####" "#" 0 A_CustomMissile("9mmSpawnLeft", 26, 0, -60, 2, random[RIDFX](20, 55))
    DUKE C 1 bright A_Recoil(-1)
    DUKE A 2 A_FaceTarget
    DUKE A 1 A_Recoil(-1)
    "####" "#" 0 A_MonsterRefire(40,"See")
    "####" "#" 0 A_Jump(128,"See")
    goto Missile
  MissileBack:
    DUKE A 0 A_FaceTarget
    "####" "#" 0 A_CustomMissile("MuzzleFlashSmall",32,0,0)
    "####" "#" 0 A_PlaySound("pistol/shoot", 1)
    DUKE A 2 bright A_CustomMissile("EnemyProjectile", 45, 15, random[RIDMONSTERAT](-3, 3), CMF_OFFSETPITCH, random[RIDMONSTERAT](-1, 1))
    "####" "#" 0 A_CustomMissile("9mmSpawnLeft", 26, 0, -60, 2, random[RIDFX](20, 55))
    DUKE A 1 bright A_Recoil(1)
    DUKE E 2 A_FaceTarget
    DUKE E 1 A_Recoil(1)
    "####" "#" 0 A_CustomMissile("MuzzleFlashSmall",32,0,0)
    "####" "#" 0 A_PlaySound("pistol/shoot", 1)
    DUKE E 2 bright A_CustomMissile("EnemyProjectile", 45, 15, random[RIDMONSTERAT](-3, 3), CMF_OFFSETPITCH, random[RIDMONSTERAT](-1, 1))
    "####" "#" 0 A_CustomMissile("9mmSpawnLeft", 26, 0, -60, 2, random[RIDFX](20, 55))
    DUKE E 1 bright A_Recoil(1)
    DUKE C 2 A_FaceTarget
    DUKE C 1 A_Recoil(1)
    "####" "#" 0 A_CustomMissile("MuzzleFlashSmall",32,0,0)
    "####" "#" 0 A_PlaySound("pistol/shoot", 1)
    DUKE C 2 bright A_CustomMissile("EnemyProjectile", 45, 15, random[RIDMONSTERAT](-3, 3), CMF_OFFSETPITCH, random[RIDMONSTERAT](-1, 1))
    "####" "#" 0 A_CustomMissile("9mmSpawnLeft", 26, 0, -60, 2, random[RIDFX](20, 55))
    DUKE C 1 bright A_Recoil(1)
    DUKE A 2 A_FaceTarget
    DUKE A 1 A_Recoil(1)
    "####" "#" 0 A_MonsterRefire(40,"See")
    "####" "#" 0 A_Jump(128,"See")
    goto Missile
  MissileLeft:
    DUKE A 0 A_FaceTarget
    "####" "#" 0 A_CustomMissile("MuzzleFlashSmall",32,0,0)
    "####" "#" 0 A_PlaySound("pistol/shoot", 1)
    DUKE A 2 bright A_CustomMissile("EnemyProjectile", 45, 15, random[RIDMONSTERAT](-3, 3), CMF_OFFSETPITCH, random[RIDMONSTERAT](-1, 1))
    "####" "#" 0 A_CustomMissile("9mmSpawnLeft", 26, 0, -60, 2, random[RIDFX](20, 55))
    "####" "#" 0 ThrustThing(angle*256/360+192, 3, 0, 0)
    DUKE A 1 bright A_Recoil(-1)
    DUKE E 2 A_FaceTarget
    "####" "#" 0 ThrustThing(angle*256/360+192, 3, 0, 0)
    DUKE E 1 A_Recoil(-1)
    "####" "#" 0 A_CustomMissile("MuzzleFlashSmall",32,0,0)
    "####" "#" 0 A_PlaySound("pistol/shoot", 1)
    DUKE E 2 bright A_CustomMissile("EnemyProjectile", 45, 15, random[RIDMONSTERAT](-3, 3), CMF_OFFSETPITCH, random[RIDMONSTERAT](-1, 1))
    "####" "#" 0 A_CustomMissile("9mmSpawnLeft", 26, 0, -60, 2, random[RIDFX](20, 55))
    "####" "#" 0 ThrustThing(angle*256/360+192, 3, 0, 0)
    DUKE E 1 bright A_Recoil(-1)
    DUKE C 2 A_FaceTarget
    "####" "#" 0 ThrustThing(angle*256/360+192, 3, 0, 0)
    DUKE C 1 A_Recoil(-1)
    "####" "#" 0 A_CustomMissile("MuzzleFlashSmall",32,0,0)
    "####" "#" 0 A_PlaySound("pistol/shoot", 1)
    DUKE C 2 bright A_CustomMissile("EnemyProjectile", 45, 15, random[RIDMONSTERAT](-3, 3), CMF_OFFSETPITCH, random[RIDMONSTERAT](-1, 1))
    "####" "#" 0 A_CustomMissile("9mmSpawnLeft", 26, 0, -60, 2, random[RIDFX](20, 55))
    "####" "#" 0 ThrustThing(angle*256/360+192, 3, 0, 0)
    DUKE C 1 bright A_Recoil(-1)
    DUKE A 2 A_FaceTarget
    "####" "#" 0 ThrustThing(angle*256/360+192, 3, 0, 0)
    DUKE A 1 A_Recoil(-1)
    "####" "#" 0 A_MonsterRefire(40,"See")
    "####" "#" 0 A_Jump(128,"See")
    goto Missile
  MissileRight:
    DUKE A 0 A_FaceTarget
    "####" "#" 0 A_CustomMissile("MuzzleFlashSmall",32,0,0)
    "####" "#" 0 A_PlaySound("pistol/shoot", 1)
    DUKE A 2 bright A_CustomMissile("EnemyProjectile", 45, 15, random[RIDMONSTERAT](-3, 3), CMF_OFFSETPITCH, random[RIDMONSTERAT](-1, 1))
    "####" "#" 0 A_CustomMissile("9mmSpawnLeft", 26, 0, -60, 2, random[RIDFX](20, 55))
    "####" "#" 0 ThrustThing(angle*256/360+64, 3, 0, 0)
    DUKE A 1 bright A_Recoil(-1)
    DUKE E 2 A_FaceTarget
    "####" "#" 0 ThrustThing(angle*256/360+64, 3, 0, 0)
    DUKE E 1 A_Recoil(-1)
    "####" "#" 0 A_CustomMissile("MuzzleFlashSmall",32,0,0)
    "####" "#" 0 A_PlaySound("pistol/shoot", 1)
    DUKE E 2 bright A_CustomMissile("EnemyProjectile", 45, 15, random[RIDMONSTERAT](-3, 3), CMF_OFFSETPITCH, random[RIDMONSTERAT](-1, 1))
    "####" "#" 0 A_CustomMissile("9mmSpawnLeft", 26, 0, -60, 2, random[RIDFX](20, 55))
    "####" "#" 0 ThrustThing(angle*256/360+64, 3, 0, 0)
    DUKE E 1 bright A_Recoil(-1)
    DUKE C 2 A_FaceTarget
    "####" "#" 0 ThrustThing(angle*256/360+64, 3, 0, 0)
    DUKE C 1 A_Recoil(-1)
    "####" "#" 0 A_CustomMissile("MuzzleFlashSmall",32,0,0)
    "####" "#" 0 A_PlaySound("pistol/shoot", 1)
    DUKE C 2 bright A_CustomMissile("EnemyProjectile", 45, 15, random[RIDMONSTERAT](-3, 3), CMF_OFFSETPITCH, random[RIDMONSTERAT](-1, 1))
    "####" "#" 0 A_CustomMissile("9mmSpawnLeft", 26, 0, -60, 2, random[RIDFX](20, 55))
    "####" "#" 0 ThrustThing(angle*256/360+64, 3, 0, 0)
    DUKE C 1 bright A_Recoil(-1)
    DUKE A 2 A_FaceTarget
    "####" "#" 0 ThrustThing(angle*256/360+64, 3, 0, 0)
    DUKE A 1 A_Recoil(-1)
    "####" "#" 0 A_MonsterRefire(40,"See")
    "####" "#" 0 A_Jump(128,"See")
    goto Missile
  Pain:
    "####" "#" 0 A_Jump(128,"Pain2")
    DUKE O 3 A_PlayVoiceSoundPitch("Pain")
    "####" "#" 0 A_Jump(128, "Right", "Left")
    DUKE O 3
    Goto See
  Pain2:
    DUKK O 3 A_PlayVoiceSoundPitch("Pain")
    "####" "#" 0 A_Jump(128, "Right", "Left")
    DUKK O 3
    Goto See
  Death:
    DUKE O 7 A_PlayVoiceSoundPitch("Death")
    DUKE P 7
    DUKE Q 7 A_NoBlocking
    DUKE RS 7
    DUKE T 1 A_SpawnItemEx("DeadDukeNukemFoe", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL)
    "####" "#" 0 A_SpawnItemEx("DukeRedBloodPool")
    Stop
  Pain.Shrinker:
    "####" "#" 0 A_PlaySound("shrinker/shrink")
    "####" "#" 0 A_InvulnerablePlus(1)
    DUKE O 5 A_PlayVoiceSoundPitch("Pain")
    "####" "#" 0 A_CustomMissile("ShrinkEffect",8,0,0)
  Shrink:
    DUKE O 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("C","D","E","F")
    "####" "#" 0 A_Remove(AAPTR_DEFAULT)
    stop
  XDeath:
  Death.BossStomp:
    "####" "#" 0 A_XScream
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5")
    TNT1 A 1
    Stop
  Death.PlasmaGib:
    "####" "#" 0 A_SpawnItemEx("DukePlasmaExplosion",0,0,32,0,0,0,0,1,0)
    "####" "#" 0 A_XScream
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_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_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5")
    TNT1 A 1
    Stop
  Death.Explosion:
  Death.RocketExplosion:
    "####" "#" 0 A_XScream
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5")
    TNT1 A 1
    Stop
  Death.ExplosiveShotgun:
  Death.ShellExplosion:
    "####" "#" 0 A_XScream
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs1NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs2NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs3NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs4NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(FAS_AltShotgunGibFireProb,3)
    "####" "#" 0 A_SpawnDebris("DukeGibs5NF", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,2)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_Jump(256,"Gib1","Gib2","Gib3","Gib4","Gib5")
    TNT1 A 1
    Stop
  Gib1:
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB1 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB1 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Gib2:
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB2 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB2 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Gib3:
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB3 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB3 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Gib4:
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB4 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    Stop
  Gib5:
    "####" "#" 0 A_SpawnDebris("DukeGibs6", FALSE, 1.0, 1.0)
    GIB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 35 A_Gravity
    GIB5 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 A_FadeOut(0.1)
    stop
  Wound.Expander:
   "####" "#" 0 A_Die("Expander")
  Death.Expander:
    "####" "#" 0 A_ChangeFlag("DONTCORPSE",1)
    "####" "#" 0 A_PlaySound("expander/expand")
    "####" "#" 0 {A_UnsetShootable; A_UnsetSolid;}
  Expand:
    DUKE O 1 A_SetScale(ScaleX + 0.01, ScaleY + 0.01)
    "####" "#" 0 A_JumpIf(ScaleX < 1.15 && ScaleY < 1.15, "Expand")
    DUKE OOOOO 1
    "####" "#" 0 A_SetScale(0.7, 0.7)
    "####" "#" 0 A_PlayVoiceSoundPitch("Death","",4)
    "####" "#" 0 A_SpawnItemEx("ExpanderExplosion",0,0,32,0,0,0,0,1,0)
    "####" "#" 0 A_SpawnDebris("DukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("DukeGibs5", TRUE, 1.0, 1.0)
    goto Death.Explosion
  Wound.Ice:
    "####" "#" 0 A_Freeze("See")
    "####" "#" 0 A_Remove(AAPTR_DEFAULT)
    TNT1 A 1
    stop
  Death.MonsterSlimer:
    DUKE O 10 {A_PlayVoiceSoundPitch("Death"); A_SpawnItemEx("SlimerEatingMonster");}
    DUKE OO 10
    stop
  Possessed:
    "####" "#" 0 A_ChangeFlag("NOPAIN", 1)
    DUKE T 7 A_XScream
    DUKE S 7 A_XScream
    DUKE R 7
    DUKE Q 7
    DUKE P 7
//    DUKE O 7
    "####" "#" 0 A_ChangeFlag("NOPAIN", 0)
    goto See
  }
}

actor DeadDukeNukemFoe : DeadDukeNukemQ replaces DeadMarine 19308
{
  Translation "112:127=192:207"
  States
  {
  Death.Fire:
    "####" "#" 0 A_SetTranslation("Burned")
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_SpawnItemEx("DeadDukeNukemFoe", 0,0,0,0,0,0,0, SXF_TRANSFERTRANSLATION|SXF_TRANSFERSTENCILCOL)
    TNT1 A 1
    Stop
  }
}