// Chex Quest spawners for compatibility. Wahey!
actor ChexAmmo1Small : Ammo1Small replaces MiniZorchRecharge { }
actor ChexAmmo1Big : Ammo1Big replaces MiniZorchPack { }
actor ChexAmmo2Small : Ammo2Small replaces LargeZorchRecharge { }
actor ChexAmmo2Big : Ammo2Big replaces LargeZorchPack { }
actor ChexAmmo3Small : Ammo3Small replaces PropulsorZorch { }
actor ChexAmmo3Big : Ammo3Big replaces PropulsorZorchPack { }
actor ChexAmmo4Small : Ammo4Small replaces PhasingZorch { }
actor ChexAmmo4Big : Ammo4Big replaces PhasingZorchPack { }
actor ChexAmmoBackpack : AmmoBackpack replaces Zorchpack { }

actor ChexHealPack0 : HealPack0 replaces GlassOfWater { }
actor ChexHealPack1 : HealPack1 replaces BowlOfFruit { }
actor ChexHealPack2 : HealPack2 replaces BowlOfVegetables { }
actor ChexSuperHealth : SuperHealth replaces SuperchargeBreakfast { }
actor ChexArmorScrap : ArmorScrap replaces SlimeRepellent { }
actor ChexArmorPack1 : ArmorPack1 replaces ChexArmor { }
actor ChexArmorPack2 : ArmorPack2 replaces SuperChexArmor { }

actor ChexBioSuit : BioSuit replaces SlimeProofSuit { }
actor ChexVisor : Visor 2045//replaces UltraGoggles { }
{
    Game Chex
    SpawnID 138
}
// Actor ChexAutomap : Automap replaces ComputerAreaMap	// Can't be done until the automap gets a replacement!

// Right. Now for the enemies. First, the flemoid gibs--modified from Nash's Nashgore.
actor FlemoidGib
{
    scale 0.95
    health 1
    radius 8
    height 1
    mass 1
    +CORPSE
    +NOTELEPORT
    -SOLID
    +NOBLOCKMAP
    +CLIENTSIDEONLY
    states
    {
      Spawn:
        TNT1 A 0
        FLBL A 1 A_SpawnItem("FlemoidGibTrail",0,0,0,1)
        FLBL A 1 
        FLBL A 1 A_SpawnItem("FlemoidGibTrail",0,0,0,1)
        FLBL A 1
        FLBL B 1 A_SpawnItem("FlemoidGibTrail",0,0,0,1)
        FLBL B 1
        FLBL B 1 A_SpawnItem("FlemoidGibTrail",0,0,0,1)
        FLBL B 1
        FLBL C 1 A_SpawnItem("FlemoidGibTrail",0,0,0,1)
        FLBL C 1
        FLBL C 1 A_SpawnItem("FlemoidGibTrail",0,0,0,1)
        FLBL C 1
        FLBL D 1 A_SpawnItem("FlemoidGibTrail",0,0,0,1)
        FLBL D 1
        FLBL D 1 A_SpawnItem("FlemoidGibTrail",0,0,0,1)
        FLBL D 1
        loop

      Crash:
        TNT1 A 1 A_SpawnItem("FlemoidSplatSpot",0,0,0,1)
        stop
    }
}

actor FlemoidSplatSpot
{
    Scale 1.1
    radius 12
    height 2
    mass 1
    -SOLID
    +NOTELEPORT
    -NOBLOCKMAP
    +CLIENTSIDEONLY
    states
    {
      Spawn:
        TNT1 A 0
        TNT1 A 0 A_PlaySound("flemsplat")
        TNT1 A 0 A_Jump(256,"DeathA","DeathB","DeathC","DeathD")

      DeathA:
        FSPT A 1500
        FSPT AAAAAAAAAA 15 A_FadeOut(0.1)
        stop

      DeathB:
        FSPT B 1500
        FSPT BBBBBBBBBB 15 A_FadeOut(0.1)
        stop

      DeathC:
        FSPT C 1500
        FSPT CCCCCCCCCC 15 A_FadeOut(0.1)
        stop

      DeathD:
        FSPT D 1500
        FSPT DDDDDDDDDD 15 A_FadeOut(0.1)
        stop
    }
}

// Blood trails spawned by FlyingBlood
actor FlemoidGibTrail
{
    scale 0.8//0.70
    mass 1
    +LOWGRAVITY
    +NOTELEPORT
    +NOBLOCKMAP
    states
    {
      Spawn:
        FTRL A 4
        FTRL B 4
        FTRL C 4
        FTRL D 4
        stop
    }
}

