//Thanks to Hetdegon for the "Helper Marine Redux" code.
//While I'm not using his exact same code, this one pretty much goes in the same direction

actor HelperChecker: Ammo 
{
	Inventory.MaxAmount 1
}

ACTOR CHUD
{
  Health 450
  PainChance 80
  Speed 16
  Radius 16
  Height 56
  Scale 0.3
  Damage (Random(11,15)*1)
  MaxStepHeight 57
  MaxDropOffHeight 16383
  MaxTargetRange 800
  Mass 99999999
  DamageFactor "Dodge", 0.0
  PainChance "Dodge", 0
  DamageFactor "Rocketdamage", 0.5
  DamageFactor "grenade", 0.5
  DamageFactor "lavanails", 1.3
  DamageFactor "lavashells", 1.3
  DamageFactor "Falling", 0.0
  DamageFactor "Crush", 0.0
  DamageFactor "Drowning", 0.0
  DamageFactor "Slime", 0.0
  DamageFactor "Massacre", 0.0
  PainChance "Pushed", 256
  Monster
  +NOTELEPORT
  +QUICKTORETALIATE
  +NOBLOCKMONST
  +DONTHURTSPECIES
  +FIXMAPTHINGPOS
  +LOOKALLAROUND
  +SLIDESONWALLS
  +FIXMAPTHINGPOS
  +THRUSPECIES
  +FLOORCLIP
  +DONTGIB
  +NOINFIGHTING
  -ACTIVATEMCROSS
  -ACTIVATEPCROSS
  -DONTSPLASH
  -NORADIUSDMG
  -CANNOTPUSH
  -COUNTKILL
  PainSound "Grem/pain"
  DeathSound "Grem/death"
  ActiveSound "Grem/active"
  Obituary "C.H.U.D. will dine on some %o tonight"
  States
  {
  Spawn:
    GRM1 A 0 A_GiveInventory("HelperChecker",1)
    GRM1 ABCDEFGHIJKLMNOPQ 3 A_Look
    Loop
  Standing:
    TNT1 A 0 A_ChangeFlag("Friendly",1)
    TNT1 A 0 A_ClearTarget
    GRM1 ABCB 5 A_LookEx(0,0,0,0,360,"See")
    TNT1 A 0 A_ChangeFlag("Friendly",0)
    TNT1 A 0 A_LookEx(0,0,0,0,360,"Follow")
    Loop
  See:
    GRM2 A 0 A_JumpIfInTargetInventory("HumanChecker",1,"Follow")
    GRM2 A 0 A_JumpIfInTargetInventory("HelperChecker",1,"standing")
    GRM2 A 0 A_ChangeFlag("Friendly",1)
    GRM2 ABCDEFGHIJKLMNO 3 A_Chase
    goto follow
  Follow:
    TNT1 A 0 A_ChangeFlag("Friendly",0)
    TNT1 A 0 A_JumpIfCloser(200,"Standing")
    GRM2 ABC 3 A_Chase(0,0)
    TNT1 A 0 A_JumpIfCloser(200,"Standing")
    GRM2 DEF 3 A_Chase(0,0)
    TNT1 A 0 A_JumpIfCloser(200,"Standing")
    GRM2 GHI 3 A_Chase(0,0)
    TNT1 A 0 A_JumpIfCloser(200,"Standing")
    GRM2 JKL 3 A_Chase(0,0)
    TNT1 A 0 A_JumpIfCloser(200,"Standing")
    GRM2 MNO 3 A_Chase(0,0)
    Loop
  Pain:
    GRM6 A 0 A_ChangeFlag("NOPAIN", 1)
    GRM6 A 4 A_Pain
    GRM6 BCD 4
    GRM6 D 0 A_ChangeFlag("NOPAIN", 0)
    Goto see
  Melee:
    GRM4 A 0 A_JumpIfInTargetInventory("HumanChecker",1,"Follow")
    GRM4 A 0 A_JumpIfInTargetInventory("HelperChecker",1,"standing")
    GRM4 A 0 A_Jump(128,"Claws")
    GRM4 A 0 A_PlaySound("Grem/Claw")
    GRM4 ABCDEF 2 A_FaceTarget
    GRM4 G 2 A_CustomMeleeAttack(random(15,15)*1,"Fiend/munch")
    GRM4 HIJK 2
    Goto see
  Claws:
    GRM5 A 0
    GRM5 A 0 A_PlaySound("Grem/Claw")
    GRM5 ABCDEFG 2 A_FaceTarget
    GRM5 H 2 A_CustomMeleeAttack(random(15,15)*1,"Fiend/munch")
    GRM5 HIJK 2
    Goto See
  Missile:
    GRM3 A 0 A_JumpIfInTargetInventory("HumanChecker",1,"Follow")
    GRM3 A 0 A_JumpIfInTargetInventory("HelperChecker",1,"standing")
    GRM3 A 0 A_CheckFloor("Leap")
    Goto see
  Leap:
    GRM3 A 0
    GRM3 A 0 A_ChangeFlag("NOPAIN", 1)
    GRM3 ABC 2 A_facetarget
    GRM3 CDE 2 A_Skullattack(17)
    GRM3 FGHIJKLM 3
    GRM3 P 0 A_Playsound("Fiend/land")
    GRM3 P 0 A_Stop
    GRM3 NOP 3
    GRM3 A 0 A_ChangeFlag("NOPAIN", 0)
    Goto see
  Death:
    GRMB A 4
    GRMB B 4 A_Scream
    GRMB C 4 A_Fall
    GRMB DEFGHIJK 4
    GRMB L -1
    Stop
   }
}

