Actor LightAerialGrenadier //: GenericHumanScum 19900
  {
   Health 175
   Radius 15
   BloodType "DASBLUT"
   Height 56
   Species "Kek"
   +DONTHARMSPECIES
   Mass 200
   Tag "Light Aerial Grenadier"
   Speed 12
   PainChance 140
   Monster
   +FLOAT
   +NOGRAVITY
   SeeSound "LightAerialGrenadier/See"
   PainSound "LightAerialGrenadier/Pain"
   DeathSound "LightAerialGrenadier/Death"
   ActiveSound "LightAerialGrenadier/Active"
   Obituary "%o was bombed into the stone age by the Light Aerial Grenadier"
   States
       {
        Spawn:
			TNT1 A 0
			TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("STFUCheck") == 1, "STFU")
			//TNT1 A 0 ACS_NamedExecute ("FlyerFix")
		Spawn2:
		    JPA2 A 3 A_Look
			Loop
		STFU:
     TNT1 A 0
	 TNT1 A 0 ACS_NamedExecute ("STFULightAerialGrenadier")
	 Goto Spawn+2 	
	    See:
		    "####" A random(1,4)
			TNT1 A 0
			TNT1 A 0 A_PlaySound ("HOVIDLE1", 6, 1.0, true)
			TNT1 A 0 A_Jump (70, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeLeftB", "DodgeRightF", "DodgeRightB")
			TNT1 A 0 A_Jump (180, "MissileCheck")
		SeeLoop:
			TNT1 A 0 A_PlaySound ("HOVIDLE1", 6, 1.0, true)
		    JPA2 AAA 1 A_Chase
			TNT1 A 0 A_Jump (69, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeLeftB", "DodgeRightF", "DodgeRightB")
			Loop
		ReadyToEngage:
		   JPA2 A 5 A_TakeInventory ("MovingCounter", 4)
		   Goto SeeLoop
		DodgeLeft:
        TNT1 A 0 A_FaceTarget
	    JPA2 AAAA 1 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 A_Recoil (random (-5,-2))
	    JPA2 AAAA 1 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 A_Recoil (random (2,5))
	    JPA2 AAAA 1 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
	DodgeRight:
	    TNT1 A 0 A_FaceTarget
	    JPA2 AAAA 1 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 A_Recoil ( random (-5,-2)) 
	    JPA2 AAAA 1 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 A_Recoil ( random (2,5)) 
	    JPA2 AAAA 1 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", 0, JLOSF_DEADNOJUMP)
	Goto SeeLoop
	Missile:
		JPA2 A 12 A_FaceTarget
		TNT1 A 0 A_JumpIfTargetInLos ("CloseQuarters", 0, JLOSF_DEADNOJUMP, 400)
		TNT1 A 0 A_JumpIfTargetInLos ("LongRange", 0, JLOSF_DEADNOJUMP | JLOSF_CLOSENOJUMP, 1700, 1250)
		TNT1 A 0 A_JumpIfTargetInLos ("VeryLongRange", 0, JLOSF_DEADNOJUMP | JLOSF_CLOSENOJUMP, 0, 1700)
		TNT1 A 0 A_Playsound ("GLFIR", CHAN_WEAPON)
		JPA2 E 4 BRIGHT A_CustomMissile ("LightGrenade20mm", 32, 10, random(-1,1), CMF_OFFSETPITCH, random (4,8))
		JPA2 A 8 A_FaceTarget
		TNT1 A 0 A_Playsound ("GLFIR", CHAN_WEAPON)
		JPA2 F 4 BRIGHT A_CustomMissile ("LightGrenade20mm", 32, -10, random(-1,1), CMF_OFFSETPITCH, random (4,8))
	   Goto MovingCounter
	CloseQuarters:
	    TNT1 A 0 A_Playsound ("GLFIR", CHAN_WEAPON)
		JPA2 E 4 BRIGHT A_CustomMissile ("LightGrenade20mm", 32, 10, random(2,4))
		JPA2 A 8 A_FaceTarget
		TNT1 A 0 A_Playsound ("GLFIR", CHAN_WEAPON)
		JPA2 F 4 BRIGHT A_CustomMissile ("LightGrenade20mm", 32, -10, random(2,4))
		Goto MovingCounter
	LongRange:
		JPA2 A 12 A_FaceTarget
		TNT1 A 0 A_JumpIfTargetInLos ("CloseQuarters", 0, JLOSF_DEADNOJUMP, 400)
		TNT1 A 0 A_Playsound ("GLFIR", CHAN_WEAPON)
		JPA2 E 4 BRIGHT A_CustomMissile ("LightGrenade20mm", 32, 10, random(-3,3), CMF_OFFSETPITCH, random (8,12))
		JPA2 A 8 A_FaceTarget
		TNT1 A 0 A_Playsound ("GLFIR", CHAN_WEAPON)
		JPA2 F 4 BRIGHT A_CustomMissile ("LightGrenade20mm", 32, -10, random(-3,3), CMF_OFFSETPITCH, random (8,12))
		JPA2 A 8 A_FaceTarget
	   Goto MovingCounter
	 VeryLongRange:
		JPA2 A 12 A_FaceTarget
		TNT1 A 0 A_JumpIfTargetInLos ("CloseQuarters", 0, JLOSF_DEADNOJUMP, 400)
		TNT1 A 0 A_Playsound ("GLFIR", CHAN_WEAPON)
		JPA2 E 4 BRIGHT A_CustomMissile ("LightGrenade20mm", 32, 10, random(-5,5), CMF_OFFSETPITCH, random (16,24))
		JPA2 A 8 A_FaceTarget
		TNT1 A 0 A_Playsound ("GLFIR", CHAN_WEAPON)
		JPA2 F 4 BRIGHT A_CustomMissile ("LightGrenade20mm", 32, -10, random(-5,5), CMF_OFFSETPITCH, random (16,24))
		JPA2 A 8 A_FaceTarget
	   Goto MovingCounter   
	 MovingCounter:
	    TNT1 A 0 A_ChangeFlag ("Frightened", true)
	    JPA2 A 2 A_Chase ("", "")
		TNT1 A 0 A_CheckSight ("Reload")
		TNT1 A 0 A_GiveInventory ("MovingCounter", 1)
		JPA2 A 2 A_Chase ("", "")
		TNT1 A 0 A_JumpIfCloser (300, "Reload")
		TNT1 A 0 A_JumpIfInventory ("MovingCounter", 25, "Reload")	
	   Goto MovingCounter+1
	 Reload:
	   TNT1 A 0 A_ChangeFlag ("Frightened", false)
	   JPA2 A 25 A_TakeInventory ("MovingCounter", 25)
	   Goto SeeLoop
	Pain:
		JPA2 G 3
		JPA2 G 3 A_Pain
	   Goto SeeLoop	
		Death:
			 TNT1 A 0
			 TNT1 A 0 A_StopSound (6)
			 TNT1 A 0 A_Scream
			 TNT1 A 0 A_CheckFloor ("XDeath")	
			 JPA2 H 4 
			 TNT1 A 0 A_CheckFloor ("XDeath")	
			 TNT1 A 0 A_SentinelBob
			 JPA2 HHH 1 A_SpawnItemEx ("LittleTinCanExplosion", random (-1,2), random (-1,2), random (-1,20), 0, 0, 0)
			 JPA2 III 1 A_SpawnItemEx ("JetPackerExplosion", random (-1,2), random (-1,2), random (-1,20), 0, 0, 0)
			 JPA2 JJJ 1 A_SpawnItemEx ("JetPackerExplosion", random (-1,2), random (-1,2), random (-1,20), 0, 0, 0)
			 JPA2 KKK 1 A_SpawnItemEx ("JetPackerExplosion", random (-1,2), random (-1,2), random (-1,20), 0, 0, 0)
		  XDeath:
			 TNT1 A 0
			 TNT1 A 0 A_StopSound (6)
			 TNT1 A 0 A_SpawnItemEx ("VgavnonahCore", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
			 TNT1 A 0 A_SpawnItemEx ("TinCanExplosion", random (-1,2), random (-1,2), random (-1,20), 0, 0, 0)
			 JPA2 U 5 A_NoBlocking
			 JPA2 V 5
			 PGIB ABCD 1	
			 PGIB E -1
			Stop
		  Raise:
		    TNT1 A 0 
			TNT1 A 0 A_SpawnItemEx ("NanoResEffect", 0, 0, 15, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
            PGIB EDCBA 2
			JPA2 KJIH 3
		   Goto See	
       }
  }
  

	
  
		Actor LightGrenade20mm
		   {
		 projectile
		+MISSILE
		-NOGRAVITY
		+BLOODSPLATTER
		gravity 0.25
		radius 5
		height 5
		speed 22
		scale 1.0
		damage (10)
		Obituary "%o was blown up by 20mm grenade"
		states
			{
			 Spawn:
				 GREX A 1 A_SpawnItemEx("CSMiniMissileTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
				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((15),60, 0 ,0,60)
				 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 0 A_SpawnItemEx("CSMiniMissileShockwave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
				 TNT1 A 1 Radius_Quake (2,4,0,7,0)
				 TNT1 A 20
		stop
			 }
		   
		  }