
actor SlimerEgg : ZBaseActor 19146
{
  scale 0.72
  health 120
  Radius 16
  Height 36
  mass 100000000
  speed 0
  MONSTER
  dropitem "BootsPickup" 8
  deathsound "slimer/eggdie" 
  bloodcolor "AA D1 5C"
  damagefactor "AlienzShrinker", 0.0
  damagefactor "Shrinkerhit", 0.0
  painchance 0
  Painchance "Shrinker", 256
  painchance "MicrowaveBlast", 256
  +SOLID
  -NOPAIN
  +LOOKALLAROUND
  +FLOORCLIP
  +NEVERRESPAWN
  Species "Slimers"
  +NOINFIGHTING
  WoundHealth 10
  +AMBUSH

  var int user_hatched;

  states
  {
  Spawn:
    SEGG A 4 A_Look
    loop
  See:
    "####" "#" 0 A_Jump(64,2)    
    "####" "#" 50 A_ClearTarget
    goto Spawn
    "####" "#" 0 A_ChangeFlag("NOPAIN", 1)
    SEGG A 10
    SEGG B 7 A_PlaySound("slimer/hatch",0,500)
    SEGG C 7 
    SEGG D 6 A_PlayVoiceSoundPitch("","slimer/sight", 2)
    "####" "#" 0 A_ChangeFlag("COUNTKILL",0)
    SEGG D 1 A_SpawnItem("Slimer",35,35,0,0)
    SEGG D 1
  Hatched:
    SEGG D 0 A_ChangeFlag("SOLID", 0)
    "####" "#" 0 A_ChangeFlag("NOPAIN", 0)
    "####" "#" 0 A_ChangeFlag("COUNTKILL",0)
    "####" "#" 0 A_ChangeFlag("NOTARGET",1)
    "####" "#" 0 A_ChangeFlag("NEVERTARGET",1)
    "####" "#" 0 A_ChangeFlag("NOTAUTOAIMED",1)
    SEGG D 1 A_setUserVar("user_hatched",1)
    SEGG D -1
    Wait
  Death:
  XDeath:
  Death.BossStomp:
    "####" "#" 0 A_Changeflag("SOLID", 0)
    "####" "#" 0 A_Scream
    TNT1 A 1 A_UnSetSolid
    "####" "#" 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")
    Stop
  Death.PlasmaGib:
    "####" "#" 0 A_SpawnItemEx("DukePlasmaExplosion",0,0,32,0,0,0,0,1,0)
    "####" "#" 0 A_Changeflag("SOLID", 0)
    "####" "#" 0 A_Scream
    TNT1 A 1 A_UnSetSolid
    "####" "#" 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")
    Stop
  Death.Explosion:
  Death.RocketExplosion:
    "####" "#" 0 A_Changeflag("SOLID", 0)
    "####" "#" 0 A_Scream
    TNT1 A 1 A_UnSetSolid
    "####" "#" 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")
    Stop
  Death.ExplosiveShotgun:
  Death.ShellExplosion:
    "####" "#" 0 A_Changeflag("SOLID", 0)
    "####" "#" 0 A_Scream
    TNT1 A 1 A_UnSetSolid
    "####" "#" 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")
    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
  Pain.Shrinker:
    "####" "#" 0 A_PlaySound("shrinker/shrink")
    "####" "#" 0 A_InvulnerablePlus(1)
    "####" "#" 0 A_CustomMissile("ShrinkEffect",8,0,0)
    "####" "#" 0 A_JumpIf(user_hatched==1,"ShrinkHatched")
  Shrink:
    SEGG A 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","A","A","A",0.2,100000000,0,"Spawn")
    "####" "#" 0 A_Remove(AAPTR_DEFAULT)
    stop
  ShrinkHatched:
    SEGG D 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, "ShrinkHatched")
    "####" "#" 0 A_Shrink("D","D","D","D",0.2,100000000,0,"Hatched")
    "####" "#" 0 A_Remove(AAPTR_DEFAULT)
    stop
  Wound.Expander:
   "####" "#" 0 A_Die("Expander")
  Death.Expander:
    "####" "#" 0 A_ChangeFlag("DONTCORPSE",1)
    "####" "#" 0 A_PlaySound("expander/expand")
    "####" "#" 0 {A_UnsetShootable; A_UnsetSolid;}
    "####" "#" 0 A_JumpIf(user_hatched==1,"ExpandHatched")
  Expand:
    SEGG A 1 A_SetScale(ScaleX + 0.01, ScaleY + 0.01)
    "####" "#" 0 A_JumpIf(ScaleX < 1.15 && ScaleY < 1.15, "Expand")
    SEGG AAAAA 1
    "####" "#" 0 A_SetScale(0.72, 0.72)
    "####" "#" 0 A_PlaySound("slimer/eggdie")
    "####" "#" 0 A_SpawnItemEx("ExpanderExplosion",0,0,32,0,0,0,0,1,0)
    "####" "#" 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)
    goto Death.Explosion
  ExpandHatched:
    SEGG D 1 A_SetScale(ScaleX + 0.01, ScaleY + 0.01)
    "####" "#" 0 A_JumpIf(ScaleX < 1.15 && ScaleY < 1.15, "ExpandHatched")
    SEGG DDDDD 1
    "####" "#" 0 A_SetScale(0.72, 0.72)
    "####" "#" 0 A_PlaySound("slimer/eggdie")
    "####" "#" 0 A_SpawnItemEx("ExpanderExplosion",0,0,32,0,0,0,0,1,0)
    "####" "#" 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)
    goto Death.Explosion
  Pain.MicrowaveBlast:
    "####" "#" 0 A_JumpIf(user_hatched==1,"PainMicrowaveBlastHatched")
    "####" "#" 1
    "####" "#" 0 A_CheckThump("Spawn")
    loop
  PainMicrowaveBlastHatched:
    "####" "#" 1
    "####" "#" 0 A_CheckThump("Hatched")
    loop
  Wound.Ice:
    "####" "#" 0 A_JumpIf(user_hatched==1,4)
    "####" "#" 0 A_Freeze("Spawn")
    "####" "#" 0 A_Remove(AAPTR_DEFAULT)
    TNT1 A 1
    stop
    "####" "#" 0 A_Freeze("Hatched")
    "####" "#" 0 A_Remove(AAPTR_DEFAULT)
    TNT1 A 1
    stop
 }
}