ACTOR Paladin
{
  Health 550
  PainChance 35
  Speed 25
  Radius 16
  Height 56
  Mass 99999999
  DamageFactor "Dodge", 0.0
  DamageFactor "Rocketdamage", 0.8
  DamageFactor "grenade", 0.8
  PainChance "Dodge", 0
  PainChance "Pushed", 256
  DamageFactor "lavanails", 1.3
  DamageFactor "lavashells", 1.3
  DamageFactor "Falling", 0.0
  DamageFactor "Crush", 0.0
  DamageFactor "Drowning", 0.0
  DamageFactor "Slime", 0.0
  DamageFactor "Massacre", 0.0
  Monster
  Scale 0.3
  +NOTELEPORT
  +QUICKTORETALIATE
  +NOBLOCKMONST
  +DONTHURTSPECIES
  +FIXMAPTHINGPOS
  +LOOKALLAROUND
  +SLIDESONWALLS
  +FIXMAPTHINGPOS
  +THRUSPECIES
  +FLOORCLIP
  +DONTGIB
  +NOINFIGHTING
  -ACTIVATEMCROSS
  -ACTIVATEPCROSS
  -DONTSPLASH
  -NORADIUSDMG
  -CANNOTPUSH
  -COUNTKILL
  AttackSound "QKnight/melee"
  PainSound "Player/Pain"
  DeathSound "Player/Death"
  Obituary "%o was banished by a holy paladin"
  States
  {
  Spawn:
    KNT1 A 0 A_GiveInventory("HelperChecker",1)
    KNT1 ABCDEFGHI 4 A_Look
    Loop
  Standing:
    TNT1 A 0 A_ChangeFlag("Friendly",1)
    TNT1 A 0 A_ClearTarget
    KNT1 ABCB 5 A_LookEx(0,0,0,0,360,"See")
    TNT1 A 0 A_ChangeFlag("Friendly",0)
    TNT1 A 0 A_LookEx(0,0,0,0,360,"Follow")
    Loop
  See:
    KNT2 A 0 A_JumpIfInTargetInventory("HumanChecker",1,"Follow")
    KNT2 A 0 A_JumpIfInTargetInventory("HelperChecker",1,"standing")
    KNT2 A 0 A_ChangeFlag("Friendly",1)
    KNT2 ABCDEFGH 3 A_Chase
    TNT1 A 0 A_TakeInventory("KnightSlashChecker",1)
    Goto Follow
  Follow:
    TNT1 A 0 A_ChangeFlag("Friendly",0)
    TNT1 A 0 A_JumpIfCloser(200,"Standing")
    KNT2 ABC 3 A_Chase(0,0)
    TNT1 A 0 A_JumpIfCloser(200,"Standing")
    KNT2 DEF 3 A_Chase(0,0)
    TNT1 A 0 A_JumpIfCloser(200,"Standing")
    TNT1 A 0 A_TakeInventory("KnightSlashChecker",1)
    KNT2 GH 3 A_Chase(0,0)
    Loop
  Melee:
    KNT3 A 0 A_JumpIfInTargetInventory("HumanChecker",1,"Follow")
    KNT3 A 0 A_JumpIfInTargetInventory("HelperChecker",1,"standing")
    KNT3 A 0 A_JumpIfInventory("KnightSlashChecker",1,"slash")
    KNT3 A 1 A_PlaySound("QKnight/Swing1")
    KNT3 A 1 A_CustomMeleeAttack(random(6,6)*1)
    KNT3 B 2 A_FaceTarget
    TNT1 A 0 A_Recoil(-2)
    KNT3 C 2 A_CustomMeleeAttack(random(6,6)*1)
    KNT3 D 2 A_FaceTarget
    KNT3 E 2 A_CustomMeleeAttack(random(6,6)*1)
    KNT3 F 2 A_FaceTarget
    TNT1 A 0 A_Recoil(-2)
    KNT3 G 2 A_CustomMeleeAttack(random(6,6)*1)
    KNT3 H 2 A_FaceTarget
    KNT3 I 2 A_CustomMeleeAttack(random(6,6)*1)
    KNT3 J 2 A_FaceTarget
    TNT1 A 0 A_Recoil(-2)
    KNT3 K 2 A_CustomMeleeAttack(random(6,6)*1)
    KNT3 K 0 A_GiveInventory("KnightSlashChecker",1)
    Goto see
  Slash:
    KNT4 A 1 A_PlaySound("QKnight/Swing2")
    KNT4 A 1 A_CustomMeleeAttack(random(6,6)*1)
    TNT1 A 0 A_Recoil(-1)
    KNT4 B 2 A_FaceTarget
    KNT4 C 2 A_CustomMeleeAttack(random(6,6)*1)
    KNT4 D 2 A_FaceTarget
    KNT4 E 2 A_CustomMeleeAttack(random(6,6)*1)
    TNT1 A 0 A_Recoil(-1)
    KNT4 F 2 A_FaceTarget
    KNT4 G 2 A_CustomMeleeAttack(random(6,6)*1)
    KNT4 H 2 A_FaceTarget
    KNT4 I 2 A_CustomMeleeAttack(random(6,6)*1)
    TNT1 A 0 A_Recoil(-1)
    KNT4 J 2 A_FaceTarget
    KNT4 K 2 A_CustomMeleeAttack(random(6,6)*1)
    Goto see
  Pain:
    KNT5 A 0 A_Jump(200,"pain1","pain2")
  Pain1:
    KNT5 A 0 A_ChangeFlag("NOPAIN", 1)
    KNT5 A 4
    KNT5 B 4 A_Pain
    KNT5 C 4
    KNT5 C 0 A_ChangeFlag("NOPAIN", 0)
    Goto see
  Pain2:
    KNT6 A 0 A_ChangeFlag("NOPAIN", 1)
    KNT6 A 4 A_Recoil(-2)
    KNT6 B 4 A_Pain
    KNT6 CDEFGHIJK 4
    KNT6 K 0 A_ChangeFlag("NOPAIN", 0)
    Goto see
  Death:
    TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
    KNT7 A 0 A_Jump(256,"death1","death2")
  Death1:
    KNT7 A 4
    KNT7 B 4 A_Scream
    KNT7 C 4 A_NoBlocking
    KNT7 DEFGHI 4
    KNT7 J -1
    Stop
  Death2:
    KNT8 A 4
    TNT1 A 0 A_GiveInventory("DeathB",1)
    KNT8 B 4 A_Scream
    KNT8 C 4 A_NoBlocking
    KNT8 DEFGHIJ 4
    KNT8 K -1
    Stop
  }
}

