actor RobotLame : ZBaseActorMetal 19348
{
  obituary "%o was perforated by a Lame Robot."
  health 150
  radius 20
  height 59
  mass 1000
  speed 7
  scale 0.8
  seesound "robotlame/see"
  painsound "robotlame/pain"
  deathsound "robotlame/die"
  activesound "dukinator/see2"
  dropitem "PlasmaCannonAmmo" 96 20
  dropitem "Plasma Cannon" 32
  MONSTER
  +FLOORCLIP
  +MISSILEMORE
  +NOICEDEATH
  +NOBLOOD
  damagefactor "Shrinker", 0.0
  damagefactor "Expander", 0.1
  damagefactor "AlienzShrinker", 0.0
  damagefactor "Shrinkerhit", 0.0
  damagefactor "Explosion", 0.5
  damagefactor "RocketExplosion", 0.5
  damagefactor "ShellExplosion", 0.7
  damagefactor "Fire", 0.2
  damagefactor "BulletFlame", 0.2
  damagefactor "Plasma", 1.3
  damagefactor "MicrowaveBlast", 1.3
  painchance 64
  painchance "Fire", 10
  painchance "BulletFlame", 10
  painchance "PlasmaSpark", 256
  painchance "MicrowaveBlast", 256
  Species "RobotLames"
  +DOHARMSPECIES
  +NOINFIGHTSPECIES
  +DONTHARMCLASS
  WoundHealth 10
  states
  {
  Spawn:
    LROB E 8 {A_Look; if (health > 38) {return;} A_CustomMissile("FlameTrailsSmall1", 30, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    loop
  See:
    LROB B 5 {if (health > 38) {return;} A_CustomMissile("FlameTrailsSmall1", 30, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LROB B 1 A_PlaySound("dukinator/see2", 0)
  See2:
    LROB AABBCCDD 3 {A_Chase; if (health > 38) {return;} A_CustomMissile("FlameTrailsSmall1", 30, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    loop
  Melee:
    LROB HHH 3 {A_FaceTarget; if (health > 38) {return;} A_CustomMissile("FlameTrailsSmall1", 30, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    "####" "#" 0 A_CustomMeleeAttack(10, "dukinator/pain", "dukinator/pain")
    "####" "#" 0 A_SpawnItemEx("RobotPlasmaTazer",25,0,43,0,0,0,0,SXF_SETMASTER)
    LROB H 5 {if (health > 38) {return;} A_CustomMissile("FlameTrailsSmall1", 30, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LROB H 3 {if (health > 38) {return;} A_CustomMissile("FlameTrailsSmall1", 30, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    Goto See2
  Missile:
    LROB FG 5 {A_FaceTarget; if (health > 38) {return;} A_CustomMissile("FlameTrailsSmall1", 30, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    "####" "#" 0 A_CustomMissile("MuzzleFlashSmall",32,0,0)
    "####" "#" 0 A_PlaySound("robotlame/shoot", 6)
    LROB G 4 bright {A_CustomMissile("RobotPlasmaBall", 40, 15, random[RIDMONSTERAT](-3, 3), CMF_OFFSETPITCH, random[RIDMONSTERAT](-1, 1)); if (health > 38) {return;} A_CustomMissile("FlameTrailsSmall1", 30, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    "####" "#" 0 A_MonsterRefire(40,"FinishMissile")
    "####" "#" 0 A_Jump(64,"FinishMissile")
    LROB G 4 {A_FaceTarget; if (health > 38) {return;} A_CustomMissile("FlameTrailsSmall1", 30, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    goto Missile+2
  FinishMissile:
    LROB G 5 {A_FaceTarget; if (health > 38) {return;} A_CustomMissile("FlameTrailsSmall1", 30, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LROB F 5 {if (health > 38) {return;} A_CustomMissile("FlameTrailsSmall1", 30, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    Goto See2
  Pain:
    "####" "#" 0 A_RemoveChildren(true,RMVF_MISSILES,"RobotPlasmaTazer")
    "####" "#" 0 A_SpawnDebris("DukeMechParticle", FALSE, 1.0, 1.0)
    "####" "#" 0 A_Jump(128,"Pain2")
    LROB I 3 {if (health > 38) {return;} A_CustomMissile("FlameTrailsSmall1", 30, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LROB I 3 {A_Pain; if (health > 38) {return;} A_CustomMissile("FlameTrailsSmall1", 30, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    goto See2
  Pain2:
    LROB O 3 {if (health > 38) {return;} A_CustomMissile("FlameTrailsSmall1", 30, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LROB O 3 {A_Pain; if (health > 38) {return;} A_CustomMissile("FlameTrailsSmall1", 30, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    goto See2
  Pain.MicrowaveBlast:
    LROB I 1 A_RemoveChildren(true,RMVF_MISSILES,"RobotPlasmaTazer")
    "####" "#" 0 A_CheckThump("Pain")
    loop
  Death:
    "####" "#" 0 A_RemoveChildren(true,RMVF_MISSILES,"RobotPlasmaTazer")
    "####" "#" 0 A_SpawnDebris("DukeMechParticle", FALSE, 1.0, 1.0)
    LROB I 5 {A_Scream; A_CustomMissile("FlameTrailsSmall1", 25, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LROB J 5 A_CustomMissile("FlameTrailsSmall1", 20, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90))
    LROB K 5 {A_NoBlocking; A_CustomMissile("FlameTrailsSmall1", 15, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LROB LM 5 {A_BossDeath; A_CustomMissile("FlameTrailsSmall1", 10, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LROB N 5 {A_PlaySound("dukinator/off"); A_CustomMissile("FlameTrailsSmall1", 5, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90));}
    LROB NNNNNNN 5 A_CustomMissile("FlameTrailsSmall1", 0, 0, random[RIDFX](0, 360), CMF_AIMDIRECTION, random[RIDFX](60, 90))
    "####" "#" 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_Explode(100,180)
    "####" "#" 0 A_PlaySound("robotlame/explode", 6, 1.0, 0)
    TNT1 A 5 A_SpawnItemEx("PigFlyerExplosion",random[RIDFX](-16,16),random[RIDFX](-16,16),random[RIDFX](0,32),0,0,0,0,0)
    stop
  Death.Plasma:
    "####" "#" 0 A_SpawnItemEx("DukePlasmaExplosion",0,0,32,0,0,0,0,1,0)
  XDeath:
  Death.BossStomp:
  Death.Explosion:
  Death.RocketExplosion:
  Death.ExplosiveShotgun:
  Death.ShellExplosion:
    "####" "#" 0 A_RemoveChildren(true,RMVF_MISSILES,"RobotPlasmaTazer")
    LROB I 3 A_Scream
    "####" "#" 0 A_NoBlocking
    "####" "#" 0 A_BossDeath
    "####" "#" 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_Explode(100,180)
    "####" "#" 0 A_PlaySound("robotlame/explode", 6, 1.0, 0)
    TNT1 A 5 A_SpawnItemEx("PigFlyerExplosion",random[RIDFX](-16,16),random[RIDFX](-16,16),random[RIDFX](0,32),0,0,0,0,0)
    Stop
  }
}

actor RobotPlasmaTazer
{
  +THRUACTORS
  +CLIENTSIDEONLY
  +NOBLOCKMAP
  +NOGRAVITY
  Renderstyle Add
  Scale 0.35
  +MISSILE
  +THRUGHOST
  Alpha 1.0
  +RANDOMIZE
  States
  {
  Spawn:
    LPLB AABB 1 Bright A_SpawnItem("BlueFlare22Small",0,0)
    LPLB AABB 1 Bright
    stop
  }
}