Actor USNMIRVMissileSoldier : GenericHumanScum 
  {
   Monster
   Health 265
   Radius 15
   Height 56
   Mass 400
   Species "Reva"
+DONTHARMSPECIES
   Speed 11
   BloodType "DASBLUT"
   PainChance 110
   +NODROPOFF	
   MaxDropOffHeight 69
   Monster
   Scale 1.0
   SeeSound "MIRVOperator/See"
   PainSound "ArmorSMG/Pain"
   DeathSound "ArmorSMG/Death"
   ActiveSound "MIRVOperator/Active"
   Tag "MIRV Missile launcher USN operator"	
   Obituary "%o was absolutely unconventionally blown up to kingdom come by the USN soldier armed with the MIRV Missile Launcher"
   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")
			  TNT1 A 0 A_SetScale (scaleX+frandom(-0.02, 0.02), scaleY+frandom(-0.08,0.08))
		      TNT1 A 0 A_SpawnItemEx ("HumanTrails", 0, 0, 0)
		 Spawn2:
		      MRVS E 4 A_Look
			Loop
		STFU:
     TNT1 A 0
	 TNT1 A 0 ACS_NamedExecute ("STFUMIRVOperator")
	 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_CheckSight ("CheckReload")
		      TNT1 A 0 A_Jump (199, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeLeftB", "DodgeRightF", "DodgeRightB")
		      MRVS AABBCCDD 3 A_Chase
			 Loop
		    CheckReload:
				TNT1 A 0
				TNT1 A 0 A_Jump (150, "CheckReload2")
				Goto SeeLoop+1
			CheckReload2:
				TNT1 A 0
				TNT1 A 0 A_JumpIfInventory ("RocketShotCounter", 1, "Reload")
				Goto SeeLoop+1	
	  DodgeLeft:
        TNT1 A 0 A_FaceTarget
	    MRVS 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))
	    MRVS 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))
	    MRVS 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
	    MRVS 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)) 
	    MRVS 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)) 
	    MRVS 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 ("RocketShotCounter", 1, "Reload")
			  TNT1 A 0 A_Jump (188, 2)
			  TNT1 A 0 A_PlaySound ("MIRVOperator/Attack", CHAN_VOICE) 	
			  MRVS E 22 A_FaceTarget
			  TNT1 A 0 A_Playsound ("RLSHOT2", 0)
			  MRVS F 4 Bright A_CustomMissile ("USNMIRVMissile", 42, 9, random (-2,2))
			  TNT1 A 0 A_GiveInventory ("RocketShotCounter", 1)
			  TNT1 A 0	
			 Goto MovingToCover
		  MovingToCover:
			  TNT1 A 0
			  TNT1 A 0 A_Changeflag ("FRIGHTENED", true)
		  MovingToCoverLoop:		
			  MRVS ABCD 2 A_Chase ("","")
			  TNT1 A 0 A_CheckSight ("Reload")
			  TNT1 A 0 A_GiveInventory ("MovingCounter", 1)
			  TNT1 A 0 A_JumpIfInventory ("MovingCounter", 10, "Reload")	
			 Loop
		 Reload:
			  MRVS D 24 A_PlaySound ("RPGRRE")
			  MRVS E 38	A_PlaySound ("RPGLIN") 
			  MRVS E 12
			  TNT1 A 0 A_TakeInventory ("RocketShotCounter", 1)
			  TNT1 A 0 A_TakeInventory ("MovingCounter", 10)
			  TNT1 A 0 A_Changeflag ("FRIGHTENED", false) 
			 Goto SeeLoop+1
		   Pain:
		      MRVS H 6 A_Pain
			  Goto SeeLoop
		   Death:
		      TNT1 A 0
			  SOL3 N 7 A_Noblocking
			  SOL3 O 6 A_Scream
			  SOL3 P 4
			  SOL3 Q 4 A_Playsound ("FallingBodyGear", CHAN_BODY)
			  SOL3 R -1
			 Stop	  
		   XDeath:
			TNT1 A 0
			TNT1 A 0 A_SpawnItemEx ("VgavnonahCore", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
			PGIB A 1 A_XScream
			PGIB A 3 A_NoBlocking
			PGIB BCD 2
			PGIB E -1
		  Stop
		  Raise:
			TNT1 A 0 
			TNT1 A 0 A_SpawnItemEx ("NanoResEffect", 0, 0, 15, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
			MRVS MLKJI 5
		   Goto See	
		  
		
		}
}




		Actor USNMIRVMissile
      {
 Projectile
 +BLOODSPLATTER
 Radius 8
 Height 8
 +SEEKERMISSILE
 Scale 0.9
 Speed 10
 Damage (4)
       States
	        {
			 Spawn:
              TNT1 A 0 A_SpawnItemEx("FlareSmoke",0,0,0,frandom(-0.5,0.5), frandom(-0.5,0.5),frandom(0.3,0.5),0,SXF_NOCHECKPOSITION)
			  MIZL I 1 Bright
			  TNT1 A 0 A_SpawnItemEx("BiggerRocketTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
			  MIZL I 1 Bright
			  TNT1 A 0 A_SpawnItemEx("BiggerRocketTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
			  MIZL I 1 Bright
			  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)
              MIZL I 1 Bright A_SeekerMissile (11, 15, 0, 0, 1)
			  TNT1 A 0 A_SpawnItemEx("BiggerRocketTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
			  //TNT1 A 0 A_TransferPointer (AAPTR_DEFAULT, AAPTR_TRACER, AAPTR_TARGET, AAPTR_TARGET)
			  //TNT1 A 0 A_JumpIfTargetInLos ("TestState", 0, JLOSF_DEADNOJUMP, 300, 0)
			  TNT1 A 0 A_JumpIfTracerCloser (275, "StopSeek")
               loop
			StopSeek:
			  TNT1 A 0
			  TNT1 A 0 A_ChangeFlag ("SeekerMissile", false)
            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((10),69, 0, 0)
             TNT1 AAAAA 0 A_CustomMissile ("CSMiniMissileExplosionFlame", 0, 0, random (0, 360), 2, random (0, 360))
             TNT1 AAAAA 0 A_CustomMissile ("CSMiniMissileBoomSmoke", 0, 0, random (0, 360), 2, random (0, 360))
			 TNT1 AAAA 0 Bright A_CustomMissile("USNMiniSeekerWarhead",0,random (-3,3), random(-8,8),CMF_AIMDIRECTION|CMF_TRACKOWNER | CMF_OFFSETPITCH, frandom(-4.0,4.0))
             TNT1 A 1 Radius_Quake (2,4,0,7,0)
			 TNT1 A 0 A_StopSound (7)
             TNT1 A 20
               stop
			}
}



		Actor USNMiniSeekerWarhead
      {
 Projectile
 +BLOODSPLATTER
 Radius 8
 Height 8
 +SEEKERMISSILE
 Scale 0.72
 Speed 12
 Damage (4)
       States
	        {
			 Spawn:
              TNT1 A 0 A_SpawnItemEx("CSMiniMissileTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
			  TNT1 A 0 A_Playsound ("rockfly",7,1.0,true)
			  RMIS A 4 BRIGHT
			  TNT1 A 0 A_SpawnItemEx("CSMiniMissileTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
			  RMIS A 4 BRIGHT
			  TNT1 A 0 A_SpawnItemEx("CSMiniMissileTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
			  RMIS A 4 BRIGHT
			 SeekLoop:
			  TNT1 A 0 A_SpawnItemEx("CSMiniMissileTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION) 
              RMIS A 4 Bright A_SeekerMissile (8, 10, SMF_LOOK, 256, 1) 
               loop
            Death:
             TNT1 A 0
             TNT1 A 0 A_PlaySound("misc/boom",5, 0.4)
             TNT1 A 0 A_PlaySound("misc/distanceboom",6,1.0,0,0)
             TNT1 A 0 A_Explode((12),69, 0, 0,40)
             TNT1 AAAAA 0 A_CustomMissile ("CSMiniMissileExplosionFlame", 0, 0, random (0, 360), 2, random (0, 360))
             TNT1 AA 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
			}
}
		    
		  
			