ACTOR BeamGrunt : Zombieman replaces Zombieman
{
	Speed 10
	Obituary "%o was gunned down by a short beam grunt."
	+DOHARMSPECIES
	+missilemore
	DropItem "Clip"
	States
	{
	Missile:
		POSS E 10 A_FaceTarget
		TNT1 A 0 a_playsound ("monsters/gruntshot",0)
		POSS F 8 a_custommissile ("BadShortBeam")
		POSS E 8
		Goto See
	Pain:
		TNT1 A 0
		POSS G 1 a_playsound ("monsters/weakhurt",0)
		POSS G 1 bright Thing_SetTranslation(0, 4242)
		POSS G 2 bright A_Pain
		POSS G 1 bright
		POSS G 1 Thing_SetTranslation(0, 0)
		POSS G 3 
		Goto See
	pain.zelda:
		TNT1 A 0
		POSS G 1 a_playsound ("monsters/zeldahurt",0)
		POSS G 1 bright Thing_SetTranslation(0, 4242)
		POSS G 2 bright A_Pain
		POSS G 1 bright Thing_SetTranslation(0, 0)
		POSS G 1 bright Thing_SetTranslation(0, 4242)
		POSS G 1 bright Thing_SetTranslation(0, 0)
		POSS G 1 bright Thing_SetTranslation(0, 4242)
		POSS G 1 
		Goto See
	death:
	xdeath:
		TNT1 A 0
		TNT1 A 0 Thing_SetTranslation(0, 0)
		TNT1 A 0 a_scream
		TNT1 A 0 a_noblocking
		TNT1 A 0 a_playsound ("monsters/weakhurt",0)
		TNT1 A 0 a_spawnitemex("zombiegib1",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("zombiegib2",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("zombiegib2",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("zombiegib3",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("zombiegib3",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("zombiegib4",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("zombiegib4",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 1 a_spawnitemex ("monsterdie",0,0,35)
		TNT1 A 0 a_stop
		DEDM ABCDEFG 3
		DEDM H 2
		TNT1 A 0 a_spawnitemex ("droppeditemspawner",0,0,35)
		DEDM H -1
		wait
	death.beamice:
		POSS G 1
		TNT1 A 0 a_scream
		TNT1 A 0 a_noblocking
		POSS G 1 bright Thing_SetTranslation(0, 4243)
		POSS G 40 bright
		TNT1 AAAAA 0 a_spawnitemex("shorticebeam",0,0,30,frandom(-40,40),frandom(-40,40),frandom(0,1))
		TNT1 A 0 a_playsound ("monsters/weakhurt",0)
		TNT1 A 0 a_spawnitemex("icezombiegib1",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("icezombiegib2",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("icezombiegib2",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("icezombiegib3",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("icezombiegib3",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("icezombiegib4",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("icezombiegib4",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 1 a_spawnitemex ("monsterdie",0,0,35)
		TNT1 A 0 a_stop
		DEDM ABCDEFG 3
		DEDM H 2
		TNT1 A 0 a_spawnitemex ("droppeditemspawner",0,0,35)
		DEDM H -1
		wait
	death.zelda:
		TNT1 A 0
		TNT1 A 0 Thing_SetTranslation(0, 0)
		TNT1 A 0 a_scream
		TNT1 A 0 a_noblocking
		CLTS H 0 a_playsound ("monsters/zeldahurt",0)
		TNT1 A 1 a_spawnitemex ("zeldamonsterdie",0,0,35)
		TNT1 A 0 a_playsound ("monsters/zeldadeath",0)
		TNT1 A 0 a_stop
		DEDM ABCDEFG 3
		DEDM H 2
		TNT1 A 0 a_spawnitemex ("droppeditemspawner",0,0,35)
		DEDM H -1
		wait
	raise:
		TNT1 A 0
		TNT1 A 0 Thing_SetTranslation(0, 0)
		DEDM H 1 a_spawnitemex ("zombierevive1",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("zombierevive2",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("zombierevive2",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("zombierevive3",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("zombierevive3",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("zombierevive4",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("zombierevive4",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		DEDM H 30
		DEDM GFEDCBA 2
		goto see
	}
}


Actor BadShortbeam : fastprojectile
{
	Radius 13
	Height 8
	Speed 35
	Damage 3
	missileheight 8
	Projectile
	+bright
	renderstyle add
	alpha 0.60
	Scale 1
	Decal bulletchip
	States
	{
	Spawn:
		SHBM A 1
		loop
	Death:
		WVBM H 4 
		Stop
	}
}

actor monsterdie
{
	+NOINTERACTION
	+clientsideonly
	scale 2
	Radius 4
	Height 5
	+bright
	states
	{
	spawn:
		TNT1 A 0
		MBOM C 2
		MBOM D 2
		MBOM E 2
		stop
	}
}

actor zombiegib1
{
	projectile
	+thruactors
	-nogravity
	+clientsideonly
	Radius 4
	Height 5
	+bright
	states
	{
	spawn:
		ZGB1 ABCD 1
		loop
	death:
		TNT1 A 1
		stop
	}
}

actor zombiegib2 : zombiegib1
{
	states
	{
	spawn:
		ZGB2 ABCD 1
		loop
	}
}

actor zombiegib3 : zombiegib1
{
	states
	{
	spawn:
		ZGB3 ABCD 1
		loop
	}
}

actor zombiegib4 : zombiegib1
{
	states
	{
	spawn:
		ZGB4 ABCD 1
		loop
	}
}

actor icezombiegib1
{
	projectile
	+ripper
	+thruspecies
	+doombounce
	species "player"
	damage (3)
	-nogravity
	Radius 30
	Height 15
	damagetype "beamice"
	bouncecount 4
	+bright
	states
	{
	spawn:
        TNT1 A 0
        TNT1 A 0 Thing_SetTranslation(0, 4243)
        TNT1 A 0 A_Jump (256, "spawnmain")
	spawnmain:
		ZGB1 ABCD 1
		loop
	death:
		TNT1 A 1
		stop
	}
}

actor icezombiegib2 : icezombiegib1
{
	states
	{
	spawnmain:
		ZGB2 ABCD 1
		loop
	}
}

actor icezombiegib3 : icezombiegib1
{
	states
	{
	spawnmain:
		ZGB3 ABCD 1
		loop
	}
}

actor icezombiegib4 : icezombiegib1
{
	states
	{
	spawnmain:
		ZGB4 ABCD 1
		loop
	}
}

actor zombierevive1
{
	projectile
	+thruactors
	+clientsideonly
	Radius 4
	Height 5
	+bright
	states
	{
	spawn:
		TNT1 A 10
		TNT1 A 1 a_scalevelocity (-1)
	flight:
		ZGB1 ABCD 1
		loop
	death:
		TNT1 A 1
		stop
	}
}
	
actor zombierevive2 : zombierevive1
{
	states
	{
	spawn:
		TNT1 A 10
		TNT1 A 1 a_scalevelocity (-1)
	flight:
		ZGB2 ABCD 1
		loop
	}
}

actor zombierevive3 : zombierevive1
{
	states
	{
	spawn:
		TNT1 A 10
		TNT1 A 1 a_scalevelocity (-1)
	flight:
		ZGB3 ABCD 1
		loop
	}
}

actor zombierevive4 : zombierevive1
{
	states
	{
	spawn:
		TNT1 A 10
		TNT1 A 1 a_scalevelocity (-1)
	flight:
		ZGB4 ABCD 1
		loop
	}
}

