///////////////////////////////
// RADIXENEMIES.TXT
///////////////////////////////

///////////////////////////////
// MT_BIOMINE1_CHUNK4
///////////////////////////////
ACTOR MT_BIOMINE1_CHUNK1
{
  Radius 16
  Height 10
  Health 1000
  Mass 2
  Reactiontime 8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3,4))
      XR28 E -1
      Stop
    }
  }
}

///////////////////////////////
// MT_BIOMINE1_CHUNK2
///////////////////////////////
ACTOR MT_BIOMINE1_CHUNK2
{
  Radius 24
  Height 18
  Health 1000
  Mass 5
  Reactiontime 8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3,4))
      XR28 F -1
      Stop
    }
  }
}

///////////////////////////////
// MT_BIOMINE1_CHUNK3
///////////////////////////////
ACTOR MT_BIOMINE1_CHUNK3
{
  Radius 24
  Height 18
  Health 1000
  Mass 5
  Reactiontime 8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3,4))
      XR28 G -1
      Stop
    }
  }
}

///////////////////////////////
// MT_BIOMINE1_CHUNK4
///////////////////////////////
ACTOR MT_BIOMINE1_CHUNK4
{
  Radius 24
  Height 24
  Health 1000
  Mass 10
  Reactiontime 8
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      XR28 HIJKLMNO 5
      XR28 H -1
      Stop
    }
  }
}

///////////////////////////////
// MT_BIOMINE1
///////////////////////////////
ACTOR MT_BIOMINE1 1028
{
  Radius 32
  Height 56
  Health 20
  Mass 30
  Speed 4
  TouchDamage 5
  +MF_SOLID
  +MF_SHOOTABLE
  +MF_NOGRAVITY
  +MF_FLOAT
  +MF_COUNTKILL
  +MF_NOBLOOD
  +MF_EX_SPAWNFLOAT
  +MF2_EX_JUMPDOWN
  +MF2_EX_JUMPUP
  +MF3_EX_DAMAGEONPLAYERTOUCH
  +MF3_EX_BOBING
  States
  {
    Spawn:
      XR28 A 5
      XR28 B 5
      XR28 C 5
      XR28 B 5 A_Wander
      Loop
    Death:
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_Fall
	  TNT1 A 0 A_Gravity(1.0)
      TNT1 A 0 A_NoBobing
      TNT1 A 0 A_PlayerHurtExplode(RANDOMPICK(90,100,110), 64)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXSMALLEXPLOSION",0,0,0,0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 A 0 A_SpawnItemEx("MT_BIOMINE1_CHUNK1",0,0,0,RANDOMPICK(-1,1),RANDOMPICK(-1,1),FRANDOM(2,3),RANDOM(0,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_BIOMINE1_CHUNK2",0,0,0,RANDOMPICK(-1,1),RANDOMPICK(-1,1),FRANDOM(2,3),RANDOM(0,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_BIOMINE1_CHUNK3",0,0,0,RANDOMPICK(-1,1),RANDOMPICK(-1,1),FRANDOM(2,3),RANDOM(0,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_BIOMINE1_CHUNK4",0,0,0,RANDOMPICK(-2,2),RANDOMPICK(-2,2),FRANDOM(2,3),RANDOM(0,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,0,0,0,0,0)
      XR28 D 5 BRIGHT A_GlowLight "YELLOW"
      XR28 D 5 A_GlowLight "NONE"
      XR28 D -1
      Stop
  }
}


///////////////////////////////
// MT_BIOMINE2_CHUNK1
///////////////////////////////
ACTOR MT_BIOMINE2_CHUNK1
{
  Radius 12
  Height 12
  Health 1000
  Mass 2
  Reactiontime 8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3,4))
      XR29 E -1
      Stop
    }
  }
}

///////////////////////////////
// MT_BIOMINE2_CHUNK2
///////////////////////////////
ACTOR MT_BIOMINE2_CHUNK2
{
  Radius 32
  Height 16
  Health 1000
  Mass 10
  Reactiontime 8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3))
      XR29 F -1
      Stop
    }
  }
}

///////////////////////////////
// MT_BIOMINE2
///////////////////////////////
ACTOR MT_BIOMINE2 1029
{
  Radius 32
  Height 56
  Health 40
  Mass 40
  Speed 8
  TouchDamage 10
  +MF_SOLID
  +MF_SHOOTABLE
  +MF_NOGRAVITY
  +MF_FLOAT
  +MF_COUNTKILL
  +MF_NOBLOOD
  +MF_EX_SPAWNFLOAT
  +MF2_EX_JUMPDOWN
  +MF2_EX_JUMPUP
  +MF3_EX_DAMAGEONPLAYERTOUCH
  +MF3_EX_BOBING
  States
  {
    Spawn:
      XR29 A 5
      XR29 B 5
      XR29 C 5
      XR29 B 5 A_Wander
      Loop
    Death:
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_Fall
	  TNT1 A 0 A_Gravity(1.0)
      TNT1 A 0 A_NoBobing
      TNT1 A 0 A_PlayerHurtExplode(RANDOMPICK(100,110,120), 64)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXSMALLEXPLOSION",0,0,0,0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 A 0 A_SpawnItemEx("MT_BIOMINE2_CHUNK1",0,0,0,RANDOMPICK(-1,1),RANDOMPICK(-1,1),FRANDOM(2,3),RANDOM(0,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_BIOMINE2_CHUNK1",0,0,0,RANDOMPICK(-1,1),RANDOMPICK(-1,1),FRANDOM(2,3),RANDOM(0,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_BIOMINE2_CHUNK1",0,0,0,RANDOMPICK(-1,1),RANDOMPICK(-1,1),FRANDOM(2,3),RANDOM(0,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_BIOMINE2_CHUNK1",0,0,0,RANDOMPICK(-1,1),RANDOMPICK(-1,1),FRANDOM(2,3),RANDOM(0,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_BIOMINE2_CHUNK2",0,0,0,RANDOMPICK(-1,0,1)/2,RANDOMPICK(-1,0,1)/2,FRANDOM(3,4),RANDOM(0,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,0,0,0,0,0)
      XR29 D 5 BRIGHT A_GlowLight "YELLOW"
      XR29 D 5 A_GlowLight "NONE"
      XR29 D -1
      Stop
  }
}

///////////////////////////////
// MT_BLOODSPLAT
///////////////////////////////
ACTOR MT_BLOODSPLAT
{
  Health 1000
  Width 20
  Height 16
  Mass 100
  Reactiontime 8
  Renderstyle Translucent
  Alpha 0.8
  +MF_NOBLOCKMAP
  +MF2_EX_DONOTRENDERSHADOW
  States
  {
    Spawn:
    {
      X089 A 5
      X089 B 5
      X089 CCCCCCC 1 A_FadeOut10
      Stop
    }
  }
}

///////////////////////////////
// MT_SPARKS
///////////////////////////////
ACTOR MT_SPARKS
{
  Health 1000
  Width 20
  Height 16
  Mass 100
  Reactiontime 8
  Renderstyle Translucent
  Alpha 0.8
  +MF_NOBLOCKMAP
  +MF2_EX_DONOTRENDERSHADOW
  States
  {
    Spawn:
    {
      X090 A 4
      X090 B 4
      X090 C 4
      X090 DDDD 1 A_FadeOut10
      X090 EEEE 1 A_FadeOut10
      Stop
    }
  }
}

///////////////////////////////
// MT_ALIENFODDER_HEAD
///////////////////////////////
ACTOR MT_ALIENFODDER_HEAD
{
  Radius 16
  Height 16
  Health 1000
  Mass 12
  Reactiontime 8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(1,2))
      XR30 KLMNOPQR 5
      XR30 K -1
      Stop
    }
  }
}

///////////////////////////////
// MT_ALIENFODDER_SMOKE
///////////////////////////////
ACTOR "MT_ALIENFODDER_SMOKE"
{
  Health 1000
  Width 10
  Height 10
  Mass 50
  Reactiontime 8
  Alpha 0.3
  +MF_NOBLOCKMAP
  +MF_NOGRAVITY
  +MF_EX_TRANSPARENT
  +MF2_EX_NOHITFLOOR
  +MF2_EX_DONOTRENDERSHADOW
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      PUFF A RANDOMRANGE(4,8) BRIGHT 
      PUFF B RANDOMRANGE(4,8) BRIGHT 
      PUFF C RANDOMRANGE(4,8) BRIGHT 
      Stop
    }
  }
}

///////////////////////////////
// MT_ALIENFODDER_SHOT
///////////////////////////////
ACTOR "MT_ALIENFODDER_SHOT"
{
  Health 1000
  Radius 14
  Height 14
  Speed 1310720
  Damage 20
  Mass 100
  Reactiontime 8
  Seesound "radix/SndEnemyFire"
  Deathsound "radix/SndExplodeShort"
  +MF_NOBLOCKMAP
  +MF_NOGRAVITY
  +MF_DROPOFF
  +MF_MISSILE
  +MF_EX_REDLIGHT
  +DEFAULTTRANSPARENT
  +THRUSKY
  States
  {
    Spawn:
    {
      XR30 S 1 BRIGHT
      XR30 S 1 A_SpawnItemEx("MT_ALIENFODDER_SMOKE",24,0,velz/2)
      XR30 S 5 BRIGHT
      TNT1 A 0 A_GlowLight "NONE"
    SpawnLoop:
      XR30 S 5 BRIGHT
      GoTo SpawnLoop
    }
    Death:
    {
      TNT1 A 0 A_SetScale(RANDOMPICK(4,5,6)/10)
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_PlayerHurtExplode(RANDOMPICK(20,25,30), 20)
      EXPS A RANDOMRANGE(2,3) BRIGHT A_GlowLight "YELLOW"
      EXPS B RANDOMRANGE(2,3) BRIGHT A_FadeOut10
      EXPS C RANDOMRANGE(2,3) BRIGHT A_FadeOut10
      EXPS D RANDOMRANGE(2,3) BRIGHT A_FadeOut10
      EXPS E RANDOMRANGE(2,3) BRIGHT A_FadeOut10
      Stop
    }
  }
}

///////////////////////////////
// MT_ALIENFODDER
///////////////////////////////
ACTOR MT_ALIENFODDER 1030
{
  Radius 32
  Height 80
  Health 60
  Painchance 150
  Mass 100
  Speed 16
  Reactiontime 8
  TouchDamage 20
  SeeSound "radix/SndAlienHum"
  +MF_SOLID
  +MF_SHOOTABLE
  +MF_COUNTKILL
  +MF2_EX_DONTINFIGHTMONSTERS
  +MF3_EX_ALIENBLOOD
  States
  {
    Spawn:
      XR30 B 10 A_Look
      Loop
    See:
      XR30 A 6 A_Chase
      XR30 B 6 A_Chase
      XR30 C 6 A_Chase
      XR30 B 6 A_Chase
      Loop
    Missile:
      XR30 D 10 A_FaceTarget
      XR30 D 10 BRIGHT A_CustomMissile("MT_ALIENFODDER_SHOT", 72, 16)
      XR30 D 10 A_FaceTarget    
      TNT1 A 0 A_Jump(128, 2)
      XR30 D 10 BRIGHT A_CustomMissile("MT_ALIENFODDER_SHOT", 72, 16)
      XR30 D 10 A_CPosRefire
      Goto Missile
    Pain:
      XR30 B 10 A_SpawnItemEx("MT_BLOODSPLAT",RANDOMPICK(-10,0,10),0,RANDOM(40,60))
      Goto See
    Death:
      TNT1 A 0 A_SpawnItemEx("MT_ALIENFODDER_HEAD",0,0,72,RANDOMPICK(-3,-2,2,3),RANDOMPICK(-3,-2,2,3),FRANDOM(1,2),RANDOM(0,179)*2)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndFodderExp")
      XR30 E 5
      XR30 F 5
      XR30 G 5 A_Fall
      XR30 H 5
      XR30 I 5
      XR30 J -1
      Stop
  }
}

///////////////////////////////
// MT_DRONEBODYA
///////////////////////////////
ACTOR "MT_DRONEBODYA"
{
  Health 1000
  Width 16
  Height 16
  Mass 100
  Reactiontime 8
  States
  {
    Spawn:
    {
      X085 A -1
      Loop
    }
  }
}

