   Actor InsaneMinigunner : GenericHumanScum 
       {
	   
   //----------------------------COMPLEX DOOM COMPATIBILITY DROPS------------------------

DropItem "WeaponUpgradeBox" 20
DropItem "HealthFlask" 40
DropItem "ArmorCharge" 40
DropItem "AmmoPack" 20
DropItem "Minigun " 109	   
	   
  scale 1.0
  obituary "%o didn't know that Insane Minigunner was slightly upset and trigger-happy"
  health 285
  radius 15
  height 54
  mass 400
  speed 10
    Species "Mancucu"
  +DONTHARMSPECIES
  +BOSSDEATH
  painchance 69
  SeeSound "NutM/See"
  PainSound "NutM/pain"
  DeathSound "INMNDE01"
  ActiveSound "NutM/Active"
  dropitem "Chaingun", 4
  Translation "112:127=5:8"	
  Tag "Insane trigger-happy Minigunner"
  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_Jump (50, "MAFON")
	TNT1 A 0 A_SpawnItemEx ("HumanTrails", 0, 0, 0)
  Spawn2:
    BRU3 R 10 A_Look
    loop
  STFU:
     TNT1 A 0
	 TNT1 A 0 ACS_NamedExecute ("STFUNutM")
	 Goto Spawn+2
	VanJump:
	 TNT1 A 0
	 TNT1 A 0  NODELAY ACS_NamedExecuteAlways ("VanillaHeights")
	Goto Spawn+3 
  MAFON:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx ("InsmSPAWNER", 0, 0, 0)
   Goto Spawn2		
  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")
    BRU3 AABBCCDD 3 A_Chase 
    loop
  DodgeLeft:
        TNT1 A 0 A_FaceTarget
	    BRU3 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))
	    BRU3 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))
	    BRU3 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
	    BRU3 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)) 
	    BRU3 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)) 
	    BRU3 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", 0, JLOSF_DEADNOJUMP)
	Goto SeeLoop
  Missile:
	TNT1 A 0 A_StopSound (4)
	TNT1 A 0 A_TakeInventory ("HeatCounter", 12)
	TNT1 A 0 A_PlaySound ("NutM/Laugh", 0)
	TNT1 A 0 A_PlaySound ("CHNGNU1A", 1)
    BRU3 E 35 A_FaceTarget
  MissileLoop:
	TNT1 A 0 A_FaceTarget
    TNT1 A 0 A_PlaySound ("MSTRFIRE", 1)
	TNT1 A 0 A_PlaySound ("MNGFF", 6, 0.5, 0)
	BRU3 FG 1 BRIGHT A_CustomMissile ("FastGatlingTracer",31,9,random (-1,1))
	TNT1 A 0 A_GiveInventory ("ShotCounter", 1)
	TNT1 A 0 A_GiveInventory ("HeatCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("ShotCounter", 500, "Reload")
	TNT1 A 0 A_JumpIfInventory ("HeatCounter", 12, "MissileLoopAlt")
	TNT1 A 0 A_FaceTarget
	goto MissileLoop
  MissileLoopAlt:
	//TNT1 A 0 A_Print ("OHOHOHOHAHAHA")
	TNT1 A 0 A_FaceTarget
    TNT1 A 0 A_PlaySound ("MSTRFIRE", 1)
	TNT1 A 0 A_PlaySound ("MNGFF", 6, 0.5, 0)
	BRU3 FG 1 BRIGHT A_CustomMissile ("FastGatlingTracer",31,9,random (-1,1))
	TNT1 A 0 A_GiveInventory ("ShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("ShotCounter", 500, "Reload")
	TNT1 A 0 A_FaceTarget
    BRU3 E 3 A_Jump (15, "MissileStop")
	Loop
  MissileStop:
	TNT1 A 0
	TNT1 A 0 A_StopSound (1)
	TNT1 A 0 A_Playsound ("CHNGND1A")
	BRU3 E 6 A_PlaySound ("HWEPJAM", 0)
	TNT1 A 0 A_PlaySound ("INMNNAMO", CHAN_VOICE)
	BRU3 E 2
	Goto Seeloop
  Reload:
	TNT1 A 0 A_StopSound (1)
	BRU3 E 12
	TNT1 A 0 A_Playsound ("CHNGND1A")
	BRU3 E 28 A_PlaySound ("M60Open")
	TNT1 A 0 A_TakeInventory ("HeatCounter", 25)
	TNT1 A 0 A_PlaySound ("M60Load")
    BRU3 E 35 A_TakeInventory ("ShotCounter", 500)
	BRU3 D 47
	BRU3 E 9 A_PlaySound ("M60Clos")
	Goto SeeLoop+1
  Pain:
	TNT1 A 0
	TNT1 A 0 A_StopSound (1)
    BRU3 A 3
    BRU3 A 3 A_Pain
    goto SeeLoop+1
  Death:
  	//TNT1 A 0 A_Jump(20, "Suren")
    BRU3 N 5 A_Scream
    BRU3 O 5
    BRU3 P 5 A_NoBlocking
    BRU3 Q 5 A_Playsound ("FallingBodyGear", CHAN_BODY)
    BRU3 S -1
    stop
  Death.WEAK:
    BRU3 O 5
    BRU3 P 5 A_PlaySound("Baddy/pain")
    BRU3 Q 5 A_NoBlocking
    BRU3 R 5
    BRU3 S -1
    stop
  XDeath:
    TNT1 A 0
    TNT1 A 0 A_SpawnItemEx ("VgavnonahCore", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
    BRU3 T 1
    BRU3 T 1 A_XScream
    PGIB A 5 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)
	 BRU3 SQPON 5
	Goto See  
  Idle:
    BRU3 AA 4 A_Wander
    BRU3 A 0 A_Look
    BRU3 BB 4 A_Wander
    BRU3 A 0 A_Look
    BRU3 CC 4 A_Wander
    BRU3 A 0 A_Look
    BRU3 DD 4 A_Wander
    BRU3 A 0 A_Look
    loop
  }
	   
	   
	   }

	Actor ShotCounter : Inventory
		{
		 Inventory.MaxAmount 500
		}


	Actor HeatCounter : Inventory
		{
		 Inventory.MaxAmount 25
		}

	 Actor FastGatlingTracer  
   {
    Damage (9)
	Projectile
    +FORCEXYBILLBOARD
	+SKYEXPLODE
    +DONTSPLASH
    +BLOODSPLATTER 
     +NOEXTREMEDEATH
    radius 2
    height 2
   speed 30
   renderstyle Add
   alpha 0.9
   scale .15
 States
     {
	  Spawn:
	    TNT1 A 0
		TNT1 A 0 NoDelay ACS_NamedExecuteAlways("PotentialProjectileHider", 0,0,0)
	  Spawn2:	
	    TRAC A 1 Bright A_PlaySound ("Bullet/Fly", 0, 1.0, true)
		Loop
	  Crash:	
	  Death:
	    TNT1 A 0
		TNT1 A 0 NoDelay ACS_NamedExecuteAlways("ProjectileIsDead", 0,0,0) 
	    TNT1 A 0 A_Playsound ("Bullet/Impact")
		TNT1 A 0 A_Jump (100, "D2")
		FX57 CDEFGHI 1 A_Playsound ("Bullet/Impact")
		Stop
	  D2:
	    FX58 CDEFGHI 1 A_Playsound ("Bullet/Impact")
		Stop
	  XDeath:
	    TNT1 A 0
		TNT1 A 0 NoDelay ACS_NamedExecuteAlways("ProjectileIsDead", 0,0,0)
		TNT1 A 1
		Stop	
	 }
   }


Actor InsaneMinigunnerDarkSwamp : InsaneMinigunner
	{
	 Translation "112:127=7:12"
	}