Actor DesertRPGMarine : GenericHumanScum 
  {
   Monster
   Health 255
   Radius 15
   Height 56
   Mass 400
   Species "Knight"
+DONTHARMSPECIES
   Speed 11
   BloodType "DASBLUT"
   PainChance 110
   +NODROPOFF	
   MaxDropOffHeight 69
   Monster
   Scale 1.0
   SeeSound "USADesertRPG/See"
   PainSound "USADesertRPG/Pain"
   DeathSound "USRMDE"
   ActiveSound "USADesertRPG/Active"
   Tag "Mini-RPG Desert Marine"	
   Obituary "%o was democratised by the Desert Marine with mini-RPG"
   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:
		      USDR A 4 A_Look
			Loop
		STFU:
     TNT1 A 0
	 TNT1 A 0 ACS_NamedExecute ("STFUUSADesertRPG")
	 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")
		      USDR 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
	    USDR 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))
	    USDR 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))
	    USDR 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
	    USDR 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)) 
	    USDR 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)) 
	    USDR 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_Jump (100, 2)
			  TNT1 A 0 A_PlaySound ("USADesertRPG/Attack", CHAN_VOICE) 	
			  USDR E 12 A_FaceTarget
			  TNT1 A 0 A_Playsound ("RPGFIR", CHAN_Weapon)
			  USDR F 4 Bright A_CustomMissile ("MiniRPGRocket", 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:		
			  USDR 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:
			  USDR D 14
			  USDR G 7	A_Playsound ("RPGRL")
			  USDR E 9
			  TNT1 A 0 A_TakeInventory ("RocketShotCounter", 1)
			  TNT1 A 0 A_TakeInventory ("MovingCounter", 20)
			  TNT1 A 0 A_Changeflag ("FRIGHTENED", false) 
			 Goto SeeLoop+1
		   Pain:
		      USDR H 6 A_Pain
			  Goto SeeLoop
		   Death:
		      USDR I 7 A_Noblocking
			  USDR J 6 A_Scream
			  USDR KL 5
			  USDR M -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)
			USDR MLKJI 5
		   Goto See	
		  
		
		}
}



		    
		  
			