actor OrganicTurret : ZBaseActorMetal 19149
{
  obituary "%o was spotted by the turret and pierced by it's laser."
  health 100
  radius 16
  height 32
  speed 0
  Mass 10000000
  deathsound "rpg/blowup"
  MONSTER
  damagefactor "AlienzShrinker", 0.0
  damagefactor "Shrinkerhit", 0.0
  damagefactor "Explosion", 0.50
  damagefactor "RocketExplosion", 0.50
  damagefactor "ShellExplosion", 0.70
  damagefactor "Shrinker", 1.0
  damagefactor "Expander", 0.25
  damagefactor "Fire", 0.4
  damagefactor "BulletFlame", 0.4
  damagefactor "Plasma", 1.3
  damagefactor "MicrowaveBlast", 500.0
  painchance 256
  painchance "Fire", 10
  painchance "BulletFlame", 10
  painchance "PlasmaSpark", 256
  +FLOORCLIP
  +LOOKALLAROUND
  +NOBLOOD
  +MISSILEMORE
  +MISSILEEVENMORE
  +NOICEDEATH
  +NOGRAVITY
  +SPAWNCEILING
  +CEILINGHUGGER
  +DONTFALL
  +DOHARMSPECIES
  +NOINFIGHTSPECIES
  +DONTHARMCLASS
  WoundHealth 10
  states
  {
  Spawn:
    LTUR A 4 {A_Look; if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    goto See
  See:
    LTUR A 1
    "####" "#" 0
    LTUR A 4 {A_Chase; if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    loop
  Missile:
    LTUR AA 4 {A_FaceTarget; if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    "####" "#" 0 A_PlayWeaponSound("alien/attack")
    "####" "#" 0 A_CustomMissile("MuzzleFlashMedium",32,0,0)
    LTUR B 4 bright {A_CustomMissile("TurrentBullet",9,6); if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR B 4 bright {if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR AA 3 {A_FaceTarget; if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    "####" "#" 0 A_PlayWeaponSound("alien/attack")
    "####" "#" 0 A_CustomMissile("MuzzleFlashMedium",32,0,0)
    LTUR C 4 bright {A_CustomMissile("TurrentBullet",9,-6); if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR C 4 bright {if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR AA 3 {A_FaceTarget; if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    "####" "#" 0 A_PlayWeaponSound("alien/attack")
    "####" "#" 0 A_CustomMissile("MuzzleFlashMedium",32,0,0)
    LTUR B 4 bright {A_CustomMissile("TurrentBullet",9,6); if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR B 4 bright {if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR AA 4 {A_FaceTarget; if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    "####" "#" 0 A_PlayWeaponSound("alien/attack")
    "####" "#" 0 A_CustomMissile("MuzzleFlashMedium",32,0,0)
    LTUR B 4 bright {A_CustomMissile("TurrentBullet",9,6); if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR B 4 bright {if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR AA 3 {A_FaceTarget; if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    "####" "#" 0 A_PlayWeaponSound("alien/attack")
    "####" "#" 0 A_CustomMissile("MuzzleFlashMedium",32,0,0)
    LTUR C 4 bright {A_CustomMissile("TurrentBullet",9,-6); if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR C 4 bright {if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR AA 3 {A_FaceTarget; if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    "####" "#" 0 A_PlayWeaponSound("alien/attack")
    "####" "#" 0 A_CustomMissile("MuzzleFlashMedium",32,0,0)
    LTUR B 4 bright {A_CustomMissile("TurrentBullet",9,6); if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR B 4 bright {if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR AA 4 {if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    goto See
  Pain.FakeExplosion:
    LTUR A random(50,100)
    goto Spawn
  Pain:
    "####" "#" 0 A_SpawnDebris("DukeMechParticle", FALSE, 1.0, 1.0)
    LTUR E 1 {if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR FGH 1
    LTUR I 1 {if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR JKL 1
    LTUR E 1 {if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR FGH 1
    LTUR I 1 {if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR JKL 1
    LTUR E 1 {if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR FGH 1
    LTUR I 1 {if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR JKL 1
    LTUR E 1 {if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR FGH 1
    LTUR I 1 {if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR JKL 1
    LTUR E 1 {if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR FGH 1
    LTUR I 1 {if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR JKL 1
    LTUR E 1 {if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR FGH 1
    LTUR I 1 {if (health > 25) {return;} A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LTUR JKL 1
    LTUR A 1
    goto See
  Death.Plasma:
    "####" "#" 0 A_SpawnItemEx("DukePlasmaExplosion",0,0,32,0,0,0,0,1,0)
  Death:
    "####" "#" 0 {A_Changeflag("NOGRAVITY",0); A_Changeflag("SPAWNCEILING",0); A_Changeflag("CEILINGHUGGER",0); A_Changeflag("DONTFALL",0); A_UnsetShootable; A_UnsetSolid; }
    "####" "#" 0 A_SpawnDebris("MetalGibs1", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("MetalGibs2", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("MetalGibs3", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("MetalGibs4", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnDebris("MetalGibs5", FALSE, 1.0, 1.0)
    "####" "#" 0 A_SpawnItemEx("PigFlyerExplosion",0,0,0,0,0,0,0,0)
    "####" "#" 0 A_Scream
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_KeenDie
    "####" "#" 0 A_Explode(128,180)
    "####" "#" 0 A_PlaySound("rpg/blowup")
    "####" "#" 0 A_PlayWeaponSound("rpg/blowup")
    TNT1 A 35 A_SpawnItemEx("RPGExplosion",0,0,0,0,0,0,0,0)
    stop	
  }
}

actor TurrentBullet : AlienBullet
{
  Damage (12)
}