actor BoneKaiser : bonelord
{
	Gibhealth -30
	Speed 15
	PainChance 10
    bloodtype kaiserbonespray
	MeleeRange 40
	Obituary "%o's bones serve under the Bone Kaiser now"
	dropitem "lilchest" 90
	translation "80:100=160:167", "101:111=35:47", "3:3=38:38", "128:143=80:111", "48:79=80:111", "236:239=96:111", "13:15=104:111", "168:191=192:207", "16:47=192:202"
	states
	{
	see:
		TNT1 A 0 A_GiveInventory ("boneactive",1)
		TNT1 A 0 A_TakeInventory ("targetstack",99)
		TNT1 A 0 A_JumpIfInventory ("chaoslaugh",1,"laugh")
		BLRD AABBCCDD 2 A_VileChase
		TNT1 A 0 A_JumpIfInventory ("chaoslaugh",1,"laugh")
		TNT1 A 0 A_TakeInventory ("targetstack",99)
		loop
	missile:
		BLRD G 1 A_PlaySound ("bonelord/lockon",0,1,0,0.5)
		BLRD G 1 A_FaceTarget
		TNT1 A 0 A_ChangeFlag ("NOTARGETSWITCH", 1)
		BLRD G 1 A_CustomMissile ("Kaisertracer")
	mortaraim:
		TNT1 A 0 A_JumpIfInventory ("shootmortar", 1, "shootmortar")
		TNT1 A 0 A_JumpIfInventory ("stoptargeting",1,"pain")
		BLRD G 1 A_FaceTarget
		TNT1 A 0 A_JumpIfInventory ("stoptargeting",1,"pain")
		TNT1 A 0 A_JumpIfInventory ("shootmortar", 1, "shootmortar")
		loop
	death:
		BLRD I 4 
		BLRD J 2 A_Scream
		BLRD J 1 A_NoBlocking
		BLRD JKLM 3
		BLRD N 1
		TNT1 AAAAA 0 A_SpawnItemEx ("BadSpirit",0,0,5,Random(-15,15),Random(-15,15),1,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS,90)
		TNT1 A 0 A_PlaySound ("bonelord/explode",6,1,0,0.6)
		TNT1 AAAAAAAAAAAAA 0 A_SpawnItemEx ("SkellytunSkullDeath",random(-16,16),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
		TNT1 AAAAAAAAA 0 A_SpawnItemEx("kaiserbonespray",0,0,32,random(-10,10),random(-10,10),random(5,10))
		TNT1 AAAAAA 0 A_SpawnItemEx("kaiserbones",0,0,32,random(-10,10),random(-10,10),random(5,10))
		ISKL AAAAAAA 0 A_SpawnItemEx("kaiserhipbone",0,0,32,random(-10,10),random(-10,10),10)
		ISKL AAAAA 0 A_SpawnItemEx("kaiserribcage",0,0,32,random(-10,10),random(-10,10),12)
		TNT1 AAAAAA 0 a_spawndebris ("missiledebris1")
		TNT1 AAAAAAAAAAA 0 A_SpawnItemEx ("missiledebris2",random(-26,26),random(-20,20),random(-10,10),random(-150,150)/15.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
		TNT1 AAAAAAAAAAA 0 A_SpawnItemEx ("missiledebris2",random(-26,26),random(-20,20),random(-10,10),random(-150,150)/15.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
		TNT1 A 0 Radius_Quake (2,10,0,20,0)
		FX18 A 3
		FX18 B 2
		FX18 C 2
		FX18 D 2
		FX18 E 1
		FX18 F 1
		FX18 G 1
		stop
	Xdeath:
		TNT1 A 0
		BLRD I 4 
		BLRD J 2 A_Scream
		BLRD J 1 A_NoBlocking
		TNT1 A 0 A_PlaySound ("bonelord/mortarhit",6,1,0,1.2)
		TNT1 AAAAAAAAAAAAA 0 A_SpawnItemEx ("SkellytunSkullDeath",random(-16,16),random(-16,16),42,random(-100,100)/20.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
		TNT1 AAAAAAAAA 0 A_SpawnItemEx("kaiserbones",0,0,32,random(-10,10),random(-10,10),random(5,10))
		TNT1 AAAAAA 0 A_SpawnItemEx("kaiserbones",0,0,32,random(-10,10),random(-10,10),random(5,10))
		ISKL AAAAAAA 0 A_SpawnItemEx("kaiserhipbone",0,0,32,random(-10,10),random(-10,10),10)
		ISKL AAAAA 0 A_SpawnItemEx("kaiserribcage",0,0,32,random(-10,10),random(-10,10),12)
		TNT1 A 0 A_SpawnItemEx ("bonesoul",0,0,42)
		TNT1 A 5 Radius_Quake (4,10,0,50,0)
		stop
	}
}


actor kaisertracer : mortartracer
{
	states
	{
	Launchmortar:
		TNT1 A 0 a_stop
		TNT1 A 0 a_stopsound (CHAN_VOICE)
		TNT1 A 0 A_PlaySound ("bonelord/confirmtarget",0,1,0,0.5)
		BLCS B 2 a_stop
		TNT1 A 2 A_JumpIfInventory ("flinch",1,"canceltarget",AAPTR_TARGET)
		BLCS B 2 A_JumpIfInventory ("flinch",1,"canceltarget",AAPTR_TARGET)
		TNT1 A 2 A_JumpIfInventory ("flinch",1,"canceltarget",AAPTR_TARGET)
		BLCS B 2 A_JumpIfInventory ("flinch",1,"canceltarget",AAPTR_TARGET)
		TNT1 A 2 A_JumpIfInventory ("flinch",1,"canceltarget",AAPTR_TARGET)
		BLCS B 2 A_JumpIfInventory ("flinch",1,"canceltarget",AAPTR_TARGET)
		TNT1 A 2 A_JumpIfInventory ("flinch",1,"canceltarget",AAPTR_TARGET)
		TNT1 A 0 A_GiveInventory ("shootmortar",1,AAPTR_TARGET)
		BLCS B 5
		TNT1 A 0 A_SpawnItemEx ("Kaisermortar",2,0,200)		
		BLCS B 15
		stop
	}
}

actor KaiserMortar : bonemortar 
{
    States
	{
	spawnboners:
		TNT1 A 0
		WTFB ABCD 3 A_SpawnItemEx("MiniKaiserSpawner",0,0,0,random(-15,13),random(-12,16),random(9,13))
		TNT1 A 0 A_SpawnItemEx("MiniKaiserSpawner",0,0,0,random(-13,7),random(-13,14),random(8,14))
		WTFB EFGHIJ 4 
		stop
	}
}







//Corpse and resurrection thingy

actor KaiserCorpse : lordcorpse
{
	Health 500
    bloodtype kaiserbonespray
	translation "80:100=160:167", "101:111=35:47", "3:3=38:38", "128:143=80:111", "48:79=80:111", "236:239=96:111", "13:15=104:111", "168:191=192:207", "16:47=192:202"
	states
	{
	spawn:
		TNT1 A 0
		BLRD N 2 A_JumpIfInventory ("Deadtimer",80, "revive")
		TNT1 AAA 0 A_SpawnItemEx ("missiledebris2",random(-10,10),random(-8,8),random(1,5),random(-100,100)/15.0,random(-100,100)/20.0,random(-100,100)/20.0,0)
		TNT1 A 0 A_GiveInventory ("DeadTimer",1)
		loop
	revive:
		BLRD T 6
		BLRD N 20
		BLRD T 5
		BLRD N 10
		BLRD T 4
		BLRD N 10
		BLRD T 3
		BLRD N 5
		BLRD T 2
		BLRD N 2
		TNT1 A 0 A_PlaySound ("vile/raise",0,1,0,0.9)
		BLRD NMLKJ 5
		TNT1 A 0 A_TakeInventory ("Deadtimer",999)
		BLRD A 1 A_FaceTarget
		BLRD A 60 A_PlaySound ("bonelord/revive",0)
		TNT1 A 0 A_SpawnItemEx ("Activebonekaiser")
		stop
	Death:
		TNT1 A 0
		TNT1 A 0 A_Scream
		stop
	}
}

actor activebonekaiser : BoneKaiser
{
	+lookallaround
	translation "80:100=160:167", "101:111=35:47", "3:3=38:38", "128:143=80:111", "48:79=80:111", "236:239=96:111", "13:15=104:111", "168:191=192:207", "16:47=192:202"
	states
	{
	spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory ("boneactive",1, "mock")
		BLRD A 1 a_look
		Goto see
	}
}