// Now the actual enemies...
actor FlemoidusCommonus2 : FlemoidusCommonus replaces FlemoidusCommonus
{
    DamageFactor "CorvusCrossbow", 1.1
    DamageFactor "DragonClaw", 1.5
	DamageFactor "Flem", 0.0
    DamageFactor "Slime", 0.0
    PainChance "MightyBoot", 255
    +DONTGIB
    +NOTDMATCH
    +NOICEDEATH
    States
    {
      Pain:
        POSS A 3 A_SpawnDebris("FlemoidGib",1)
        POSS A 3 A_Pain
        Goto See

      Pain.ZorchPistol:
      Pain.Zorch:
	  Pain.PhasingZorch:
	  Pain.ZorchKamikaze:
        POSS G 3
        POSS G 3 A_Pain
        Goto See

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

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

      XDeath:
      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        TNT1 A 0 A_PlaySound("flemdie")
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnDebris("FlemoidGib",1)
        POSD A 10
        POSD ABC 7
        POSD D -1
        stop

      Death.ZorchPistol:
      Death.Zorch:
      Death.PhasingZorch:
	  Death.ZorchKamikaze:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        POSS H 5
        POSS I 5 A_Scream
        POSS J 5 A_NoBlocking
        POSS K 5
        POSS L -1
        Stop

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

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

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

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

actor FlemoidusBipedicus2 : FlemoidusBipedicus replaces FlemoidusBipedicus
{
    DamageFactor "CorvusCrossbow", 1.1
    DamageFactor "DragonClaw", 1.5
	DamageFactor "Flem", 0.0
    DamageFactor "Slime", 0.0
    PainChance "MightyBoot", 255
    +DONTGIB
    +NOTDMATCH
    +NOICEDEATH
    States
    {
      Pain:
        SPOS A 3 A_SpawnDebris("FlemoidGib",1)
        SPOS A 3 A_Pain
        Goto See

      Pain.ZorchPistol:
      Pain.Zorch:
	  Pain.PhasingZorch:
	  Pain.ZorchKamikaze:
        SPOS G 3
        SPOS G 3 A_Pain
        Goto See

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

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

      XDeath:
      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        TNT1 A 0 A_PlaySound("flemdie")
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnDebris("FlemoidGib",1)
        SPOD A 10
        SPOD ABC 7
        SPOD D -1
        stop

      Death.ZorchPistol:
      Death.Zorch:
      Death.PhasingZorch:
	  Death.ZorchKamikaze:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        SPOS H 5
        SPOS I 5 A_Scream
        SPOS J 5 A_NoBlocking
        SPOS K 5
        SPOS L -1
        Stop

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

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

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

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

actor ArmoredFlemoidusBipedicusV3 replaces ArmoredFlemoidusBipedicus
{
    Game Chex
    SpawnID 5
    Health 125 // Previously 100
    Radius 20
    Height 56
    Mass 100
    damagefactor "Flem", 0.0
    damagefactor "Slime", 0.0  //in chex3.exe the slam now has slime damagetype
    DamageFactor "CorvusCrossbow", 1.1
    DamageFactor "DragonClaw", 1.5
    DamageFactor "MarathonFusion", 2.0
    PainChance "MightyBoot", 255
    Speed 8
    PainChance 200
    Monster
    +FLOORCLIP
    +DONTGIB
    +NOTDMATCH
    +NOICEDEATH
    //+NOBLOODDECALS
    SeeSound "imp/sight"
    PainSound "imp/pain"
    DeathSound "imp/death"
    ActiveSound "imp/active"
    Obituary "$OB_BIPEDICUS2"
    States
    {
      Spawn:
        TROO AB 10 A_Look
        Loop

      See:
        TROO AABBCCDD 3 A_Chase
        Loop

      Melee:
      Missile:
        TNT1 A 0 A_ChangeFlag("NOPAIN",0)
        TROO EF 6 A_FaceTarget // Previously 8 each
        TROO G 6 A_CustomComboAttack("BipedicusBallV3", 32, random[troopattack](1,8)*3, "imp/melee", "flem")
        Goto See

      Pain:
        TROO A 2 A_SpawnDebris("FlemoidGib",1)
        TROO A 2 A_Pain
        Goto See

      Pain.ZorchPistol:
      Pain.Zorch:
	  Pain.PhasingZorch:
	  Pain.ZorchKamikaze:
        TROO H 2
        TROO H 2 A_Pain
        Goto See

      Death.ZorchPistol:
      Death.Zorch:
      Death.PhasingZorch:
	  Death.ZorchKamikaze:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TROO I 8
        TROO J 8 A_Scream
        TROO K 6
        TROO L 6 A_NoBlocking
        TROO M -1
        Stop

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

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

      XDeath:
      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        TNT1 A 0 A_PlaySound("flemdie")
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnDebris("FlemoidGib",1)
        TNT1 A 0 A_SpawnItem("ArmoredBipedicusBody")
        SPOD A 10
        SPOD ABC 7
        SPOD D -1
        stop

      Raise:
        TROO MLKJI 8
        Goto See

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

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

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

actor ArmoredBipedicusBody
{
    radius 16
    height 16
    BounceFactor 0.46
    BounceCount 3
    Mass 50
    Speed 1
    SeeSound "flem/cyclopsbody"
    +DOOMBOUNCE
    PROJECTILE
    +NOTELEPORT
    -NOGRAVITY
    -SOLID
    +NOBLOCKMAP
    +MOVEWITHSECTOR
    +CLIENTSIDEONLY
    States
    {
      Spawn:
        TROD A 10
        loop

      Death:
        TROD A -1
        stop
    }
}

actor Quadrumpus 9057
{
    Game Chex
    SpawnID 122
    Health 150 // Previously 60
    Radius 20
    Height 56
    Mass 100
    damagefactor "Flem", 0.0
    damagefactor "Slime", 0.0 //in chex3.exe the slam now has slime damagetype
    DamageFactor "CorvusCrossbow", 1.1
    DamageFactor "DragonClaw", 1.5
    PainChance "MightyBoot", 255
    Speed 8
    PainChance 200
    Monster
    +FLOORCLIP
    +DONTGIB
    +NOTDMATCH
    +NOICEDEATH
    //+NOBLOODDECALS
    SeeSound "imp/sight"
    PainSound "imp/pain"
    DeathSound "imp/death"
    ActiveSound "imp/active"
    Obituary "$OB_QUADRUMPUS"
    States
    {
      Spawn:
        QUAD AB 10 A_Look
        Loop

      See:
        QUAD AABBCCDD 3 A_Chase
        Loop

      Melee:
        QUAD EF 6 A_FaceTarget // Previously 8 each
        QUAD G 6 A_CustomMeleeAttack(random[troopattack](1,8)*3, "imp/melee", "imp/melee", "flem")
        Goto See

      Missile:
        TNT1 A 0 A_ChangeFlag("NOPAIN",0)
        QUAD EF 8 A_FaceTarget
        QUAD G 0 A_CustomMissile("QuadrumpusBall", 27, -16)
        QUAD G 0 A_CustomMissile("QuadrumpusBall", 37, -16)
        QUAD G 0 A_CustomMissile("QuadrumpusBall", 37, 16)
        QUAD G 6 A_CustomMissile("QuadrumpusBall", 27, 16)
        Goto See

      Pain:
        QUAD A 2 A_SpawnDebris("FlemoidGib",1)
        QUAD A 2 A_Pain
        Goto See

      Pain.ZorchPistol:
      Pain.Zorch:
	  Pain.PhasingZorch:
	  Pain.ZorchKamikaze:
        QUAD H 2
        QUAD H 2 A_Pain
        Goto See

      Death.ZorchPistol:
      Death.Zorch:
      Death.PhasingZorch:
	  Death.ZorchKamikaze:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        QUAD I 8
        QUAD J 8 A_Scream
        QUAD K 6
        QUAD L 6 A_NoBlocking
        QUAD M -1
        Stop

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

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

      XDeath:
      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        TNT1 A 0 A_PlaySound("flemdie2")
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-1,1),random(-1,1),random(26,56),random(-2,2),random(-2,2),random(5,15))
        TNT1 AA 0 A_CustomMissile("QuadrumpusArm1",32,0,random(-45,-135),2,random(0,90))
        TNT1 AA 0 A_CustomMissile("QuadrumpusArm2",32,0,random(45,135),2,random(0,90))
        QUDT A 10
        QUDT ABC 7
        QUDT D -1
        stop

      Raise:
        QUAD MLKJI 8
        Goto See

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

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

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

actor QuadrumpusBall
{
    Game Chex
    Radius 6
    Height 8
    Speed 15
    FastSpeed 25
    Damage 1
    Projectile
    DamageType Flem
    +RANDOMIZE
    SeeSound "imp/attack"
    DeathSound "imp/shotx"
    States
    {
      Spawn:
        BAL1 AB 4
        Loop

      Death:
        BAL1 CDE 6
        Stop
    }
}

actor QuadrumpusArm1
{
    radius 2
    height 2
    BounceFactor 0.55
    BounceCount 2
    Mass 10
    Speed 8
    +DOOMBOUNCE
    PROJECTILE
    +NOTELEPORT
    -NOGRAVITY
    -SOLID
    -SKYEXPLODE
    +NOBLOCKMAP
    +MOVEWITHSECTOR
    +CLIENTSIDEONLY
    States
    {
      Spawn:
        TNT1 A 0 ThrustThingZ (0, 24, 0, 1)

      Spawn2:
        QDRM ABCDEFGH 6
        loop

      Death:
        TNT1 A 0 A_Jump(256,"Death1","Death2")

      Death1:
        QDRM C -1
        stop

      Death2:
        QDRM G -1
        stop
    }
}

actor QuadrumpusArm2
{
    radius 2
    height 2
    BounceFactor 0.55
    BounceCount 2
    Mass 10
    Speed 8
    +DOOMBOUNCE
    PROJECTILE
    +NOTELEPORT
    -NOGRAVITY
    -SOLID
    -SKYEXPLODE
    +NOBLOCKMAP
    +MOVEWITHSECTOR
    +CLIENTSIDEONLY
    States
    {
      Spawn:
        TNT1 A 0 ThrustThingZ (0, 24, 0, 1)

      Spawn2:
        QDR2 ABCDEFGH 6
        loop

      Death:
        TNT1 A 0 A_Jump(256,"Death1","Death2")

      Death1:
        QDR2 C -1
        stop

      Death2:
        QDR2 G -1
        stop
    }
}

actor FlemoidusStridicus replaces FlemoidusCycloptisCommonus
{
    Game Chex
    SpawnID 8
    Health 300 // Previously 225
    PainChance 100
    Speed 18 // Previously 16
    Radius 30
    Height 56
    Mass 400
    damagefactor "Flem", 0.0
    damagefactor "Slime", 0.0  //in chex3.exe the slam now has slime damagetype
    DamageFactor "CorvusCrossbow", 1.1
    DamageFactor "DragonClaw", 1.5
    PainChance "MightyBoot", 255
    Monster
    +FLOORCLIP +FASTER +FASTMELEE
    +DONTGIB
    +NOTDMATCH
    //+NOBLOODDECALS
    SeeSound "demon/sight"
    AttackSound "demon/melee"
    PainSound "demon/pain"
    DeathSound "demon/death"
    ActiveSound "demon/active"
    Obituary "$OB_STRIDICUS"
    States
    {
      Spawn:
        SARG AB 10 A_Look
        Loop

      See:
        SARG AABBCCDD 2 A_Chase
        Loop

      Melee: // Previously 8 frames each.
        TNT1 A 0 A_ChangeFlag("NOPAIN",0)
        SARG EF 6 A_FaceTarget
        SARG G 6 A_CustomMeleeAttack(random[sargattack](1,10)*4, "", "", "Flem")
        Goto See

      Pain:
        SARG A 2 A_SpawnDebris("FlemoidGib",1)
        SARG A 2 A_Pain
        Goto See

      Pain.ZorchPistol:
      Pain.Zorch:
	  Pain.PhasingZorch:
	  Pain.ZorchKamikaze:
        SARG H 2
        SARG H 2 A_Pain
        Goto See

      Death.ZorchPistol:
      Death.Zorch:
      Death.PhasingZorch:
	  Death.ZorchKamikaze:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        SARG I 8
        SARG J 8 A_Scream
        SARG K 4
        SARG L 4 A_NoBlocking
        SARG M 4
        SARG N -1
        Stop

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

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

      XDeath:
      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        TNT1 A 0 A_PlaySound("flemdie2")
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-1,1),random(-1,1),random(46,56),random(-2,2),random(-2,2),random(5,15))
        STRD A 14
        STRD ABCDEF 7
        STRD G -1
        stop

      Raise:
        SARG N 5
        SARG MLKJI 5
        Goto See

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

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

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

actor FlemoidusCycloptisCommonusV3 : FlemoidusStridicus 58
{
    Game Chex
    SpawnID 9
    Health 200 // Previously 150
    PainChance 180
    Speed 10
    Radius 30
    Height 56
    Mass 400
    damagefactor "Flem", 0.0
    damagefactor "Slime", 0.0  //in chex3.exe the slam now has slime damagetype
    DamageFactor "CorvusCrossbow", 1.1
    DamageFactor "DragonClaw", 1.5
    DamageFactor "MarathonFusion", 2.0
    PainChance "MightyBoot", 255
    Monster
    +FLOORCLIP +FASTER +FASTMELEE
    +DONTGIB
    +NOTDMATCH
    +FLOAT
    +NOGRAVITY
    +NOTDMATCH
    //+NOBLOODDECALS
    SeeSound "spectre/sight"
    AttackSound "spectre/melee"
    PainSound "spectre/pain"
    DeathSound "spectre/death"
    ActiveSound "spectre/active"
    Obituary "$OB_CYCLOPTIS"
    States
    {
      Spawn:
        CYCL AB 10 A_Look
        Loop

      See:
        CYCL AABBCCDD 2 A_Chase
        Loop

      Melee: // Previously all 8 frames each
        CYCL EF 6 A_FaceTarget
        CYCL G 6 A_CustomMeleeAttack(random[sargattack](1,10)*4, "", "", "Flem")
        Goto See

      Pain:
        CYCL A 2 A_SpawnDebris("FlemoidGib",1)
        CYCL A 2 A_Pain
        Goto See

      Pain.ZorchPistol:
      Pain.Zorch:
	  Pain.PhasingZorch:
	  Pain.ZorchKamikaze:
        CYCL H 2
        CYCL H 2 A_Pain
        Goto See

      Death.ZorchPistol:
      Death.Zorch:
      Death.PhasingZorch:
	  Death.ZorchKamikaze:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        CYCL I 8
        CYCL J 8 A_Scream
        CYCL K 4
        CYCL L 4 A_NoBlocking
        CYCL M 4
        CYCL N -1
        Stop

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

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

      XDeath:
      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        TNT1 A 0 A_PlaySound("flemdie")
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnDebris("FlemoidGib",1)
        TNT1 A 0 A_SpawnItemEx("CyclopsBody",0,0,25,random(-1,1),random(-1,1),random(-1,4))//A_CustomMissile("CyclopsBody",15,0,random(-180,180))//A_SpawnItem("CyclopsBody")
        TNT1 AAA 0 A_CustomMissile("CyclopsArm",0,0,random(-180,180),2,random(0,90))//A_SpawnDebris("CyclopsArm",1)
        TNT1 A -1
        stop

      Raise:
        CYCL N 5
        CYCL MLKJI 5
        Goto See

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

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

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

actor CyclopsBody
{
    radius 16
    height 16
    BounceFactor 0.46
    BounceCount 5
    Mass 50
    Speed 1
    SeeSound "flem/cyclopsbody"
    +DOOMBOUNCE
    PROJECTILE
    +NOTELEPORT
    -NOGRAVITY
    -SOLID
    +NOBLOCKMAP
    +MOVEWITHSECTOR
    +CLIENTSIDEONLY
    +SKYEXPLODE
    States
    {
      Spawn:
        CYCD A 10
        loop

      Death:
        CYCD A -1
        stop
    }
}

actor CyclopsArm
{
    radius 2
    height 2
    BounceFactor 0.65
    BounceCount 7
    Mass 50
    Speed 4
    +DOOMBOUNCE
    PROJECTILE
    +NOTELEPORT
    -NOGRAVITY
    -SOLID
    +NOBLOCKMAP
    +MOVEWITHSECTOR
    +SKYEXPLODE
    +CLIENTSIDEONLY
    States
    {
      Spawn:
        TNT1 A 0 ThrustThingZ (0, 24, 0, 1)

      Spawn2:
        CYRM ABCDEFGH 5
        loop

      Death:
        TNT1 A 0 A_Jump(256,"Death1","Death2","Death3","Death4")

      Death1:
        CYRM C -1
        stop

      Death2:
        CYRM G -1
        stop

      Death3:
        CYRM I -1
        stop

      Death4:
        CYRM J -1
        stop
    }
}

actor SuperCycloptis 3005
{
    Game Chex
    SpawnID 19
    Health 400
    Radius 31
    Height 56
    Mass 400
    damagefactor "Flem", 0.0
    damagefactor "Slime", 0.0  //in chex3.exe the slam now has slime damagetype
    DamageFactor "CorvusCrossbow", 1.1
    DamageFactor "DragonClaw", 1.5
    DamageFactor "MarathonFusion", 2.0
    PainChance "MightyBoot", 255
    Speed 8
    PainChance 128
    Monster
    +FLOAT +NOGRAVITY +DONTFALL
    +DONTGIB
    +NOTDMATCH
    //+NOBLOODDECALS
    SeeSound "caco/sight"
    PainSound "caco/pain"
    DeathSound "caco/death"
    ActiveSound "caco/active"
    Obituary "$OB_SUPERCYCLOPTIS"
    States
    {
      Spawn:
        HEAD A 10 A_Look
        Loop

      See:
        HEAD A 3 A_Chase
        Loop

      Missile:
        TNT1 A 0 A_ChangeFlag("NOPAIN",0)
        HEAD B 5 A_FaceTarget
        HEAD C 5 A_FaceTarget
        HEAD D 5 A_CustomComboAttack("CycloptisBall", 32, random[headattack](1,6)*10, "", "flem")
        Goto See

      Pain:
        HEAD A 3 A_SpawnDebris("FlemoidGib",1)
        HEAD A 3 A_Pain
        HEAD A 6
        Goto See

      Pain.ZorchPistol:
      Pain.Zorch:
	  Pain.PhasingZorch:
	  Pain.ZorchKamikaze:
        HEAD E 3
        HEAD E 3 A_Pain
        HEAD F 6
        Goto See

      Death.ZorchPistol:
      Death.Zorch:
      Death.PhasingZorch:
	  Death.ZorchKamikaze:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        HEAD G 8
        HEAD H 8 A_Scream
        HEAD I 8
        HEAD J 8
        HEAD K 8 A_NoBlocking
        HEAD L -1 A_SetFloorClip
        Stop

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

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

      XDeath:
      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        TNT1 A 0 A_PlaySound("flemdie")
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnDebris("FlemoidGib",1)
        TNT1 A 0 A_CustomMissile("SuperCyclopsBody",0,0,random(-180,180))
        TNT1 A 0 A_CustomMissile("SuperCyclopsArm1",0,0,random(-45,-135),2,random(0,90))
        TNT1 A 0 A_CustomMissile("SuperCyclopsArm2",0,0,random(45,135),2,random(0,90))
        TNT1 A -1 A_SetFloorClip
        stop

      Raise:
        HEAD L 8 A_UnSetFloorClip
        HEAD KJIHG 8
        Goto See

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

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

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

actor SuperCyclopsBody
{
    radius 16
    height 16
    BounceFactor 0.26
    BounceCount 3
    Mass 50
    Speed 1
    SeeSound "flem/cyclopsbody"
    +DOOMBOUNCE
    PROJECTILE
    +NOTELEPORT
    -NOGRAVITY
    -SOLID
    +NOBLOCKMAP
    +MOVEWITHSECTOR
    +SKYEXPLODE
    +CLIENTSIDEONLY
    States
    {
      Spawn:
        CYBD A 10
        loop

      Death:
        CYBD A -1
        stop
    }
}

actor SuperCyclopsArm1
{
    radius 2
    height 2
    BounceFactor 0.55
    BounceCount 7
    Mass 10
    Speed 8
    SeeSound "flem/cyclopsbody"
    +DOOMBOUNCE
    PROJECTILE
    +NOTELEPORT
    -NOGRAVITY
    -SOLID
    +NOBLOCKMAP
    +MOVEWITHSECTOR
    +SKYEXPLODE
    +CLIENTSIDEONLY
    States
    {
      Spawn:
        TNT1 A 0 ThrustThingZ (0, 24, 0, 1)

      Spawn2:
        CYTB ABCDEFGH 6
        loop

      Death:
        TNT1 A 0 A_Jump(256,"Death1","Death2","Death3","Death4")

      Death1:
        CYTB C -1
        stop

      Death2:
        CYTB D -1
        stop

      Death3:
        CYTB G -1
        stop

      Death4:
        CYTB H -1
        stop
    }
}

actor SuperCyclopsArm2
{
    radius 2
    height 2
    BounceFactor 0.55
    BounceCount 7
    Mass 10
    Speed 8
    SeeSound "flem/cyclopsbody"
    +DOOMBOUNCE
    PROJECTILE
    +NOTELEPORT
    -NOGRAVITY
    -SOLID
    +NOBLOCKMAP
    +MOVEWITHSECTOR
    +SKYEXPLODE
    +CLIENTSIDEONLY
    States
    {
      Spawn:
        TNT1 A 0 ThrustThingZ (0, 24, 0, 1)

      Spawn2:
        CYT2 ABCDEFGH 6
        loop

      Death:
        TNT1 A 0 A_Jump(256,"Death1","Death2","Death3","Death4")

      Death1:
        CYT2 B -1
        stop

      Death2:
        CYT2 C -1
        stop

      Death3:
        CYT2 F -1
        stop

      Death4:
        CYT2 G -1
        stop
    }
}

actor Larva 9050
{
    Game Chex
    SpawnID 117
    Health 150 // Previously 100
    PainChance 180
    Speed 7
    Radius 30
    Height 56
    Mass 400
    damagefactor "Flem", 0.0
    damagefactor "Slime", 0.0  //in chex3.exe the slam now has slime damagetype
    DamageFactor "CorvusCrossbow", 1.1
    DamageFactor "DragonClaw", 1.5
    PainChance "MightyBoot", 255
    Monster
    +FLOORCLIP +FASTER +FASTMELEE
    +DONTGIB
    +NOTDMATCH
    //+NOBLOODDECALS
    SeeSound "spectre/sight"
    AttackSound "spectre/melee"
    PainSound "spectre/pain"
    DeathSound "spectre/death"
    ActiveSound "spectre/active"
    Obituary "$OB_LARVA"
    States
    {
      Spawn:
        LRVA AB 10 A_Look
        Loop

      See:
        LRVA AABBAABB 2 A_Chase
        Loop

      Melee: // Previously 8 frames each
        TNT1 A 0 A_ChangeFlag("NOPAIN",0)
        LRVA CD 6 A_FaceTarget
        LRVA E 6 A_CustomMeleeAttack(random[sargattack](1,10)*4, "", "", "Flem")
        Goto See

      Pain.ZorchPistol:
      Pain.Zorch:
	  Pain.PhasingZorch:
	  Pain.ZorchKamikaze:
        LRVA F 2
        LRVA F 2 A_Pain
        Goto See

      Pain:
        LRVA A 2 A_SpawnDebris("FlemoidGib",1)
        LRVA A 2 A_Pain
        Goto See

      Death.ZorchPistol:
      Death.Zorch:
      Death.PhasingZorch:
	  Death.ZorchKamikaze:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        LRVA G 8
        LRVA H 8 A_Scream
        LRVA I 4
        LRVA J 4 A_NoBlocking
        LRVA K 4
        LRVA L -1
        Stop

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

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

      XDeath:
      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        TNT1 A 0 A_PlaySound("flemdie")
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnDebris("FlemoidGib",1)
        LRVD A 10
        LRVD ABC 7
        LRVD D -1
        stop

      Raise:
        LRVA L 5
        LRVA KJIHG 5
        Goto See

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

      Ice:
      Death.HexenIce:
      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        //TNT1 A 0 A_SpawnItem("LarvaFrozen")
        LRVA A 0 A_UnsetSolid
        LRVA A 70 A_GenericFreezeDeath
        LRVA A 0 A_IceGuyDie
        LRVA A 1 A_IceGuyDie
        TNT1 A -1
        stop

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

actor FlemMine replaces ChexSoul
{
    Game Chex
    SpawnID 110
    Health 100
    Radius 16
    Height 56
    Mass 50
    damagefactor "Flem", 0.0  //flem damage doesn't hurt flemoids
    damagefactor "Slime", 0.0  //in chex3.exe the slam now has slime damagetype
    DamageFactor "MarathonFusion", 2.0
    PainChance "MightyBoot", 255
    Speed 8
    Damage 3
    PainChance 256
    Monster
    +FLOAT +NOGRAVITY +MISSILEMORE +DONTFALL
    +DONTGIB
    +NOTDMATCH
    //+NOBLOODDECALS
    SeeSound "skull/sight"
    AttackSound "skull/melee"
    PainSound "skull/pain"
    DeathSound "skull/death"
    ActiveSound "skull/active"
    Obituary "$OB_FLEMMINE"
    States
    {
      Spawn:
        SKUL AB 10 A_Look
        Loop

      See:
        SKUL AB 6 A_Chase
        Loop

      Missile:
        TNT1 A 0 A_ChangeFlag("NOPAIN",0)
        SKUL C 10 A_FaceTarget
        SKUL D 4 A_SkullAttack
        SKUL CD 4 
        Goto Missile+2

      Pain:
        SKUL A 3 A_SpawnDebris("FlemoidGib") 
        SKUL A 3 A_Pain
        Goto See

      Pain.ZorchPistol:
      Pain.Zorch:
	  Pain.PhasingZorch:
	  Pain.ZorchKamikaze:
        SKUL E 3 
        SKUL E 3 A_Pain
        Goto See

      Death.ZorchPistol:
      Death.Zorch:
      Death.PhasingZorch:
	  Death.ZorchKamikaze:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        SKUL F 6 
        SKUL G 6 A_Scream
        SKUL H 6 
        SKUL I 6 A_NoBlocking
        SKUL J 6
        SKUL K 6
        Stop

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

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

      XDeath:
      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        TNT1 A 0 A_PlaySound("flemdie")
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnDebris("FlemoidGib",1)
        TNT1 A 0 A_SpawnDebris("FlemMineGib1",1)
        TNT1 A 0 A_SpawnDebris("FlemMineGib2",1)
        TNT1 A -1
        stop

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

      Ice:
      Death.HexenIce:
      Death.Ice:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_NoBlocking
        //TNT1 A 0 A_SpawnItem("FlemMineFrozen")
        SKUL A 0 A_UnsetSolid
        SKUL A 70 A_GenericFreezeDeath
        SKUL A 0 A_IceGuyDie
        SKUL A 1 A_IceGuyDie
        TNT1 A -1
        stop

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

actor FlemMineGib1
{
    health 8
    radius 2
    height 2
    BounceFactor 0.75
    BounceCount 8
    Mass 10
    Speed 8
    +DOOMBOUNCE
    PROJECTILE
    +NOTELEPORT
    +RANDOMIZE
    -NOGRAVITY
    -SOLID
    -SKYEXPLODE
    +NOBLOCKMAP
    +MOVEWITHSECTOR
    +CLIENTSIDEONLY
    States
    {
      Spawn:
        TNT1 A 0 ThrustThingZ (0, 24, 0, 1)

      Spawn2:
        FLGB ABCD 6
        loop

      Death:
        TNT1 A 0 A_Jump(256,"Death1","Death2","Death3","Death4")
        goto Death1

      Death1:
        FLGB A 2000
        stop

      Death2:
        FLGB B 2000
        stop

      Death3:
        FLGB C 2000
        stop

      Death4:
        FLGB D 2000
        stop
    }
}

actor FlemMineGib2
{
    health 1
    radius 2
    height 2
    BounceFactor 0.75
    BounceCount 8
    Mass 10
    Speed 8
    +DOOMBOUNCE
    PROJECTILE
    +NOTELEPORT
    +RANDOMIZE
    -NOGRAVITY
    -SOLID
    -SKYEXPLODE
    +NOBLOCKMAP
    +MOVEWITHSECTOR
    +CLIENTSIDEONLY
    States
    {
      Spawn:
        TNT1 A 0 ThrustThingZ (0, 24, 0, 1)

      Spawn2:
        FLGB EFGH 6
        loop

      Death:
        TNT1 A 0 A_Jump(256,"Death1","Death2","Death3","Death4")
        goto Death1

      Death1:
        FLGB E 2000
        stop

      Death2:
        FLGB F 2000
        stop

      Death3:
        FLGB G 2000
        stop

      Death4:
        FLGB H 2000
        stop
    }
}

actor Snotfolus 16
{
    Game Chex
    SpawnID 114
    Health 8000
    Radius 40
    Height 110
    Mass 1000
    damagefactor "BFG", 0.75
    damagefactor "BFGSpray", 0.75
    damagefactor "Flem", 0.0
    damagefactor "Slime", 0.0  //in chex3.exe the slam now has slime damagetype
    PainChance "MarathonFusion", 0
	DamageFactor "CorvusHellstaffTomed", 0.2
    Speed 16
    PainChance 10
    Monster
    MinMissileChance 160
    +BOSS 
    +MISSILEMORE
    +FLOORCLIP
    +NORADIUSDMG
    +DONTMORPH
    +BOSSDEATH
    +DONTGIB
    +INVULNERABLE
    +NOTARGET
    +NOINFIGHTING
    +BOSSDEATH
    +NOTDMATCH
	+DONTRIP
    //+NOBLOODDECALS
    SeeSound "cyber/sight"
    PainSound "cyber/pain"
    DeathSound "cyber/death"
    ActiveSound "cyber/active"
    Obituary "$OB_SNOTFOLUS"
    States
    {
      Spawn:
        TNT1 A 0 A_SetTranslucent(0,0)
        TNT1 A 80
        TNT1 A 0 A_PlaySoundEx("cyber/sight","SoundSlot5",0,2)
        TNT1 A 0 ACS_ExecuteAlways(204,0,2)
        CYBR A 0 A_SetTranslucent(0.1,0)
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0)  
        CYBR A 0 A_SetTranslucent(0.2,0)
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0)  
        CYBR A 0 A_SetTranslucent(0.3,0)
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0)  
        CYBR A 0 A_SetTranslucent(0.4,0)
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0)  
        CYBR A 0 A_SetTranslucent(0.5,0)
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0)  
        CYBR A 0 A_SetTranslucent(0.6,0)
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0)  
        CYBR A 0 A_SetTranslucent(0.7,0)
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0)  
        CYBR A 0 A_SetTranslucent(0.8,0)
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0)  
        CYBR A 0 A_SetTranslucent(0.9,0)
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 1 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, random(1,4), 0, 129, 0)  
        TNT1 A 0 A_PlaySoundEx("cyber/active","SoundSlot5",0,2)
        CYBR AAAAAAAAAAAAAA 0 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, 4, 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 0 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, 4, 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 0 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, 4, 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 0 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, 4, 0, 129, 0) 
        CYBR AAAAAAAAAAAAAA 0 A_SpawnItemEx ("StarSparkle", random(-32, 32), random(-32,32), random(0, 8), 0, 0, 4, 0, 129, 0) 
        CYBR A 100 A_SetTranslucent(1,0)
        TNT1 A 0 A_PlaySoundEx("cyber/sight","SoundSlot5",0,2)
        CYBR A 100
        TNT1 A 0 A_ChangeFlag("INVULNERABLE",0)
        CYBR A 1 A_Look
        wait

      Idle:
        TNT1 A 0 A_SetTranslucent(1,0)
        TNT1 A 0 A_ChangeFlag("INVULNERABLE",0)
        CYBR AB 10 A_Look
        Loop

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

      See2:
        CYBR A 3 A_Hoof
        TNT1 A 0 A_CustomMissile("FlemSporeSummonball",0,0,0)
        CYBR ABBCC 3 A_Chase
        TNT1 A 0 A_CustomMissile("FlemSporeSummonball",0,0,0)
        CYBR D 3 A_Metal
        CYBR D 3 A_Chase
        Loop

      Missile:
        CYBR E 0 A_Jump(64,"Missile2")
        CYBR E 6 A_FaceTarget
        TNT1 A 0 A_CustomMissile("FlemSporeSummonball",0,0,0)
        CYBR F 6 A_CustomMissile("SnotfolusBall", 85)
        CYBR E 6 A_FaceTarget
        CYBR F 6 A_CustomMissile("SnotfolusBall", 85)
        CYBR E 6 A_FaceTarget
        CYBR F 6 A_CustomMissile("SnotfolusBall", 85)
        TNT1 A 0 A_CustomMissile("FlemSporeSummonball",0,0,0)
        CYBR E 6 A_FaceTarget
        CYBR F 6 A_CustomMissile("SnotfolusBall", 85)
        CYBR E 6 A_FaceTarget
        CYBR F 6 A_CustomMissile("SnotfolusBall", 85)
        CYBR E 6 A_FaceTarget
        CYBR F 6 A_CustomMissile("SnotfolusBall", 85)
        Goto See

      Missile2:
        CYBR E 6 A_FaceTarget
        CYBR E 6 A_CustomMissile("FlemSporeSummonball",0,0,0)
        CYBR E 0 A_FaceTarget
        CYBR F 3 A_CustomMissile("SnotfolusBall", 85, 0, random(-15,15))
        CYBR F 3 A_CustomMissile("SnotfolusBall2", 85, 0, random(-15,15))
        CYBR F 3 A_CustomMissile("SnotfolusBall2", 85, 0, random(-15,15))
        CYBR F 3 A_CustomMissile("SnotfolusBall2", 85, 0, random(-15,15))
        CYBR F 3 A_CustomMissile("SnotfolusBall2", 85, 0, random(-15,15))
        CYBR F 3 A_CustomMissile("SnotfolusBall", 85, 0, random(-15,15))
        CYBR F 3 A_CustomMissile("SnotfolusBall2", 85, 0, random(-15,15))
        CYBR F 3 A_CustomMissile("SnotfolusBall2", 85, 0, random(-15,15))
        CYBR F 3 A_CustomMissile("SnotfolusBall2", 85, 0, random(-15,15))
        CYBR F 3 A_CustomMissile("SnotfolusBall2", 85, 0, random(-15,15))
        CYBR F 3 A_CustomMissile("SnotfolusBall", 85, 0, random(-15,15))
        CYBR F 3 A_CustomMissile("SnotfolusBall2", 85, 0, random(-15,15))
        CYBR F 3 A_CustomMissile("SnotfolusBall2", 85, 0, random(-15,15))
        CYBR F 3 A_CustomMissile("SnotfolusBall2", 85, 0, random(-15,15))
        CYBR F 3 A_CustomMissile("SnotfolusBall2", 85, 0, random(-15,15))
        goto See

      Pain:
        TNT1 AAAA 0 A_SpawnDebris("FlemoidGib",1)
        TNT1 A 0 A_CustomMissile("FlemSporeSummonball",0,0,0)
        TNT1 A 0 A_CustomMissile("FlemSporeSummonball",0,0,0)
        CYBR A 10 A_Pain
        Goto See

      Pain.ZorchPistol:
      Pain.Zorch:
	  Pain.PhasingZorch:
	  Pain.ZorchKamikaze:
        //TNT1 A 0 A_GiveToTarget("KillCount",1)
        TNT1 A 0 A_CustomMissile("FlemSporeSummonball",0,0,0)
        TNT1 A 0 A_CustomMissile("FlemSporeSummonball",0,0,0)
        CYBR G 10 A_Pain
        Goto See

      Death.DukeDamage:
      Death.MightyBoot:
      Death.DukeExplosive:
      Death.DukeIce:
      Death.DukePistol:
        TNT1 A 0 A_GiveToTarget("DukeBossKillTaunt",1)

      Death:
        TNT1 A 0 A_GiveToTarget("KillCount",1)
        CYBR H 10
        CYBR I 10 A_Scream
        CYBR JKL 10
        CYBR M 10 A_NoBlocking
        CYBR NO 10
        CYBR P 30
        CYBR P -1 A_BossDeath
        Stop
    }
}

actor SnotfolusBall
{
    Game Chex
    SpawnID 154
    Radius 6
    Height 16
    Speed 25
    FastSpeed 30
    Damage 10
    Projectile
    DamageType Flem
    +STRIFEDAMAGE
    +RANDOMIZE
    SeeSound "baron/attack"
    DeathSound "baron/shotx"
    States
    {
      Spawn:
        BAL7 AB 4
        Loop

      Death:
        BAL7 CDE 6
        Stop
    }
}

actor SnotfolusBall2
{
    Radius 6
    Height 16
    Speed 30
    FastSpeed 35
    Damage 5
    Projectile
    DamageType Flem 
    +RANDOMIZE
    +THRUGHOST
    SeeSound "baron/attack"
    DeathSound "baron/shotx"
    States
    {
      Spawn:
        BAL1 AB 4
        Loop

      Death:
        BAL1 CDE 6
        Stop
    }
}

actor FlemsporeSummonball
{
    Radius 20
    Height 3
    Speed 32
    Damage 0
    PROJECTILE
    +SKYEXPLODE
    -SOLID
    +DONTREFLECT
    RENDERSTYLE Normal
    Alpha 1.0
    States
    {
      Spawn:
        TNT1 A 1
        TNT1 A 1 A_Gravity
        loop

      Death:
        TNT1 A 1 A_SpawnItemEx(Flemspore, 0, 0, 0, 0, 0, 0, 0, SXF_SETMASTER,0)
        stop
    }
}

actor FlemSpore
{
    Health 25
    Radius 20
    Height 5
    Mass 5
    Speed 10
    PainChance 0
    Bloodcolor "Green"
    RenderStyle Translucent
    MONSTER
    +FLOORCLIP
    +DONTMORPH
    +FRIGHTENED
    -COUNTKILL
    -DROPOFF
    states
    {
      Spawn:
        SLPU A 4 A_Look

      See:
        SLPU AAAAAAAAAAAAAAAAAAAAAAAA 10 A_Chase
        Goto Death

      Death:
        TNT1 A 0 A_Jump(98, 4)
        TNT1 A 0 A_NoBlocking
        TNT1 A 1 A_SpawnItemEx("FlemoidusCommonus",0,0,0,0,0,0,0,SXF_SETMASTER)
        TNT1 A 0 A_AlertMonsters
        Stop
        TNT1 A 0 A_NoBlocking
        TNT1 A 1 A_SpawnItemEx("FlemoidusBipedicus",0,0,0,0,0,0,0,SXF_SETMASTER)
        TNT1 A 0 A_AlertMonsters
        Stop
    }
}

actor BipedicusBallV3
{
    Game Chex
    SpawnID 10
    SpawnID 10
    Radius 6
    Height 8
    Speed 10
    FastSpeed 20
    Damage 3
    Projectile
    DamageType Flem
    +RANDOMIZE
    SeeSound "imp/attack"
    DeathSound "imp/shotx"
    States
    {
      Spawn:
        BAL1 AB 4
        Loop

      Death:
        BAL1 CDE 6
        Stop
    }
}

actor CycloptisBall
{
    Game Chex
    SpawnID 126
    Radius 6
    Height 8
    Speed 10
    FastSpeed 20
    Damage 5
    Projectile 
    DamageType Flem
    +RANDOMIZE
    SeeSound "caco/attack"
    DeathSound "caco/shotx"
    States
    {
      Spawn:
        BAL2 AB 4
        Loop

      Death:
        BAL2 CDE 6
        Stop
    }
}


ACTOR FlemoidusMaximus replaces Flembrane
{
	Game Chex
	SpawnID 3
	Health 2000 // Previously 1000
	Radius 24
	Height 64
	Mass 1000
	damagefactor "Flem", 0.0
	damagefactor "Slime", 0.0  //in chex3.exe the slam now has slime damagetype
    damagefactor "BFG", 0.75
    damagefactor "BFGSpray", 0.75
	DamageFactor "CorvusHellstaffTomed", 0.2
	Speed 12 // Previously 8
	PainChance 20
	Monster
    MinMissileChance 60
	+FLOORCLIP
	+DONTGIB
    +BOSS 
    +MISSILEMORE
	+MISSILEEVENMORE
    +NORADIUSDMG
	+DONTRIP
    +DONTMORPH
    +BOSSDEATH
    +NOTARGET
    +NOINFIGHTING
    +BOSSDEATH
    +NOTDMATCH
	//+NOBLOODDECALS
	SeeSound "baron/sight"
	PainSound "baron/pain"
	DeathSound "baron/death"
	ActiveSound "baron/active"
	Obituary "$OB_MAXIMUS"
	States
	{
	Spawn:
		BOSS AB 10 A_Look 
		Loop
	See:
		BOSS AABBCCDD 3 A_Chase
		Loop
	Melee:
		BOSS EF 4 A_FaceTarget
		BOSS G 4 A_CustomMeleeAttack(random[troopattack](1,8)*3, "spectre/melee", "spectre/melee", "flem")
		FMAX IJ 4 A_FaceTarget
		FMAX K 4 A_CustomMeleeAttack(random[troopattack](1,8)*3, "spectre/melee", "spectre/melee", "flem")
		Goto See
		
    Missile:
		TNT1 A 0 A_Jump(202, "RapidFire")
	ShotgunSlime:
		BOSS E 4 A_FaceTarget
	    BOSS F 4 A_FastChase
	    TNT1 AAAAAA 0 A_CustomMissile("MaximusBall2",52,20,random(-15,15))
	    BOSS GGE 3 A_FastChase
        BOSS E 4 A_FaceTarget
	    BOSS F 4 A_FastChase
	    TNT1 AAAAAA 0 A_CustomMissile("MaximusBall2",52,20,random(-15,15))
	    BOSS GGE 3 A_FastChase
	    TERM A 0 A_Jump(82, "RapidFire")
	    TNT1 A 0 A_jump(16, "MegaBall", "Grenade")
        Goto See
	RapidFire:
		TNT1 A 0 A_Jump(124, "Grenade")
        BOSS EF 1 A_Facetarget
	    TNT1 A 0 A_CustomMissile("MaximusBall2",52,20,random(-5,5))
	    BOSS G 1
	    BOSS EF 1 A_Facetarget
	    TNT1 A 0 A_CustomMissile("MaximusBall2",52,20,random(-5,5))
	    BOSS G 1
		TNT1 A 0 A_Jump(26, "ShotgunSlime")
	    TNT1 A 0 A_Jump(16, "MegaBall", "Grenade")
        BOSS E 1 A_Spidrefire
        Goto RapidFire+1
		
	// Heavy attacks. These are only jumped to after a light attack.
    MegaBall:
        FMAX IJ 4 A_Facetarget
	    TNT1 A 0 A_CustomMissile("SnotfolusBall", 52, -20, 0, 0)
	    FMAX KKII 2 A_FastChase
	    FMAX IJ 4 A_Facetarget
	    TNT1 A 0 A_CustomMissile("SnotfolusBall", 52, -20, 0, 0)
	    FMAX KKII 2 A_FastChase
	    TNT1 A 0 A_Jump(62, "RapidFire", "Missile") // Chance to start all over again.
        Goto See
	Grenade:
        TNT1 A 0 A_Jump(128, "MegaBall")
        FMAX I 4 A_FastChase
	    FMAX J 4 A_Facetarget
	    TNT1 A 0 A_CustomMissile("SlimeGrenade", 52, -20, 0, 0)
	    FMAX KKII 2 A_FastChase
	    FMAX J 4 A_Facetarget
	    FMAX J 4 A_FastChase
        FMAX K 8 A_CustomMissile("SlimeGrenade", 52, -20, 0, 0)
	    FMAX J 4 A_Facetarget
	    FMAX J 4 A_FastChase
	    TNT1 A 0 A_CustomMissile("SlimeGrenade", 52, -20, 0, 0)
	    FMAX KKII 2 A_FastChase
        FMAX I 4 A_Facetarget
	    FMAX J 4 A_FastChase
        FMAX K 4 A_CustomMissile("SlimeGrenade", 52, -20, 0, 0)
		FMAX I 4 A_FaceTarget
	    TNT1 A 0 A_Jump(62, "Missile", "MegaBall") // Chance to start all over again, or follow up with a MegaBall.
		goto See
		

    Pain:
        BOSS AAAA 0 A_SpawnDebris("FlemoidGib",1)
        BOSS A 2 A_Pain
        Goto See
		
	Pain.Zorch:
	Pain.ZorchPistol:
	Pain.PhasingZorch:
	Pain.ZorchKamikaze:
		BOSS H  1
		BOSS H  1 A_Pain
		Goto See
		
	Death.Zorch:
	Death.ZorchPistol:
	Death.PhasingZorch:
	Death.ZorchKamikaze:
		BOSS I  8
		BOSS J  8 A_Scream
		BOSS K  8
		BOSS L  8 A_NoBlocking
		BOSS MN 8
		BOSS O -1 A_BossDeath   
		Stop
		
      Death.DukeDamage:
      Death.MightyBoot:
      Death.DukeExplosive:
      Death.DukeIce:
      Death.DukePistol:
        TNT1 A 0 A_GiveToTarget("DukeBossKillTaunt",1)
	Death:
	XDeath:
		FMAX A 5 A_FaceTarget
        TNT1 A 0 A_PlaySound("flemdie")
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-1,1),random(16,20),random(56,62),random(-2,2),random(-2,2),random(5,10))
        TNT1 A 0 A_CustomMissile("MaximusArmRight",48,8,random(-45,-135),2,random(15,90))
		FMAX B 15
        TNT1 A 0 A_PlaySound("flemdie")
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-1,1),random(-16,-20),random(56,62),random(-2,2),random(-2,2),random(5,10))
        TNT1 A 0 A_CustomMissile("MaximusArmLeft",48,-8,random(45,135),2,random(15,90))
		FMAX C 20
		TNT1 A 0 A_Pain
		FMAX C 15
        TNT1 A 0 A_PlaySound("flemdie2")
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-10,10),random(-10,10),random(36,46),random(-2,2),random(-2,2),random(5,25))
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-10,10),random(-10,10),random(36,46),random(-2,2),random(-2,2),random(5,20))
		FMAX DEFG 5
		FMAX H -1 A_BossDeath
		stop
		
	Raise: // You gave them a raise state?! Oh, Jacobi, if only you knew!
		BOSS O 8
		BOSS NMLKJI  8
		Goto See
	}
}