ACTOR "MT_DRONE_SHOT"
{
  Health 1000
  Radius 14
  Height 14
  Speed 1310720
  Damage 10
  Mass 100
  Reactiontime 8
  Seesound "radix/SndEnemyFire"
  Deathsound "radix/SndExplodeShort"
  +MF_NOBLOCKMAP
  +MF_NOGRAVITY
  +MF_DROPOFF
  +MF_MISSILE
  +MF_EX_REDLIGHT
  +DEFAULTTRANSPARENT
  +THRUSKY
  States
  {
    Spawn:
    {
      XR30 S 1 BRIGHT
      XR30 S 1 A_SpawnItemEx("MT_ALIENFODDER_SMOKE",24,0,velz/2)
      XR30 S 5 BRIGHT
      TNT1 A 0 A_GlowLight "NONE"
    SpawnLoop:
      XR30 S 5 BRIGHT
      GoTo SpawnLoop
    }
    Death:
    {
      TNT1 A 0 A_SetScale(RANDOMPICK(4,5,6)/10)
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_PlayerHurtExplode(RANDOMPICK(15,20,25), 15)
      EXPS A RANDOMRANGE(2,3) BRIGHT A_GlowLight "YELLOW"
      EXPS B RANDOMRANGE(2,3) BRIGHT A_FadeOut10
      EXPS C RANDOMRANGE(2,3) BRIGHT A_FadeOut10
      EXPS D RANDOMRANGE(2,3) BRIGHT A_FadeOut10
      EXPS E RANDOMRANGE(2,3) BRIGHT A_FadeOut10
      Stop
    }
  }
}

///////////////////////////////
// MT_DEFENCEDRONE_STUB1
///////////////////////////////
ACTOR MT_DEFENCEDRONE_STUB1 1031
{
  Radius 32
  Height 56
  Health 50
  Speed 4
  Mass 100
  Gravity 0
  PainChance 160
  +MF_SOLID
  +MF_SHOOTABLE
  +MF_NOGRAVITY
  +MF_FLOAT
  +MF_COUNTKILL
  +MF2_EX_DONTINFIGHTMONSTERS
  +MF3_EX_DONTBLOCKSPECIES
  States
  {
    Spawn:
      XR31 A 5 A_Look
      Loop
    See:
      XR31 A 6 A_Chase
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,1)),5)
      XR31 A 6 A_Chase
      Loop
    Missile:
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,1)),10)
      XR31 A 10 A_FaceTarget
      TNT1 A 0 A_MatchTargetZ(0.1,10)
      XR31 A 10 BRIGHT A_CustomMissile("MT_DRONE_SHOT",11,20)
      XR31 A 10 BRIGHT A_CustomMissile("MT_DRONE_SHOT",11,-20)
      TNT1 A 0 A_DropFarTarget(1024,128)
      XR31 A 10 A_CPosRefire
      Goto Missile
    Pain:
      XR31 A 10 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,0,0,0,FRANDOM(1,2),0)
      Goto See
    Death:
      TNT1 A 0 A_SpawnItemEx("MT_RADIXSMALLEXPLOSION",0,0,0,0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,0,0,0,0,0)
      X085 A 1 A_Fall
      X085 A 1 A_Gravity(1.0)
      TNT1 A 0 A_DroneExplosion
      X085 A -1
      Stop
  }
}


///////////////////////////////
// MT_DEFENCEDRONE_STUB2
///////////////////////////////
ACTOR MT_DEFENCEDRONE_STUB2: MT_DEFENCEDRONE_STUB1 1032
{
  Speed 8
}

///////////////////////////////
// MT_DRONEBODYB
///////////////////////////////
ACTOR "MT_DRONEBODYB"
{
  Health 1000
  Width 16
  Height 16
  Mass 100
  Reactiontime 8
  States
  {
    Spawn:
    {
      X083 A -1
      Loop
    }
  }
}

///////////////////////////////
// MT_ENEMYLASER
///////////////////////////////
ACTOR "MT_ENEMYLASER"
{
  Health 1000
  Radius 14
  Height 14
  Speed 1572864
  Damage 10
  Mass 100
  Reactiontime 8
  Seesound "radix/SndEnemyFire"
  Deathsound "radix/SndExplodeShort"
  +MF_NOBLOCKMAP
  +MF_NOGRAVITY
  +MF_DROPOFF
  +MF_MISSILE
  +MF_EX_REDLIGHT
  +DEFAULTTRANSPARENT
  +THRUSKY
  States
  {
    Spawn:
    {
      X084 A 6 BRIGHT
      TNT1 A 0 A_GlowLight "NONE"
      X084 B 6 BRIGHT
      X084 C 6 BRIGHT
      X084 B 6 BRIGHT
    SpawnLoop:
      X084 A 6 BRIGHT
      X084 B 6 BRIGHT
      X084 C 6 BRIGHT
      X084 B 6 BRIGHT
      GoTo SpawnLoop
    }
    Death:
    {
      TNT1 A 0 A_SetScale(RANDOMPICK(4,5,6)/10)
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_PlayerHurtExplode(RANDOMPICK(15,20,25), 15)
      EXPS A RANDOMRANGE(2,3) BRIGHT A_GlowLight "YELLOW"
      EXPS B RANDOMRANGE(2,3) BRIGHT A_FadeOut10
      EXPS C RANDOMRANGE(2,3) BRIGHT A_FadeOut10
      EXPS D RANDOMRANGE(2,3) BRIGHT A_FadeOut10
      EXPS E RANDOMRANGE(2,3) BRIGHT A_FadeOut10
      Stop
    }
  }
}


///////////////////////////////
// MT_BATTLEDRONE1_CHUNK1
///////////////////////////////
ACTOR MT_BATTLEDRONE1_CHUNK1
{
  Radius 48
  Height 24
  Health 1000
  Mass 10
  Reactiontime 8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3,4))
      XR33 BCDEFGHI 5
      XR33 B -1
      Stop
    }
  }
}

///////////////////////////////
// MT_BATTLEDRONE1_CHUNK2
///////////////////////////////
ACTOR MT_BATTLEDRONE1_CHUNK2
{
  Radius 48
  Height 24
  Health 1000
  Mass 10
  Reactiontime 8
  +MF3_EX_FLIPSPRITE
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3,4))
      XR33 BCDEFGHI 5
      XR33 B -1
      Stop
    }
  }
}

///////////////////////////////
// MT_BATTLEDRONE1_CHUNK3
///////////////////////////////
ACTOR MT_BATTLEDRONE1_CHUNK3
{
  Radius 12
  Height 12
  Health 1000
  Mass 5
  Reactiontime 8
  States
  {
    Spawn:
    {
      XR33 J RANDOMSELECT(70,105)
      XR33 J 5 A_FadeOut10
      XR33 J 5 A_FadeOut10
      XR33 J 5 A_FadeOut10
      XR33 J 5 A_FadeOut10
      XR33 J 5 A_FadeOut10
      XR33 J 5 A_FadeOut10
      XR33 J 5 A_FadeOut10
      XR33 J 5 A_FadeOut10
      XR33 J 5 A_FadeOut10
      XR33 J 5 A_FadeOut10
      Stop
    }
  }
}

///////////////////////////////
// MT_BATTLEDRONE1
///////////////////////////////
ACTOR MT_BATTLEDRONE1 1033
{
  Radius 64
  Height 56
  Health 50
  Mass 30
  Speed 10
  Gravity 0
  PainChance 128
  Reactiontime 8
  +MF_SOLID
  +MF_SHOOTABLE
  +MF_NOGRAVITY
  +MF_FLOAT
  +MF_COUNTKILL
  +MF2_EX_DONTINFIGHTMONSTERS
  +MF3_EX_DONTBLOCKSPECIES
  States
  {
    Spawn:
      XR33 A 5 A_Look
      Loop
    See:
      XR33 A 6 A_Chase
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,1)),5)
      XR33 A 6 A_Chase
      Loop
    Missile:
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,1)),10)
      XR33 A 10 A_FaceTarget
      TNT1 A 0 A_MatchTargetZ(0.1,10)
      XR33 A 10 BRIGHT A_CustomMissile("MT_ENEMYLASER")
      TNT1 A 0 A_DropFarTarget(768,128)
      XR33 A 10 A_CPosRefire
      Goto Missile
    Pain:
      XR33 A 10 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,0,0,0,FRANDOM(1,2),0)
      Goto See
    Death:
      TNT1 A 0 A_SpawnItemEx("MT_RADIXSMALLEXPLOSION",0,0,0,0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_BATTLEDRONE1_CHUNK1",0,-20,0,RANDOMPICK(-1,1),RANDOMPICK(-3,-2),FRANDOM(1,2),RANDOMPICK(355,0,5))
      X083 A 1 A_SpawnItemEx("MT_BATTLEDRONE1_CHUNK2",0,20,0,RANDOMPICK(-1,1),RANDOMPICK(3,2),FRANDOM(1,2),RANDOMPICK(175,180,185))
      X083 A 1 A_SpawnItemEx("MT_BATTLEDRONE1_CHUNK3",0,0,0,RANDOMPICK(-2,-1,1,2),RANDOMPICK(-2,-1,1,2),FRANDOM(2,3),RANDOM(0,179)*2)
      TNT1 A 0 A_Turn(30)
      TNT1 A 0 A_SpawnItemEx("MT_BATTLEDRONE1_CHUNK3",0,0,0,RANDOMPICK(-2,-1,1,2),RANDOMPICK(-2,-1,1,2),FRANDOM(2,3),RANDOM(0,179)*2)
      TNT1 A 0 A_Turn(30)
      TNT1 A 0 A_SpawnItemEx("MT_BATTLEDRONE1_CHUNK3",0,0,0,RANDOMPICK(-2,-1,1,2),RANDOMPICK(-2,-1,1,2),FRANDOM(2,3),RANDOM(0,179)*2)
      X083 A 1 A_Fall
      X083 A 1 A_Gravity(1.0)
      X083 A -1
      Stop
  }
}

///////////////////////////////
// MT_MISSILEBOAT_BODY
///////////////////////////////
ACTOR MT_MISSILEBOAT_BODY
{
  Radius 48
  Height 24
  Health 1000
  Mass 50
  Reactiontime 8
  States
  {
    Spawn:
    {
      XR34 J -1
      Stop
    }
  }
}

///////////////////////////////
// MT_MISSILEBOAT_CHUNK1
///////////////////////////////
ACTOR MT_MISSILEBOAT_CHUNK1
{
  Radius 48
  Height 24
  Health 1000
  Mass 10
  Reactiontime 8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3))
      XR34 BCDEFGHI 5
      XR34 B -1
      Stop
    }
  }
}

///////////////////////////////
// MT_MISSILEBOAT_CHUNK2
///////////////////////////////
ACTOR MT_MISSILEBOAT_CHUNK2
{
  Radius 48
  Height 24
  Health 1000
  Mass 10
  Reactiontime 8
  +MF3_EX_FLIPSPRITE
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3))
      XR34 BCDEFGHI 5
      XR34 B -1
      Stop
    }
  }
}

///////////////////////////////
// MT_MISSILEBOAT_CHUNK3
///////////////////////////////
ACTOR MT_MISSILEBOAT_CHUNK3
{
  Radius 48
  Height 24
  Health 1000
  Mass 5
  Reactiontime 8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3,4,5))
      XR34 K RANDOMRANGE(1000, 1200)
      XR34 KKKKKKKKK 5 A_FadeOut10
      Stop      
    }
  }
}

///////////////////////////////
// MT_MISSILEBOAT_CHUNK4
///////////////////////////////
ACTOR MT_MISSILEBOAT_CHUNK4
{
  Radius 48
  Height 24
  Health 1000
  Mass 5
  Reactiontime 8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3,4,5))
      XR34 L RANDOMRANGE(1000, 1200)
      XR34 LLLLLLLLL 5 A_FadeOut10
      Stop      
    }
  }
}