ACTOR HellImp
{
  Health 500
  PainChance 70
  Speed 8
  Radius 16
  Height 56
  MaxTargetRange 65536
  Mass 99999999
  DamageFactor "Dodge", 0.0
  DamageFactor "Rocketdamage", 0.8
  DamageFactor "grenade", 0.8
  PainChance "Dodge", 0
  PainChance "Pushed", 256
  DamageFactor "lavanails", 1.3
  DamageFactor "lavashells", 1.3
  DamageFactor "Falling", 0.0
  DamageFactor "Crush", 0.0
  DamageFactor "Drowning", 0.0
  DamageFactor "Slime", 0.0
  DamageFactor "Massacre", 0.0
  Monster
  +NOTELEPORT
  +QUICKTORETALIATE
  +NOBLOCKMONST
  +DONTHURTSPECIES
  +FIXMAPTHINGPOS
  +LOOKALLAROUND
  +SLIDESONWALLS
  +FIXMAPTHINGPOS
  +THRUSPECIES
  +FLOORCLIP
  +DONTGIB
  +NOINFIGHTING
  -ACTIVATEMCROSS
  -ACTIVATEPCROSS
  -DONTSPLASH
  -NORADIUSDMG
  -CANNOTPUSH
  -COUNTKILL
  ActiveSound "imp/active"
  PainSound "imp/pain"
  DeathSound "imp/death"
  Obituary "$OB_IMP"
  States
  {
  Spawn:
    TROO A 0 A_GiveInventory("HelperChecker",1)
    TROO VWXYZ 4 A_Look
    TROO "[\]" 4 A_Look
    Loop
  Standing:
    TNT1 A 0 A_ChangeFlag("Friendly",1)
    TNT1 A 0 A_ClearTarget
    TROO VWXW 5 A_LookEx(0,0,0,0,360,"See")
    TNT1 A 0 A_ChangeFlag("Friendly",0)
    TNT1 A 0 A_LookEx(0,0,0,0,360,"Follow")
    Loop
  See:
    TROO A 0 A_JumpIfInTargetInventory("HumanChecker",1,"Follow")
    TROO A 0 A_JumpIfInTargetInventory("HelperChecker",1,"standing")
    TROO A 0 A_ChangeFlag("Friendly",1)
    TROO AABBCCDD 3 A_Chase
    Goto Follow
  Follow:
    TNT1 A 0 A_ChangeFlag("Friendly",0)
    TNT1 A 0 A_JumpIfCloser(200,"Standing")
    TROO AABBCCDD 3 A_Chase(0,0)
    Loop
  Melee:
  Missile:
    TROO A 0 A_JumpIfInTargetInventory("HumanChecker",1,"Follow")
    TROO A 0 A_JumpIfInTargetInventory("HelperChecker",1,"standing")
    TROO EF 8 A_FaceTarget
    TROO G 6 A_CustomComboAttack("HellImpBall",32,3*random(1,8),"imp/melee")
    Goto see
  Pain:
    TROO H 2
    TROO H 2 A_Pain
    Goto see
  Death:
    TROO I 8
    TROO J 8 A_Scream
    TROO K 6
    TROO L 6 A_NoBlocking
    TROO M -1
    Stop
  }
}

