//==============================================================================
// Nazi soldiers basis
//==============================================================================

ACTOR NaziSoldier
{
    +FLOORCLIP
	+DONTHARMSPECIES
	+NOINFIGHTING
	+NOTARGET
	Painchance 		"Shock", 256
	Damagefactor 	"NaziSoldier", 0
	Seesound 		""
	Activesound 	""
	Attacksound 	""
	Painsound 		""
	Deathsound 		""
	Monster
	States
	{
	Death.Fire:
		NULL A 0 A_JumpIf(ACS_NamedExecuteWithResult("FireBodyToggle")==1,"FireThatHurts")
		NULL A 0 A_ChangeFlag("FLOATBOB",false)
		NULL A 0 A_ChangeFlag("FLOAT",false)
		NULL A 0 A_ChangeFlag("NOGRAVITY",false)
		NULL A 0 A_ChangeFlag("FRIGHTENED",true)
		NULL A 0 A_SetTranslucent(1.0)
		NULL A 0 A_SetScale(0.42)
		NULL A 0 A_PlaySound("misc/fire/idle",5)
		NULL A 0 A_PlaySound("enemies/nazi/fire",CHAN_VOICE,7)
		NULL A 0 A_StopSound(1)
		NULL A 0 A_SetFloorClip
		NULL A 0 A_NoBlocking
		//1
		NZFR AAA 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR BBB 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR CCC 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR DDD 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR EEE 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR FFF 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		//2
		NZFR AAA 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR BBB 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR CCC 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR DDD 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR EEE 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR FFF 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		//3
		NZFR AAA 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR BBB 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR CCC 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR DDD 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR EEE 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR FFF 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		//4
		NZFR AAA 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR BBB 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR CCC 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR DDD 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR EEE 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR FFF 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		//5
		NZFR AAA 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR BBB 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR CCC 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR DDD 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR EEE 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR FFF 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		//6
		NZFR AAA 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR BBB 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR CCC 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR DDD 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR EEE 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR FFF 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		//7
		NZFR AAA 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR BBB 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR CCC 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR DDD 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR EEE 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR FFF 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		//8
		NZFR AAA 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR BBB 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR CCC 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR DDD 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR EEE 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NZFR FFF 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		//Dead
		NZFR GHIJK 3 BRIGHT A_SpawnItemEX("GunSmokeSpawner",0,1,5)
		NZFR LMNOP 3 BRIGHT A_SpawnItemEX("GunSmokeSpawner",0,1,5)
		NZFR QRS 3 BRIGHT A_SpawnItemEX("GunSmokeSpawner",0,1,5)
		NZFR TT 3 A_SpawnItemEX("GunSmokeSpawner",0,0,5)
		NZFR TTTTTTTTTTTT 1 A_SpawnItemEX("GunSmokeSpawner",0,0,5)
		NZFR TTTTTTTTTTTT 1 A_SpawnItemEX("GunSmokeSpawner",0,0,5)
		NZFR TTTTTTTTTTTT 1 A_SpawnItemEX("GunSmokeSpawner",0,0,5)
		NZFR TTTTTTTTTTTT 1 A_SpawnItemEX("GunSmokeSpawner",0,0,5)
		NZFR TTTTTTTTTTTT 1 A_SpawnItemEX("GunSmokeSpawner",0,0,5)
		NZFR T -1
		NULL A 0 A_StopSound(1)
		Stop
	Death.Plas:
		NULL A 0 A_ChangeFlag("FLOATBOB",false)
		NULL A 0 A_ChangeFlag("FLOAT",false)
		NULL A 0 A_ChangeFlag("NOGRAVITY",false)
		NULL A 0 A_SetTranslucent(1.0)
		NULL A 0 A_SetScale(0.85)
		NULL A 0 A_StopSound(1)
		NULL A 0 A_SetFloorClip
		NULL A 0 A_PlaySound("enemies/nazi/disintegrate",6)
		NULL A 0 A_PlaySound("enemies/nazi/disintscream",CHAN_VOICE,7)
		NULL A 0 A_Noblocking
		NZPL ABCD 3 BRIGHT 
		NZPL E 3 BRIGHT A_SetTranslucent(0.9,0)
		NZPL F 3 BRIGHT A_SetTranslucent(0.8,0)
		NZPL G 3 BRIGHT A_SetTranslucent(0.7,0)
		NZPL H 3 BRIGHT A_SetTranslucent(0.5,0)
		NZPL I 4 BRIGHT A_SetTranslucent(0.3,0)
		NZPL J 4 BRIGHT A_SetTranslucent(0.1,0)
		NULL A 0 A_StopSound(1)
		Stop
	Pain.Shock:
		NULL A 0 A_SetScale(0.45)
		"----" A 0 A_ChangeFlag("NoPain",1)
	ShockLoop:
		NULL A 0 A_PlaySound("weapons/ESK/spark")
		"NZSH" A 4 A_Pain
		"----" A 4 BRIGHT
		"----" A 0 A_SetScale(1)
		"----" A 0 A_ChangeFlag ("NoPain",0)
		"----" A 0 A_Jump(256,"See")
		Stop
	Death.Shock:
		"----" A 0 A_ChangeFlag ("NoPain",0)
		"----" A 0 A_SetScale(1)
		"----" A 0 A_Jump(256,"Death")
		Stop
	Death.SonicBlast:
		NULL A 0 A_ChangeFlag("FLOATBOB",false)
		NULL A 0 A_ChangeFlag("FLOAT",false)
		NULL A 0 A_ChangeFlag("NOGRAVITY",false)
		NULL A 0 A_SetTranslucent(1.0)
		NULL A 0 A_SetScale(0.5)
		NULL A 0 A_StopSound(1)
		NULL A 0 A_SetFloorClip
		NULL A 0 A_PlaySound("enemies/nazi/disintegrate",6)
		NULL A 0 A_PlaySound("enemies/nazi/disintscream",CHAN_VOICE,7)
		NULL A 0 A_Noblocking
		VAPO A 3 BRIGHT 
		VAPO B 3 BRIGHT
		VAPO C 3 BRIGHT
		VAPO D 3 BRIGHT
		VAPO E 3 BRIGHT
		VAPO F 4 BRIGHT
		VAPO G 4 BRIGHT
		VAPO H 4 BRIGHT
		NULL A 0 A_StopSound(1)
		Stop
	Death.SSGgib:
		TNT1 A 0 A_JumpIfCloser(128,"XDeath")
		"----" A 0 A_Jump(256,"Death")
		Stop
	Death.Explode:
	XDeath:
		NULL A 0 A_ChangeFlag("FLOATBOB",false)
		NULL A 0 A_ChangeFlag("FLOAT",false)
		NULL A 0 A_ChangeFlag("NOGRAVITY",false)
		NULL A 0 A_SetTranslucent(1.0)
		NULL A 0 A_SetScale(0.56)
		NULL A 0 A_StopSound(1)
		NULL A 0 A_Playsound("enemies/nazi/gibbed",5)
		NULL A 0 A_XScream
		NULL A 0 A_SetFloorClip
		NULL A 0 A_NoBlocking
		NULL A 0 A_SpawnDebris("BO_NashGore_Gib9",0)
		NULL A 0 A_SpawnDebris("BO_NashGore_Gib10",0)
		NULL A 0 A_SpawnDebris("BO_NashGore_Gib11",0)
		NULL A 0 A_SpawnDebris("BO_NashGore_Gib11",0)
		NULL A 0 A_SpawnItem("BO_NashGore_GibGenerator",0,0,0,0)
		NZEX A 4
		NULL A 0 A_SpawnItem("BO_NashGore_GibGenerator",0,0,0,0)
		NZEX B 3
		NULL A 0 A_SpawnItem("BO_NashGore_GibGenerator",0,0,0,0)
		NZEX C 3
		NULL A 0 A_SpawnItem("BO_NashGore_GibGenerator",0,0,0,0)
		NZEX DEF 3
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("JanitorToggle")==1,"ThisBodyOut")
		NZEX G -1
		NULL A 0 A_StopSound(1)
		Stop
	ThisBodyOut:
		NULL A 0 A_StopSound(1)
		NZEX G 1050
		Stop
	FireThatHurts:
		NULL A 0 A_ChangeFlag("FLOATBOB",false)
		NULL A 0 A_ChangeFlag("FLOAT",false)
		NULL A 0 A_ChangeFlag("NOGRAVITY",false)
		NULL A 0 A_ChangeFlag("FRIGHTENED",true)
		NULL A 0 A_SetTranslucent(1.0)
		NULL A 0 A_SetScale(0.42)
		NULL A 0 A_PlaySound("misc/fire/idle",5)
		NULL A 0 A_PlaySound("enemies/nazi/fire",CHAN_VOICE,7)
		NULL A 0 A_StopSound(1)
		NULL A 0 A_SetFloorClip
		NULL A 0 A_Noblocking
		//1
		NULL A 0 A_Explode(3,30)
		NZFR AAA 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR BBB 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR CCC 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR DDD 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR EEE 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR FFF 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		//2
		NULL A 0 A_Explode(3,30)
		NZFR AAA 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR BBB 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)		
		NULL A 0 A_Explode(3,30)
		NZFR CCC 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR DDD 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR EEE 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR FFF 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		//3
		NULL A 0 A_Explode(3,30)
		NZFR AAA 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR BBB 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR CCC 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR DDD 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR EEE 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR FFF 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		//4
		NULL A 0 A_Explode(3,30)
		NZFR AAA 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR BBB 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR CCC 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR DDD 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR EEE 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR FFF 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		//5
		NULL A 0 A_Explode(3,30)
		NZFR AAA 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR BBB 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR CCC 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR DDD 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR EEE 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR FFF 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		//6
		NULL A 0 A_Explode(3,30)
		NZFR AAA 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR BBB 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR CCC 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR DDD 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR EEE 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR FFF 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		//7
		NULL A 0 A_Explode(3,30)
		NZFR AAA 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR BBB 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR CCC 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR DDD 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR EEE 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR FFF 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		//8
		NULL A 0 A_Explode(3,30)
		NZFR AAA 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR BBB 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR CCC 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR DDD 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR EEE 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		NULL A 0 A_Explode(3,30)
		NZFR FFF 1 BRIGHT A_Wander
		NULL AA 0 A_SpawnItemEX("GunSmokeSpawner",random(-8,8),3+random(-3,3),random(0,32),0,1,2,0,0,0)
		//Dead
		NULL A 0 A_Explode(3,30)
		NZFR GHIJK 3 BRIGHT A_SpawnItemEX("GunSmokeSpawner",0,1,5)
		NULL A 0 A_Explode(3,30)
		NZFR LMNOP 3 BRIGHT A_SpawnItemEX("GunSmokeSpawner",0,1,5)
		NULL A 0 A_Explode(3,30)
		NZFR QRS 3 BRIGHT A_SpawnItemEX("GunSmokeSpawner",0,1,5)
		NULL A 0 A_Explode(3,30)
		NZFR TT 3 A_SpawnItemEX("GunSmokeSpawner",0,0,5)
		NULL A 0 A_Explode(3,30)
		NZFR TTTTTTTTTTTT 1 A_SpawnItemEX("GunSmokeSpawner",0,0,5)
		NZFR TTTTTTTTTTTT 1 A_SpawnItemEX("GunSmokeSpawner",0,0,5)
		NZFR TTTTTTTTTTTT 1 A_SpawnItemEX("GunSmokeSpawner",0,0,5)
		NZFR TTTTTTTTTTTT 1 A_SpawnItemEX("GunSmokeSpawner",0,0,5)
		NZFR TTTTTTTTTTTT 1 A_SpawnItemEX("GunSmokeSpawner",0,0,5)
		NZFR T -1
		NULL A 0 A_StopSound(1)
		Stop
	}
}