///////////////////////////////
// MT_MISSILEBOAT1
///////////////////////////////
ACTOR MT_MISSILEBOAT1 1034
{
  Radius 64
  Height 56
  Health 100
  Mass 130
  Speed 12
  Gravity 0
  PainChance 128
  Reactiontime 8
  +MF_SOLID
  +MF_SHOOTABLE
  +MF_NOGRAVITY
  +MF_FLOAT
  +MF_COUNTKILL
  +MF2_EX_DONTINFIGHTMONSTERS
  +MF3_EX_DONTBLOCKSPECIES
  States
  {
    Spawn:
      XR34 A 5 A_Look
      Loop
    See:
      XR34 A 6 A_Chase
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,0.5)),5)
      XR34 A 6 A_Chase
      Loop
    Missile:
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,0.5)),8)
      XR34 A 10 A_FaceTarget
      TNT1 A 0 A_MatchTargetZ(0.1,8)
      XR34 A 10 BRIGHT A_CustomMissile("MT_ENEMYMISSILE", 27)
      TNT1 A 0 A_DropFarTarget(2048,128)
      Goto See
    Pain:
      XR34 A 10 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,0,0,0,FRANDOM(1,2),0)
      Goto See
    Death:
      TNT1 A 0 A_SpawnItemEx("MT_RADIXSMALLEXPLOSION",0,0,0,0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_MISSILEBOAT_CHUNK1",0,-20,0,RANDOMPICK(-1,1),RANDOMPICK(-3,-2),RANDOMPICK(1,2),RANDOMPICK(355,0,5))
      TNT1 A 0 A_SpawnItemEx("MT_MISSILEBOAT_CHUNK2",0,20,0,RANDOMPICK(-1,1),RANDOMPICK(3,2),RANDOMPICK(1,2),RANDOMPICK(175,180,185))
      TNT1 A 0 A_SpawnItemEx("MT_MISSILEBOAT_CHUNK3",0,0,0,RANDOMPICK(-2,-1,1,2),RANDOMPICK(-2,-1,1,2),RANDOMPICK(2,3),RANDOM(0,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_MISSILEBOAT_CHUNK3",0,0,0,RANDOMPICK(-2,-1,1,2),RANDOMPICK(-2,-1,1,2),RANDOMPICK(2,3),RANDOM(0,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_MISSILEBOAT_CHUNK4",0,0,0,RANDOMPICK(-2,-1,1,2),RANDOMPICK(-2,-1,1,2),RANDOMPICK(2,3),RANDOM(0,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_MISSILEBOAT_CHUNK4",0,0,0,RANDOMPICK(-2,-1,1,2),RANDOMPICK(-2,-1,1,2),RANDOMPICK(2,3),RANDOM(0,179)*2)
      XR34 J 1 A_Fall
      XR34 J 1 A_Gravity(1.0)
      XR34 J -1
      Stop
  }
}

///////////////////////////////
// MT_SKYFIRE_BODY
///////////////////////////////
ACTOR MT_SKYFIRE_BODY
{
  Radius 40
  Height 24
  Health 1000
  Mass 50
  Reactiontime 8
  States
  {
    Spawn:
    {
      XR35 C -1
      Stop
    }
  }
}

///////////////////////////////
// MT_SKYFIRE_CHUNK1
///////////////////////////////
ACTOR MT_SKYFIRE_CHUNK1
{
  Radius 24
  Height 8
  Health 1000
  Mass 5
  Reactiontime 8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3,4,5))
      XR35 B -1
      Stop      
    }
  }
}

///////////////////////////////
// MT_CHUNK1
///////////////////////////////
ACTOR MT_CHUNK1
{
  Radius 12
  Height 12
  Health 1000
  Mass 5
  Reactiontime 8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3,4,5))
      X086 A RANDOMRANGE(1000, 1200)
      X086 AAAAAAAAA 5 A_FadeOut10
      Stop      
    }
  }
}

///////////////////////////////
// MT_CHUNK2
///////////////////////////////
ACTOR MT_CHUNK2
{
  Radius 12
  Height 12
  Health 1000
  Mass 5
  Reactiontime 8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3,4,5))
      X086 B RANDOMRANGE(1000, 1200)
      X086 BBBBBBBBB 5 A_FadeOut10
      Stop      
    }
  }
}

///////////////////////////////
// MT_CHUNK3
///////////////////////////////
ACTOR MT_CHUNK3
{
  Radius 16
  Height 16
  Health 1000
  Mass 8
  Reactiontime 8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3,4,5))
      X086 C RANDOMRANGE(1000, 1200)
      X086 CCCCCCCCC 5 A_FadeOut10
      Stop      
    }
  }
}

///////////////////////////////
// MT_METALCHUNK1
///////////////////////////////
ACTOR MT_METAlCHUNK1
{
  Radius 8
  Height 8
  Health 1000
  Mass 5
  Reactiontime 8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3,4,5))
      X086 D RANDOMRANGE(1000, 1200)
      X086 DDDDDDDDD 5 A_FadeOut10
      Stop      
    }
  }
}

///////////////////////////////
// MT_METALCHUNK2
///////////////////////////////
ACTOR MT_METAlCHUNK2
{
  Radius 8
  Height 8
  Health 1000
  Mass 5
  Reactiontime 8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3,4,5))
      X086 E RANDOMRANGE(1000, 1200)
      X086 EEEEEEEEE 5 A_FadeOut10
      Stop      
    }
  }
}

///////////////////////////////
// MT_METALCHUNK3
///////////////////////////////
ACTOR MT_METAlCHUNK3
{
  Radius 8
  Height 8
  Health 1000
  Mass 5
  Reactiontime 8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3,4,5))
      X086 F RANDOMRANGE(1000, 1200)
      X086 FFFFFFFFF 5 A_FadeOut10
      Stop      
    }
  }
}

///////////////////////////////
// MT_METALCHUNK4
///////////////////////////////
ACTOR MT_METAlCHUNK4
{
  Radius 8
  Height 8
  Health 1000
  Mass 5
  Reactiontime 8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3,4,5))
      X086 G RANDOMRANGE(1000, 1200)
      X086 GGGGGGGGG 5 A_FadeOut10
      Stop      
    }
  }
}

///////////////////////////////
// MT_SKYFIREASSULTFIGHTER
///////////////////////////////
ACTOR MT_SKYFIREASSULTFIGHTER1 1035
{
  Radius 64
  Height 32
  Health 150
  Mass 120
  Speed 12
  Gravity 0
  PainChance 160
  Reactiontime 8
  +MF_SOLID
  +MF_SHOOTABLE
  +MF_NOGRAVITY
  +MF_FLOAT
  +MF_COUNTKILL
  +MF2_EX_DONTINFIGHTMONSTERS
  +MF3_EX_DONTBLOCKSPECIES
  States
  {
    Spawn:
      XR35 A 5 A_Look
      Loop
    See:
      XR35 A 6 A_Chase
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,0.5)),5)
      XR35 A 6 A_Chase
      Loop
    Missile:
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,0.5)),8)
      XR35 A 10 A_FaceTarget
      TNT1 A 0 A_MatchTargetZ(0.1,8)
      TNT1 A 0 BRIGHT A_CustomMissile("MT_LASER",1,48)
      XR35 A 10 BRIGHT A_CustomMissile("MT_LASER",1,-48)
      TNT1 A 0 A_DropFarTarget(1536,128)
      XR35 A 10 A_CPosRefire(30)
      Goto Missile
    Pain:
      XR35 A 10 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,0,0,0,FRANDOM(1,2),0)
      Goto See
    Death:
      TNT1 A 0 A_SpawnItemEx("MT_RADIXSMALLEXPLOSION",0,0,0,0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_SKYFIRE_CHUNK1",0,-20,0,RANDOMPICK(-1,1),RANDOMPICK(-3,-2),RANDOMPICK(1,2),RANDOMPICK(355,0,5))
      TNT1 A 0 A_SpawnItemEx("MT_SKYFIRE_CHUNK1",0,20,0,RANDOMPICK(-1,1),RANDOMPICK(3,2),RANDOMPICK(1,2),RANDOMPICK(175,180,185))
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK1",0,0,0,RANDOMPICK(-2,-1,1,2),RANDOMPICK(-2,-1,1,2),RANDOMPICK(2,3),RANDOM(0,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK2",0,0,0,RANDOMPICK(-2,-1,1,2),RANDOMPICK(-2,-1,1,2),RANDOMPICK(2,3),RANDOM(0,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK3",0,0,0,RANDOMPICK(-2,-1,1,2),RANDOMPICK(-2,-1,1,2),RANDOMPICK(2,3),RANDOM(0,179)*2)
      XR35 C 1 A_Fall
      XR35 C 1 A_Gravity(1.0)
      XR35 C -1
      Stop
  }
}

///////////////////////////////
// MT_HEAVYBOMBER_BODY
///////////////////////////////
ACTOR MT_HEAVYBOMBER_BODY
{
  Radius 48
  Height 24
  Health 1000
  Mass 70
  Reactiontime 8
  States
  {
    Spawn:
    {
      XR36 C -1
      Stop
    }
  }
}

///////////////////////////////
// MT_HEAVYBOMBER_CHUNK1
///////////////////////////////
ACTOR MT_HEAVYBOMBER_CHUNK1
{
  Radius 24
  Height 8
  Health 1000
  Mass 8
  Reactiontime 8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3,4))
      XR36 B -1
      Stop      
    }
  }
}

///////////////////////////////
// MT_STORMBIRDHEAVYBOMBER
///////////////////////////////
ACTOR MT_STORMBIRDHEAVYBOMBER 1036
{
  Radius 80
  Height 48
  Health 300
  Mass 150
  Speed 10
  Gravity 0
  PainChance 160
  Reactiontime 8
  +MF_SOLID
  +MF_SHOOTABLE
  +MF_NOGRAVITY
  +MF_FLOAT
  +MF_COUNTKILL
  +MF2_EX_DONTINFIGHTMONSTERS
  +MF3_EX_DONTBLOCKSPECIES
  States
  {
    Spawn:
      XR36 A 5 A_Look
      Loop
    See:
      XR36 A 6 A_Chase
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,0.5)),10)
      XR36 A 6 A_Chase
      Loop
    Missile:
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,0.5)),8)
      XR36 A 10 A_FaceTarget
      TNT1 A 0 A_MatchTargetZ(0.1,8)
      XR36 A 10 BRIGHT A_CustomMissile("MT_ENEMYSEEKERMISSILE",1,64)
      XR36 A 10 A_FaceTarget
      XR36 A 10 BRIGHT A_CustomMissile("MT_ENEMYSEEKERMISSILE",1,-64)
      TNT1 A 0 A_DropFarTarget(1536,128)
      XR36 A 10 A_CPosRefire(60)
      Goto Missile
    Pain:
      XR36 A 10 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,0,0,0,FRANDOM(1,2),0)
      Goto See
    Death:
      TNT1 A 0 A_SpawnItemEx("MT_RADIXSMALLEXPLOSION",0,0,0,0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 A 0 A_SpawnItemEx("MT_RADIXVERYBIGSMOKE",0,0,0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_HEAVYBOMBER_CHUNK1",0,-20,0,RANDOMPICK(-1,1),RANDOMPICK(-3,-2),RANDOMPICK(1,2),RANDOMPICK(355,0,5))
      TNT1 A 0 A_SpawnItemEx("MT_HEAVYBOMBER_CHUNK1",0,20,0,RANDOMPICK(-1,1),RANDOMPICK(3,2),RANDOMPICK(1,2),RANDOMPICK(175,180,185))
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK1",0,0,0,RANDOMPICK(-2,-1,1,2),RANDOMPICK(-2,-1,1,2),RANDOMPICK(2,3),RANDOM(0,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK2",0,0,0,RANDOMPICK(-2,-1,1,2),RANDOMPICK(-2,-1,1,2),RANDOMPICK(2,3),RANDOM(0,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK3",0,0,0,RANDOMPICK(-2,-1,1,2),RANDOMPICK(-2,-1,1,2),RANDOMPICK(2,3),RANDOM(0,179)*2)
      XR36 C 1 A_Fall
      XR36 C 1 A_Gravity(1.0)
      XR36 C -1
      Stop
  }
}

///////////////////////////////
// MT_SPAWNER
///////////////////////////////
ACTOR MT_SPAWNER 1037
{
  Radius 128
  Height 64
  Health 600
  Mass 300
  Speed 10
  Gravity 0
  PainChance 128
  Reactiontime 8
  +MF_SOLID
  +MF_SHOOTABLE
  +MF_NOGRAVITY
  +MF_FLOAT
  +MF_COUNTKILL
  +MF2_EX_DONTINFIGHTMONSTERS
  +MF3_EX_DONTBLOCKSPECIES
  States
  {
    Spawn:
      XR37 A 5 A_Look
      Loop
    See:
      XR37 A 6 A_Chase
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,0.8)),12)
      XR37 A 6 A_Chase
      Loop
    Missile:
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,0.8)),8)
      XR37 A 10 A_FaceTarget
      TNT1 A 0 A_MatchTargetZ(0.1,8)
      TNT1 A 0 BRIGHT A_CustomMissile("MT_LASER",17,108)
      XR37 A 10 BRIGHT A_CustomMissile("MT_LASER",17,-108)
      XR37 A 10 A_FaceTarget
      TNT1 A 0 BRIGHT A_CustomMissile("MT_LASER",110,80)
      XR37 A 10 BRIGHT A_CustomMissile("MT_LASER",110,-80)
      TNT1 A 0 A_Jump(160,3)
      XR37 A 10 A_FaceTarget
      XR37 A 10 BRIGHT A_CustomMissile("MT_ENEMYSEEKERMISSILE",103)
      TNT1 A 0 A_DropFarTarget(1536,128)
      XR37 A 10 A_CPosRefire(40)
      Goto Missile
    Pain:
      XR37 A 10 A_SpawnItemEx("MT_RADIXBIGSMOKE",RANDOM(-10,10),RANDOM(-10,10),RANDOM(30,40),0,0,FRANDOM(1,2),0)
      Goto See
    Death:
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,0,30,0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,-70,15,0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,70,15,0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,-50,50,0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,50,50,0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 AAAAAA 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",RANDOM(-40,40),RANDOM(-40,40),RANDOM(-40,40),0,0,RANDOM(0,2),0)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK1",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(0,59)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK1",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(60,119)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK1",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(120,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK2",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(0,59)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK2",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(60,119)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK2",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(120,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK3",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(0,59)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK3",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(60,119)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK3",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(120,179)*2)
      TNT1 A 1 A_Fall
      TNT1 A 1 A_Gravity(1.0)
      TNT1 A 1 A_HideThing
      TNT1 A -1
  }
}