ACTOR MaximusBall2 : SnotfolusBall2
{
Damage 4
Scale 0.925
+STRIFEDAMAGE
}

ACTOR SlimeGrenade
{
   Radius 8
   Height 8
   Speed 25
   FastSpeed 35
   Damage 10
   +NOBLOCKMAP 
   +DROPOFF 
   +MISSILE 
   +ACTIVATEIMPACT 
   +ACTIVATEPCROSS
   +DONTSPLASH
   +DOOMBOUNCE
   -EXTREMEDEATH
   BounceFactor 0.95
   Scale 0.75
   BounceCount 4
   DamageType "Flem"
   SeeSound "grunt/attack"
   DeathSound "flemdie"
   States
   {
   Spawn:
      BAL2 AB 3
      Loop
   Death:
      TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-1,1),random(-1,1),random(-1,1),random(-2,2),random(-2,2),random(5,10))
      BAL2 C 4 A_Explode(64,96)
      BAL2 D 4
      BAL2 E 4
      Stop
   }
}

actor MaximusArmRight
{
    radius 2
    height 2
    BounceFactor 0.45
    BounceCount 7
    Mass 10
    Speed 8
    SeeSound "flemsplat"
    +DOOMBOUNCE
    PROJECTILE
    +NOTELEPORT
    -NOGRAVITY
    -SOLID
    +NOBLOCKMAP
    +MOVEWITHSECTOR
    +SKYEXPLODE
    +CLIENTSIDEONLY
    States
    {
      Spawn:
        TNT1 A 0 ThrustThingZ (0, 24, 0, 1)

      Spawn2:
        FMXB ABCDEFGH 5
        loop

      Death:
        FMXB C -1
        stop
    }
}

