    Actor PlasmaBlasterBald : GenericHumanScum
 {
  scale 1.0
  obituary "%o was PLASMAed by the futuristically armed and fancy looking bald henchman"
  health 60
  radius 15
  height 54
  mass 100
  speed 11
  painchance 175
  Species "IMP"
+DONTHARMSPECIES
  SeeSound "PlasmaBlasterBald/see"
  PainSound "PlasmaBlasterBald/pain"
  DeathSound "PlasmaBlasterBald/Death"
  ActiveSound "PlasmaBlasterBald/active" 
  Tag "Plasma Blaster Fancy bald Henchman"
  MONSTER
  +DROPOFF
  +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.04,0.04))
				TNT1 A 0 A_SpawnItemEx ("HumanTrails", 0, 0, 0)
            Spawn2:	
			    BO06 A 9 A_Look
				Loop
			STFU:
     TNT1 A 0
	 TNT1 A 0 ACS_NamedExecute ("STFUPlasmaBlasterBald")
	 Goto Spawn+2
	   VanJump:
	 TNT1 A 0
	 TNT1 A 0  NODELAY ACS_NamedExecuteAlways ("VanillaHeights")
	Goto Spawn+3
	   
			See:
			     "####" A random(1,4)
                 TNT1 A 0 A_Jump (170, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeLeftB", "DodgeRightF", "DodgeRightB")
	             TNT1 A 0 A_Jump (230, "MissileCheck")
			SeeLoop:
			    TNT1 A 0 A_Jump (170, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeLeftB", "DodgeRightF", "DodgeRightB")
			    BO06 AAABBBCCCDDD 2 A_Chase
				Loop
	 DodgeLeft:
	    TNT1 A 0 A_FaceTarget
	    BO06 AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (120, "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))
	    BO06 AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (120, "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))
	    BO06 AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (120, "MissileCheck")
		Goto SeeLoop+1
	DodgeRight:
	    TNT1 A 0 A_FaceTarget
	    BO06 AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (100, "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)) 
	    BO06 AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (100, "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)) 
	    BO06 AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (100, "MissileCheck")
		Goto SeeLoop+1
		   MissileCheck:
		        TNT1 A 0 A_JumpIfInventory ("ArtCoolDown", 1, 2)
				TNT1 A 0 A_Jump (195, "ChargedShotCheck")
		        TNT1 A 0 A_JumpIfTargetInLos ("Missile", 0, JLOSF_DEADNOJUMP)
				Goto SeeLoop
		    Missile:
			    TNT1 A 0 A_TakeInventory ("ArtCoolDown", 1)
			    BO06 E 12 A_FaceTarget
				TNT1 A 0 A_JumpIfTargetInLos ("LongRange", 0, JLOSF_CLOSENOJUMP | JLOSF_DEADNOJUMP, 0, 1000)
				TNT1 A 0 A_PlaySound ("BLSTRFIR")
				BO06 F 3 BRIGHT A_CustomMissile ("SmallGreenBlasterPlasmaBall", 45, 3)
				BO06 E 14 A_FaceTarget
				TNT1 A 0 A_PlaySound ("BLSTRFIR")
				BO06 F 3 BRIGHT A_CustomMissile ("SmallGreenBlasterPlasmaBall", 45, 3)
				BO06 E 14 A_FaceTarget
				TNT1 A 0 A_PlaySound ("BLSTRFIR")
				BO06 F 3 BRIGHT A_CustomMissile ("SmallGreenBlasterPlasmaBall", 45, 3)
				BO06 E 3 A_FaceTarget
			   Goto SeeLoop
			LongRange:
			    BO06 E 12 A_FaceTarget
				TNT1 A 0 A_PlaySound ("BLSTRFIR")
				BO06 F 3 BRIGHT A_CustomMissile ("SmallGreenBlasterPlasmaBall", 45, 3)
				BO06 E 7 A_FaceTarget
				TNT1 A 0 A_PlaySound ("BLSTRFIR")
				BO06 F 3 BRIGHT A_CustomMissile ("SmallGreenBlasterPlasmaBall", 45, 3)
				BO06 E 7 A_FaceTarget
				TNT1 A 0 A_PlaySound ("BLSTRFIR")
				BO06 F 3 BRIGHT A_CustomMissile ("SmallGreenBlasterPlasmaBall", 45, 3, random (-3,3), CMF_OFFSETPITCH, random (-1,1))
				BO06 E 7 A_FaceTarget
				TNT1 A 0 A_PlaySound ("BLSTRFIR")
				BO06 F 3 BRIGHT A_CustomMissile ("SmallGreenBlasterPlasmaBall", 45, 3, random (-3,3), CMF_OFFSETPITCH, random (-1,1))
				BO06 E 7 A_FaceTarget
				TNT1 A 0 A_PlaySound ("BLSTRFIR")
				BO06 F 3 BRIGHT A_CustomMissile ("SmallGreenBlasterPlasmaBall", 45, 3, random (-3,3), CMF_OFFSETPITCH, random (-1,1))
				BO06 E 3 A_FaceTarget
			   Goto SeeLoop
			ChargedShotCheck:
			    TNT1 A 0 A_JumpIfTargetInLos ("ChargedShot")
			   Goto MissileCheck+2
			ChargedShot:
			    TNT1 A 0 A_PlaySound ("GRNBLCHA")
			    BO06 E 17 A_FaceTarget
				BO06 F 3 BRIGHT A_CustomMissile ("ChargedGreenBlasterShot", 45, 3)
				TNT1 A 0 A_GiveInventory ("ArtCoolDown", 4)
				BO06 E 7 A_FaceTarget
			   Goto SeeLoop	
			Pain:
			    BO06 G 3
			    BO06 G 3 A_Pain
			Goto SeeLoop
		Death:
			BO06 H 5 A_Scream
			BO06 I 5 A_NoBlocking
			BO06 J 5
			BO06 K random(3,6)
			TNT1 A 0 A_Playsound ("FallingBodyGear", CHAN_BODY)
			BO06 L -1
			Stop
		XDeath:
		    TNT1 A 0
            TNT1 A 0 A_SpawnItemEx ("VgavnonahCore", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
		    BO06 M 5
			PGIB A 5
			PGIB B 5 A_PlaySound("gibsound")
			PGIB C 5 A_NoBlocking
			PGIB D 5
			PGIB E -1
			Stop
		Raise:
			TNT1 A 0 
			TNT1 A 0 A_SpawnItemEx ("NanoResEffect", 0, 0, 15, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
			BO06 LKJIH 5
		   Goto See	
		   }
		   
}



	  Actor SmallGreenBlasterPlasmaBall
      {
	      Radius 6
          Height 8
		  Speed 14
		  Scale 0.35
		  FastSpeed 20
		  Damage (2)
		  Projectile
		  +RANDOMIZE
		  Alpha 0.75
		  RenderStyle Add
		  SeeSound ""
		  DeathSound "DESMEX"
		  States
		  {
		  Spawn:
		    TNT1 A 0 A_SpawnItemEx ("SmallGreenFlare", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION) 
			GSTR B 1 Bright  A_SpawnItemEx ("SmallGreenFlare", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
			GSTR C 1 Bright  A_SpawnItemEx ("SmallGreenFlare", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION) 
			GSTR D 1 Bright  A_SpawnItemEx ("SmallGreenFlare", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
			TNT1 A 0 A_SpawnItemEx ("SmallGreenFlare", 0, 0, 0, 0, 0, 0)
 			Loop
		  Death:
			TNT1 A 0 A_SpawnItemEx ("AssSmoke2", 0, 0, 0)
			TNT1 A 0 A_Explode ((10), 69)
		    TNT1 A 0 A_SpawnItemEx ("SmallGreenExpFlare", 0,0,0,0,0,0)
			GRXL ABCDEF 1 Bright
			Stop
			  }
           }
		   
		   
		
		
		
		 Actor ChargedGreenBlasterShot
      {
	      Radius 6
          Height 8
		  Speed 14
		  Scale 0.5
		  FastSpeed 18
		  Damage (8)
		  Projectile
		  Alpha 1.0
		  RenderStyle Add
		  SeeSound ""
		  DeathSound "BLCHAEXP"
		  States
		  {
		  Spawn:
			SPKG A 1 Bright
 			Loop
		  Death:
			TNT1 A 0 A_SpawnItemEx ("AssSmoke2", 0, 0, 0)
			TNT1 AAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("GreenPlasmaDMGParticle", 0, 0, random (-180,180), CMF_OFFSETPITCH, random (0,180))
			//TNT1 AAAAAAAAA 0 A_CustomMissile ("GreenPlasmaParticleSpawner", 0, 0, random (-180,180), CMF_OFFSETPITCH, random (-180,180))
			TNT1 A 0 A_Explode ((36), 150)
		    TNT1 A 0 A_SpawnItemEx ("GreenExpFlare", 0,0,0,0,0,0, 0, SXF_NOCHECKPOSITION)
			TNT1 A 0 A_SpawnItemEx ("GreenChargedBlasterShockwave", 0,0,0,0,0,0, 0, SXF_NOCHECKPOSITION)
			GRXL ABCDEF 1 Bright
			Stop
			  }
           }
		   
		   
		   
		   
		 
		 
		 Actor GreenPlasmaDMGParticle
      {
	      Radius 2
          Height 2
		  Speed 8
		  Scale 0.15
		  FastSpeed 12
		  +DONTHARMSPECIES
		  Species "IMP"
		  Bouncecount 60
		  BounceFactor 1
		  +DOOMBOUNCE
		  Damage (0)
		  +THRUACTORS 
		  Projectile
		  ReactionTime 150
		  RenderStyle Add
		  SeeSound ""
		  DeathSound ""
		  States
		  {
		  Spawn:
		    TNT1 A random (3, 12)
			TNT1 A 1 A_Stop 
		  Spawn2:	
		    TNT1 A 1 A_CountDown
		    TNT1 A 0 A_Explode ((2),50)
			TNT1 A 1 A_SpawnItemEx ("GreenFlameParticle", 0, random (-5,-3), 0, random (-1,1), random (-1,1), random (-2,2), 180, SXF_NOCHECKPOSITION)
			TNT1 A 1 A_CountDown
			TNT1 A 1 A_SpawnItemEx ("GreenFlameParticle", 0, random (-5,-3), 0, random (-1,1), random (-1,1), random (-2,2), 180, SXF_NOCHECKPOSITION)
			TNT1 A 1 A_CountDown
			TNT1 A 1 A_SpawnItemEx ("GreenFlameParticle", 0, random (-5,-3), 0, random (-1,1), random (-1,1), random (-2,2), 180, SXF_NOCHECKPOSITION)
			TNT1 A 1 A_CountDown
			TNT1 A 1 A_SpawnItemEx ("GreenFlameParticle", 0, random (-5,-3), 0, random (-1,1), random (-1,1), random (-2,2), 180, SXF_NOCHECKPOSITION)
			TNT1 A 1 A_CountDown
			TNT1 A 1 A_SpawnItemEx ("GreenFlameParticle", 0, random (-5,-3), 0, random (-1,1), random (-1,1), random (-2,2), 180, SXF_NOCHECKPOSITION)
			TNT1 A 1 A_CountDown
			TNT1 A 1 A_SpawnItemEx ("GreenFlameParticle", 0, random (-5,-3), 0, random (-1,1), random (-1,1), random (-2,2), 180, SXF_NOCHECKPOSITION)
 			Loop
		  Death:
			TNT1 A 0 A_SetScale (scaleX+0.1, ScaleY+0.1)
			TNT1 A 2
			Stop
			  }
           }
		   
		   
		   
		   
		 
		 
		 
		 
		 Actor GreenPlasmaParticleSpawner
       { 
	      Radius 2
          Height 2
		  Speed 8
		  Scale 0.15
		  FastSpeed 12
		  +NOINTERACTION
		  +CLIENTSIDEONLY
		  Projectile
		  ReactionTime 150
		  States
		  {
		  Spawn:
		    TNT1 A random (3, 8)
			TNT1 A 1 A_Stop 
		  Spawn2:	
		    TNT1 A 1 A_CountDown
			TNT1 A 1 A_SpawnItemEx ("GreenFlameParticle", 0, random (-5,-3), 0, random (-1,1), random (-1,1), random (-2,2), 180, SXF_NOCHECKPOSITION)   
 			Loop
		  Death:
			TNT1 A 0 A_SetScale (scaleX+0.1, ScaleY+0.1)
			TNT1 A 2
			Stop
			  }
           }
		   
		   
		   
		 
		 
		 
		 Actor GreenFlameParticle 
				{
			   +NOINTERACTION
			   +CLIENTSIDEONLY
				Speed 1
				RenderStyle Add	
				Scale 0.05
				 States
					{
					Spawn:	
					    GMKE ABCDEFGHI 1 BRIGHT 
						GMKE JKL 1 BRIGHT A_FadeOut (0.2)
					   Stop
					}
                }
				
		
		
		
		
		actor GreenChargedBlasterShockwave
		{
		renderstyle add
		alpha 0.8
		scale 0.08
		+NOINTERACTION
		+CLIENTSIDEONLY
		states
		{
		Spawn:
		CLBC H 1 bright A_FadeOut(0.05,1)
		TNT1 A 0 A_SetScale(scalex+0.05,scaley+0.05)
		loop
		}
		}