Actor Rocketeer 
  {
   Monster
   Health 300
   Radius 15
   Height 56
   Mass 400
   Species "Reva"
+DONTHARMSPECIES
   Speed 12
   BloodType "DASBLUT"
   PainChance 110
   +NODROPOFF
   MaxDropOffHeight 69
   Monster
   +FLOORCLIP
   SeeSound "Armored/See"
   PainSound "Armored/Pain"
   DeathSound "Armored/Death"
   ActiveSound "Armored/Active"
   Obituary "%o got the party fireworks by the Rocketeer"
   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:	  
		      ROCM C 4 A_Look
			Loop
		 STFU:
     TNT1 A 0
	 TNT1 A 0 ACS_NamedExecute ("STFUArmored")
	 Goto Spawn+2
	 VanJump:
	 TNT1 A 0
	 TNT1 A 0  NODELAY ACS_NamedExecuteAlways ("VanillaHeights")
	Goto Spawn+3
	      See:
		    "####" A random(1,5)
			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")
		      ROCM ABCD 3 A_Chase
			 Loop
	  DodgeLeft:
        TNT1 A 0 A_FaceTarget
	    ROCM 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))
	    ROCM 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))
	    ROCM 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
	    ROCM 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)) 
	    ROCM 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)) 
	    ROCM AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
  MissileCheck:
    TNT1 A 0 A_JumpIfTargetInLos ("Missile", 30, JLOSF_DEADNOJUMP)
	Goto SeeLoop		 
		  Missile:
			  TNT1 A 0 
			  TNT1 A 0 A_JumpIfInventory ("SeekerCoolDown", 1, 2)	
		      TNT1 A 0 A_JumpIfTargetInLos ("TargetLOck", 0, JLOSF_CLOSENOJUMP | JLOSF_DEADNOJUMP, 0, 1000)
			  ROCM E 20 A_FaceTarget
			  TNT1 A 0 A_Playsound ("RLAUNCH1", CHAN_Weapon)
			  ROCM F 4 Bright A_CustomMissile ("MiniRocket", 36, -4)
              TNT1 A 0 A_TakeInventory ("SeekerCoolDown", 1)
			 Goto SeeLoop	
		  TargetLock: 
		      ROCM G 15 A_FaceTarget
		      ROCM G 1 A_SpawnItemEx ("LazahSight", 1, 4, 45, 0, 0, 0, 0, SXF_NOCHECKPOSITION) //A_CustomRailgun(0, 15, "None", "None", RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 1, 0, "Dontbleedonme",0,0,2192,0,1,1.0, "LazarSight", 25)
		      TNT1 A 0 A_FaceTarget
			  ROCM G 1 A_SpawnItemEx ("LazahSight", 1, 4, 45, 0, 0, 0, 0, SXF_NOCHECKPOSITION)  //A_CustomRailgun(0, 15, "None", "None", RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 1, 0, "Dontbleedonme",0,0,2192,0,1,1.0, "LazarSight", 25)
		      TNT1 A 0 A_FaceTarget 
			  ROCM G 1 A_SpawnItemEx ("LazahSight", 1, 4, 45, 0, 0, 0, 0, SXF_NOCHECKPOSITION) //A_CustomRailgun(0, 15, "None", "None", RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 1, 0, "Dontbleedonme",0,0,2192,0,1,1.0, "LazarSight", 25)
		      TNT1 A 0 A_FaceTarget 
			  ROCM G 1 A_SpawnItemEx ("LazahSight", 1, 4, 45, 0, 0, 0, 0, SXF_NOCHECKPOSITION) //A_CustomRailgun(0, 15, "None", "None", RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 1, 0, "Dontbleedonme",0,0,2192,0,1,1.0, "LazarSight", 25)
		      TNT1 A 0 A_FaceTarget 
			  ROCM G 1 A_SpawnItemEx ("LazahSight", 1, 4, 45, 0, 0, 0, 0, SXF_NOCHECKPOSITION) //A_CustomRailgun(0, 15, "None", "None", RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 1, 0, "Dontbleedonme",0,0,2192,0,1,1.0, "LazarSight", 25)
		      TNT1 A 0 A_FaceTarget 
			  ROCM G 1 A_SpawnItemEx ("LazahSight", 1, 4, 45, 0, 0, 0, 0, SXF_NOCHECKPOSITION) //A_CustomRailgun(0, 15, "None", "None", RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 1, 0, "Dontbleedonme",0,0,2192,0,1,1.0, "LazarSight", 25)
		      TNT1 A 0 A_FaceTarget 
			  ROCM G 1 A_SpawnItemEx ("LazahSight", 1, 4, 45, 0, 0, 0, 0, SXF_NOCHECKPOSITION) //A_CustomRailgun(0, 15, "None", "None", RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 1, 0, "Dontbleedonme",0,0,2192,0,1,1.0, "LazarSight", 25)
		      TNT1 A 0 A_FaceTarget 
			  ROCM G 1 A_SpawnItemEx ("LazahSight", 1, 4, 45, 0, 0, 0, 0, SXF_NOCHECKPOSITION) //A_CustomRailgun(0, 15, "None", "None", RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 1, 0, "Dontbleedonme",0,0,2192,0,1,1.0, "LazarSight", 25)
		      TNT1 A 0 A_FaceTarget 
			  ROCM G 1 A_SpawnItemEx ("LazahSight", 1, 4, 45, 0, 0, 0, 0, SXF_NOCHECKPOSITION) //A_CustomRailgun(0, 15, "None", "None", RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 1, 0, "Dontbleedonme",0,0,2192,0,1,1.0, "LazarSight", 25)
		      TNT1 A 0 A_FaceTarget 
			  ROCM G 1 A_SpawnItemEx ("LazahSight", 1, 4, 45, 0, 0, 0, 0, SXF_NOCHECKPOSITION) //A_CustomRailgun(0, 15, "None", "None", RGF_SILENT || RGF_NOPIERCING || RGF_FULLBRIGHT , 1, 0, "Dontbleedonme",0,0,2192,0,1,1.0, "LazarSight", 25)
		      TNT1 A 0 A_FaceTarget 
			  TNT1 A 0 A_Playsound ("LEMAROCK", CHAN_WEAPON)
			  ROCM H 4 Bright A_CustomMissile ("SeekerRocket", 45, 3)
			  TNT1 A 0 A_GiveInventory ("SeekerCoolDown", 5, 0)	 
			  Goto SeeLoop
		   Pain:
		      ROCM AB 10 A_Pain
			  Goto SeeLoop
		   Death:
		      ROCM I 7 A_Noblocking
			  ROCM J 6 A_Scream
			  ROCM KLM 5
			  ROCM N -1
			 Stop
			Raise:
			  TNT1 A 0 
			  TNT1 A 0 A_SpawnItemEx ("NanoResEffect", 0, 0, 15, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
			  ROCM NMLKJI 5
			 Goto See  
		  
		
		}
}