actor MaximusArmLeft
{
    radius 2
    height 2
    BounceFactor 0.45
    BounceCount 7
    Mass 10
    Speed 8
    SeeSound "flemsplat"
    +DOOMBOUNCE
    PROJECTILE
    +NOTELEPORT
    -NOGRAVITY
    -SOLID
    +NOBLOCKMAP
    +MOVEWITHSECTOR
    +SKYEXPLODE
    +CLIENTSIDEONLY
    States
    {
      Spawn:
        TNT1 A 0 ThrustThingZ (0, 24, 0, 1)

      Spawn2:
        FMXA ABCDEFGH 5
        loop

      Death:
        FMXA C -1
        stop
    }
}

ACTOR FlembraneV3 : FlemoidusMaximus 69
{
	Game Chex
	SpawnID 113
	Health 2500 // Previously was 1000
	Radius 64
	Height 64
	Mass 0x7FFFFFFF //10000
	+MISSILEMORE
	+MISSILEEVENMORE
	Speed 0
	Obituary "$OB_FLEMBRANE"
	States
	{
	Spawn:
		FLMB AB 10 A_Look 
		Loop
	See:
		FLMB AABBAABB 3 A_Chase
        TNT1 A 0 A_CustomMissile("FlemSporeSummonball",0,0,0)
		Loop
	Melee:
	Missile:
	    TNT1 A 0 A_Jump(128,"Missile2")
		FLMB EF 4 A_FaceTarget
		FLMB G 4 A_CustomComboAttack("MaximusBall2", 32, random[headattack](1,8)*10, "baron/melee", "flem")
		Goto See
	Missile2:
		FLMB EF 4 A_FaceTarget
		FLMB G 4 A_CustomComboAttack("SlimeGrenade", 32, random[headattack](1,8)*10, "baron/melee", "flem")
		Goto See
	Pain:
        TNT1 AAAA 0 A_SpawnDebris("FlemoidGib",1)
		FLMB V 2
		FLMB V 2 A_Pain
        TNT1 A 0 A_CustomMissile("FlemSporeSummonball",0,0,0)
		Goto See
	Pain.Zorch:
	Pain.ZorchPistol:
	Pain.PhasingZorch:
	Pain.ZorchKamikaze:
		FLMB H 2
		FLMB H 2 A_Pain
        TNT1 A 0 A_CustomMissile("FlemSporeSummonball",0,0,0)
		Goto See
    Death.DukeDamage:
    Death.MightyBoot:
    Death.DukeExplosive:
    Death.DukeIce:
    Death.DukePistol:
        TNT1 A 0 A_GiveToTarget("DukeBossKillTaunt",1)
	Death:
	XDeath:
	    TNT1 A 0
        TNT1 A 0 A_PlaySound("flemdie")
        TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-1,1),random(46,50),random(56,62),random(-2,2),random(-2,2),random(5,10))
		FLMB V 10
        TNT1 A 0 A_PlaySound("flemdie")
        TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-1,1),random(-46,-50),random(12,24),random(-2,2),random(-2,2),random(5,10))
		FLMB V 10
        TNT1 A 0 A_PlaySound("flemdie")
        TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-1,1),random(-5,5),random(56,62),random(-2,2),random(-2,2),random(5,10))
		FLMB V 10
        TNT1 A 0 A_PlaySound("flemdie")
        TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-1,1),random(-46,-50),random(34,50),random(-2,2),random(-2,2),random(5,10))
		FLMB V 10
        TNT1 A 0 A_PlaySound("flemdie")
        TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-1,1),random(46,50),random(5,12),random(-2,2),random(-2,2),random(5,10))
		FLMB V 10
        TNT1 A 0 A_PlaySound("flemdie")
        TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-1,1),random(46,50),random(34,50),random(-2,2),random(-2,2),random(5,10))
		FLMB V 10
        TNT1 A 0 A_PlaySound("flemdie")
        TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-1,1),random(-46,-50),random(56,62),random(-2,2),random(-2,2),random(5,10))
		FLMB V 10
        TNT1 A 0 A_PlaySound("flemdie2")
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-10,10),random(-55,55),random(16,56),random(-2,2),random(-2,2),random(5,25))
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-10,10),random(-55,55),random(16,56),random(-2,2),random(-2,2),random(5,20))
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-10,10),random(-55,55),random(16,56),random(-2,2),random(-2,2),random(5,25))
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-10,10),random(-55,55),random(16,56),random(-2,2),random(-2,2),random(5,20))
		FLMB WXYZ 5 A_NoBlocking
		FLMB Z -1 A_BossDeath
		stop
	Death.Zorch:
	Death.ZorchPistol:
	Death.PhasingZorch:
	Death.ZorchKamikaze:
		FLMB I 8
		FLMB J 8 A_Scream
		FLMB K 8
		FLMB L 8 A_NoBlocking
		FLMB MN 8
		FLMB O -1
		Stop
	Raise:
		FLMB O 8
		FLMB NMLKJI  8
		Goto See
	}
}

