Actor AssaultEliminator 
   {
  
   //----------------------------COMPLEX DOOM COMPATIBILITY DROPS------------------------

DropItem "HealthFlask" 40
DropItem "ArmorCharge" 40
DropItem "AmmoPack" 20
DropItem "WeaponUpgradeBox" 20
DropItem "Demon Tech Rifle", 100
   
  scale 1.0
  +NODROPOFF
  MaxDropoffHeight 69
  obituary "%o was eliminated by the Assault-class Eliminator"
  health 450
  radius 15
  height 54
  Species "ARAC"
+DONTHARMSPECIES
  Translation "112:114=102:104", "115:115=3:3", "116:122=105:111", "123:126=5:8", "127:127=0:0", "192:207=3:8", "240:247=7:7"
  mass 800
  speed 10
  Damage 2
  painchance 100
  SeeSound "AssEliminator/See"
  PainSound "Chaos/Pain"
  DeathSound "Chaos/Death"
  ActiveSound "AssEliminator/Active"
  Tag "Assault-class Eliminator"
  MONSTER
  +FLOORCLIP
         States
		      {
			   Spawn:
			        TNT1 A 0
					TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("STFUCheck") == 1, "STFU")
					TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult ("VanJumpCheck") == 1, "VanJump")
				Spawn2:	
			        ACEU A 3 A_Look
				   Loop
			   STFU:
				 TNT1 A 0
				 TNT1 A 0 ACS_NamedExecute ("STFUAssEliminator")
				 Goto Spawn+2
			   VanJump:
				 TNT1 A 0
				 TNT1 A 0  NODELAY ACS_NamedExecuteAlways ("VanillaHeights")
				Goto Spawn+3	 
			   See:	 
			    "####" A random(1,4)	 
			    TNT1 A 0 A_Jump (70, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeLeftB", "DodgeRightF", "DodgeRightB")
				TNT1 A 0 A_Jump (180, "MissileCheck")
			SeeLoop:
				TNT1 A 0 A_Jump (199, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeLeftB", "DodgeRightF", "DodgeRightB")
			    ACEU AABBCCDD 3 A_Chase
			    Loop
			 DodgeLeft:
				TNT1 A 0 A_FaceTarget
				ACEU AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
				TNT1 A 0 A_Jump (228, "MissileCheck")
				TNT1 A 0 A_Jump (50, "DodgeRight")
				Goto SeeLoop+1
			DodgeLeftF:
				TNT1 A 0 A_FaceTarget
				TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
				TNT1 A 0 A_Recoil (random (-8,-3))
				ACEU AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
				TNT1 A 0 A_Jump (228, "MissileCheck")
				Goto SeeLoop+1
			DodgeLeftB:
				TNT1 A 0 A_FaceTarget
				TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
				TNT1 A 0 A_Recoil (random (3,8))
				ACEU AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
				TNT1 A 0 A_Jump (228, "MissileCheck")
				Goto SeeLoop+1
			DodgeRight:
				TNT1 A 0 A_FaceTarget
				ACEU AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
				TNT1 A 0 A_Jump (228, "MissileCheck")
				Goto SeeLoop+1
			DodgeRightF:
				TNT1 A 0 A_FaceTarget
				TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
				TNT1 A 0 A_Recoil ( random (-8,-3)) 
				ACEU AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
				TNT1 A 0 A_Jump (228, "MissileCheck")
				Goto SeeLoop+1
			DodgeRightB:
				TNT1 A 0 A_FaceTarget
				TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
				TNT1 A 0 A_Recoil ( random (3,8)) 
				ACEU AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
				TNT1 A 0 A_Jump (228, "MissileCheck")
				Goto SeeLoop+1
			AlphaBravo:
				ACEU E 2 A_FaceTarget
				TNT1 A 0 A_Chase ("", "MissileAmbush", CHF_DONTMOVE)
				ACEU E 2 A_FaceTarget
				TNT1 A 0 A_Chase ("", "MissileAmbush", CHF_DONTMOVE)
				ACEU E 2 A_FaceTarget
				TNT1 A 0 A_Chase ("", "MissileAmbush", CHF_DONTMOVE)
				TNT1 A 0 A_Jump (1, "SeeLoop")
			   Loop
			  MissileAmbush:
				ACEU EE 4 A_FaceTarget	
			MissileCheck:
				TNT1 A 0 A_JumpIfTargetInLos ("Missile", 0, JLOSF_DEADNOJUMP)
				Goto SeeLoop	
			   Missile:
			      ACEU E 1 A_FaceTarget
				  TNT1 A 0 A_JumpIfTargetInLos ("LongRange", 0, JLOSF_DEADNOJUMP | JLOSF_CLOSENOJUMP, 0, 1500)
				  ACEU E 15 A_FaceTarget
				  TNT1 A 0 A_PlaySound ("PFLYBLAS")
				  TNT1 A 0 A_CustomMissile ("EliminatorPlasmaOrb", 32, 9)
				  ACEU F 4 BRIGHT A_FaceTarget
			  MissileLoop:
			      TNT1 A 0 A_Chase ("","")
			      ACEU A 2 A_FaceTarget
				  TNT1 A 0 A_Chase ("","")
				  ACEU A 2 A_FaceTarget
				  TNT1 A 0 A_Chase ("","")
				  ACEU B 2 A_FaceTarget
				  TNT1 A 0 A_Chase ("","")
				  ACEU B 2 A_FaceTarget
				  TNT1 A 0 A_Chase ("","")
				  ACEU C 2 A_FaceTarget
				  TNT1 A 0 A_Chase ("","")
				  ACEU C 2 A_FaceTarget
				  TNT1 A 0 A_Chase ("","")
				  ACEU D 2 A_FaceTarget
				  TNT1 A 0 A_Chase ("","")
				  ACEU D 2 A_FaceTarget
				  TNT1 A 0 A_Chase ("","")
				  ACEU A 2 A_FaceTarget
				  TNT1 A 0 A_Chase ("","")
				  TNT1 A 0 A_PlaySound ("PFLYBLAS")
				  TNT1 A 0 A_CustomMissile ("EliminatorPlasmaOrb", 32, 9, random (-4,4))
				  TNT1 A 0 A_Chase ("","")
				  ACEU F 4 BRIGHT A_FaceTarget
				  TNT1 A 0 A_Chase ("","")
				  TNT1 A 0 A_MonsterRefire (2, "AlphaBravo")
				 Loop 
			   LongRange:
			      ACEU E 20 A_FaceTarget
				  TNT1 A 0 A_PlaySound ("PFLYBLAS")
				  TNT1 A 0 A_CustomMissile ("EliminatorPlasmaOrb", 32, 9)
				  ACEU F 4 BRIGHT A_FaceTarget
				  TNT1 A 0 A_MonsterRefire (2, "AlphaBravo")
		     	  Loop
				Pain:
				    ACEU H 3
				    ACEU H 3 A_Pain
					TNT1 A 0 A_StopSound (CHAN_WEAPON)
				   Goto SeeLoop
				Death:
				    TNT1 A 0 A_StopSound (CHAN_WEAPON)
				    ACEU I 4 A_Scream
					ACEU J 4 A_Noblocking
					ACEU K 4
					ACEU L 4 A_Playsound ("FallingBodyGear", CHAN_BODY)
					ACEU M -1
				   Stop
				Raise:
				   TNT1 A 0 
				   TNT1 A 0 A_SpawnItemEx ("NanoResEffect", 0, 0, 15, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
				   ACEU MLKJIH 4
				  Goto See  
				   
			      }
             }
   
   
   
   
   
		Actor EliminatorPlasmaOrb
      {
	      Radius 6
          Height 8
		  Speed 25
		  Scale 0.8
		  FastSpeed 30
		  Alpha 1
		  Damage (12)
		  Projectile
		  RenderStyle Add
		  SeeSound ""
		  DeathSound "ASSPLEX"
		  States
		  {
		  Spawn:
			EPOR A 1 Bright // A_SpawnItemEx ("RedFlare", 0, 0, 0, 0, 0, 0)
			EPOR B 1 Bright  //A_SpawnItemEx ("RedFlare", 0, 0, 0, 0, 0, 0) 
 			Loop
		  Death:
		    TNT1 A 0 A_PlaySound ("misc/distanceboom",6,1.0,0,0)
			TNT1 A 0 A_SpawnItemEx ("AssSmoke2", 0, 0, 0)
		    TNT1 A 0 A_SpawnItemEx ("RedPlasEx", 0,0,0,0,0,0)
			TNT1 A 1 Bright A_Explode ((12), 45)
			Stop
			  }
           }
   
   
   
		Actor RedPlasEx
		      {
			   +NOINTERACTION
			   +CLIENTSIDEONLY
			   Scale 0.45
			   RenderStyle Add
			      States
				       {
				        Spawn:
						    BPRH ABCDEFGHIJ 1 BRIGHT A_SpawnItemEx ("AssElimPlasmaFlare", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION) 
						  Stop	
					   }
				}
   
   