///////////////////////////////
// MT_EXODROID_CHUNK1
///////////////////////////////
ACTOR MT_EXODROID_CHUNK1
{
  Radius 48
  Height 24
  Health 1000
  Mass 30
  Reactiontime 8
  Scale 2
  +MF3_EX_FLIPSPRITE
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(1,2))
      XR38 FGHIJKLM 5
      XR38 F -1
      Stop
    }
  }
}

///////////////////////////////
// MT_EXODROID_CHUNK2
///////////////////////////////
ACTOR MT_EXODROID_CHUNK2
{
  Radius 48
  Height 24
  Health 1000
  Mass 30
  Reactiontime 8
  Scale 2
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(1,2))
      XR38 FGHIJKLM 5
      XR38 F -1
      Stop
    }
  }
}

///////////////////////////////
// MT_EXODROID
///////////////////////////////
ACTOR MT_EXODROID 1038
{
  Radius 64
  Height 380
  Health 600
  Painchance 60
  Mass 300
  Speed 18
  Reactiontime 8
  Scale 2
  ActiveSound "radix/SndDroid"
  SeeSound "radix/SndDroid"
  +MF_SOLID
  +MF_SHOOTABLE
  +MF_COUNTKILL
  +MF2_EX_DONTINFIGHTMONSTERS
  +MF2_EX_JUMPDOWN
  +MF2_EX_JUMPUP
  +MF3_EX_NOADJUSTMISSILECEILING
  States
  {
    Spawn:
      XR38 BBBBBBBBBB 10 A_Look
      XR38 B 10 A_Turn(RANDOMPICK(-45,45))
      Loop
    See:
      XR38 A 6 A_Chase
      XR38 B 6 A_Chase
      XR38 C 6 A_Chase
      XR38 B 6 A_Chase
      Loop
    Missile:
      XR38 D 10 A_FaceTarget
      XR38 D 0 BRIGHT A_CustomMissile("MT_ENEMYMISSILE",290,80)
      XR38 D 10 BRIGHT A_CustomMissile("MT_ENEMYMISSILE",290,-80)
      XR38 E 10 A_FaceTarget    
      TNT1 A 0 A_Jump(128, "See")
      XR38 E 0 BRIGHT A_CustomMissile("MT_ENEMYMISSILE",290,80)
      XR38 E 10 BRIGHT A_CustomMissile("MT_ENEMYMISSILE",290,-80)
      Goto See
    Pain:
      XR38 B 10 A_SpawnItemEx("MT_RADIXVERYBIGSMOKE",0,0,RANDOM(30,60)*6,0,0,FRANDOM(3,4),0)
      Goto See
    Death:
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",RANDOM(-30,30),RANDOM(-30,30),RANDOM(20,120),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",RANDOM(-30,30),RANDOM(-30,30),RANDOM(121,240),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",RANDOM(-30,30),RANDOM(-30,30),RANDOM(241,360),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXVERYBIGSMOKE",0,0,RANDOM(150,250),0,0,FRANDOM(3,4),0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 A 0 A_SpawnItemEx("MT_EXODROID_CHUNK1",0,-40,200,RANDOMPICK(-1,1),RANDOMPICK(-3,-2),FRANDOMPICK(1,2),RANDOMPICK(355,0,5))
      TNT1 A 0 A_SpawnItemEx("MT_EXODROID_CHUNK2",0,40,200,RANDOMPICK(-1,1),RANDOMPICK(3,2),RANDOMPICK(1,2),RANDOMPICK(175,180,185))
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK1",0,0,RANDOM(50,250),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(1,2),RANDOM(0,59)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK1",0,0,RANDOM(50,250),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(1,2),RANDOM(60,119)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK1",0,0,RANDOM(50,250),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(1,2),RANDOM(120,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK2",0,0,RANDOM(50,250),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(1,2),RANDOM(0,59)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK2",0,0,RANDOM(50,250),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(1,2),RANDOM(60,119)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK2",0,0,RANDOM(50,250),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(1,2),RANDOM(120,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK3",0,0,RANDOM(50,250),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(1,2),RANDOM(0,59)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK3",0,0,RANDOM(50,250),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(1,2),RANDOM(60,119)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK3",0,0,RANDOM(50,250),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(1,2),RANDOM(120,179)*2)
      XR38 N 5 A_Fall
      XR38 N -1
      Stop
  }
}

///////////////////////////////
// MT_SNAKEDEAMON_SHOT
///////////////////////////////
ACTOR "MT_SNAKEDEAMON_SHOT"
{
  Health 20
  Radius 20
  Height 20
  Speed 1572864
  Damage 30
  Mass 20
  Reactiontime 8
  Seesound "radix/SndEnemyFire"
  +MF_NOBLOCKMAP
  +MF_NOGRAVITY
  +MF_DROPOFF
  +MF_MISSILE
  +THRUSKY
  States
  {
    Spawn:
    {
      XR39 D 1 BRIGHT A_CheckPlayerAndExplode(40)
      TNT1 A 0 A_TraceNearestPlayer(30, 20)
      XR39 D 1 BRIGHT A_CheckPlayerAndExplode(40)
      TNT1 A 0 A_TraceNearestPlayer(30, 20)
      Loop
    }
    Death:
    {
      TNT1 A 1 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,0,0,0,FRANDOM(1,2),0)
      TNT1 A 1 A_SpawnItemEx("MT_RADIXBIGEXPLOSION")
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 A 1 A_PlayerHurtExplode(RANDOMPICK(20,25,30),20)
      Stop
    }
  }
}

SCRIPT SnakeTailPosition
uses
  all;

const
  FOLLOWOFFSET = 8;
  FOLLOWRANGE_XY = 4;
  FOLLOWRANGE_Z = 2;
  MAXMOVE_XY = 12;

var
  mst: integer;
  cx, cy, cz: integer;
  an: LongWord;
  dx, dy, dz: integer;
  tailid: integer;
begin
  mst := Actors[0].Master.Key;
  if (mst = ACTOR_INVALID) or (Actors[mst].Health <= 0) then
  begin
    Actors[0].Flag[MF_SHOOTABLE] := true;
    Actors[0].Health := -100;
    Exit;
  end;
  
  tailid := Actors[0].CustomParams['SNAKE_TAIL_ID'];
  Actors[0].angle := Actors[mst].angle + ANG5 * (((tailid + leveltime div 32) mod 10) - 5);
  
  an := (Actors[mst].angle + ANG180) div ANGLETOFINEUNIT;
  cx := Actors[mst].x + FOLLOWOFFSET * FineCosine(an) + FOLLOWRANGE_XY * FineSine(leveltime * 128 + tailid * 20);
  cy := Actors[mst].y + FOLLOWOFFSET * FineSine(an) + FOLLOWRANGE_XY * FineCosine(leveltime * 128 + tailid * 20);
  cz := Actors[mst].z + FOLLOWRANGE_Z * FineCosine(leveltime * 128 + tailid * 50);
  
  dx := cx - Actors[0].x;
  if dx > MAXMOVE_XY * FRACUNIT then
    dx := MAXMOVE_XY * FRACUNIT
  else if dx < -MAXMOVE_XY * FRACUNIT then
    dx := -MAXMOVE_XY * FRACUNIT;
  Actors[0].x := Actors[0].x + dx;
  
  dy := cy - Actors[0].y;
  if dy > MAXMOVE_XY * FRACUNIT then
    dy := MAXMOVE_XY * FRACUNIT
  else if dy < -MAXMOVE_XY * FRACUNIT then
    dy := -MAXMOVE_XY * FRACUNIT;
  Actors[0].y := Actors[0].y + dy;
  
  Actors[0].z := cz;
end.
  
ENDSCRIPT

ACTOR MT_SNAKEDEAMON_TAIL
{
  Radius 48
  Height 48
  Health 100
  Mass 50
  Reactiontime 8
  Gravity 0
  RENDERSTYLE TRANSLUCENT
  Alpha 0.7
  +MF_NOGRAVITY
  +MF_NOBLOCKMAP
  +MF_NOCLIP
  +MF3_EX_CANSPAWNCHILDREN
  States
  {
    Spawn:
      TNT1 A 1 
      TNT1 A 0 A_SetCustomParam("SNAKE_TAIL_ID",MasterCustomParam("SNAKE_TAIL_ID")+1)
      TNT1 A 0 A_GoToIfCustomParamGreater("SNAKE_TAIL_ID",15,"SkipChild")
      TNT1 A 0 A_SpawnChildEx("MT_SNAKEDEAMON_TAIL", RANDOM(-40,-20), RANDOM(-40,-20), FRANDOM(-2,2))
    SkipChild:
      TNT1 A 0 A_NoCanSpawnChildren
      TNT1 A 1 A_RunScript SnakeTailPosition
    SpawnLoop:
      XR39 E 1 A_RunScript SnakeTailPosition
      GoTo SpawnLoop 
    Death:
      XR39 E 2 A_FadeOut10
      XR39 E 2 A_FadeOut10
      XR39 E 2 A_FadeOut10
      XR39 E 2 A_FadeOut10
      XR39 E 2 A_FadeOut10
      Stop
  }
}