ACTOR HellImpFX
{
  Radius 1
  Height 1
  Speed 0
  Damage 0
  Projectile
  -Solid
  +ThruActors
  +NoClip 
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_SpawnItemEx("ImpParticle",Random(-1,1)+1,0,Random(-1,1)+1,1,Random(0,1),Random(0,1))
    TNT1 A 0 A_SpawnItemEx("ImpParticle2",Random(-1,1)+1,0,Random(-1,1)+1,1,Random(0,1),Random(0,1))
    TNT1 A 0 A_SpawnItemEx("ImpParticle",Random(-1,1)+1,0,Random(-1,1)+1,Random(0,1),Random(0,1),1)
    TNT1 A 0 A_SpawnItemEx("ImpParticle2",Random(-1,1)+1,0,Random(-1,1)+1,Random(0,1),Random(0,1),1)
    TNT1 A 0 A_SpawnItemEx("ImpParticle",Random(-1,1)+1,0,Random(-1,1)+1,Random(0,1),1,Random(0,1))
    TNT1 A 0 A_SpawnItemEx("ImpParticle2",Random(-1,1)+1,0,Random(-1,1)+1,Random(0,1),1,Random(0,1))
    TNT1 A 0 A_SpawnItemEx("ImpParticle",Random(-1,1)+1,0,Random(-1,1)+1,-1,Random(0,1),Random(0,1))
    TNT1 A 0 A_SpawnItemEx("ImpParticle2",Random(-1,1)+1,0,Random(-1,1)+1,-1,Random(0,1),Random(0,1))
    TNT1 A 0 A_SpawnItemEx("ImpParticle",Random(-1,1)+1,0,Random(-1,1)+1,Random(0,1),-1,Random(0,1))
    TNT1 A 0 A_SpawnItemEx("ImpParticle2",Random(-1,1)+1,0,Random(-1,1)+1,Random(0,1),-1,Random(0,1))
    TNT1 A 0 A_SpawnItemEx("ImpParticle",Random(-1,1)+1,0,Random(-1,1)+1,Random(0,1),Random(0,1),-1)
    TNT1 A 0 A_SpawnItemEx("ImpParticle2",Random(-1,1)+1,0,Random(-1,1)+1,Random(0,1),Random(0,1),-1)
    TNT1 A 1
    Stop
  }
}

