    Actor Grenadier 
  {
  
  //-----------------------------------COMPLEX DOOM COMPATIBILITY DROPS----------------------------------------------
  
  
  DropItem "WeaponUpgradeBox" 20
  DropItem "Grenade Launcher" 70
  
   Monster
   Health 388
   Radius 15
   Height 56
   Mass 400
   Speed 10
   PainChance 99
   Species "Mancucu"
+DONTHARMSPECIES
   BloodType "DASBLUT"
    +NODROPOFF
   MaxDropOffHeight 69
   Monster
   +BOSSDEATH
   +FLOORCLIP
   SeeSound "Armored/See"
   PainSound "Armored/Pain"
   DeathSound "Armored/Death"
   ActiveSound "Armored/Active"
   Obituary "%o has caught Grenadier's tin can full of fireworks"
   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:	  
		      ELIT E 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")
			  TNT1 A 0 A_JumpIfInventory ("GrenadeShotCounter", 6, "Reload")
		      ELIT ABCD 3 A_Chase
			 Loop
	 DodgeLeft:
        TNT1 A 0 A_FaceTarget
	    ELIT 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))
	    ELIT 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))
	    ELIT 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
	    ELIT 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)) 
	    ELIT 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)) 
	    ELIT 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 A_JumpIfCloser (319, "Retreat")
		      TNT1 A 0 A_JumpIfTargetInLos ("RunNBoom", 0, JLOSF_CLOSENOJUMP | JLOSF_DEADNOJUMP, 419, 120)
			  TNT1 A 0 A_JumpIfTargetInLos ("TripleKabeem", 0, JLOSF_CLOSENOJUMP | JLOSF_DEADNOJUMP, 1200, 120)
			  TNT1 A 0 A_JumpIfTargetInLos ("Barrage", 0, JLOSF_CLOSENOJUMP | JLOSF_DEADNOJUMP, 0, 1201 )
			  TNT1 A 0 A_JumpIfInventory ("GrenadeShotCounter", 6, "Reload")
			 Goto SeeLoop
		  RunNBoom:
		      TNT1 A 0 A_JumpIfInventory ("GrenadeShotCounter", 6, "Reload")
		      ELIT F 9 A_FaceTarget
			  TNT1 A 0 A_Playsound ("GLFIR2")
			  ELIT H 1 BRIGHT A_CustomMissile ("CSGrenade", 32, 0, random (-3,3), CMF_OFFSETPITCH, random (10, 16))
			  TNT1 A 0 A_GiveInventory ("GrenadeShotCounter", 1)
			  TNT1 A 0 A_ChangeFlag ("Frightened", true)
			  ELIT ABCDABCDABCDABCDABCDABCD 3 A_Wander
			  TNT1 A 0 A_ChangeFlag ("Frightened", false)
			 Goto SeeLoop
		  Barrage:
		      TNT1 A 0 A_JumpIfInventory ("GrenadeShotCounter", 6, "Reload") 
			  ELIT F 17 A_FaceTarget
			  TNT1 A 0 A_Playsound ("GLFIR2")
			  ELIT H 1 BRIGHT A_CustomMissile ("CSGrenade", 32, 0, random (-3,3), CMF_OFFSETPITCH, random (10, 26))
			  TNT1 A 0 A_GiveInventory ("GrenadeShotCounter", 1)
			  TNT1 A 0 A_JumpIfInventory ("GrenadeShotCounter", 6, "Reload")
			  ELIT F 15 A_FaceTarget
			  TNT1 A 0 A_Playsound ("GLFIR2")
			  ELIT H 1 BRIGHT A_CustomMissile ("CSGrenade", 32, 0, random (-5,5), CMF_OFFSETPITCH, random (10, 26))
			  TNT1 A 0 A_GiveInventory ("GrenadeShotCounter", 1)
			  TNT1 A 0 A_JumpIfInventory ("GrenadeShotCounter", 6, "Reload")
			  ELIT F 12 A_FaceTarget
			  TNT1 A 0 A_Playsound ("GLFIR2")
			  ELIT H 1 BRIGHT A_CustomMissile ("CSGrenade", 32, 0, random (-7,7), CMF_OFFSETPITCH, random (10, 26))
			  TNT1 A 0 A_GiveInventory ("GrenadeShotCounter", 1)
			  TNT1 A 0 A_JumpIfInventory ("GrenadeShotCounter", 6, "Reload")
			 Loop
		   TripleKaBeem:
		      TNT1 A 0 A_JumpIfInventory ("GrenadeShotCounter", 6, "Reload")
		      ELIT F 14 A_FaceTarget
			  TNT1 A 0 A_Playsound ("GLFIR2")
			  ELIT H 1 BRIGHT A_CustomMissile ("CSGrenade", 32, 0, random (-3,3), CMF_OFFSETPITCH, random (10, 16))
			  TNT1 A 0 A_GiveInventory ("GrenadeShotCounter", 1)
			  TNT1 A 0 A_JumpIfInventory ("GrenadeShotCounter", 6, "Reload")
		      ELIT F 14 A_FaceTarget
			  TNT1 A 0 A_Playsound ("GLFIR2")
			  ELIT H 1 BRIGHT A_CustomMissile ("CSGrenade", 32, 0, random (-5,5), CMF_OFFSETPITCH, random (10, 16))
			  TNT1 A 0 A_GiveInventory ("GrenadeShotCounter", 1)
			  TNT1 A 0 A_JumpIfInventory ("GrenadeShotCounter", 6, "Reload")
		      ELIT F 14 A_FaceTarget
			  TNT1 A 0 A_Playsound ("GLFIR2")
			  ELIT H 1 BRIGHT A_CustomMissile ("CSGrenade", 32, 0, random (-7,7), CMF_OFFSETPITCH, random (10, 16))
			  TNT1 A 0 A_GiveInventory ("GrenadeShotCounter", 1)
			  Goto SeeLoop
			Retreat:
			  TNT1 A 0 A_ChangeFlag ("Frightened", true)
			Retreating:
			  ELIT AABBCCDD 2
			  TNT1 A 0 A_JumpIfTargetInLos ("BackToTheFront", 0, JLOSF_CLOSENOJUMP, 0, 319)
			 Loop
			BackToTheFront:
			  TNT1 A 0 A_ChangeFlag ("Frightened", false)
			 Goto MissileCheck
		      Reload:
				ELIT G 16 A_PlaySound ("HWEPOPN")
				ELIT F 27 
				TNT1 A 0 A_TakeInventory ("GrenadeShotCounter", 6)
				ELIT F 38 A_PlaySound ("HWEPCOCK")
				ELIT G 26
				Goto SeeLoop	 
		   Pain:
		      ELIT F 10 A_Pain
			  Goto SeeLoop
		   Death:
		      ELIT K 5  A_Noblocking
			  ELIT O 6 A_Scream
			  ELIT PQ 5 A_Playsound ("FallingBodyGear", CHAN_BODY)
			  ELIT R -1
			 Stop 
		   XDeath:
	 	      TNT1 A 0
              TNT1 A 0 A_SpawnItemEx ("VgavnonahCore", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
		      BXDT A 4 A_XScream
			  BXDT B 4 A_NoBlocking
			  BXDT CDEFG 4
			  BXDT H 4
			  BXDT I -1
			 Stop
		   Raise:
		     TNT1 A 0 
             TNT1 A 0 A_SpawnItemEx ("NanoResEffect", 0, 0, 15, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
			 ELIT RQPOK 5
			Goto See 
		  
		
		}
}


      Actor GrenadeShotCounter : Inventory
	        {
			 Inventory.MaxAmount 6 
			}