///////////////////////////////
// MT_SNAKEDEAMON
///////////////////////////////
ACTOR MT_SNAKEDEAMON 1039
{
  Radius 64
  Height 64
  Health 2500
  Mass 300
  Speed 16
  Gravity 0
  PainChance 64
  SeeSound "radix/SndAlienHum"
  ActiveSound "radix/SndAlienHum"
  Reactiontime 8
  +MF_SOLID
  +MF_SHOOTABLE
  +MF_NOGRAVITY
  +MF_FLOAT
  +MF_COUNTKILL
  +MF_EX_LOOKALLAROUND
  +MF2_EX_DONTINFIGHTMONSTERS
  +MF3_EX_CANSPAWNCHILDREN
  States
  {
    Spawn:
      TNT1 A 1 
      TNT1 A 1 A_SpawnChildEx("MT_SNAKEDEAMON_TAIL", RANDOM(-40,-20), RANDOM(-40,-20), FRANDOM(-2,2))
      TNT1 A 0 A_NoCanSpawnChildren
    SpawnLoop:
      XR39 A 5 A_Look
      GoTo SpawnLoop
    See:
      XR39 A 6 A_Chase
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,0.8)),12)
      XR39 B 6 A_Chase
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,0.8)),12)
      XR39 C 6 A_Chase
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,0.8)),12)
      XR39 B 6 A_Chase
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,0.8)),12)
      Loop
    Melee:
      XR39 B 6 A_FaceTarget
      TNT1 A 0 A_ThrustXY(5,180)
      GoTo See
    Missile:
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,0.8)),8)
      XR39 B 10 A_FaceTarget
      TNT1 A 0 A_MatchTargetZ(0.1,8)
      XR39 C 10 A_CustomMissile("MT_SNAKEDEAMON_SHOT",30,0)
      TNT1 A 0 A_DropFarTarget(2048,128)
      XR39 B 10 A_CPosRefire(80)
      Goto Missile
    Pain:
      XR39 A 10 A_SpawnItemEx("MT_RADIXBIGSMOKE",RANDOM(-10,10),RANDOM(-10,10),RANDOM(30,40),0,0,FRANDOM(1,2),0)
      Goto See
    Death:
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,0,30,0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 AAAAAA 1 A_SpawnItemEx("MT_RADIXBIGSMOKE",RANDOM(-40,40),RANDOM(-40,40),RANDOM(-40,40),0,0,RANDOM(0,2),0)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK1",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(0,59)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK1",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(60,119)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK1",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(120,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK2",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(0,59)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK2",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(60,119)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK2",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(120,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK3",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(0,59)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK3",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(60,119)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK3",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(120,179)*2)
      TNT1 A 1 A_Fall
      TNT1 A 1 A_Gravity(1.0)
      TNT1 A 1 A_HideThing
      TNT1 A -1
      Stop
  }
}

///////////////////////////////
// MT_MINE
///////////////////////////////
ACTOR MT_MINE 1040
{
  Radius 32
  Height 56
  Health 40
  Mass 35
  Speed 8
  TouchDamage 5
  +MF_SOLID
  +MF_SHOOTABLE
  +MF_NOGRAVITY
  +MF_FLOAT
  +MF_COUNTKILL
  +MF_NOBLOOD
  +MF_EX_SPAWNFLOAT
  +MF2_EX_JUMPDOWN
  +MF2_EX_JUMPUP
  +MF3_EX_DAMAGEONPLAYERTOUCH
  +MF3_EX_BOBING
  States
  {
    Spawn:
      XR40 A 5
      XR40 B 5
      XR40 C 5
      XR40 B 5 A_Wander
      Loop
    Death:
      TNT1 A 0 A_Fall
	  TNT1 A 0 A_Gravity(1.0)
      TNT1 A 0 A_NoBobing
      TNT1 A 0 A_PlayerHurtExplode(RANDOMPICK(40,50,60), 48)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXSMALLEXPLOSION",0,0,0,0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK1",0,0,0,RANDOMPICK(-1,1),RANDOMPICK(-1,1),FRANDOM(2,3),RANDOM(0,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK2",0,0,0,RANDOMPICK(-1,1),RANDOMPICK(-1,1),FRANDOM(2,3),RANDOM(0,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK3",0,0,0,RANDOMPICK(-1,1),RANDOMPICK(-1,1),FRANDOM(2,3),RANDOM(0,179)*2)
      TNT1 A 1 A_Fall
      TNT1 A 1 A_Gravity(1.0)
      TNT1 A 1 A_HideThing
      TNT1 A -1
      Stop
  }
}

///////////////////////////////
// MT_ROTATINGRADAR1
///////////////////////////////
ACTOR MT_ROTATINGRADAR1 1041
{
  Radius 32
  Height 56
  Health 100
  Scale 2
  +MF_SOLID 
  +MF_SHOOTABLE 
  +MF_NOBLOOD
  States
  {
    Spawn:
      XR41 A 1 A_Turn(9)
      Loop
    Death:
      TNT1 A 0 A_Fall
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,0,30,0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 AAA 1 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,30,0,0,RANDOM(1,2),0)
      TNT1 A 1 A_Fall
      TNT1 A 1 A_Gravity(1.0)
      TNT1 A 1 A_HideThing
      TNT1 A -1
      Stop
  }
}

///////////////////////////////
// MT_DEFENCEDRONE_STUB3
///////////////////////////////
ACTOR MT_DEFENCEDRONE_STUB3: MT_DEFENCEDRONE_STUB1 1042
{
  Speed 8
}

///////////////////////////////
// MT_SHIELDGENERATOR1
///////////////////////////////
ACTOR MT_SHIELDGENERATOR1 1043
{
  Radius 32
  Height 80
  Health 100
  +MF_SOLID 
  +MF_SHOOTABLE 
  +MF_NOBLOOD
  States
  {
    Spawn:
      XR43 A 10
      XR43 B 10
      XR43 C 10
      XR43 B 10
      Loop
    Death:
      TNT1 A 0 A_Fall
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,0,30,0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 AAA 1 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,30,0,0,RANDOM(1,2),0)
      TNT1 A 1 A_Gravity(1.0)
      TNT1 A 1 A_HideThing
      TNT1 A -1
      Stop
  }
}

///////////////////////////////
// MT_SECONDCOOLAND1
///////////////////////////////
ACTOR MT_SECONDCOOLAND1 1044
{
  Radius 32
  Height 128
  Health 100
  +MF_SOLID 
  +MF_SHOOTABLE 
  +MF_NOBLOOD
  States
  {
    Spawn:
      XR44 A 10
      XR44 B 10
      XR44 C 10
      XR44 B 10
      Loop
    Death:
      TNT1 A 0 A_Fall
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",RANDOM(30,60),RANDOM(20,40),RANDOM(20,80),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",RANDOM(30,60),-1*RANDOM(20,40),RANDOM(20,80),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",-1*RANDOM(30,60),RANDOM(20,40),RANDOM(20,80),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",-1*RANDOM(30,60),-1*RANDOM(20,40),RANDOM(20,80),0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 AAA 1 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,30,0,0,RANDOM(1,2),0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",RANDOM(30,60),RANDOM(20,40),RANDOM(20,80),0,0,RANDOM(1,2),0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",RANDOM(30,60),-1*RANDOM(20,40),RANDOM(20,80),0,0,RANDOM(1,2),0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",-1*RANDOM(30,60),RANDOM(20,40),RANDOM(20,80),0,0,RANDOM(1,2),0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",-1*RANDOM(30,60),-1*RANDOM(20,40),RANDOM(20,80),0,0,RANDOM(1,2),0,0)
      TNT1 A 1 A_Gravity(1.0)
      TNT1 A 1 A_HideThing
      TNT1 A -1
      Stop
  }
}

///////////////////////////////
// MT_BIOMECH_CHUNK
///////////////////////////////
ACTOR MT_BIOMECH_CHUNK
{
  Radius 16
  Height 10
  Health 1000
  Mass 5
  Reactiontime 8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3,4))
      XR45 D -1
    }
  }
}

///////////////////////////////
// MT_BIO_CHUNK1
///////////////////////////////
ACTOR MT_BIO_CHUNK1
{
  Radius 8
  Height 8
  Health 1000
  Mass 5
  Reactiontime 8
  Renderstyle Translucent
  Alpha 0.8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3,4))
      XR45 J RANDOMRANGE(1000,1200)
      XR45 JJJJJJJJ 10 A_FadeOut10
      Stop
    }
  }
}

///////////////////////////////
// MT_BIO_CHUNK2
///////////////////////////////
ACTOR MT_BIO_CHUNK2
{
  Radius 8
  Height 8
  Health 1000
  Mass 5
  Reactiontime 8
  Renderstyle Translucent
  Alpha 0.8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3,4))
      XR45 K RANDOMRANGE(1000,1200)
      XR45 KKKKKKKK 10 A_FadeOut10
      Stop
    }
  }
}

///////////////////////////////
// MT_BIO_CHUNK3
///////////////////////////////
ACTOR MT_BIO_CHUNK3
{
  Radius 8
  Height 8
  Health 1000
  Mass 5
  Reactiontime 8
  Renderstyle Translucent
  Alpha 0.8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3,4))
      XR45 L RANDOMRANGE(1000,1200)
      XR45 LLLLLLLL 10 A_FadeOut10
      Stop
    }
  }
}

///////////////////////////////
// MT_BIO_CHUNK4
///////////////////////////////
ACTOR MT_BIO_CHUNK4
{
  Radius 8
  Height 8
  Health 1000
  Mass 5
  Reactiontime 8
  Renderstyle Translucent
  Alpha 0.8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      TNT1 A 0 A_LimitBounceControl(RANDOMPICK(2,3,4))
      XR45 M RANDOMRANGE(1000,1200)
      XR45 MMMMMMMM 10 A_FadeOut10
      Stop
    }
  }
}

///////////////////////////////
// MT_BIO_CHUNK_SPREADER
///////////////////////////////
ACTOR MT_BIO_CHUNK_SPREADER
{
  Radius 16
  Height 10
  Health 1000
  Mass 5
  Reactiontime 8
  +MF3_EX_FLOORBOUNCE
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Turn(RANDOM(0,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_BIO_CHUNK1",20,20,0,FRANDOM(1,2),FRANDOM(1,2),FRANDOM(1,2))
      TNT1 A 0 A_Turn(90)
      TNT1 A 0 A_SpawnItemEx("MT_BIO_CHUNK2",20,20,0,FRANDOM(1,2),FRANDOM(1,2),FRANDOM(1,2))
      TNT1 A 0 A_Turn(90)
      TNT1 A 0 A_SpawnItemEx("MT_BIO_CHUNK3",20,20,0,FRANDOM(1,2),FRANDOM(1,2),FRANDOM(1,2))
      TNT1 A 0 A_Turn(90)
      TNT1 A 0 A_SpawnItemEx("MT_BIO_CHUNK4",20,20,0,FRANDOM(1,2),FRANDOM(1,2),FRANDOM(1,2))
      TNT1 A 1
      Stop
    }
  }
}

///////////////////////////////
// MT_BIOMECH_BODY
///////////////////////////////
ACTOR MT_BIOMECH_BODY
{
  Radius 48
  Height 24
  Health 1000
  Mass 50
  Reactiontime 8
  States
  {
    Spawn:
    {
      TNT1 A 1 
      TNT1 A 0 A_Jump(128,2)
      XR45 B -1
      XR45 C -1
    }
  }
}

///////////////////////////////
// MT_BIOMECH_EXPLODE
///////////////////////////////
ACTOR "MT_BIOMECH_EXPLODE"
{
  Health 1000
  Radius 40
  Height 40
  Mass 5
  Reactiontime 8
  RenderStyle Transparent
  Alpha 0.8
  Gravity 0
  +MF_NOBLOCKMAP
  +MF_NOGRAVITY
  +MF2_EX_NOHITFLOOR
  +MF2_EX_DONOTRENDERSHADOW
  States
  {
    Spawn:
    {
      TNT1 A 1
      TNT1 A 0 A_Jump(128, 2)
      TNT1 A 0 A_FlipSprite
      XR45 E RANDOMRANGE(2,4) 
      XR45 F RANDOMRANGE(2,4) 
      XR45 G RANDOMRANGE(2,4) 
      TNT1 A 0 A_SpawnItemEx("MT_BIO_CHUNK_SPREADER")
      XR45 H RANDOMRANGE(2,4) A_FadeOut20
      XR45 I RANDOMRANGE(2,4) A_FadeOut20
      Stop
    }
  }
}