ACTOR ImpParticle
{
  Radius 1
  Height 1
  Projectile
  Speed 1
  +NOBLOCKMAP
  +DROPOFF
  +CANNOTPUSH
  +SKYEXPLODE
  +NOBLOCKMONST
  +CLIENTSIDEONLY
  +THRUACTORS
  Scale 0.65
  Damage (0)
  DamageType PainKill
  States
  {
  Spawn:
    1PAR C 0
    1PAR C 0 A_Jump (256, "shade1", "shade3", "shade5")
    Shade1:
    1PAR A 10 BRIGHT
    Stop
    Shade3:
    1PAR C 10 BRIGHT
    Stop
    Shade5:
    1PAR E 10 BRIGHT
    Stop
  }
}

ACTOR ImpParticle2 : ImpParticle
{
  Speed 2
  States
  {
  }
}

ACTOR HellImpBall
{
  Radius 6
  Height 8
  Speed 10
  Damage 3
  Projectile
  +RANDOMIZE
  SeeSound "imp/attack"
  DeathSound "imp/shotx"
  States
  {
  Spawn:
    BAL1 AB 4 Bright
    Loop
  Death:
    TNT1 A 1 A_SpawnItemEx("HellImpFX")
    Stop
  }
}

ACTOR Shoggoth
{
  Health 550
  Radius 16
  Height 56
  MaxTargetRange 65536
  Mass 99999999
  Speed 15
  MeleeRange 64
  PainChance 20
  MaxTargetRange 800
  Scale 0.35
  DamageFactor "Dodge", 0.0
  PainChance "Dodge", 0
  PainChance "Pushed", 256
  DamageFactor "Rocketdamage", 0.5
  DamageFactor "grenade", 0.5
  DamageFactor "lavanails", 1.3
  DamageFactor "lavashells", 1.3
  PainChance "Mine", 0
  DamageFactor "Mine", 0
  DamageFactor "Falling", 0.0
  DamageFactor "Crush", 0.0
  DamageFactor "Drowning", 0.0
  DamageFactor "Slime", 0.0
  DamageFactor "Massacre", 0.0
  Monster
  +NOTELEPORT
  +QUICKTORETALIATE
  +NOBLOCKMONST
  +DONTHURTSPECIES
  +FIXMAPTHINGPOS
  +LOOKALLAROUND
  +SLIDESONWALLS
  +FIXMAPTHINGPOS
  +THRUSPECIES
  +FLOORCLIP
  +DONTGIB
  +NOINFIGHTING
  -ACTIVATEMCROSS
  -ACTIVATEPCROSS
  -DONTSPLASH
  -NORADIUSDMG
  -CANNOTPUSH
  -COUNTKILL
  PainSound "Shambler/pain"
  DeathSound "Shambler/death"
  ActiveSound "Shambler/active"
  Obituary "%o was brutalized by a Shoggoth"
  States
  {
  Spawn:
   SHAM A 0 A_GiveInventory("HelperChecker",1)
   SHAM ABCDEFGHIJKLMNOPQ 4 A_Look
   Loop
  Standing:
   TNT1 A 0 A_ChangeFlag("Friendly",1)
   TNT1 A 0 A_ClearTarget
   SHAM ABCB 5 A_LookEx(0,0,0,0,360,"See")
   TNT1 A 0 A_ChangeFlag("Friendly",0)
   TNT1 A 0 A_LookEx(0,0,0,0,360,"Follow")
   Loop
  See:
   SHA2 A 0 A_JumpIfInTargetInventory("HumanChecker",1,"Follow")
   SHA2 A 0 A_JumpIfInTargetInventory("HelperChecker",1,"standing")
   SHA2 A 0 A_ChangeFlag("Friendly",1)
   SHA2 ABCDEF 4 A_Chase
   Goto Follow
  Follow:
   TNT1 A 0 A_ChangeFlag("Friendly",0)
   TNT1 A 0 A_JumpIfCloser(200,"Standing")
   SHA2 ABCDEF 4 A_Chase(0,0)
   Loop
  Melee:
   SHA0 A 0 A_JumpIfInTargetInventory("HumanChecker",1,"Follow")
   SHA0 A 0 A_JumpIfInTargetInventory("HelperChecker",1,"standing")
   SHA0 A 0 A_Jump(256,"melee1","melee2")
  Melee1:
   SHA0 A 3 A_FaceTarget
   SHA0 A 0 A_CustomMeleeAttack(random(1,10)*1)
   SHA0 A 0 A_Recoil(-1)
   SHA3 A 4 A_playsound("Shambler/Swing")
   SHA3 A 0 A_CustomMeleeAttack(random(1,10)*1)
   SHA3 A 0 A_Recoil(-2)
   SHA3 BCDEF 4 A_FaceTarget
   SHA3 G 4 A_CustomMeleeAttack(random(1,20)*1, "Shambler/hit")
   SHA3 H 4 A_FaceTarget
   Goto see
  Melee2:
   SHA0 B 0 A_Jump(90,"Smash")
   SHA0 B 3 A_FaceTarget
   SHA0 B 0 A_Recoil(-1)
   SHA0 B 0 A_CustomMeleeAttack(random(1, 10)*1)
   SHA4 A 4 A_playsound("Shambler/Swing")
   SHA4 A 0 A_Recoil(-2)
   SHA4 A 0 A_CustomMeleeAttack(random(1, 10)*1)
   SHA4 BCDEF 4 A_FaceTarget
   SHA4 A 0 A_Recoil(-1)
   SHA4 G 4 A_CustomMeleeAttack(random(1, 20)*1, "Shambler/hit")
   SHA4 H 4 A_FaceTarget
   Goto See
  Smash:
   SHA0 C 4 A_FaceTarget
   SHA0 C 0 A_CustomMeleeAttack(random(1,20)*1)
   SHA5 A 0 A_Recoil(-1)
   SHA5 A 4 A_playsound("Shambler/smash")
   SHA5 A 0 A_CustomMeleeAttack(random(1,20)*1)
   SHA5 A 0 A_Recoil(-2)
   SHA5 BCDEFGH 4 A_FaceTarget
   SHA5 H 0 A_Recoil(-1)
   SHA5 I 4 A_CustomMeleeAttack(random(1,20)*1, "Shambler/hit")
   SHA5 JK 4 A_FaceTarget
   Goto See
  Missile:
   SHA6 A 0 A_JumpIfInTargetInventory("HumanChecker",1,"Follow")
   SHA6 A 0 A_JumpIfInTargetInventory("HelperChecker",1,"standing")
   SHA6 A 2 A_FaceTarget
   SHA6 B 2 A_PlaySound("plasma/fire")
   SHA6 C 2 A_FaceTarget
   SHA6 DME 5 Bright A_FaceTarget
   SHA6 F 4 A_CustomMissile("ShoggothLightning",32)
   SHA6 GH 4
   SHA6 IJKL 3 A_FaceTarget
   Goto see
  Pain:
   SHA7 A 0 A_ChangeFlag("NOPAIN", 1)
   SHA7 A 3
   SHA7 B 3 A_Pain
   SHA7 CDEF 3
   SHA7 A 0 A_ChangeFlag("NOPAIN", 1)
   Goto see
  Death:
   SHA8 A 0 A_ChangeFlag("NOPAIN", 1)
   SHA8 AB 5
   SHA8 C 5 A_Scream
   SHA8 DEFGHI 5
   SHA8 J 5 A_NoBlocking
   SHA8 K -1
   Stop
  }
}