//===========================================================================
//
// Nazi Tracers (From Bratwurst Monsters V2 by HorrorMovieGuy, Thanks!)
//
//===========================================================================

ACTOR BulletTracer : FastProjectile
{
  Radius 5
  Height 3
  Speed  30 // was 45
  Damage (frandom(1,5)*2) //was *3
  Projectile
  MissileType "TracerTrail"
  MissileHeight 8
  Decal BulletHole
  +BLOODSPLATTER
  Scale 0.35
  RenderStyle Add
  ActiveSound "Weapons/Generic/Whizzing"
  States
  {
  Spawn:
	NZBT A 1 BRIGHT NoDelay A_CheckSightOrRange(192,"Whizzing")
	TNT1 A 0 A_LoopActiveSound
	Loop
  Whizzing:
	NZBT A 5 BRIGHT A_PlaySound("Weapons/Generic/Whizzing",1,1,1,CHAN_BODY)
  SpawnNoWhiz:
	NZBT A 1 BRIGHT
	Loop
  Death:
  Crash:
    TNT1 A 1 A_SpawnItemEx("Bullet_Puff",0,0,0,0,0,1)
    Stop
  XDeath:
    TNT1 A 0 A_PlaySound("Weapons/Generic/FleshHit")
	Stop
  }
}