///////////////////////////////
// MT_BIOMECHUP
///////////////////////////////
ACTOR MT_BIOMECHUP 1045
{
  Radius 32
  Height 56
  Health 50
  Speed 0
  Mass 60
  TouchDamage 5
  +MF_SOLID
  +MF_SHOOTABLE
  +MF_COUNTKILL
  +MF_NOBLOOD
  +PUSHABLE
  +MF2_EX_DONTINFIGHTMONSTERS
  +MF3_EX_DAMAGEONPLAYERTOUCH
  +MF3_EX_DONTBLOCKSPECIES
  States
  {
    Spawn:
      XR45 A 5 A_VericalLookForPlayers(100,400,128,Missile)
      XR45 A 5 A_VericalLookForPlayers(400,1200,256,Missile)
      Loop
    Missile:
      XR45 A 10 A_VerticalMissileUp("MT_ENEMYLASER",0,0,90,1)
      TNT1 A 0 A_Jump(128,2)
      XR45 A 10 A_VerticalMissileUp("MT_ENEMYLASER",0,0,90,1)
      XR45 A 10 A_VerticalMissileUp("MT_ENEMYLASER",0,0,90,1)
      GoTo Spawn
    Death:
      TNT1 A 0 A_Fall
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",RANDOMPICK(-30,30),RANDOMPICK(-30,30),20,0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",RANDOMPICK(-20,20),RANDOMPICK(-20,20),20,0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,0,RANDOM(25,40),0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 A 0 A_SpawnItemEx("MT_BIOMECH_BODY",0,0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_BIOMECH_EXPLODE",0,0,0,0,0,0)
      TNT1 AAA 1 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,RANDOMPICK(20,25,30,35,40),0,0,RANDOM(1,2),0)
      TNT1 AAAA 1 A_SpawnItemEx("MT_BIOMECH_CHUNK",0,0,RANDOM(20,30),RANDOMPICK(-1,1)*FRANDOM(0.5,1.5),RANDOMPICK(-1,1)*FRANDOM(0.5,1.5),FRANDOM(2,3),RANDOM(0,179)*2)
      TNT1 A 1 A_Gravity(1.0)
      TNT1 A 1 A_HideThing
      TNT1 A -1
  }
}

///////////////////////////////
// MT_ENGINECORE
///////////////////////////////
ACTOR MT_ENGINECORE 1046
{
  Radius 32
  Height 128
  Health 100
  +MF_SOLID 
  +MF_SHOOTABLE 
  +MF_NOBLOOD
  States
  {
    Spawn:
      XR46 A 10
      XR46 B 10
      XR46 C 10
      XR46 B 10
      Loop
    Death:
      TNT1 A 0 A_Fall
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",RANDOM(30,60),RANDOM(20,40),RANDOM(20,80),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",RANDOM(30,60),-1*RANDOM(20,40),RANDOM(20,80),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",-1*RANDOM(30,60),RANDOM(20,40),RANDOM(20,80),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",-1*RANDOM(30,60),-1*RANDOM(20,40),RANDOM(20,80),0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 AAA 1 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,30,0,0,RANDOM(1,2),0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",RANDOM(30,60),RANDOM(20,40),RANDOM(20,80),0,0,RANDOM(1,2),0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",RANDOM(30,60),-1*RANDOM(20,40),RANDOM(20,80),0,0,RANDOM(1,2),0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",-1*RANDOM(30,60),RANDOM(20,40),RANDOM(20,80),0,0,RANDOM(1,2),0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",-1*RANDOM(30,60),-1*RANDOM(20,40),RANDOM(20,80),0,0,RANDOM(1,2),0,0)
      TNT1 A 1 A_Gravity(1.0)
      TNT1 A 1 A_HideThing
      TNT1 A -1
  }
}

///////////////////////////////
// MT_DEFENCEDRONE1
///////////////////////////////
ACTOR MT_DEFENCEDRONE1 1047
{
  Radius 32
  Height 56
  Health 50
  Speed 10
  Mass 100
  Gravity 0
  PainChance 160
  Reactiontime 8
  +MF_SOLID
  +MF_SHOOTABLE
  +MF_NOGRAVITY
  +MF_FLOAT
  +MF_COUNTKILL
  +MF2_EX_DONTINFIGHTMONSTERS
  +MF3_EX_DONTBLOCKSPECIES
  States
  {
    Spawn:
      XR47 A 5 A_Look
      Loop
    See:
      XR47 A 6 A_Chase
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,1)),5)
      XR47 A 6 A_Chase
      Loop
    Missile:
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,1)),10)
      XR47 A 10 A_FaceTarget
      TNT1 A 0 A_MatchTargetZ(0.1,10)
      XR47 A 10 BRIGHT A_CustomMissile("MT_DRONE_SHOT",11,20)
      XR47 A 10 BRIGHT A_CustomMissile("MT_DRONE_SHOT",11,-20)
      TNT1 A 0 A_DropFarTarget(1024,128)
      XR47 A 10 A_CPosRefire
      Goto Missile
    Pain:
      XR47 A 10 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,0,0,0,FRANDOM(1,2),0)
      Goto See
    Death:
      TNT1 A 0 A_SpawnItemEx("MT_RADIXSMALLEXPLOSION",0,0,0,0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,0,0,0,0,0)
      TNT1 A 0 A_Fall
      TNT1 A 0 A_Gravity(1.0)
      TNT1 A 0 A_DroneExplosion
      X085 A 1 A_SpawnItemEx("MT_CHUNK1",0,0,RANDOM(0,20),RANDOMPICK(-3,-2,2,3),RANDOMPICK(-3,-2,2,3),FRANDOM(2,3),RANDOM(0,179)*2)
      X085 A 1 A_Turn(30)
      X085 A 1 A_SpawnItemEx("MT_CHUNK2",0,0,RANDOM(0,20),RANDOMPICK(-3,-2,2,3),RANDOMPICK(-3,-2,2,3),FRANDOM(2,3),RANDOM(0,179)*2)
      X085 A 1 A_Turn(30)
      X085 A 1 A_SpawnItemEx("MT_CHUNK3",0,0,RANDOM(0,20),RANDOMPICK(-3,-2,2,3),RANDOMPICK(-3,-2,2,3),FRANDOM(2,3),RANDOM(0,179)*2)
      X085 A -1
  }
}

///////////////////////////////
// MT_BATTLEDRONE2
///////////////////////////////
ACTOR MT_BATTLEDRONE2: MT_BATTLEDRONE1 1048
{
  Speed 12
}

///////////////////////////////
// MT_MISSILEBOAT2
///////////////////////////////
ACTOR MT_MISSILEBOAT2: MT_MISSILEBOAT1 1049
{
  Speed 10
}

///////////////////////////////
// MT_SKYFIREASSULTFIGHTER2
///////////////////////////////
ACTOR MT_SKYFIREASSULTFIGHTER2: MT_SKYFIREASSULTFIGHTER1 1050
{
  Health 120
}

///////////////////////////////
// MT_SKYFIREASSULTFIGHTER4
///////////////////////////////
ACTOR MT_SKYFIREASSULTFIGHTER4 1051
{
  Radius 64
  Height 32
  Health 150
  Mass 120
  Speed 12
  Gravity 0
  PainChance 160
  Reactiontime 8
  +MF_SOLID
  +MF_SHOOTABLE
  +MF_NOGRAVITY
  +MF_FLOAT
  +MF_COUNTKILL
  +MF2_EX_DONTINFIGHTMONSTERS
  +MF3_EX_DONTBLOCKSPECIES
  States
  {
    Spawn:
      XR51 A 5 A_Look
      Loop
    See:
      XR51 A 6 A_Chase
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,0.5)),5)
      XR51 A 6 A_Chase
      Loop
    Missile:
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,0.5)),8)
      XR51 A 10 A_FaceTarget
      TNT1 A 0 A_MatchTargetZ(0.1,8)
      XR51 A 10 BRIGHT A_CustomMissile("MT_ENEMYSEEKERMISSILE",6,48)
      TNT1 A 0 A_MatchTargetZ(0.1,8)
      XR51 A 10 A_FaceTarget
      TNT1 A 0 A_Jump(128,2)
      XR51 A 10 BRIGHT A_CustomMissile("MT_ENEMYSEEKERMISSILE",6,-48)
      TNT1 A 0 A_DropFarTarget(1536,128)
      XR51 A 10 A_CPosRefire(60)
      Goto Missile
    Pain:
      XR51 A 10 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,0,0,0,FRANDOM(1,2),0)
      Goto See
    Death:
      TNT1 A 0 A_SpawnItemEx("MT_RADIXSMALLEXPLOSION",0,0,0,0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_SKYFIRE_CHUNK1",0,-20,0,RANDOMPICK(-1,1),RANDOMPICK(-3,-2),RANDOMPICK(1,2),RANDOMPICK(355,0,5))
      TNT1 A 0 A_SpawnItemEx("MT_SKYFIRE_CHUNK1",0,20,0,RANDOMPICK(-1,1),RANDOMPICK(3,2),RANDOMPICK(1,2),RANDOMPICK(175,180,185))
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK1",0,0,0,RANDOMPICK(-2,-1,1,2),RANDOMPICK(-2,-1,1,2),RANDOMPICK(2,3),RANDOM(0,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK2",0,0,0,RANDOMPICK(-2,-1,1,2),RANDOMPICK(-2,-1,1,2),RANDOMPICK(2,3),RANDOM(0,179)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK3",0,0,0,RANDOMPICK(-2,-1,1,2),RANDOMPICK(-2,-1,1,2),RANDOMPICK(2,3),RANDOM(0,179)*2)
      XR35 C 1 A_Fall
      XR35 C 1 A_Gravity(1.0)
      XR35 C -1
      Stop
  }
}

///////////////////////////////
// MT_BIOMECH
///////////////////////////////
ACTOR MT_BIOMECH 1052
{
  Radius 32
  Height 56
  Health 50
  Mass 60
  Speed 6
  PainChance 160
  Reactiontime 8
  TouchDamage 5
  Gravity 0
  +MF_SOLID
  +MF_SHOOTABLE
  +MF_COUNTKILL
  +MF_NOBLOOD
  +MF_NOGRAVITY
  +MF_FLOAT
  +PUSHABLE
  +MF2_EX_DONTINFIGHTMONSTERS
  +MF2_EX_JUMPDOWN
  +MF2_EX_JUMPUP
  +MF3_EX_DAMAGEONPLAYERTOUCH
  +MF3_EX_DONTBLOCKSPECIES
  States
  {
    Spawn:
      XR52 A 10 A_Look
      Loop
    See:
      XR52 A 5 A_Chase
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,0.2)),16,1)
      XR52 A 5 A_Chase
      TNT1 A 0 A_Jump(128,"Missile")
      XR52 A 5 A_Chase
      Loop
    Missile:
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,0.2)),16,1)
      XR52 A 10 A_FaceTarget
      XR52 A 10 A_CustomMissile("MT_ENEMYLASER",28,15)
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,0.2)),16,1)
      XR52 A 10 A_FaceTarget
      XR52 A 10 A_CustomMissile("MT_ENEMYLASER",28,-15)
      TNT1 A 0 A_DropFarTarget(2048,128)
      XR52 A 10 A_CPosRefire(60)
      Goto Missile
    Pain:
      XR52 A 10 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,RANDOMPICK(20,25),0,0,RANDOM(1,2),0)
      GoTo See
    Death:
      TNT1 A 0 A_Fall
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",RANDOMPICK(-20,20),RANDOMPICK(-20,20),20,0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",RANDOMPICK(-10,10),RANDOMPICK(-10,10),20,0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,0,RANDOM(25,40),0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 A 0 A_SpawnItemEx("MT_BIOMECH_BODY",0,0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_BIOMECH_EXPLODE",0,0,0,0,0,0)
      TNT1 AAA 1 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,RANDOMPICK(20,25,30,35,40),0,0,RANDOM(1,2),0)
      TNT1 AAAA 1 A_SpawnItemEx("MT_BIOMECH_CHUNK",0,0,RANDOM(20,30),RANDOMPICK(-1,1)*FRANDOM(0.5,1.5),RANDOMPICK(-1,1)*FRANDOM(0.5,1.5),FRANDOM(2,3),RANDOM(0,179)*2)
      TNT1 A 1 A_Gravity(1.0)
      TNT1 A 1 A_HideThing
      TNT1 A -1
      Stop
  }
}