actor Slimer : ZBaseActor 19147
{
  health 10
  radius 8
  height 10
  mass 1000
  speed 4
  seesound "slimer/sight"
  deathsound "slimer/death"
  activesound "slimer/active"
  MONSTER
//  +FLOORCLIP
  -SOLID
  +DROPOFF
  +LOOKALLAROUND
  scale 0.4
  bloodcolor "AA D1 5C"
  damagefactor "AlienzShrinker", 0.0
  damagefactor "Shrinkerhit", 0.0
  damagefactor "Shrinker", 100.0
  damagefactor "MicrowaveBlast", 100.0
  Painchance 0
  maxstepheight 256
  meleerange 16
  +NOBLOCKMONST
  Species "Slimers"
  +NOINFIGHTING
  WoundHealth 10
  +AMBUSH
  states
  {
  Spawn:
    ENE9 A 0 NoDelay A_Gravity
    ENE9 ABCDEEDCB 4 A_Look
    loop
  See:
    "####" "#" 0 A_ChangeFlag("YFLIP",0)
    "####" "#" 0 A_ChangeFlag("NOGRAVITY",0)
    "####" "#" 0 A_ChangeFlag("SPAWNCEILING",0)
    "####" "#" 0 A_ChangeFlag("CEILINGHUGGER",0)
    "####" "#" 0 A_ChangeFlag("DONTFALL",0)
    "####" "#" 0 A_SetHeightOffset(0)
    "####" "#" 0 A_SetScale( 0.4 , 0.4 )
    ENE9 A 1
    ENE9 A 4 {A_Chase("_a_chase_default","_a_chase_default"); A_CheckMonsters("EatingMonster");}
    ENE9 B 4 A_Chase("_a_chase_default","_a_chase_default")
    ENE9 C 4 {A_Chase("_a_chase_default","_a_chase_default"); A_CheckMonsters("EatingMonster");}
    ENE9 D 4 A_Chase("_a_chase_default","_a_chase_default")
    ENE9 E 4 {A_Chase("_a_chase_default","_a_chase_default"); A_CheckMonsters("EatingMonster");}
    ENE9 E 4 A_Chase("_a_chase_default","_a_chase_default")
    ENE9 D 4 {A_Chase("_a_chase_default","_a_chase_default"); A_CheckMonsters("EatingMonster");}
    ENE9 C 4 A_Chase("_a_chase_default","_a_chase_default")
    ENE9 B 4 {A_Chase("_a_chase_default","_a_chase_default"); A_CheckMonsters("EatingMonster");}
    "####" "#" 0 A_Jump(64,"Ceiling")
    loop
  See2:
    ENE9 ABCDEEDCB 4 A_ExtChase(0,0,0,0)
    "####" "#" 0 A_ClearTarget
    goto See
  SeeCeiling:
    ENE9 A 4 A_Chase("","")
    "####" "#" 0 A_JumpIf(ACS_ExecuteWithREsult(605) == 1, "See")
    ENE9 B 4 A_Chase("","")
    "####" "#" 0 A_JumpIf(ACS_ExecuteWithREsult(605) == 1, "See")
    ENE9 C 4 A_Chase("","")
    "####" "#" 0 A_JumpIf(ACS_ExecuteWithREsult(605) == 1, "See")
    ENE9 D 4 A_Chase("","")
    "####" "#" 0 A_JumpIf(ACS_ExecuteWithREsult(605) == 1, "See")
    ENE9 E 4 A_Chase("","")
    "####" "#" 0 A_JumpIf(ACS_ExecuteWithREsult(605) == 1, "See")
    ENE9 E 4 A_Chase("","")
    "####" "#" 0 A_JumpIf(ACS_ExecuteWithREsult(605) == 1, "See")
    ENE9 D 4 A_Chase("","")
    "####" "#" 0 A_JumpIf(ACS_ExecuteWithREsult(605) == 1, "See")
    ENE9 C 4 A_Chase("","")
    "####" "#" 0 A_JumpIf(ACS_ExecuteWithREsult(605) == 1, "See")
    ENE9 B 4 A_Chase("","")
    "####" "#" 0 A_JumpIf(ACS_ExecuteWithREsult(605) == 1, "See")
    "####" "#" 0 A_Jump(64,"See")
    loop
  Ceiling:
    "####" "#" 0 A_JumpIf(ACS_ExecuteWithREsult(605) == 1, "See")
    "####" "#" 0 A_JumpIf(ceilingz - (z + height) > 150, "See")
    ENE9 E 1 A_SetScale( 0.3 , ScaleY )
    ENE9 E 1 A_SetScale( 0.2 , ScaleY )
    ENE9 E 1 A_SetScale( 0.1 , ScaleY )
  Large:
    ENE9 A 1 A_SetScale(ScaleX, ScaleY+0.16)
    "####" "#" 0 A_SetSize(-1, height+5)
    "####" "#" 0 A_CheckCeiling(1)
    loop
    "####" "#" 0 A_ChangeFlag("NOGRAVITY",1)
    "####" "#" 0 A_ChangeFlag("SPAWNCEILING",1)
    "####" "#" 0 A_ChangeFlag("CEILINGHUGGER",1)
    "####" "#" 0 A_ChangeFlag("DONTFALL",1)
    "####" "#" 0 A_ChangeFlag("YFLIP",1)
    "####" "#" 0 A_SetHeightOffset(0)
    "####" "#" 0 A_SetScale( 0.4 , 0.4 )
    goto SeeCeiling
  EatingMonster:
    "####" "#" 0
    "####" "#" 0 A_Remove(AAPTR_DEFAULT)
    TNT1 A 1
    stop
  Melee:
    "####" "#" 0 A_JumpIfInTargetInventory("GettingSlimed",1,"See2")
    "####" "#" 0 A_GiveToTarget("GettingSlimedItem",1)
    "####" "#" 0 A_Remove(AAPTR_DEFAULT)
    TNT1 A 1
    stop
  Death:
    "####" "#" 0 {A_Changeflag("NOGRAVITY",0); A_Changeflag("SPAWNCEILING",0); A_Changeflag("CEILINGHUGGER",0); A_Changeflag("DONTFALL",0); A_UnsetShootable; A_UnsetSolid; }
    "####" "#" 0 A_PlayVoiceSoundPitch("Death")
    "####" "#" 0 A_SpawnDebris("SlimerDukeGibs1", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("SlimerDukeGibs2", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("SlimerDukeGibs3", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("SlimerDukeGibs4", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("SlimerDukeGibs5", TRUE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("SlimerDukeGibs6", FALSE, 1.0, 1.0)
    "####" "#" 0 A_NoBlocking
    TNT1 A 5
    stop
  Wound.Ice:
    "####" "#" 0 A_Freeze("See")
    "####" "#" 0 A_Remove(AAPTR_DEFAULT)
    TNT1 A 1
    stop
  }
}

Actor MonsterGettingSlimed : CustomInventory
{
  inventory.maxamount 1
  States
  {
  Pickup:
    TNT1 A 0 A_DamageSelf(1000,"MonsterSlimer",DMSS_KILL|DMSS_NOPROTECT|DMSS_NOFACTOR,"Alien_Green","Troopers")
    TNT1 A 0 A_DamageSelf(1000,"MonsterSlimer",DMSS_KILL|DMSS_NOPROTECT|DMSS_NOFACTOR,"Alien_Red","Troopers")
    TNT1 A 0 A_DamageSelf(1000,"MonsterSlimer",DMSS_KILL|DMSS_NOPROTECT|DMSS_NOFACTOR,"Alien_Blue","Troopers")
    TNT1 A 0 A_DamageSelf(1000,"MonsterSlimer",DMSS_KILL|DMSS_NOPROTECT|DMSS_NOFACTOR,"PigCop","Pigcops")
    TNT1 A 0 A_DamageSelf(1000,"MonsterSlimer",DMSS_KILL|DMSS_NOPROTECT|DMSS_NOFACTOR,"PigCopHurt","Pigcops")
    TNT1 A 0 A_DamageSelf(1000,"MonsterSlimer",DMSS_KILL|DMSS_NOPROTECT|DMSS_NOFACTOR,"LizardGunner","Enforcers")
    TNT1 A 0 A_DamageSelf(1000,"MonsterSlimer",DMSS_KILL|DMSS_NOPROTECT|DMSS_NOFACTOR,"DukeAlien","AlienQueenDrones")
    TNT1 A 0 A_DamageSelf(1000,"MonsterSlimer",DMSS_KILL|DMSS_NOPROTECT|DMSS_NOFACTOR,"queendrone","AlienQueenDrones")
    TNT1 A 0 A_DamageSelf(1000,"MonsterSlimer",DMSS_KILL|DMSS_NOPROTECT|DMSS_NOFACTOR,"FireflyTrooper","CycloidIncineratorFireflys")
    TNT1 A 0 A_DamageSelf(1000,"MonsterSlimer",DMSS_KILL|DMSS_NOPROTECT|DMSS_NOFACTOR,"CycloidIncineratorFirefly","CycloidIncineratorFireflys")
    TNT1 A 0 A_DamageSelf(1000,"MonsterSlimer",DMSS_KILL|DMSS_NOPROTECT|DMSS_NOFACTOR,"AlienSniper","AlienSnipers")
    TNT1 A 0 A_DamageSelf(1000,"MonsterSlimer",DMSS_KILL|DMSS_NOPROTECT|DMSS_NOFACTOR,"TrooperLame","TrooperLames")
    TNT1 A 0 A_DamageSelf(1000,"MonsterSlimer",DMSS_KILL|DMSS_NOPROTECT|DMSS_NOFACTOR,"TrooperLame2","TrooperLames")
    TNT1 A 0 A_DamageSelf(1000,"MonsterSlimer",DMSS_KILL|DMSS_NOPROTECT|DMSS_NOFACTOR,"AMCNazi","Nazis")
    TNT1 A 0 A_DamageSelf(1000,"MonsterSlimer",DMSS_KILL|DMSS_NOPROTECT|DMSS_NOFACTOR,"Doom_WolfensteinSS","Nazis")
    TNT1 A 0 A_DamageSelf(1000,"MonsterSlimer",DMSS_KILL|DMSS_NOPROTECT|DMSS_NOFACTOR,"PigHumanFoe","Pigcops")
    TNT1 A 0 A_DamageSelf(1000,"MonsterSlimer",DMSS_KILL|DMSS_NOPROTECT|DMSS_NOFACTOR,"DukeNukemFoe","DukeFoes")
    TNT1 A 0 A_DamageSelf(1000,"MonsterSlimer",DMSS_KILL|DMSS_NOPROTECT|DMSS_NOFACTOR,"Doom_ZombieMan","Zombies")
    TNT1 A 0 A_DamageSelf(1000,"MonsterSlimer",DMSS_KILL|DMSS_NOPROTECT|DMSS_NOFACTOR,"Doom_ShotgunGuy","Zombies")
    TNT1 A 0 A_DamageSelf(1000,"MonsterSlimer",DMSS_KILL|DMSS_NOPROTECT|DMSS_NOFACTOR,"Doom_ChaingunGuy","Zombies")
    TNT1 A 0 A_DamageSelf(1000,"MonsterSlimer",DMSS_KILL|DMSS_NOPROTECT|DMSS_NOFACTOR,"Doom_Imp","Imps")
    TNT1 A 0
    TNT1 A 1
    Stop
  }
}

ACTOR GettingSlimedItem : CustomInventory
{
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.QUIET
  scale 0.0
  Inventory.MaxAmount 500
  States
  {
  Spawn:
    TNT1 A 5
    stop
  Use:
    "####" "#" 0 ACS_ExecuteAlways(510,0,0,0,0)
    TNT1 A 1
    Stop
  }
}

actor SlimerDukeGibs1 : AlienDukeGibs1NF
{
  scale 0.3
  +NOTELEPORT
  +NOBLOCKMAP
  +CLIENTSIDEONLY
}

actor SlimerDukeGibs2 : AlienDukeGibs2NF
{
  scale 0.2
}

actor SlimerDukeGibs3 : AlienDukeGibs3NF
{
  scale 0.2
}

actor SlimerDukeGibs4 : AlienDukeGibs4NF
{
  scale 0.2
}

actor SlimerDukeGibs5 : AlienDukeGibs5NF
{
  scale 0.2
}
actor SlimerDukeGibs6 : AlienDukeGibs6
{
  scale 0.2
}

actor SlimerExploded
{
  radius 1
  height 1
  speed 0
  PROJECTILE
  scale 0.0
  states
  {
  Spawn:
    TNT1 A 1
    "####" "#" 0 A_SpawnDebris("SlimerDukeGibs1", TRUE, 2.0, 1.0)
    "####" "#" 0 A_SpawnDebris("SlimerDukeGibs2", TRUE, 2.0, 1.0)
    "####" "#" 0 A_SpawnDebris("SlimerDukeGibs3", TRUE, 2.0, 1.0)
    "####" "#" 0 A_SpawnDebris("SlimerDukeGibs4", TRUE, 2.0, 1.0)
    "####" "#" 0 A_SpawnDebris("SlimerDukeGibs5", TRUE, 2.0, 1.0)
    "####" "#" 0 A_SpawnDebris("SlimerDukeGibs6", FALSE, 2.0, 1.0)
    stop
  Death:
    TNT1 A 1
    "####" "#" 0 A_SpawnDebris("SlimerDukeGibs1", TRUE, 2.0, 1.0)
    "####" "#" 0 A_SpawnDebris("SlimerDukeGibs2", TRUE, 2.0, 1.0)
    "####" "#" 0 A_SpawnDebris("SlimerDukeGibs3", TRUE, 2.0, 1.0)
    "####" "#" 0 A_SpawnDebris("SlimerDukeGibs4", TRUE, 2.0, 1.0)
    "####" "#" 0 A_SpawnDebris("SlimerDukeGibs5", TRUE, 2.0, 1.0)
    "####" "#" 0 A_SpawnDebris("SlimerDukeGibs6", FALSE, 2.0, 1.0)
    stop
  }
}

actor DeadSlimer : DeadLostSoul replaces DeadLostSoul 19148
{
  scale 0.72
  States
  {
  Spawn:
    TNT1 A -1
    Stop
  }
}

actor SlimerEatingMonster
{
  Health 0x7FFFFFFF
  speed 0
  radius 20
  height 16
  scale 0.4
  mass 10000
  -SOLID
  +THRUACTORS
  +NOBLOOD
  +FORCEXYBILLBOARD
//  +FLOORCLIP
  -SHOOTABLE
  +NONSHOOTABLE
  +INVULNERABLE
  +NODAMAGE
  +NOPAIN
  +NORADIUSDMG
  +DONTTHRUST
  +NOTARGET
  +NEVERTARGET
  +NOTAUTOAIMED
  +COUNTKILL
  states
  {
  Spawn:
    TNT1 A 0 NoDelay A_PlaySound("slimer/active")
  Wide:
    ENE9 H 1 A_SetScale( min(ScaleX+0.08,1.2) , ScaleY )
    "####" "#" 0 A_JumpIf(ScaleX < 1.2, "Wide")
  Large:
    ENE9 F 1 A_SetScale(ScaleX, min(ScaleY+0.08,1.2) )
    "####" "#" 0 A_JumpIf(ScaleY < 1.2, "Large")

    ENE9 G 10

  Unlarge:
    ENE9 F 1 A_SetScale(ScaleX, max(ScaleY-0.08,0.4) )
    "####" "#" 0 A_JumpIf(ScaleY > 0.4, "Unlarge")
  Unwide:
    ENE9 H 1 A_SetScale( max(ScaleX-0.08,0.4) , ScaleY)
    "####" "#" 0 A_JumpIf(ScaleX > 0.4, "Unwide")

    TNT1 A 0 A_ChangeFlag("COUNTKILL",0)
    TNT1 A 0 A_SpawnItemEx("Slimer")
    TNT1 A 0 A_Remove(AAPTR_DEFAULT)
    Stop
  }
}