Actor MiniRocket
{
 Projectile
 Radius 8
 +BLOODSPLATTER
 Height 8
 Speed 18
 Scale 0.5
 Damage (15)
       States
	        {
			 Spawn:
              TNT1 A 0 A_SpawnItemEx("CSMiniMissileTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
			  TNT1 A 0 A_SpawnItemEx("AverageRocketTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
              MICM A 1 Bright A_Playsound ("rockfly",7,1.0,true)
               loop
            Death:
             TNT1 A 0
             TNT1 A 0 A_PlaySound("misc/boom",5)
             TNT1 A 0 A_PlaySound("misc/distanceboom",6,1.0,0,0)
             TNT1 A 0 A_Explode((35),40, 0, 0,40)
             TNT1 AAAAA 0 A_CustomMissile ("CSMiniMissileExplosionFlame", 0, 0, random (0, 360), 2, random (0, 360))
             TNT1 AAA 0 A_CustomMissile ("CSMiniMissileBoomSmoke", 0, 0, random (0, 360), 2, random (0, 360))
             TNT1 A 1 Radius_Quake (2,4,0,7,0)
			 TNT1 A 0 A_StopSound (7)
             TNT1 A 20
               stop
			}
}



Actor SeekerRocket
      {
 Projectile
 +BLOODSPLATTER
 Radius 8
 Height 8
 +SEEKERMISSILE
 Scale 0.7
 Speed 10
 Damage (10)
       States
	        {
			 Spawn:
              TNT1 A 0 A_SpawnItemEx("CSMiniMissileTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
			  TNT1 A 0 A_SpawnItemEx("BiggerRocketTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
			  TNT1 A 0 A_Playsound ("rockfly",7,1.0,true)
              FBRS A 4 Bright A_SeekerMissile (11, 15, 0, 0, 1) 
               loop
            Death:
             TNT1 A 0
             TNT1 A 0 A_PlaySound("misc/boom",5)
             TNT1 A 0 A_PlaySound("misc/distanceboom",6,1.0,0,0)
             TNT1 A 0 A_Explode((45),69, 0, 0,40)
             TNT1 AAAAA 0 A_CustomMissile ("CSMiniMissileExplosionFlame", 0, 0, random (0, 360), 2, random (0, 360))
             TNT1 AAAA 0 A_CustomMissile ("CSMiniMissileBoomSmoke", 0, 0, random (0, 360), 2, random (0, 360))
             TNT1 A 1 Radius_Quake (2,4,0,7,0)
			 TNT1 A 0 A_StopSound (7)
             TNT1 A 20
               stop
			}
}

     
	 
	 
	 
   
   
   
    Actor DontBleedOnMe
	  {
	   +BLOODLESSIMPACT
	   +NOINTERACTION
	     States
		      {
			   Spawn:
			      TNT1 A 1
				 Stop
			   }	 
	  }


	Actor LazahSight
		   {
			+NOINTERACTION
			+CLIENTSIDEONLY
			Projectile
			radius 0
			height 0
			speed 0 		
			RenderStyle Add
			Scale 0.15
              States
				 {
				  Spawn:
					 NLSS A 7 Bright
					Stop
				 }	
           }

	Actor SeekerCoolDown: Inventory
		{
		 Inventory.Maxamount 5 
		}
		