///////////////////////////////
// MT_DEFENCEDRONE2
///////////////////////////////
ACTOR MT_DEFENCEDRONE2 1053
{
  Radius 32
  Height 56
  Health 50
  Speed 10
  Mass 100
  Gravity 0
  PainChance 160
  Reactiontime 8
  TouchDamage 2
  PatrolRange 4096
  +MF_SOLID
  +MF_SHOOTABLE
  +MF_NOGRAVITY
  +MF_FLOAT
  +MF_COUNTKILL
  +MF2_EX_DONTINFIGHTMONSTERS
  +MF3_EX_LIMITPATROLRANGE
  +MF3_EX_DONTBLOCKSPECIES
  States
  {
    Spawn:
      XR53 A 5 A_Look
      Loop
    See:
      XR53 A 6 A_Chase
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,1)),5)
      XR53 A 6 A_Chase
      Loop
    Missile:
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,1)),10)
      XR53 A 10 A_FaceTarget
      TNT1 A 0 A_MatchTargetZ(0.1,10)
      XR53 A 10 BRIGHT A_CustomMissile("MT_DRONE_SHOT",11,20)
      XR53 A 10 A_FaceTarget
      XR53 A 10 BRIGHT A_CustomMissile("MT_DRONE_SHOT",11,-20)
      TNT1 A 0 A_DropFarTarget(1024,128)
      XR53 A 10 A_CPosRefire
      Goto Missile
    Pain:
      XR53 A 10 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,0,0,0,FRANDOM(1,2),0)
      Goto See
    Death:
      TNT1 A 0 A_SpawnItemEx("MT_RADIXSMALLEXPLOSION",0,0,0,0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,0,0,0,0,0)
      X085 A 1 A_Fall
      X085 A 1 A_Gravity(1.0)
      TNT1 A 0 A_DroneExplosion
      X085 A -1
      Stop
  }
}

///////////////////////////////
// MT_RUI
///////////////////////////////
ACTOR MT_RUI 1054
{
  Radius 32
  Height 56
  Health 30
  Mass 30
  Painchance 255
  TouchDamage 4
  +MF_NOGRAVITY
  +MF_FLOAT
  +MF_SOLID
  +MF_SHOOTABLE
  States
  {
    Spawn:
      XR54 A 10
      XR54 B 10
      XR54 C 10
      XR54 B 10
      Loop
    Pain:
      XR54 A 10 A_SpawnItemEx("MT_BLOODSPLAT",RANDOMPICK(-10,0,10),0,RANDOM(25,40))
      XR54 B 10
      XR54 C 10
      XR54 B 10
      GoTo Spawn
    Death:
      XR54 D 5 A_Fall
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,0,RANDOM(25,40),0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      XR54 E 5
      XR54 F 5
      TNT1 A 0 A_SpawnItemEx("MT_BIO_CHUNK_SPREADER")
      XR54 G 5
      XR54 H -1
    XDeath:
      XR54 D 5 A_Fall
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",RANDOMPICK(-20,20),RANDOMPICK(-20,20),20,0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",RANDOMPICK(-10,10),RANDOMPICK(-10,10),20,0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,0,RANDOM(25,40),0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      XR54 E 5
      XR54 F 5
      TNT1 A 0 A_SpawnItemEx("MT_BIO_CHUNK_SPREADER")
      XR54 G 5
      XR54 H -1
      Stop
  }
}

///////////////////////////////
// MT_SHIELDGENERATOR2
///////////////////////////////
ACTOR MT_SHIELDGENERATOR2 1055
{
  Radius 32
  Height 128
  Health 100
  +MF_SOLID 
  +MF_SHOOTABLE 
  +MF_NOBLOOD
  States
  {
    Spawn:
      XR55 A 10
      XR55 B 10
      XR55 C 10
      XR55 B 10
      Loop
    Death:
      TNT1 A 0 A_Fall
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",RANDOM(20,40),RANDOM(20,40),RANDOM(20,80),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",RANDOM(20,40),-1*RANDOM(20,40),RANDOM(20,80),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",-1*RANDOM(20,40),RANDOM(20,40),RANDOM(20,80),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",-1*RANDOM(20,40),-1*RANDOM(20,40),RANDOM(20,80),0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 AAA 1 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,30,0,0,RANDOM(1,2),0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",RANDOM(20,40),RANDOM(20,40),RANDOM(20,80),0,0,RANDOM(1,2),0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",RANDOM(20,40),-1*RANDOM(20,40),RANDOM(20,80),0,0,RANDOM(1,2),0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",-1*RANDOM(20,40),RANDOM(20,40),RANDOM(20,80),0,0,RANDOM(1,2),0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",-1*RANDOM(20,40),-1*RANDOM(20,40),RANDOM(20,80),0,0,RANDOM(1,2),0,0)
      TNT1 A 1 A_Gravity(1.0)
      TNT1 A 1 A_HideThing
      TNT1 A -1
      Stop
  }
}

///////////////////////////////
// MT_COOLANDGENERATOR
///////////////////////////////
ACTOR MT_COOLANDGENERATOR 1056
{
  Radius 32
  Height 128
  Health 100
  +MF_SOLID 
  +MF_SHOOTABLE 
  +MF_NOBLOOD
  States
  {
    Spawn:
      XR56 A 10
      XR56 B 10
      XR56 C 10
      XR56 B 10
      Loop
    Death:
      TNT1 A 0 A_Fall
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",RANDOM(20,40),RANDOM(20,40),RANDOM(20,80),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",RANDOM(20,40),-1*RANDOM(20,40),RANDOM(20,80),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",-1*RANDOM(20,40),RANDOM(20,40),RANDOM(20,80),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",-1*RANDOM(20,40),-1*RANDOM(20,40),RANDOM(20,80),0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 AAA 1 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,30,0,0,RANDOM(1,2),0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",RANDOM(20,40),RANDOM(20,40),RANDOM(20,80),0,0,RANDOM(1,2),0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",RANDOM(20,40),-1*RANDOM(20,40),RANDOM(20,80),0,0,RANDOM(1,2),0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",-1*RANDOM(20,40),RANDOM(20,40),RANDOM(20,80),0,0,RANDOM(1,2),0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",-1*RANDOM(20,40),-1*RANDOM(20,40),RANDOM(20,80),0,0,RANDOM(1,2),0,0)
      TNT1 A 1 A_Gravity(1.0)
      TNT1 A 1 A_HideThing
      TNT1 A -1
      Stop
  }
}

///////////////////////////////
// MT_ROTATINGRADAR2
///////////////////////////////
ACTOR MT_ROTATINGRADAR2 1057
{
  Radius 64
  Height 80
  Health 100
  Scale 4
  +MF_SOLID 
  +MF_SHOOTABLE 
  +MF_NOBLOOD
  States
  {
    Spawn:
      XR57 A 1 A_Turn(9)
      Loop
    Death:
      TNT1 A 0 A_Fall
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",RANDOM(20,40),RANDOM(20,40),RANDOM(20,60),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",RANDOM(20,40),-1*RANDOM(20,40),RANDOM(20,60),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",-1*RANDOM(20,40),RANDOM(20,40),RANDOM(20,60),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",-1*RANDOM(20,40),-1*RANDOM(20,40),RANDOM(20,60),0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 AAA 1 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,30,0,0,RANDOM(1,2),0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",RANDOM(20,40),RANDOM(20,40),RANDOM(20,60),0,0,RANDOM(1,2),0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",RANDOM(20,40),-1*RANDOM(20,40),RANDOM(20,60),0,0,RANDOM(1,2),0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",-1*RANDOM(20,40),RANDOM(20,40),RANDOM(20,60),0,0,RANDOM(1,2),0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",-1*RANDOM(20,40),-1*RANDOM(20,40),RANDOM(20,60),0,0,RANDOM(1,2),0,0)
      TNT1 A 1 A_Gravity(1.0)
      TNT1 A 1 A_HideThing
      TNT1 A -1
      Stop
  }
}

///////////////////////////////
// MT_MISSILEBOAT_STUB
///////////////////////////////
ACTOR MT_MISSILEBOAT_STUB: MT_MISSILEBOAT1 1058
{
  PatrolRange 1024
  +MF3_EX_LIMITPATROLRANGE
  Health 120
}

///////////////////////////////
// MT_BATTLEDRONE3
///////////////////////////////
ACTOR MT_BATTLEDRONE3: MT_BATTLEDRONE1 1059
{
  Speed 14
  Health 40
}

///////////////////////////////
// MT_ROTATINGLIGHT
///////////////////////////////
ACTOR MT_ROTATINGLIGHT 1060
{
  Radius 16
  Height 48
  Health 30
  Mass 20
  TouchDamage 4
  +MF_SOLID
  +MF_SHOOTABLE
  +MF_NOBLOOD
  States
  {
    Spawn:
      XR60 HGFEDCBA 3
      Loop
    Death:
      XR60 I 1 A_Fall
      XR60 I 1 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,20,0,0,RANDOM(1,2),0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXSMALLEXPLOSION",0,0,20,0,0,0,0,0)
      XR60 I 1 A_AmbientSound(0,0,"radix/SndExplode")
      XR60 I 1 A_SpawnItemEx("MT_METALCHUNK1",0,0,20,RANDOMPICK(1,2),RANDOMPICK(1,2),RANDOMPICK(2,3))
      TNT1 A 0 A_Turn(120)
      XR60 I 1 A_SpawnItemEx("MT_METALCHUNK2",0,0,20,RANDOMPICK(1,2),RANDOMPICK(1,2),RANDOMPICK(2,3))
      TNT1 A 0 A_Turn(120)
      XR60 I 1 A_SpawnItemEx("MT_METALCHUNK3",0,0,20,RANDOMPICK(1,2),RANDOMPICK(1,2),RANDOMPICK(2,3))
      XR60 I -1
    XDeath:
      TNT1 A 1 A_Fall
      TNT1 A 1 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,20,0,0,RANDOM(1,2),0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,0,20,0,0,0,0,0)
      TNT1 A 1 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 A 1 A_SpawnItemEx("MT_METALCHUNK1",0,0,20,RANDOMPICK(1,2),RANDOMPICK(1,2),RANDOMPICK(2,3))
      TNT1 A 0 A_Turn(60)
      TNT1 A 1 A_SpawnItemEx("MT_METALCHUNK2",0,0,20,RANDOMPICK(1,2),RANDOMPICK(1,2),RANDOMPICK(2,3))
      TNT1 A 0 A_Turn(60)
      TNT1 A 1 A_SpawnItemEx("MT_METALCHUNK3",0,0,20,RANDOMPICK(1,2),RANDOMPICK(1,2),RANDOMPICK(2,3))
      TNT1 A 0 A_Turn(60)
      TNT1 A 1 A_SpawnItemEx("MT_METALCHUNK1",0,0,20,RANDOMPICK(1,2),RANDOMPICK(1,2),RANDOMPICK(2,3))
      TNT1 A 0 A_Turn(60)
      TNT1 A 1 A_SpawnItemEx("MT_METALCHUNK2",0,0,20,RANDOMPICK(1,2),RANDOMPICK(1,2),RANDOMPICK(2,3))
      TNT1 A 0 A_Turn(60)
      TNT1 A 1 A_SpawnItemEx("MT_METALCHUNK3",0,0,20,RANDOMPICK(1,2),RANDOMPICK(1,2),RANDOMPICK(2,3))
      TNT1 A 1 A_Gravity(1.0)
      TNT1 A 1 A_HideThing
      TNT1 A -1
      Stop
  }
}

///////////////////////////////
// MT_EGG
///////////////////////////////
ACTOR MT_EGG 1061
{
  Radius 32
  Height 48
  Health 30
  Mass 50
  TouchDamage 4
  +MF_SOLID
  +MF_SHOOTABLE
  +MF_NOBLOOD
  +MF_COUNTKILL
  States
  {
    Spawn:
      XR61 A 10
      Loop
    Death:
      XR61 B 5 A_Fall
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,20,0,0,RANDOM(1,2),0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplodeOther")
      XR61 B 5
      XR61 B 5 A_SpawnItemEx("MT_BIO_CHUNK_SPREADER",0,0,30)
      TNT1 A 0 A_Turn(180+Random(20,40)-Random(20,40))
      XR61 B 5 A_SpawnItemEx("MT_BIO_CHUNK_SPREADER",0,0,30)
      XR61 B -1
      Stop
  }
}