ACTOR Flembomination 7
{
	Game Chex
	SpawnID 7
	Health 3000
	Radius 100
	Height 100
	Mass 1000
	damagefactor "Flem", 0.0
	damagefactor "Slime", 0.0  //in chex3.exe the slam now has slime damagetype
	Speed 12
	PainChance 40
	Monster
	MinMissileChance 160
	+BOSS
	+MISSILEMORE
	+MISSILEEVENMORE
	+FLOORCLIP
	+NORADIUSDMG
	+DONTMORPH
	+BOSSDEATH
	+DONTGIB
	SeeSound "spider/sight"
	AttackSound "spider/attack"
	PainSound "spider/pain"
	DeathSound "spider/death"
	ActiveSound "spider/active"
	Obituary "$OB_FLEMBOMINATION"
	States
	{
	Spawn:
		SPID ABCD 6 A_Look
		Loop
	See:
		SPID A 3 A_Hoof
		SPID ABBCC 3 A_Chase
		SPID D 3 A_Metal
		SPID D 3 A_Chase
		Loop
	Missile:
		SPID F 10 A_FaceTarget 
		TNT1 A 0 A_CustomMissile("FlembomBall",40,0,40,0,random(-20,20))
		TNT1 A 0 A_CustomMissile("FlembomBall",40,0,80,0,random(-20,20))
		TNT1 A 0 A_CustomMissile("FlembomBall",40,0,120,0,random(-20,20))
		TNT1 A 0 A_CustomMissile("FlembomBall",40,0,160,0,random(-20,20))
		TNT1 A 0 A_CustomMissile("FlembomBall",40,0,200,0,random(-20,20))
		TNT1 A 0 A_CustomMissile("FlembomBall",40,0,240,0,random(-20,20))
		TNT1 A 0 A_CustomMissile("FlembomBall",40,0,280,0,random(-20,20))
		TNT1 A 0 A_CustomMissile("FlembomBall",40,0,320,0,random(-20,20))
		SPID G 8 A_CustomMissile("FlembomBall",40,48,0,0,random(-20,20))//A_CustomComboAttack("FlembomBall", 40, random[headattack](1,6)*10, "", "flem")
		TNT1 A 0 A_CustomMissile("FlembomBall",40,0,40,0,random(-20,20))
		TNT1 A 0 A_CustomMissile("FlembomBall",40,0,80,0,random(-20,20))
		TNT1 A 0 A_CustomMissile("FlembomBall",40,0,120,0,random(-20,20))
		TNT1 A 0 A_CustomMissile("FlembomBall",40,0,160,0,random(-20,20))
		TNT1 A 0 A_CustomMissile("FlembomBall",40,0,200,0,random(-20,20))
		TNT1 A 0 A_CustomMissile("FlembomBall",40,0,240,0,random(-20,20))
		TNT1 A 0 A_CustomMissile("FlembomBall",40,0,280,0,random(-20,20))
		TNT1 A 0 A_CustomMissile("FlembomBall",40,0,320,0,random(-20,20))
 		SPID H 8 A_CustomMissile("FlembomBall",40,-48,0,0,random(-20,20))//A_CustomComboAttack("FlembomBall", 32, random[headattack](1,6)*10, "", "flem")
		Goto Missile
	Pain.Zorch:
	Pain.ZorchPistol:
	Pain.PhasingZorch:
	Pain.ZorchKamikaze:
		SPID I 3
		SPID I 3 A_Pain
		Goto See
	Pain:
        TNT1 AAAA 0 A_SpawnDebris("FlemoidGib",1)
		SPID A 3
		SPID A 3 A_Pain
		Goto See
    Death.DukeDamage:
    Death.MightyBoot:
    Death.DukeExplosive:
    Death.DukeIce:
    Death.DukePistol:
        TNT1 A 0 A_GiveToTarget("DukeBossKillTaunt",1)
	Death:
	XDeath:
	    TNT1 A 0
        TNT1 A 0 A_PlaySound("flemdie")
        TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-1,1),random(46,50),random(56,62),random(-2,2),random(-2,2),random(5,10))
		SPID A 10
        TNT1 A 0 A_PlaySound("flemdie")
        TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-1,1),random(-46,-50),random(12,24),random(-2,2),random(-2,2),random(5,10))
		SPID A 10
        TNT1 A 0 A_PlaySound("flemdie")
        TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-1,1),random(-5,5),random(56,62),random(-2,2),random(-2,2),random(5,10))
		SPID A 10
        TNT1 A 0 A_PlaySound("flemdie")
        TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-1,1),random(-46,-50),random(34,50),random(-2,2),random(-2,2),random(5,10))
		SPID A 10
        TNT1 A 0 A_PlaySound("flemdie")
        TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-1,1),random(46,50),random(5,12),random(-2,2),random(-2,2),random(5,10))
		SPID A 10
        TNT1 A 0 A_PlaySound("flemdie")
        TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-1,1),random(46,50),random(34,50),random(-2,2),random(-2,2),random(5,10))
		SPID A 10
        TNT1 A 0 A_PlaySound("flemdie")
        TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-1,1),random(-46,-50),random(56,62),random(-2,2),random(-2,2),random(5,10))
		SPID A 10
        TNT1 A 0 A_PlaySound("flemdie2")
        TNT1 AAAA 0 A_CustomMissile("QuadrumpusArm1",random(20,40),random(-50,50),random(-45,-135),2,random(0,90))
        TNT1 AAAAA 0 A_CustomMissile("QuadrumpusArm2",random(20,40),random(-50,50),random(45,135),2,random(0,90))
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-10,10),random(-55,55),random(16,56),random(-2,2),random(-2,2),random(5,25))
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-10,10),random(-55,55),random(16,56),random(-2,2),random(-2,2),random(5,20))
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-10,10),random(-55,55),random(16,56),random(-2,2),random(-2,2),random(5,25))
        TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("FlemoidGib",random(-10,10),random(-55,55),random(16,56),random(-2,2),random(-2,2),random(5,20))
		FLBD VWXY 5 A_NoBlocking
		FLBD Z -1 A_BossDeath
		stop
	Death.Zorch:
	Death.ZorchPistol:
	Death.PhasingZorch:
	Death.ZorchKamikaze:
		SPID J 20 A_Scream
		SPID K 10 A_NoBlocking
		SPID LMNOPQR 10
		SPID S 30
		SPID S -1 A_BossDeath    
		Stop
	}
}

actor FlembomBall : CycloptisBall
{
+STRIFEDAMAGE
+HexenBounce
Scale 0.45
WallBounceFactor 0.9
BounceFactor 0.9
BounceCount 2
}