ACTOR Whizzer : FastProjectile
{
	+ClientSideOnly
	+BloodlessImpact
	Damage 0
	Radius 2
	Height 2
	Speed 250
	Mass 2
	Projectile
	+Missile
	+NoTeleport
	States
	{
	Spawn:
		TNT1 A 1 NoDelay
		TNT1 A 1 A_PlaySound("Weapons/Generic/Whizzing",1,1,0,CHAN_BODY)
		Stop
	}
}

ACTOR TracerTrail
{
  Radius 2
  Height 8
  Scale 0.3
  +NOBLOCKMAP
  +NOGRAVITY
  +NOTELEPORT
  +NOCLIP
  RenderStyle Add
  Alpha 0.7
  States
  {
  Spawn:
    NZBT AAA 1 BRIGHT A_FadeOut(0.2) //Was AAAAA
    Stop
  }
}

// To understand this:

// T: Tracer / F: Fast / S: Strong

// First category

ACTOR T1F1S1 : BulletTracer
{
	Speed  30
	Damage (frandom(1,2)*1)
}

ACTOR T1F2S2 : BulletTracer
{
	Speed  32
	Damage (frandom(1,2)*1)
}

ACTOR T1F3S3 : BulletTracer
{
	Speed  34
	Damage (frandom(1,2)*2)
}