///////////////////////////////
// MT_RADIXBARREL_CHUNK
///////////////////////////////
ACTOR MT_RADIXBARREL_CHUNK
{
  Radius 24
  Height 32
  Health 1000
  Mass 30
  States
  {
    Spawn:
      XR62 C 2 A_GoTo(IF(val(z)=val(floorz),256,0),Stop1)
      TNT1 A 0 A_BarrelExplosion
      XR62 C 3 A_GoTo(IF(val(z)=val(floorz),256,0),Stop1)
      TNT1 A 0 A_BarrelExplosion
      XR62 D 2 A_GoTo(IF(val(z)=val(floorz),256,0),Stop1)
      TNT1 A 0 A_BarrelExplosion
      XR62 D 3 A_GoTo(IF(val(z)=val(floorz),256,0),Stop1)
      TNT1 A 0 A_BarrelExplosion
      XR62 E 2 A_GoTo(IF(val(z)=val(floorz),256,0),Stop1)
      TNT1 A 0 A_BarrelExplosion
      XR62 E 3 A_GoTo(IF(val(z)=val(floorz),256,0),Stop1)
      TNT1 A 0 A_BarrelExplosion
      XR62 F 2 A_GoTo(IF(val(z)=val(floorz),256,0),Stop2)
      TNT1 A 0 A_BarrelExplosion
      XR62 F 3 A_GoTo(IF(val(z)=val(floorz),256,0),Stop2)
      TNT1 A 0 A_BarrelExplosion
      XR62 G 2 A_GoTo(IF(val(z)=val(floorz),256,0),Stop2)
      TNT1 A 0 A_BarrelExplosion
      XR62 G 3 A_GoTo(IF(val(z)=val(floorz),256,0),Stop2)
      TNT1 A 0 A_BarrelExplosion
      XR62 H 2 A_GoTo(IF(val(z)=val(floorz),256,0),Stop2)
      TNT1 A 0 A_BarrelExplosion
      XR62 H 3 A_GoTo(IF(val(z)=val(floorz),256,0),Stop2)
      TNT1 A 0 A_BarrelExplosion
      XR62 I 2 A_GoTo(IF(val(z)=val(floorz),256,0),Stop3)
      TNT1 A 0 A_BarrelExplosion
      XR62 I 3 A_GoTo(IF(val(z)=val(floorz),256,0),Stop3)
      TNT1 A 0 A_BarrelExplosion
      XR62 J 2 A_GoTo(IF(val(z)=val(floorz),256,0),Stop3)
      TNT1 A 0 A_BarrelExplosion
      XR62 J 3 A_GoTo(IF(val(z)=val(floorz),256,0),Stop3)
      TNT1 A 0 A_BarrelExplosion
      GoTo Spawn
    Stop1:
      TNT1 A 0 A_PlaySound("radix/SndPlaneHit")
      XR62 K -1
    Stop2:
      TNT1 A 0 A_PlaySound("radix/SndPlaneHit")
      XR62 L -1
    Stop3:
      TNT1 A 0 A_PlaySound("radix/SndPlaneHit")
      XR62 M -1
      Stop
  }
}

///////////////////////////////
// MT_RADIXBARREL
///////////////////////////////
ACTOR MT_RADIXBARREL 1062
{
  Radius 24
  Height 56
  Health 30
  Mass 50
  PainChance 255
  +MF_SOLID
  +MF_SHOOTABLE
  +MF_NOBLOOD
  +MF_COUNTKILL
  States
  {
    Spawn:
      XR62 A 10
      Loop
    Pain:
      XR62 A 5 A_SpawnItemEx("MT_SPARKS",RANDOMPICK(-10,0,10),0,RANDOM(20,40))
      GoTo Spawn
    Death:
      XR62 B 5 A_Fall
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBARREL_CHUNK",0,10,0,RANDOMPICK(-1,1)*FRANDOM(0.2,0.3),RANDOMPICK(-1,1)*FRANDOM(0.2,0.3),FRANDOM(22,28))
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,20,0,0,RANDOM(1,2),0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndScrape")
      XR62 B -1
      Stop
  }
}

///////////////////////////////
// MT_DOZZER_CHUNK
///////////////////////////////
ACTOR MT_DOZZER_CHUNK
{
  Radius 48
  Height 56
  Health 1000
  Mass 80
  States
  {
    Spawn:
      XR63 A 5
    Spawn1:
      XR63 A 5 A_GoTo(IF(val(z)=val(floorz),256,0),Stop1)
      GoTo Spawn1
    Stop1:
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,20,0,0,RANDOM(2,3),0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,0,RANDOM(20,30),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,-30,RANDOM(15,25),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,30,RANDOM(15,25),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,-50,RANDOM(10,20),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,50,RANDOM(10,20),0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK1",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(0,59)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK2",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(60,119)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK3",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(120,179)*2)
      TNT1 A 0 A_Turn(120)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK1",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(0,59)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK2",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(60,119)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK3",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(120,179)*2)
      TNT1 A 0 A_Turn(120)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK1",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(0,59)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK2",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(60,119)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK3",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(120,179)*2)
      TNT1 A 1
      Stop
  }
}

///////////////////////////////
// MT_DOZZER
///////////////////////////////
ACTOR MT_DOZZER 1063
{
  Radius 48
  Height 56
  Health 40
  Mass 80
  PainChance 255
  +MF_SOLID
  +MF_SHOOTABLE
  +MF_NOBLOOD
  +MF_COUNTKILL
  States
  {
    Spawn:
      XR63 A 10
      Loop
    Pain:
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndScrape")
      XR63 A 5 A_SpawnItemEx("MT_SPARKS",RANDOMPICK(-20,-10,0,10,20),0,RANDOM(20,40))
      GoTo Spawn
    Death:
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,20,0,0,RANDOM(2,3),0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,0,RANDOM(20,30),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,-20,RANDOM(15,25),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,20,RANDOM(15,25),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,-30,RANDOM(10,20),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,30,RANDOM(10,20),0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      XR63 A 3 A_Fall
      TNT1 A 0 A_SpawnItemEx("MT_DOZZER_CHUNK",0,0,1,RANDOMPICK(-1,1)*FRANDOM(0.2,0.3),RANDOMPICK(-1,1)*FRANDOM(0.2,0.3),FRANDOM(20,24))
      TNT1 A 1 A_Gravity(1.0)
      TNT1 A 1 A_HideThing
      TNT1 A -1
      Stop
  }
}

///////////////////////////////
// MT_LIFT_CHUNK
///////////////////////////////
ACTOR MT_LIFT_CHUNK
{
  Radius 48
  Height 56
  Health 1000
  Mass 80
  States
  {
    Spawn:
      XR64 A 5
    Spawn1:
      XR64 A 5 A_GoTo(IF(val(z)=val(floorz),256,0),Stop1)
      GoTo Spawn1
    Stop1:
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,20,0,0,RANDOM(2,3),0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,0,RANDOM(20,30),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,-30,RANDOM(15,25),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,30,RANDOM(15,25),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,-50,RANDOM(10,20),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,50,RANDOM(10,20),0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK1",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(0,59)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK2",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(60,119)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK3",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(120,179)*2)
      TNT1 A 0 A_Turn(120)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK1",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(0,59)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK2",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(60,119)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK3",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(120,179)*2)
      TNT1 A 0 A_Turn(120)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK1",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(0,59)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK2",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(60,119)*2)
      TNT1 A 0 A_SpawnItemEx("MT_CHUNK3",0,0,RANDOM(20,50),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(-3,-2,-1,1,2,3),RANDOMPICK(2,3),RANDOM(120,179)*2)
      TNT1 A 1
      Stop
  }
}

///////////////////////////////
// MT_LIFT
///////////////////////////////
ACTOR MT_LIFT 1064
{
  Radius 48
  Height 56
  Health 40
  Mass 80
  PainChance 255
  +MF_SOLID
  +MF_SHOOTABLE
  +MF_NOBLOOD
  +MF_COUNTKILL
  States
  {
    Spawn:
      XR64 A 10
      Loop
    Pain:
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndScrape")
      XR64 A 5 A_SpawnItemEx("MT_SPARKS",RANDOMPICK(-20,-10,0,10,20),0,RANDOM(20,40))
      GoTo Spawn
    Death:
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,20,0,0,RANDOM(2,3),0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,0,RANDOM(20,30),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,-20,RANDOM(15,25),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,20,RANDOM(15,25),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,-30,RANDOM(10,20),0,0,0,0,0)
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,30,RANDOM(10,20),0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      XR64 A 3 A_Fall
      TNT1 A 0 A_SpawnItemEx("MT_LIFT_CHUNK",0,0,1,RANDOMPICK(-1,1)*FRANDOM(0.2,0.3),RANDOMPICK(-1,1)*FRANDOM(0.2,0.3),FRANDOM(20,24))
      TNT1 A 1 A_Gravity(1.0)
      TNT1 A 1 A_HideThing
      TNT1 A -1
      Stop
  }
}

///////////////////////////////
// MT_SECONDCOOLAND2
///////////////////////////////
ACTOR MT_SECONDCOOLAND2 1065
{
  Radius 32
  Height 56
  +NOGRAVITY
  +FLOAT
  +PUSHABLE
  States
  {
  Spawn:
    XR65 A -1
    Stop
  }
}

///////////////////////////////
// MT_SECONDCOOLAND3
///////////////////////////////
ACTOR MT_SECONDCOOLAND3 1066
{
  Radius 32
  Height 56
  +NOGRAVITY
  +FLOAT
  +PUSHABLE
  States
  {
  Spawn:
    XR66 A -1
    Stop
  }
}

///////////////////////////////
// MT_HELPERDRONE
///////////////////////////////
ACTOR MT_HELPERDRONE 888
{
  Radius 24
  Height 30
  Health 500
  Speed 14
  Mass 100
  Gravity 0
  PainChance 255
  +MF_SOLID
  +MF_SHOOTABLE
  +MF_NOGRAVITY
  +MF_FLOAT
  +MF_NOBLOOD
  +MF2_EX_DONTBLOCKPLAYER
  +MF3_EX_DONTBLOCKSPECIES
  States
  {
    Spawn:
      PLAY A 10 A_Look
      PLAY A 10 A_Look
      PLAY A 10 A_Look
      PLAY A 10 A_Look
      TNT1 A 0 A_Turn(RANDOMPICK(-45,0,45))
      PLAY A 10 A_Look
      Loop
    See:
    {
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,0.2)),64)
      PLAY A 2 A_Chase
      PLAY A 2 A_Chase
      PLAY A 2 A_Chase
      PLAY A 2 A_Chase
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,0.2)),64)
      PLAY A 2 A_Chase
      PLAY A 2 A_Chase
      PLAY A 2 A_Chase
      PLAY A 2 A_Chase
      Loop
    }
    Missile:
      TNT1 A 0 A_MatchTargetZ(IF(Abs(momz)>2,0,FRANDOM(0.1,0.2)),64)
      PLAY A 10 A_FaceTarget
      TNT1 A 0 A_MatchTargetZ(0.1,10)
      PLAY A 10 BRIGHT A_CustomMissile("MT_ALDSLASER",11,20)
      TNT1 A 0 A_FaceTarget
      PLAY A 10 BRIGHT A_CustomMissile("MT_ALDSLASER",11,-20)
      TNT1 A 0 A_DropFarTarget(1536,128)
      PLAY A 10 A_CPosRefire
      Goto Missile
    Pain:
      PLAY A 5 A_SpawnItemEx("MT_SPARKS",RANDOMPICK(-10,0,10),0,RANDOM(20,40))
      GoTo Spawn
    Death:
      PLAY A 5 A_Fall
      TNT1 A 0 A_SpawnItemEx("MT_RADIXBIGEXPLOSION",0,-30,RANDOM(10,20),0,0,0,0,0)
      TNT1 A 0 A_AmbientSound(0,0,"radix/SndExplode")
      PLAY AAAAA 1 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,20,0,0,RANDOM(1,2),0,0)
    SmokingDeath:
      PLAY A 10 A_SpawnItemEx("MT_RADIXBIGSMOKE",0,0,20,0,0,RANDOM(1,2),0,0)
      GoTo SmokingDeath
  }
}