ACTOR ShoggothLightning
{
  Radius 5
  Height 5
  Speed 18
  Damage 5
  Scale 0.85
  Projectile
  +RANDOMIZE
  Decal "BaronScorch"
  States
  {
  Spawn:
    BAL7 A 3 Bright A_Playsound("Plasma/fly",3,1,1)
    Loop
  Death:
    BAL7 A 0 A_Stopsound(3)
    BAL7 A 0 A_Playsound("plasma/hit",5)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebris",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisSS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebris",Random(-3,3)+1,Random(-3,3)+1,Random(-2,2)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisSS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebris",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisSS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebris",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisSS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebris",Random(-3,3)+1,Random(-3,3)+1,Random(-2,2)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisSS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebris",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisSS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebris",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisSS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebris",Random(-3,3)+1,Random(-3,3)+1,Random(-2,2)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisSS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebris",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisSS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebris",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisSS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebris",Random(-3,3)+1,Random(-3,3)+1,Random(-2,2)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisSS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebris",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisSS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebris",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisSS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebris",Random(-3,3)+1,Random(-3,3)+1,Random(-2,2)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisSS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebris",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisSS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebris",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisSS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebris",Random(-3,3)+1,Random(-3,3)+1,Random(-2,2)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 0 A_SpawnItemEx("PlasmaDebrisS",Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1,Random(-3,3)+1)
    TNT1 A 1 A_Explode(20,100)
    Stop
  }
}