ACTOR T1F4S4 : BulletTracer
{
	Speed  36
	Damage (frandom(1,2)*2)
}

ACTOR T1F5S5 : BulletTracer
{
	Speed  38
	Damage (frandom(1,2)*3)
}

ACTOR T1F6S6 : BulletTracer
{
	Speed  40
	Damage (frandom(1,2)*3)
}

// Second category

ACTOR T2F1S1 : BulletTracer
{
	Speed  40
	Damage (frandom(1,3)*1)
}

ACTOR T2F2S2 : BulletTracer
{
	Speed  42
	Damage (frandom(1,3)*1)
}

ACTOR T2F3S3 : BulletTracer
{
	Speed  44
	Damage (frandom(1,3)*2)
}

ACTOR T2F4S4 : BulletTracer
{
	Speed  46
	Damage (frandom(1,3)*2)
}

ACTOR T2F5S5 : BulletTracer
{
	Speed  48
	Damage (frandom(1,3)*3)
}

ACTOR T2F6S6 : BulletTracer
{
	Speed  50
	Damage (frandom(1,3)*3)
}

// Third category

ACTOR T3F1S1 : BulletTracer
{
	Speed  50
	Damage (frandom(1,4)*1)
}

ACTOR T3F2S2 : BulletTracer
{
	Speed  52
	Damage (frandom(1,4)*1)
}

ACTOR T3F3S3 : BulletTracer
{
	Speed  54
	Damage (frandom(1,4)*2)
}

ACTOR T3F4S4 : BulletTracer
{
	Speed  56
	Damage (frandom(1,4)*2)
}

ACTOR T3F5S5 : BulletTracer
{
	Speed  58
	Damage (frandom(1,4)*3)
}

ACTOR T3F6S6 : BulletTracer
{
	Speed  60
	Damage (frandom(1,4)*3)
}

// Extra tracers

ACTOR FastTracer : BulletTracer
{
	Speed 80
}

ACTOR EvenFasterTracer : BulletTracer
{
	Speed 100
}

// Spawners

ACTOR Spawner1 : RandomSpawner replaces Zombieman
{
	Dropitem "WMPSSDT"
	Dropitem "WMPSNCO"
	Dropitem "WMPSOFZ"	
	Dropitem "WMPSOBT"
	Dropitem "WMPSKPT"
	Dropitem "WMPSFDB"
	Dropitem "SSPSSDT"
	Dropitem "SSPSNCO"
	Dropitem "SSPSOFZ"
	Dropitem "SSPSOBT"
	Dropitem "SSPSKPT"
	Dropitem "SSPSFDB"
	Dropitem "AKPSSDT"
	Dropitem "AKPSNCO"
	Dropitem "AKPSOFZ"
	Dropitem "AKPSOBT"
	Dropitem "AKPSKPT"
	Dropitem "AKPSFDB"
}

