   Actor NaziCommander : GenericHumanScum 
       {
  scale 1.08
  obituary "%o was forcefully departed from the world of living by the Nazi Commander"
  health 320
  radius 15
  height 54
  mass 100
  speed 12
  Species "Arch"
  +DONTHARMSPECIES
  +FRIGHTENED
  painchance 10
  SeeSound "UberMinigunner/See"
  PainSound "UberMinigunner/pain"
  DeathSound "UberMinigunner/Death"
  ActiveSound "UberMinigunner/Active"
  dropitem "Chaingun"
  Tag "Nazi Untersturmführer"
  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 ("SiegWRITER", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION, 150)
  Spawn2:	
    NZOF T 10 A_Look
    loop
  STFU:
     TNT1 A 0
	 TNT1 A 0 ACS_NamedExecute ("STFUUberMinigunner")
	 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 (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_CheckSight ("CheckBackUpBeacon") //WHY THE FUCK YOU ZALOOPA
    TNT1 A 0 A_JumpIfInventory ("ShotCounter", 88, "Reload")
	TNT1 A 0 A_Jump (199, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeLeftB", "DodgeRightF", "DodgeRightB")
    NZOF AABBCCDD 2 A_Chase
    loop
  CheckReload:
    TNT1 A 0 A_Jump (150, "CheckReload2")
 	Goto SeeLoop+1
  CheckReload2:
    TNT1 A 0 A_JumpIfInventory ("ShotCounter", 88, "Reload")
	Goto SeeLoop+1
  DodgeLeft:
        TNT1 A 0 A_FaceTarget
	    NZOF 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))
	    NZOF 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))
	    NZOF 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
	    NZOF 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)) 
	    NZOF 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)) 
	    NZOF AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
  CheckBackupBeacon:
        TNT1 A 0 A_JumpIfInventory ("ArtCoolDown", 1, 2)
		TNT1 A 0 A_Jump (255, "BackupBeacon")	
  CheckRetreatAndBackup:
        TNT1 A 0 A_JumpIfInventory ("ArtCoolDown", 1, 2)
		TNT1 A 0 A_Jump (255, "RetreatAndBackup")
  MissileCheck:
    TNT1 A 0 A_JumpIfTargetInLos ("Missile", 0, JLOSF_DEADNOJUMP)
	Goto SeeLoop
  RetreatAndBackUp:
    NZOF ABCD 2 A_Chase ("", "")
	TNt1 A 0 A_GiveInventory ("MovingCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("MovingCounter", 18, "BackUpBeacon")
	TNT1 A 0 A_JumpIfCloser (275, "MissileCheck")
   Loop	
  Missile:
    NZOF E 8 A_FaceTarget
	TNT1 A 0 A_JumpIfInventory ("FirstBackUp", 1, 2)
	TNT1 A 0 A_Jump (255, "FirstBackUpBeacon")
	TNT1 A 0 A_TakeInventory ("ShortBurstCounter", 8)
	TNT1 A 0 A_TakeInventory ("LongBurstCounter", 11)
	TNT1 A 0 A_TakeInventory ("ArtCoolDown", 1)
	TNT1 A 0 A_Playsound ("CHNGNU1A", 0)
	NZOF E 8 A_FaceTarget
	TNT1 A 0 A_JumpIfTargetInLos ("ShortBurst", 0, JLOSF_CLOSENOJUMP | JLOSF_DEADNOJUMP, 750, 388)
	TNT1 A 0 A_JumpIfTargetInLos ("LongBurst", 0, JLOSF_CLOSENOJUMP | JLOSF_DEADNOJUMP, 0, 751)
  MissileLoop:
	NZOF E 1 A_FaceTarget
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_Playsound ("BLASFIR", 0)
	NZOF F 1 BRIGHT A_CustomMissile ("NaziDroneRedTracer", 34, 7)
	TNT1 A 0 A_GiveInventory ("ShotCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("ShotCounter", 88, "Reload")
	TNT1 A 0 A_JumpIfInTargetLos ("CheckRetreatAndBackup", 10, JLOSF_DEADNOJUMP | JLOSF_CLOSENOJUMP, 0, 300)
	NZOF E 1 A_MonsterRefire (40, "SeeLoop")
   Loop
  ShortBurst:
    NZOF E 1 A_FaceTarget
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_Playsound ("BLASFIR", 0)
	NZOF F 1 BRIGHT A_CustomMissile ("NaziDroneRedTracer", 34, 7)
	TNT1 A 0 A_GiveInventory ("ShotCounter", 1)
	TNT1 A 0 A_GiveInventory ("ShortBurstCounter", 1)
	TNT1 A 0 A_JumpIfInventory ("ShotCounter", 88, "Reload")
	TNT1 A 0 A_JumpIfInventory ("ShortBurstCounter", 8, "MissileCheck")
	TNT1 A 0 A_JumpIfInTargetLos ("CheckRetreatAndBackup", 10, JLOSF_DEADNOJUMP | JLOSF_CLOSENOJUMP, 0, 500)
	NZOF E 1 A_MonsterRefire (40, "SeeLoop")
	Loop
  LongBurst:
    NZOF E 1 A_FaceTarget
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_Playsound ("BLASFIR", CHAN_WEAPON)
	NZOF F 1 BRIGHT A_CustomMissile ("NaziDroneRedTracer", 34, 7)
	TNT1 A 0 A_GiveInventory ("ShotCounter", 1)
	TNT1 A 0 A_GiveInventory ("LongBurstCounter", 22)
	TNT1 A 0 A_JumpIfInventory ("ShotCounter", 88, "Reload")
	TNT1 A 0 A_JumpIfInventory ("ShortBurstCounter", 22, "MissileCheck")
	TNT1 A 0 A_JumpIfInTargetLos ("CheckRetreatAndBackup", 10, JLOSF_DEADNOJUMP | JLOSF_CLOSENOJUMP, 0, 800)
	NZOF E 1 A_MonsterRefire (40, "SeeLoop")
	Loop
  BackUpBeacon:
    TNT1 A 0 A_FaceTarget
    NZOF E 5 A_TakeInventory ("MovingCounter", 18)
	NZOF D 12 A_FaceTarget
	NZOF E 3 A_CustomMissile ("NaziCommanderBeaconTossed", 32, 0)
	TNT1 A 0 A_GiveInventory ("ArtCoolDown", 4)
	Goto SeeLoop
   FirstBackUpBeacon:
    TNT1 A 0 A_FaceTarget
    NZOF E 5 A_TakeInventory ("MovingCounter", 18)
	NZOF D 12 A_FaceTarget
	NZOF E 3 A_CustomMissile ("NaziCommanderBeaconTossed", 32, 0)
	TNT1 A 0 A_GiveInventory ("FirstBackUp", 2)
	Goto SeeLoop	
  Reload:
    NZOF D 41
	TNT1 A 0 A_TakeInventory ("ShotCounter", 88)
	NZOF E 32 A_Playsound ("HWEPOPN")
	NZOF D 33
	Goto SeeLoop
  Pain:
    NZOF G 3
    NZOF G 3 A_Pain
    goto SeeLoop
  Death:
    TNT1 A 0 A_StopSound (CHAN_WEAPON)
  	//TNT1 A 0 A_Jump(20, "Suren")
    NZOF H 5 A_Scream
    NZOF I 5
    NZOF J 5 A_NoBlocking
    NZOF K 5 A_Playsound ("FallingBodyGear", CHAN_BODY)
    NZOF 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 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)
	NZOF LKJIH 5
   Goto See	
  Idle:
    NZOF AA 4 A_Wander
    NZOF A 0 A_Look
    NZOF BB 4 A_Wander
    NZOF A 0 A_Look
    NZOF CC 4 A_Wander
    NZOF A 0 A_Look
    NZOF DD 4 A_Wander
    NZOF A 0 A_Look
    loop
  }
	   
	   
	   }
	   
	  
	  
	  
	  Actor NaziCommanderBackUpBeacon
		{
		 Health 25
		 Radius 8
		 Species "Arch"
		 Height 24
		 Monster
		 +NOICEDEATH
		 BloodType "MetalSurface"
		 -COUNTKILL
			States
				{
				 Spawn:
				    SSBE A 10 BRIGHT
					TNT1 A 0 A_Jump (230, "LuftKrieger", "Tacticool", "MG42guy")
				  ComboSpawn:
				    SSBE A 80 BRIGHT
					TNT1 A 0 A_SpawnItemEx ("NaziCommanderBeaconTeleport", 0, 0, 25, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
					TNT1 A 0 A_SpawnItemEx ("NaziCommanderTeleportFlare", 0, 0, 25, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
					TNT1 A 0 A_PlaySound ("RIFTACT", CHAN_VOICE)
					TNT1 A 0 A_SpawnItemEx ("CalledNaziLuftKrieger", -10, 0, 25, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
					SSBE A 80 BRIGHT
					TNT1 A 0 A_SpawnItemEx ("NaziCommanderBeaconTeleport", 0, 0, 25, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
					TNT1 A 0 A_SpawnItemEx ("NaziCommanderTeleportFlare", 0, 0, 25, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
					TNT1 A 0 A_PlaySound ("RIFTACT", CHAN_VOICE)
					TNT1 A 0 A_SpawnItemEx ("CalledTacticoolNazi", -10, 0, 25, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
					SSBE A 80 BRIGHT
					TNT1 A 0 A_SpawnItemEx ("NaziCommanderBeaconTeleport", 0, 0, 25, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
					TNT1 A 0 A_SpawnItemEx ("NaziCommanderTeleportFlare", 0, 0, 25, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
					TNT1 A 0 A_PlaySound ("RIFTACT", CHAN_VOICE)
					TNT1 A 0 A_SpawnItemEx ("CalledNaziHeavyMachinegunner", -10, 0, 25, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
				   Goto Idle
				  LuftKrieger:
				    SSBE A 80 BRIGHT
					TNT1 A 0 A_SpawnItemEx ("NaziCommanderBeaconTeleport", 0, 0, 25, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
					TNT1 A 0 A_SpawnItemEx ("NaziCommanderTeleportFlare", 0, 0, 25, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
					TNT1 A 0 A_PlaySound ("RIFTACT", CHAN_VOICE)
					TNT1 A 0 A_SpawnItemEx ("CalledNaziLuftKrieger", -10, 0, 25, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
				   Goto Idle
				  Tacticool:
				    SSBE A 80 BRIGHT
					TNT1 A 0 A_SpawnItemEx ("NaziCommanderBeaconTeleport", 0, 0, 25, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
					TNT1 A 0 A_SpawnItemEx ("NaziCommanderTeleportFlare", 0, 0, 25, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
					TNT1 A 0 A_PlaySound ("RIFTACT", CHAN_VOICE)
					TNT1 A 0 A_SpawnItemEx ("CalledTacticoolNazi", -10, 0, 25, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
				   Goto Idle
				  MG42guy:
				    SSBE A 80 BRIGHT
					TNT1 A 0 A_SpawnItemEx ("NaziCommanderBeaconTeleport", 0, 0, 25, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
					TNT1 A 0 A_SpawnItemEx ("NaziCommanderTeleportFlare", 0, 0, 25, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
					TNT1 A 0 A_PlaySound ("RIFTACT", CHAN_VOICE)
					TNT1 A 0 A_SpawnItemEx ("CalledNaziHeavyMachinegunner", -10, 0, 25, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
				   Goto Idle
				  Idle:
				    SSBE A 200
				   Loop
				  Death:
				    TNT1 A 0 A_PlaySound ("MINIEX")
				    TNT1 A 0 A_SpawnItemEx ("RedBlasterSparxes", 0, 0, 20, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
				    TNT1 AA 0 A_CustomMissile ("CSMiniMissileBoomSmoke", 0, 0, random (0, 360), 2, random (0, 360))
				    SSBE A 1 Bright A_SpawnItemEx ("MafonSparxes", 0, 0, 10, 0, 0, 0, 0, SXF_NOCHECKPOSITION) 
					TNT1 AAAA 0 A_CustomMissile ("CSMiniMissileBoomSmoke", 0, 0, random (0, 360), 2, random (0, 360))
				    TNT1 A 0 A_SpawnItemEx ("BeaconExplosionFlame", 0, 0, 20, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
					TNT1 AAA 0 A_CustomMissile ("CrapMetal", random (-4,4), random (-4,4), random (-360,360), CMF_OffSetPitch | CMF_AIMDIRECTION, random (15,30))
					TNT1 A 0 A_SpawnItemEx ("BeaconExplosion", 0, 0, 20, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
				   Stop	
				    
				}
		}
	   
	   
	 
	 Actor NaziCommanderBeaconTossed
	 {
	    Projectile
		Height 1
		Radius 1
		Scale 1.0
		Speed 10
		Species "Arch"
		Gravity 1.0
		Deathsound "DSHGREN3"
		Obituary "%o destroyed some fragile military equipment. With his skull" 
		Radius 5
		+MISSILE
		+THRUACTORS
		-NOGRAVITY
		+THRUSPECIES
		+MTHRUSPECIES
		+DONTREFLECT
		+DONTBLAST
		-BLOODSPLATTER
		+SKYEXPLODE
		Damage (1)
		    States
			   {
			    Spawn:
				  SSBE A 10
				 Loop
				Death:
				  XDeath:
				    Crash:
					Crush:
				    SSBE A 4
					SSBE A 3
					//TNT1 A 0 A_RearrangePointers(AAPTR_TARGET, AAPTR_TARGET)
					TNT1 A 0 A_SpawnItemEx ("NaziCommanderBackUpBeacon", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION | SXF_TRANSFERPOINTERS)
					TNT1 A 3
				   Stop
				   }
				   
	}
	   
	   
	   
	Actor NaziCommanderBeaconTeleport 
	{
	renderstyle add
	alpha 1.0
	scale 0.45
	+NOINTERACTION
	+CLIENTSIDEONLY
	states
	{
	Spawn:
	CLBC B 1 bright A_FadeOut(0.05,1)
	TNT1 A 0 A_SetScale(scalex+0.05,scaley+0.05)
	loop
	}
	} 
	   
	  
	  Actor CalledNaziLuftKrieger : NaziLuftKrieger
		{
		 +LOOKALLAROUND
		 +THRUSPECIES
		 +DONTHARMSPECIES +DONTHURTSPECIES 
		 Species "Arch"
		 DropItem "Stimpack"
		 DropItem "Cell"
		 DropItem "armorbonus"
		}
	  
	   
	 
	  Actor CalledTacticoolNazi : TacticoolNazi
		{
		 +LOOKALLAROUND
		 +THRUSPECIES
		 +DONTHARMSPECIES +DONTHURTSPECIES
		 Species "Arch"
		 DropItem "armorbonus"
		 DropItem "Clip"
		 DropItem "Stimpack"
		}
		
	
	  
	  Actor CalledNaziHeavyMachinegunner : NaziHeavyMachinegunner
		{
		 +LOOKALLAROUND
		 +THRUSPECIES
		 +DONTHARMSPECIES +DONTHURTSPECIES
		 Species "Arch"
		 DropItem "Stimpack"
		 DropItem "Clip"
		}
	  
	 
	 
	 actor BeaconExplosionFlame
	{
	renderstyle add
	alpha 0.9
	scale 0.99
	projectile 
	radius 1
	height 1
	speed 3
	damage 0
	+NOINTERACTION
	+CLIENTSIDEONLY
	states
	{
	Spawn:
	EXP1 ABCDEFGH 1 Bright
	stop
	}
	}
	
	
	Actor BeaconExplosion 
	{
	renderstyle add
	alpha 0.9
	scale 1.0
	+NOINTERACTION
	+CLIENTSIDEONLY
	states
	{
	Spawn:
	PLLR ABCDEFGHIJKLMNO 1 bright A_FadeOut(0.05,1)
	loop
	}
	} 
	
	
	 
	 
	 Actor ShortBurstCounter : Inventory
		{
		 Inventory.Maxamount 8
		}
		
	
	Actor LongBurstCounter : Inventory
		{
		 Inventory.Maxamount 22
		}
		
	
	
	Actor FirstBackUp : Inventory
		{
		 Inventory.Maxamount 2
		}
		
	