   Actor JUnit : GenericHumanScum 
       {
  scale 1.0
  obituary "%o was roasted by the goon with an incendiary rifle who got a little hot under his collar this morning"
  health 70
  radius 15
  height 54
  mass 100
  speed 10
    Species "J"
  +DONTHARMSPECIES
  Translation "192:207=80:111", "112:127=144:159", "168:175=5:8", "250:255=111:111"
  painchance 160
  SeeSound "JGoon/See"
  PainSound "JGoon/pain"
  DeathSound "JGoon/Death"
  ActiveSound "JGoon/Active"
  dropitem "Chaingun"
  Tag "Incendiary AR psycho"
  MONSTER
  +FLOORCLIP
  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)
	TNT1 A 0 A_SpawnItemEx ("BydloWRITER", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 60)
  Spawn2:
    NBAB A 10 A_Look
    loop
  STFU:
     TNT1 A 0
	 TNT1 A 0 ACS_NamedExecute ("STFUJGoon")
	 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_JumpIfInventory ("AKShotCounter", 15, "Reload")
	TNT1 A 0 A_Jump (199, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeLeftB", "DodgeRightF", "DodgeRightB")
    NBAB AABBCCDD 3 A_Chase 
    loop
  CheckReload:
    TNT1 A 0 A_Jump (150, "CheckReload2")
 	Goto SeeLoop+1
  CheckReload2:
    TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 15, "Reload")
	Goto SeeLoop+1
  DodgeLeft:
        TNT1 A 0 A_FaceTarget
	    NBAB 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))
	    NBAB 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))
	    NBAB 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
	    NBAB 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)) 
	    NBAB 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)) 
	    NBAB 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_JumpIfInventory ("GrenadeCoolDown", 1, 2)
	TNT1 A 0 A_JumpIfTargetInLos ("MollyCheck", 0, JLOSF_DEADNOJUMP, 650, 0)
    TNT1 A 0 A_JumpIfTargetInLos ("Missile", 0, JLOSF_DEADNOJUMP)
	Goto SeeLoop
  Missile:
    NBAB E 11 A_FaceTarget
	TNT1 A 0 A_JumpIfTargetInLos ("MollyCombo", 0, JLOSF_DEADNOJUMP,  650, 0)
	TNT1 A 0 A_JumpIfTargetInLos ("Burst", 0, JLOSF_CLOSENOJUMP | JLOSF_DEADNOJUMP, 0, 950)
  MissileLoop:
    TNT1 A 0 A_FaceTarget 
    TNT1 A 0 A_PlaySound ("NPCWHLMG")
	TNT1 A 0 A_PlaySound ("AR155FF", 6, 0.5, 0)
	NBAB F 2 BRIGHT A_CustomMissile ("IncJ21Tracer",32,9,random (-6,6), CMF_OFFSETPITCH, random (-1,2))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 15, "Reload")
	//TNT1 A 0 A_JumpIfInTargetLos ("DodgeCheck")
	TNT1 A 0 A_FaceTarget
    NBAB E 6 A_MonsterRefire (40, "SeeLoop")
   Loop
  MollyCombo:
    TNT1 A 0 A_FaceTarget 
    TNT1 A 0 A_PlaySound ("NPCWHLMG")
	TNT1 A 0 A_PlaySound ("AR155FF", 6, 0.5, 0)
	NBAB F 2 BRIGHT A_CustomMissile ("IncJ21Tracer",32,9,random (-6,6), CMF_OFFSETPITCH, random (-1,2))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 15, "Reload")
	//TNT1 A 0 A_JumpIfInTargetLos ("DodgeCheck")
    NBAB E 6 A_FaceTarget
	TNT1 A 0 A_PlaySound ("NPCWHLMG")
	TNT1 A 0 A_PlaySound ("AR155FF", 6, 0.5, 0)
	NBAB F 2 BRIGHT A_CustomMissile ("IncJ21Tracer",32,9,random (-6,6), CMF_OFFSETPITCH, random (-1,2))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 15, "Reload")
	//TNT1 A 0 A_JumpIfInTargetLos ("DodgeCheck")
    NBAB E 6 A_FaceTarget
	TNT1 A 0 A_PlaySound ("NPCWHLMG")
	TNT1 A 0 A_PlaySound ("AR155FF", 6, 0.5, 0)
	NBAB F 2 BRIGHT A_CustomMissile ("IncJ21Tracer",32,9,random (-6,6), CMF_OFFSETPITCH, random (-1,2))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 15, "Reload")
	//TNT1 A 0 A_JumpIfInTargetLos ("DodgeCheck")
    NBAB E 6 A_FaceTarget
	TNT1 A 0 A_PlaySound ("NPCWHLMG")
	TNT1 A 0 A_PlaySound ("AR155FF", 6, 0.5, 0)
	NBAB F 2 BRIGHT A_CustomMissile ("IncJ21Tracer",32,9,random (-6,6), CMF_OFFSETPITCH, random (-1,2))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 15, "Reload")
	//TNT1 A 0 A_JumpIfInTargetLos ("DodgeCheck")
    NBAB E 6 A_FaceTarget
	TNT1 A 0 A_PlaySound ("NPCWHLMG")
	TNT1 A 0 A_PlaySound ("AR155FF", 6, 0.5, 0)
	NBAB F 2 BRIGHT A_CustomMissile ("IncJ21Tracer",32,9,random (-6,6), CMF_OFFSETPITCH, random (-1,2))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 15, "Reload")
	//TNT1 A 0 A_JumpIfInTargetLos ("DodgeCheck")
    NBAB E 6 A_FaceTarget
	TNT1 A 0 A_PlaySound ("NPCWHLMG")
	TNT1 A 0 A_PlaySound ("AR155FF", 6, 0.5, 0)
	NBAB F 2 BRIGHT A_CustomMissile ("IncJ21Tracer",32,9,random (-6,6), CMF_OFFSETPITCH, random (-1,2))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 15, "Reload")
	//TNT1 A 0 A_JumpIfInTargetLos ("DodgeCheck")
    NBAB E 6 A_FaceTarget
	TNT1 A 0 A_JumpIfTargetInLos ("Molly", 0, JLOSF_DEADNOJUMP, 650, 0)
	Goto SeeLoop
  Burst:
    NBAB E 18 A_FaceTarget
    TNT1 A 0 A_FaceTarget 
    TNT1 A 0 A_PlaySound ("NPCWHLMG")
	TNT1 A 0 A_PlaySound ("AR155FF", 6, 0.5, 0)
	NBAB F 2 BRIGHT A_CustomMissile ("IncJ21Tracer",32,9,random (-6,6), CMF_OFFSETPITCH, random (-1,2))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 15, "Reload")
	//TNT1 A 0 A_JumpIfInTargetLos ("DodgeCheck")
	TNT1 A 0 A_FaceTarget
	NBAB E 1 A_FaceTarget
    TNT1 A 0 A_FaceTarget 
    TNT1 A 0 A_PlaySound ("NPCWHLMG")
	TNT1 A 0 A_PlaySound ("AR155FF", 6, 0.5, 0)
	NBAB F 2 BRIGHT A_CustomMissile ("IncJ21Tracer",32,9,random (-6,6), CMF_OFFSETPITCH, random (-1,2))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 15, "Reload")
	//TNT1 A 0 A_JumpIfInTargetLos ("DodgeCheck")
	TNT1 A 0 A_FaceTarget
	NBAB E 1 A_FaceTarget
    TNT1 A 0 A_FaceTarget 
    TNT1 A 0 A_PlaySound ("NPCWHLMG")
	TNT1 A 0 A_PlaySound ("AR155FF", 6, 0.5, 0)
	NBAB F 2 BRIGHT A_CustomMissile ("IncJ21Tracer",32,9,random (-6,6), CMF_OFFSETPITCH, random (-1,2))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 15, "Reload")
	//TNT1 A 0 A_JumpIfInTargetLos ("DodgeCheck")
	TNT1 A 0 A_FaceTarget
	NBAB E 1 A_FaceTarget
    TNT1 A 0 A_FaceTarget 
    TNT1 A 0 A_PlaySound ("NPCWHLMG")
	TNT1 A 0 A_PlaySound ("AR155FF", 6, 0.5, 0)
	NBAB F 2 BRIGHT A_CustomMissile ("IncJ21Tracer",32,9,random (-6,6), CMF_OFFSETPITCH, random (-1,2))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 15, "Reload")
	//TNT1 A 0 A_JumpIfInTargetLos ("DodgeCheck")
	TNT1 A 0 A_FaceTarget
	NBAB E 1 A_FaceTarget
    TNT1 A 0 A_FaceTarget 
    TNT1 A 0 A_PlaySound ("NPCWHLMG")
	TNT1 A 0 A_PlaySound ("AR155FF", 6, 0.5, 0)
	NBAB F 2 BRIGHT A_CustomMissile ("IncJ21Tracer",32,9,random (-6,6), CMF_OFFSETPITCH, random (-1,2))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 15, "Reload")
	//TNT1 A 0 A_JumpIfInTargetLos ("DodgeCheck")
	TNT1 A 0 A_FaceTarget
	NBAB E 1 A_FaceTarget
    TNT1 A 0 A_FaceTarget 
    TNT1 A 0 A_PlaySound ("NPCWHLMG")
	TNT1 A 0 A_PlaySound ("AR155FF", 6, 0.5, 0)
	NBAB F 2 BRIGHT A_CustomMissile ("IncJ21Tracer",32,9,random (-6,6), CMF_OFFSETPITCH, random (-1,2))
	TNT1 A 0 A_GiveInventory ("AKShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("AKShotCounter", 15, "Reload")
	//TNT1 A 0 A_JumpIfInTargetLos ("DodgeCheck")
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_MonsterRefire (40, "SeeLoop")
   Loop	
  MollyCheck:
    TNT1 A 0
	TNT1 A 0 A_JumpIfTargetInLos ("Molly", 0, JLOSF_DEADNOJUMP, 650, 0)
   Goto SeeLoop 	
  Molly:
    TNT1 A 0
	TNT1 A 0 A_PlaySound ("JGoon/Grenade", CHAN_VOICE)
    NBAB CD 4 A_FaceTarget
    TNT1 A 0 A_PlaySound ("GRNTOSS", CHAN_WEAPON)
	TNT1 A 0 A_CustomMissile ("Molotow1", 42, 0, random (-5,5), CMF_OFFSETPITCH, random (12, 17)) 
	NBAB CE 6 
	TNT1 A 0 A_GiveInventory ("GrenadeCoolDown", 4)
	Goto SeeLoop	
  Reload:  
    NBAB D 22 A_PlaySound ("RIFOUT")
	TNT1 A 0 A_TakeInventory ("AKShotCounter", 15)
	NBAB E 37 A_PlaySound ("RIFIN")
	NBAB D 15 A_PlaySound ("RIFREAD")
	Goto SeeLoop
  Pain:
    NBAB G 3
    NBAB G 3 A_Pain
    goto SeeLoop
  Death:
  	//TNT1 A 0 A_Jump(20, "Suren")
    NBAB H 5 A_Scream
    NBAB I 5
    NBAB J 5 A_NoBlocking
    NBAB K 5 A_Playsound ("FallingBodyGear", CHAN_BODY)
    NBAB L -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 5
    PGIB E -1
    Stop
  Raise:
    TNT1 A 0 
	TNT1 A 0 A_SpawnItemEx ("NanoResEffect", 0, 0, 15, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
    NBAB LJIH 5
   Goto See	
  //Suren:
    RSS1 A 5 A_PlaySound("Baddy/Surren")
    RSS1 B 5 
    RSS1 C 5 A_NoBlocking
    RSS1 C 5 A_SpawnItem("Russ1wimp",0,0)
    stop
  Idle:
    NBAB AA 4 A_Wander
    NBAB A 0 A_Look
    NBAB BB 4 A_Wander
    NBAB A 0 A_Look
    NBAB CC 4 A_Wander
    NBAB A 0 A_Look
    NBAB DD 4 A_Wander
    NBAB A 0 A_Look
    loop
    }
  }
  
  
  
  
	  Actor IncJ21Tracer 
			{
			Projectile
			Damage (4)
			DamageType Fire
			Species "J"
			+BLOODSPLATTER
			+FORCEXYBILLBOARD
			+DONTHARMSPECIES
			+DONTSPLASH 
			+NOEXTREMEDEATH
			radius 2
			height 2
			speed 20
			renderstyle Add
			alpha 0.9
			scale .19
			 States
				 {
				  Spawn:
					TNT1 A 0
					TNT1 A 0 A_SpawnItemEx ("IncRoundFlare", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
					TNT1 A 0 A_SpawnItemEx ("LittleSparxBurst", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
					TNT1 A 0 A_Explode ((2), 30)
					TRAC A 3 Bright A_PlaySound ("Bullet/Fly", 0, 1.0, true)
					Loop
				  Death:
					TNT1 A 0 A_Playsound ("FWOOSH")
					TNT1 A 0 A_Playsound ("Bullet/Impact")
					TNT1 A 0 A_Jump (100, "D2")
					TNT1 A 0 A_SpawnItemEx ("J21Flame", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
					TNT1 A 0 A_SpawnItemEx ("LittleSparxExplosion", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
					FIR3 ABCDEFGHIJKLMNOP 1 BRIGHT
					FX57 CDEFGHI 1 BRIGHT
					Stop
				  D2:
					TNT1 A 0 A_SpawnItemEx ("LittleSparxExplosion", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
					TNT1 A 0 A_SpawnItemEx ("J21Flame", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
					FIR3 ABCDEFGHIJKLMNOP 1 BRIGHT
					FX58 CDEFGHI 1 BRIGHT
					Stop
				  XDeath:
					TNT1 A 0 A_Playsound ("FWOOSH")
					TNT1 A 0 A_SpawnItemEx ("J21Flame", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
				    TNT1 A 0 A_SpawnItemEx ("LittleSparxExplosion", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)			
					FIR3 ABCDEFGHIJKLMNOP 1 BRIGHT
					Stop	
				 }
			}
			
			
			
			Actor J21Flame
			{
				//Projectile
				DamageType Fire
				//Damage (1)
				Radius 1
				Height 1
				RenderStyle Add
				Gravity 1.0
				//+Ripper
				-NOGRAVITY
				+NOBLOCKMAP
				+NOTELEPORT
				+DONTHARMSPECIES
				+NODAMAGETHRUST
				+DONTSPLASH
				+FLOORCLIP
				BounceCount 69
				BounceFactor 0
			    +THRUACTORS
				//+DOOMBOUNCE
				Reactiontime 2
				Speed 2
				States
				  {
				 Spawn:
					 TNT1 A 0	
					 TNT1 A 0 A_Playsound ("FIRESML", 6, 1.0, true)
					 TNT1 A 0 A_CustomMissile ("FlameSmoke", random(5, 10), 0, random (0, 360), CMF_AIMOFFSET, random (75, 175))  	
					 FLME A 1 BRIGHT A_SetScale(0.3)
					 FLME A 1 BRIGHT A_SetScale(0.4)
					 FLME B 1 BRIGHT A_SetScale(0.5)
					 FLME B 1 BRIGHT A_SetScale(0.6)
					 FLME C 1 BRIGHT A_SetScale(0.7)
					 FLME C 1 BRIGHT A_SetScale(0.8)
					 FLME D 1 BRIGHT A_SetScale(0.9)
					 FLME D 1 BRIGHT A_SetScale(1.0)
					 TNT1 A 0 A_Explode((3), 76, 0)
					 TNT1 A 0 A_Jump (100, 1)  	
					 TNT1 A 0 A_SetScale (-1.0, 1.0)
				 Spawn2:
					 TNT1 A 0  
					 TNT1 A 0 A_CustomMissile ("FlameSmoke", random(10, 15), 0, random (0, 360), CMF_AIMOFFSET, random (75, 175))
					 TNT1 A 0 A_Explode((5), 76, 0) 
					 FLME ABCDEFGHIJKLMN 1 Bright
					 TNT1 A 0 A_CountDown
					 //TNT1 A 0 A_GiveInventory ("FireCounter", 1)
					 //TNT1 A 0 A_JumpIfInventory ("FireCounter", 500, "Death")
					 Loop
				Death:
					TNT1 A 0 A_CustomMissile ("FlameSmoke", random(5, 10), 0, random (0, 360), CMF_AIMOFFSET, random (75, 175)) 	 
					FLME ABCDEFGHIJ 2 BRIGHT A_Explode((2), 16, 0)
					FLME K 1 BRIGHT A_SetScale(0.8)
					FLME K 1 BRIGHT A_FadeOut(0.2)
					TNT1 A 0 A_Explode((2), 8, 0)	
					FLME L 1 BRIGHT A_SetScale(0.4)
					FLME L 1 BRIGHT  A_FadeOut(0.3)
					TNT1 A 0 A_Explode((2), 8, 0)	
					FLME M 1 BRIGHT  A_SetScale(0.2)
					FLME M 1 BRIGHT  A_FadeOut(0.4)
					TNT1 A 0 A_Explode((2), 8, 0)	
					FLME N 1 BRIGHT  A_SetScale(0.1)
					FLME N 1 BRIGHT  A_FadeOut(0.5)
					TNT1 A 0 A_StopSound (6)
					Stop
					 }
			}