ACTOR Spawner2 : RandomSpawner replaces ShotgunGuy
{
	Dropitem "WMRFSDT"
	Dropitem "WMRFNCO"
	Dropitem "WMRFOFZ"
	Dropitem "AKRFSDT"
	Dropitem "AKRFNCO"
	Dropitem "AKRFOFZ"
	Dropitem "SSRFSDT"
	Dropitem "SSRFNCO"
	Dropitem "SSRFOFZ"
	DropItem "SSSGRKT"
	DropItem "WMSGRKT"
	DropItem "AKSGRKT"
	DropItem "AKRFOBT"
	DropItem "AKRFFDB"
	DropItem "AKRFKPT"
	DropItem "SSRFFDB"
	DropItem "SSRFKPT"
	DropItem "SSRFOBT"
	DropItem "WMRFKPT"
	DropItem "WMRFOBT"
	DropItem "WMRFFDB"
}

ACTOR Spawner3 : RandomSpawner replaces ChaingunGuy
{
	Dropitem "WMMGSDT"
	Dropitem "WMMGNCO"
	Dropitem "WMMGOFZ"
	Dropitem "WMMGELT"
	Dropitem "WMMGKPT"
	Dropitem "WMMGOBT"
	Dropitem "WMMGFDB"
	Dropitem "SSMGSDT"
	Dropitem "SSMGNCO"
	Dropitem "SSMGOFZ"
	Dropitem "SSMGKPT"
	Dropitem "SSMGOBT"
	Dropitem "SSMGFDB"
	Dropitem "SSMGELT"
	Dropitem "AKMGSDT"
	Dropitem "AKMGNCO"
	Dropitem "AKMGOFZ"
	Dropitem "AKMGELT"
	Dropitem "AKMGKPT"
	Dropitem "AKMGOBT"
	Dropitem "AKMGFDB"
}

ACTOR Spawner4 : RandomSpawner replaces Demon
{
	DropItem "DGDobermann"
	DropItem "DGSchaferhund"
}

ACTOR Spawner5 : RandomSpawner replaces Spectre
{
	DropItem "Cyberhund"
}

ACTOR Spawner6 : RandomSpawner replaces Revenant
{
	DropItem "UBSSDT1"
	DropItem "UBSSDT2"
	DropItem "UBSSDT3"
	DropItem "UBSOBT1"
	DropItem "UBSKPT1"
	DropItem "UBSFDB1"
	DropItem "NZRFSNP"
	DropItem "TKMGSDT"
	DropItem "TKMGKPT"
	DropItem "TKMGOBT"
	DropItem "LaserRoboter"
}

ACTOR Spawner7 : RandomSpawner replaces DoomImp
{
	Dropitem "WFSSSDT"
	Dropitem "WFSSNCO"
	Dropitem "WFSSOFZ"
	DropItem "WFSSELT"
	DropItem "WFSSKPT"
	DropItem "WFSSOBT"
	DropItem "WFSSFDB"
	Dropitem "WFSSAGT"
	Dropitem "SSPSAGT"
	Dropitem "AKPSAGT"
	Dropitem "WMPSAGT"
	Dropitem "NZPSWS1"
	Dropitem "NZPSWS2"
}

ACTOR Spawner8 : RandomSpawner replaces Cacodemon
{
	Dropitem "MinenRobot"
	Dropitem "Hoveringdrone"
	Dropitem "JETPSSDT"
	Dropitem "JETMGKPT"
}

ACTOR Spawner9 : RandomSpawner replaces PainElemental
{
	Dropitem "MinenRobot"
	Dropitem "Hoveringdrone"
}

ACTOR Spawner10 : RandomSpawner replaces Fatso
{
	Dropitem "Panzerwalker"
	Dropitem "BORG"
}

ACTOR Spawner11 : RandomSpawner replaces Arachnotron
{
	DropItem "Sturmball"
	Dropitem "SSFWELT"
	Dropitem "WMFWELT"
	Dropitem "AKFWELT"
}

ACTOR Spawner12 : RandomSpawner replaces WolfensteinSS
{
	Dropitem "ASPSSDT"
	DropItem "ASPSNCO"
	DropItem "ASPSKPT"
	DropItem "ASPSOFZ"
}

ACTOR Spawner13 : RandomSpawner replaces Archvile
{
	Dropitem "DeathKnight"
	DropItem "DeathKnight2"
	DropItem "DeathKnight3"
	DropItem "DeathKnight4"
	Dropitem "SSHMGELT"
}

ACTOR Spawner14 : RandomSpawner replaces LostSoul
{
	Dropitem "ShooterDrone"
	DropItem "SpikeBall"
}