Actor TacticoolJetpacker //: GenericHumanScum 19900
  {
  
   //----------------------------COMPLEX DOOM COMPATIBILITY DROPS------------------------
  
  DropItem "WeaponUpgradeBox" 75
  
  
   Health 200
   Radius 15
   BloodType "DASBLUT"
   Height 56
   Species "Kek"
   +DONTHARMSPECIES
   Mass 200
   Speed 9
   PainChance 100
   Monster
   +FLOAT
   +NOGRAVITY
   SeeSound "Jetpacker/See"
   PainSound "Armored/Pain"
   DeathSound "Armored/Death"
   ActiveSound "Jetpacker/Active"
   Obituary "%o is dead tired from the annoying military fly"
   States
       {
        Spawn:
			TNT1 A 0
			TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("STFUCheck") == 1, "STFU")
			TNT1 A 0
			//TNT1 A 0 ACS_NamedExecute ("FlyerFix")
		Spawn2:
		    JPZM A 3 A_Look
			Loop
		STFU:
     TNT1 A 0
	 TNT1 A 0 ACS_NamedExecute ("STFUJetpacker")
	 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)
		    JPZM AAA 1 A_Chase
			TNT1 A 0 A_Jump (69, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeLeftB", "DodgeRightF", "DodgeRightB")
			Loop
		DodgeLeft:
        TNT1 A 0 A_FaceTarget
	    JPZM 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 (-8,-3))
	    JPZM 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 (3,8))
	    JPZM 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
	    JPZM 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 (-8,-3)) 
	    JPZM 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 (3,8)) 
	    JPZM 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:
		  JPZM A 8 A_FaceTarget
		  TNT1 A 0 A_SentinelBob
		  TNT1 A 0 A_JumpIfTargetInLos ("20mmAttacks", 0, JLOSF_CLOSENOJUMP | JLOSF_DEADNOJUMP, 1400, 650)
		  JPZM A 10 A_FaceTarget	  	
		  TNT1 A 0 A_PlaySound ("L4D1SMGF")
		  TNT1 A 0 A_CustomMissile ("HSMGTracer",32, 10,random (-2,2))
		  TNT1 A 0 A_CustomMissile ("HSMGTracer",32, -10,random (-2,2))
		  JPZM D 1 BRIGHT
	      TNT1 A 0 A_SentinelBob		 
		  JPZM A 1 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("L4D1SMGF")
		  TNT1 A 0 A_CustomMissile ("HSMGTracer",32, 10,random (-2,2))
		  TNT1 A 0 A_CustomMissile ("HSMGTracer",32, -10,random (-2,2))
		  JPZM D 1 BRIGHT
		  TNT1 A 0 A_SentinelBob
		  JPZM A 1 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("L4D1SMGF")
		  TNT1 A 0 A_CustomMissile ("HSMGTracer",32, 10,random (-2,2))
		  TNT1 A 0 A_CustomMissile ("HSMGTracer",32, -10,random (-2,2))
		  JPZM D 1 BRIGHT
		  TNT1 A 0 A_SentinelBob	
		  JPZM A 1 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("L4D1SMGF")
		  TNT1 A 0 A_CustomMissile ("HSMGTracer",32, 10,random (-2,2))
		  TNT1 A 0 A_CustomMissile ("HSMGTracer",32, -10,random (-2,2))
		  JPZM D 1 BRIGHT
		  TNT1 A 0 A_SentinelBob
		  JPZM A 1 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("L4D1SMGF")
		  TNT1 A 0 A_CustomMissile ("HSMGTracer",32, 10,random (-2,2))
		  TNT1 A 0 A_CustomMissile ("HSMGTracer",32, -10,random (-2,2))
		  JPZM D 1 BRIGHT
		  TNT1 A 0 A_SentinelBob
		  JPZM A 1 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("L4D1SMGF")
		  TNT1 A 0 A_CustomMissile ("HSMGTracer",32, 10,random (-2,2))
		  TNT1 A 0 A_CustomMissile ("HSMGTracer",32, -10,random (-2,2))
		  JPZM D 1 BRIGHT
		  TNT1 A 0 A_SentinelBob 	 
		  JPZM A 1 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("L4D1SMGF")
		  TNT1 A 0 A_CustomMissile ("HSMGTracer",32, 10,random (-2,2))
		  TNT1 A 0 A_CustomMissile ("HSMGTracer",32, -10,random (-2,2))
		  JPZM D 1 BRIGHT   //NEED TO FIND A WAY TO OPTIMISE THE BURSTS/done
		Goto SeeLoop
	20mmAttacks:
		  TNT1 A 0
		  TNT1 A 0 A_Jump (254, "Triple20mmLeft", "Triple20mmRight", "Double20mm", "FullDouble20mm" ) 
	Triple20mmLeft:
		  JPZM A 12 A_FaceTarget
		  JPZM AAAA 1 ThrustThing(angle*256/360+192, 5, 0, 0)	
		  TNT1 A 0 A_PlaySound ("GLFIR", CHAN_WEAPON)
		  JPZM C 2 Bright A_CustomMissile ("Grenade20mm", 32, 10, random (-2,2), CMF_OFFSETPITCH, random (5, 10))
		  JPZM A 12 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("GLFIR", CHAN_WEAPON)
		  JPZM C 2 Bright A_CustomMissile ("Grenade20mm", 32, 10, random (-4,4), CMF_OFFSETPITCH, random (5, 10))
		  JPZM A 12 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("GLFIR", CHAN_WEAPON)
		  JPZM C 2 Bright A_CustomMissile ("Grenade20mm", 32, 10, random (-4,4), CMF_OFFSETPITCH, random (5, 10))
	  Goto SeeLoop
	Triple20mmRight:
		  JPZM A 12 A_FaceTarget
		  JPZM AAAA 1 ThrustThing(angle*256/360+64, 5, 0, 0)
		  TNT1 A 0 A_PlaySound ("GLFIR", CHAN_WEAPON)
		  JPZM B 2 Bright A_CustomMissile ("Grenade20mm", 32, -10, random (-4,4), CMF_OFFSETPITCH, random (5, 10))
		  JPZM A 12 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("GLFIR", CHAN_WEAPON)
		  JPZM B 2 Bright A_CustomMissile ("Grenade20mm", 32, -10, random (-4,4), CMF_OFFSETPITCH, random (5, 10))
		  JPZM A 12 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("GLFIR", CHAN_WEAPON)
		  JPZM B 2  Bright A_CustomMissile ("Grenade20mm", 32, -10, random (-4,4), CMF_OFFSETPITCH, random (5, 10))
	  Goto SeeLoop
	Double20mm:
		  JPZM A 12 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("GLFIR", CHAN_WEAPON)
		  TNT1 A 0 A_CustomMissile ("Grenade20mm", 32, -10, random (-8,8), CMF_OFFSETPITCH, random (5, 10))
		  TNT1 A 0 A_CustomMissile ("Grenade20mm", 32, 10, random (-8,8), CMF_OFFSETPITCH, random (5, 10))	
		  JPZM D 2 Bright
	  Goto SeeLoop
	FullDouble20mm:
		  JPZM A 12 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("GLFIR", CHAN_WEAPON)
		  TNT1 A 0 A_CustomMissile ("Grenade20mm", 32, -10, random (-2,2), CMF_OFFSETPITCH, random (5, 10))
		  TNT1 A 0 A_CustomMissile ("Grenade20mm", 32, 10, random (-2,2), CMF_OFFSETPITCH, random (5, 10))	
		  JPZM D 2 Bright
		  JPZM A 12 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("GLFIR", CHAN_WEAPON)
		  TNT1 A 0 A_CustomMissile ("Grenade20mm", 32, -10, random (-4,4), CMF_OFFSETPITCH, random (5, 10))
		  TNT1 A 0 A_CustomMissile ("Grenade20mm", 32, 10, random (-4,4), CMF_OFFSETPITCH, random (5, 10))	
		  JPZM D 2 Bright
		  JPZM A 12 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("GLFIR", CHAN_WEAPON)
		  TNT1 A 0 A_CustomMissile ("Grenade20mm", 32, -10, random (-8,8), CMF_OFFSETPITCH, random (5, 10))
		  TNT1 A 0 A_CustomMissile ("Grenade20mm", 32, 10, random (-8,8), CMF_OFFSETPITCH, random (5, 10))	
		  JPZM D 2 Bright
		Goto Seeloop
		Death:
			 TNT1 A 0
			 TNT1 A 0 A_StopSound (6)
			 TNT1 A 0 A_CheckFloor ("XDeath") 
			 TNT1 A 0 A_Scream
			 TNT1 A 0 A_SpawnItemEx ("TacticoolJetPackerExplosion", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION) 
			 JPZM EE 1 A_CheckFloor ("XDeath")
			 JPZM FF 1 A_CheckFloor ("XDeath")
			 JPZM GG 1 A_CheckFloor ("XDeath")
			 JPZM HH 1 A_CheckFloor ("XDeath")
			  TNT1 A 0 A_SpawnItemEx ("TacticoolJetPackerExplosion", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION) 
			 JPZM EE 1 A_CheckFloor ("XDeath")
			 JPZM FF 1 A_CheckFloor ("XDeath")
			 JPZM GG 1 A_CheckFloor ("XDeath")
			 JPZM HH 1 A_CheckFloor ("XDeath")
			  TNT1 A 0 A_SpawnItemEx ("TacticoolJetPackerExplosion", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION) 
			 JPZM EE 1 A_CheckFloor ("XDeath")
			 JPZM FF 1 A_CheckFloor ("XDeath")
			 JPZM GG 1 A_CheckFloor ("XDeath")
			 JPZM HH 1 A_CheckFloor ("XDeath")
			  TNT1 A 0 A_SpawnItemEx ("TacticoolJetPackerExplosion", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION) 
			 TNT1 A 0 A_CheckFloor ("XDeath")	
			 TNT1 A 0 A_SentinelBob
			 TNT1 A 0 A_SpawnItemEx ("TacticoolJetPackerExplosion", random (-1,2), random (-1,2), random (0,5), 0, 0, 0, 0, SXF_NOCHECKPOSITION) 
			 TNT1 A 0 A_SpawnItemEx ("TacticoolJetPackerExplosion", random (-1,2), random (-1,2), random (0,5), 0, 0, 0, 0, SXF_NOCHECKPOSITION) 
		  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)
			 PGIB A 1 A_NoBlocking
			 PGIB BCD 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
				JPZM HGFE 3
			   Goto See	
       }
  }
  

	
  
		Actor Grenade20mm
   {
 projectile
+MISSILE
-NOGRAVITY
+BLOODSPLATTER
gravity 0.5
radius 5
height 5
speed 30
scale 1.0
damage (10)
Obituary "%o was blown up by 20mm grenade"
states
    {
	 Spawn:
	     GREX A 3 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
     }
   
  }
  
  
