ACTOR KnightTrooper : Bruiserbro replaces hellknight
{
	speed 8
	SeeSound "knight/sight"
	ActiveSound "knight/active"
	PainSound "knight/pain"
	DeathSound "knight/death"
	HitObituary "$OB_KNIGHTHIT"
	Obituary "$OB_KNIGHT"
	species "knight"
	States
	{
	Spawn:
		BOS2 AB 10 A_Look
		Loop
	See:
		BOS2 AABBCCDD 3 A_Chase
		Loop
	Melee:
	Missile:
		TNT1 A 0
		TNT1 A 0
		BOS2 EF 8 A_FaceTarget
		BOS2 G 8 A_BruisAttack
		Goto See
	Pain:
		BOS2 H 1 a_playsound ("monsters/bighurt",0)
		"####" "#" 1 bright Thing_SetTranslation(0, 4242)
		"####" "#" 2 bright A_Pain
		"####" "#" 1 bright 
		"####" "#" 1 Thing_SetTranslation(0, 0)
		"####" "#" 1 
		goto see
	pain.zelda:
		BOS2 H 1 a_playsound ("monsters/zeldahurt",0)
		"####" "#" 1 bright Thing_SetTranslation(0, 4242)
		"####" "#" 1 bright A_Pain
		"####" "#" 1 bright  Thing_SetTranslation(0, 0)
		"####" "#" 1 Thing_SetTranslation(0, 4242)
		"####" "#" 1 Thing_SetTranslation(0, 0)
		goto see
		
	death:
	xdeath:
		TNT1 A 0
		TNT1 A 0 a_scream
		TNT1 A 0 a_noblocking
		TNT1 A 0 Thing_SetTranslation(0, 0)
		TNT1 A 0 a_playsound ("monsters/bighurt",0)
		TNT1 A 0 a_spawnitemex("knightgib1",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("knightgib2",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("knightgib2",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("knightgib2",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("knightgib3",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("knightgib3",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("knightgib4",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("knightgib4",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("knightgib4",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 1 a_spawnitemex ("monsterdie",0,0,35)
		GDED ABCDEFGH 3
		GDED I 2
		TNT1 AAAAA 0 a_spawnitemex ("droppeditemspawner",frandom(-20,20),frandom(-35,30),frandom(20,35))
		GDED I -1
		stop
	death.beamice:
		BOS2 H 1
		BOS2 H 1
		TNT1 A 0 a_scream
		TNT1 A 0 a_noblocking
		BOS2 H 1 bright Thing_SetTranslation(0, 4243)
		"####" "#" 40 bright
		TNT1 A 0 a_playsound ("monsters/bighurt",0)
		TNT1 A 0 a_spawnitemex ("iceknightgibber",0,0,20)
		TNT1 A 1 a_spawnitemex ("monsterdie",0,0,35)
		GDED ABCDEFGH 3
		GDED I 2
		TNT1 AAAAA 0 a_spawnitemex ("droppeditemspawner",frandom(-20,20),frandom(-35,30),frandom(20,35))
		GDED I -1 
		stop
	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
		GDED ABCDEFGH 3
		GDED I 2
		TNT1 AAAAA 0 a_spawnitemex ("droppeditemspawner",frandom(-20,20),frandom(-35,30),frandom(20,35))
		GDED I -1
		wait
	raise:
		TNT1 A 0
		TNT1 A 0 Thing_SetTranslation(0, 0)
		GDED I 1 a_spawnitemex ("knightrevive1",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("knightrevive2",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("knightrevive2",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("knightrevive3",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("knightrevive3",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("knightrevive4",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("knightrevive4",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		GDED I 30
		GDED HGFEDCBA 2
		goto see
	}
}

actor knightgib1 : zombiegib1
{
	states
	{
	spawn:
		KGB1 ABCD 1
		loop
	death:
		TNT1 A 1
		stop
	}
}

actor knightgib2 : zombiegib1
{
	states
	{
	spawn:
		KGB2 ABCD 1
		loop
	}
}

actor knightgib3 : zombiegib1
{
	states
	{
	spawn:
		KGB3 ABCD 1
		loop
	}
}

actor knightgib4 : zombiegib1
{
	states
	{
	spawn:
		KGB4 ABCD 1
		loop
	}
}

actor iceknightgibber
{
	+nointeraction
	states
	{
	spawn:
		TNT1 A 0
		TNT1 A 0 a_rearrangepointers (AAPTR_NULL,AAPTR_NULL,AAPTR_NULL)
		TNT1 AAAAAAA 0 a_spawnitemex("icebeam",0,0,30,frandom(-40,40),frandom(-40,40),frandom(0,1))
		TNT1 A 0 a_spawnitemex("iceknightgib1",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("iceknightgib2",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("iceknightgib2",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("iceknightgib3",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("iceknightgib3",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("iceknightgib4",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_spawnitemex("iceknightgib4",0,0,0,frandom(-10,10),frandom(-10,10),frandom(8,11),0,SXF_NOCHECKPOSITION)
		TNT1 A 1
		stop
	death:
		TNT1 A 1
		stop
	}
}


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

actor iceknightgib2 : iceknightgib1
{
	states
	{
	spawnmain:
		KGB2 ABCD 1
		loop
	}
}

actor iceknightgib3 : iceknightgib1
{
	states
	{
	spawnmain:
		KGB3 ABCD 1
		loop
	}
}

actor iceknightgib4 : iceknightgib1
{
	states
	{
	spawnmain:
		KGB4 ABCD 1
		loop
	}
}


actor knightrevive1 : zombierevive1
{
	states
	{
	spawn:
		TNT1 A 10
		TNT1 A 1 a_scalevelocity (-1)
	flight:
		KGB1 ABCD 1
		loop
	death:
		TNT1 A 1
		stop
	}
}
	
actor knightrevive2 : zombierevive1
{
	states
	{
	spawn:
		TNT1 A 10
		TNT1 A 1 a_scalevelocity (-1)
	flight:
		KGB2 ABCD 1
		loop
	}
}

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

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

