actor pavisewarden : paviseguard
{
	speed 13
    bloodtype dukebloodsplatter
	Obituary "%o was bombarded by a Pavise Warden."
	dropitem "lilchest" 24
	MinMissileChance 2000
	translation "80:85=224:231", "86:105=160:167", "106:111=36:44", "5:8=47:47", "168:191=192:207", "128:143=48:79", "3:3=36:36", "1:2=47:47"
	states
	{
	see:
		PVGD AAAA 2 A_chase
		TNT1 A 0 A_playsound ("fatguard/step1", 7, 0.80, 0, 1.2)
		TNT1 A 0 Radius_Quake (1,3,0,5,0)
		PVGD BBBB 2 a_chase ("melee","missile",CHF_DONTMOVE)
		PVGD CCCC 2 A_chase
		TNT1 A 0 A_playsound ("fatguard/step2", 7, 0.80, 0, 1.2)
		TNT1 A 0 Radius_Quake (1,3,0,5,0)
		PVGD DDDD 2 a_chase ("melee","missile",CHF_DONTMOVE)
		loop
	melee:
	missile:
		TNT1 A 0
		TNT1 A 0 a_jumpifcloser (450, "scattershot")
		PVGD E 1 a_playsound ("fatguard/gunraise",CHAN_BODY)
		PVGD E 12 a_facetarget
		TNT1 A 0 a_custommissile ("BigWardenBall",32,0,-10)
		TNT1 A 0 a_playsound ("fatguard/shot",CHAN_BODY,1,0,0.6)
		PVGD F 9 a_custommissile ("BigWardenBall",32,0,10)
		PVGD E 7 a_facetarget
		TNT1 A 0 a_playsound ("fatguard/shot",CHAN_BODY,1,0,0.6)
		PVGD F 8 a_custommissile ("BigWardenBall")
		PVGD E 8 a_facetarget
		TNT1 A 0 a_custommissile ("BigWardenBall",32,0,-30)
		TNT1 A 0 a_custommissile ("BigWardenBall",32,0,30)
		TNT1 A 0 a_playsound ("fatguard/shot",CHAN_BODY,1,0,0.6)
		PVGD F 5 a_custommissile ("BigWardenBall")
		PVGD E 7
		goto see
	scattershot:
		PVGD E 1 a_playsound ("fatguard/roar",CHAN_BODY)
		PVGD E 20 a_facetarget
		TNT1 A 0 a_playsound ("Fatguard/MachineGun",1)
		PVGD F 1 a_custommissile ("WardenBall",36, 12,random(-6,11),CMF_OFFSETPITCH,random(-1,2))
		PVGD E 1 a_facetarget
		PVGD F 1 a_custommissile ("WardenBall",36, 12,random(-6,11),CMF_OFFSETPITCH,random(-1,2))
		PVGD E 1 a_facetarget
		TNT1 A 0 a_playsound ("Fatguard/MachineGun",1)
		PVGD F 1 a_custommissile ("WardenBall",36, 12,random(-6,11),CMF_OFFSETPITCH,random(-1,2))
		PVGD E 1 a_facetarget
		PVGD F 1 a_custommissile ("WardenBall",36, 12,random(-6,11),CMF_OFFSETPITCH,random(-1,2))
		PVGD E 1 a_facetarget
		TNT1 A 0 a_playsound ("Fatguard/MachineGun",1)
		PVGD F 1 a_custommissile ("WardenBall",36, 12,random(-6,11),CMF_OFFSETPITCH,random(-1,2))
		PVGD E 1 a_facetarget
		PVGD F 1 a_custommissile ("WardenBall",36, 12,random(-6,11),CMF_OFFSETPITCH,random(-1,2))
		PVGD E 1 a_facetarget
		TNT1 A 0 a_playsound ("Fatguard/MachineGun",1)
		PVGD F 1 a_custommissile ("WardenBall",36, 12,random(-6,11),CMF_OFFSETPITCH,random(-1,2))
		PVGD E 1 a_facetarget
		PVGD F 1 a_custommissile ("WardenBall",36, 12,random(-6,11),CMF_OFFSETPITCH,random(-1,2))
		PVGD E 1 a_facetarget
		TNT1 A 0 a_playsound ("Fatguard/MachineGun",1)
		PVGD F 1 a_custommissile ("WardenBall",36, 12,random(-6,11),CMF_OFFSETPITCH,random(-1,2))
		PVGD E 1 a_facetarget
		PVGD F 1 a_custommissile ("WardenBall",36, 12,random(-6,11),CMF_OFFSETPITCH,random(-1,2))
		PVGD E 6 a_facetarget
		goto see
	death:
		PVGD M 1 A_SpawnItemEx("WardenShield", 0, 0, 25, 6, 0, 0, 60, 128)
		PVGD M 7
		PVGD N 9 a_scream 
		PVGD N 1 A_noblocking
		Goto FinishDeath
		
	FinishDeath:
		TNT1 A 0 a_playsound ("treeboom",5)
		TNT1 A 0 Radius_Quake (3,20,0,32,0)
		PVGD OPQ 3 Bright
		TNT1 A 0 A_SpawnItemEx("WardenArm", 0, 0, 0, frandom(5,9), frandom (4,8), frandom(8,12), -90, 128)
		PVGD R 3 Bright
		TNT1 A 0 a_spawnitemex ("bigbloodsplatter",0,0,32)
		TNT1 AAAAAAAA 0 a_spawnitemex ("dukebloodsplatter",0,0,32)       
		PVGD STUVWX 5
		PVGD Y 8
		TNT1 A 0 a_playsound ("fatguard/fall",6)
		TNT1 A 0 Radius_Quake (3,20,0,32,0)
		PVGD Z 6 
		PVG1 A 1 a_bossdeath
		TNT1 A 0 a_jump (20,"DarkPortal")
		PVG1 A -1 
		stop
		
	Xdeath:
		PVGD L 3
		PVGD L 1 a_scream
		TNT1 A 0 A_noblocking
		PVGD M 1 A_SpawnItemEx("WardenShield", 0, 0, 25, 6, 0, 0, 60, 128)
		TNT1 A 0 a_playsound ("fatguard/scream",6)
		TNT1 A 0 Radius_Quake (2,15,0,32,0)
	Smoking:
		TNT1 AAAAAAAAAAAAA 0 A_SpawnItemEx("LavaLazerSmoke",frandom(-15,15),frandom(-15,15),frandom(32,40),0,0,1)
		TNT1 A 0 a_jumpif (user_GMOTAPaviseTimer >= 46, "NOWAY")
		TNT1 A 0 a_setuservar("user_GMOTAPaviseTimer", user_GMOTAPaviseTimer+1)
		PVGD M 2
		loop
	NOWAY:
		TNT1 A 0 a_playsound ("fatguard/noway",6)
		TNT1 A 0
	WaitingToBlowUp:
		TNT1 AAAAAAAAAAAAA 0 A_SpawnItemEx("LavaLazerSmoke",frandom(-15,15),frandom(-15,15),frandom(32,40),0,0,1)
		TNT1 A 0 a_jumpif (user_GMOTAPaviseTimer >= 79, "BigBoomStart")
		TNT1 A 0 a_setuservar("user_GMOTAPaviseTimer", user_GMOTAPaviseTimer+1)
		PVG1 C 2
		loop
	BigBoomStart:
		TNT1 A 0
		PVGD O 1 bright
		goto BigBoom
	BigBoom:
		TNT1 A 0 a_playsound ("treeboom",5)
		TNT1 A 0 Radius_Quake (3,20,0,32,0)
		TNT1 A 0 a_bossdeath
		PVGD OPQ 3 bright
		TNT1 A 0 A_SpawnItemEx("WardenArm", 0, 0, 0, frandom(5,9), frandom (4,8), frandom(8,12), -90, 128)
		PVGD R 3 bright
		TNT1 A 0 a_spawnitemex ("bigbloodsplatter",0,0,32)
		TNT1 AAAAAAAA 0 a_spawnitemex ("dukebloodsplatter",0,0,32)       
		TNT1 AAAAAA 0 a_spawnitemex("bonegib",0,0,32,random(-10,10),random(-10,10),random(5,10))
		TNT1 AAA 0 a_spawnitemex("bonegib",0,0,32,random(-10,10),random(-10,10),random(5,10))
		ISKL AAAA 0 a_spawnitemex("hipbonegib",0,0,32,random(-10,10),random(-10,10),10)
		ISKL A 0 a_spawnitemex("ribbonegib",0,0,32,random(-10,10),random(-10,10),12)
		PVGD STUVWX 5
		goto legloop
	legloop:
		PVG1 B 1 a_spawnitemex ("dukebloodsplatter",0,0,32)
		PVG1 B 1 a_spawnitemex ("dukebloodsplatter",0,0,32)
		PVG1 B 1 a_spawnitemex ("dukebloodsplatter",0,0,32)
		PVG1 B 1 a_spawnitemex ("dukebloodsplatter",0,0,32)
		PVG1 B 1 a_spawnitemex ("dukebloodsplatter",0,0,32)
		PVG1 B 1 a_spawnitemex ("dukebloodsplatter",0,0,32)
		PVG1 B 1 a_spawnitemex ("dukebloodsplatter",0,0,32)
		TNT1 A 0 a_jump (15,"ded")
		loop
	ded:
		PVGD Y 8
		TNT1 A 0  a_playsound ("fatguard/fall",6)
		TNT1 A 0 Radius_Quake (3,20,0,32,0)
		PVGD Z 6 
		PVG1 A 1 a_bossdeath
		TNT1 A 0 a_jump (20,"DarkPortal")
		PVG1 A -1 
		stop



	death.superkick:
		PVGD M 1 A_Scream 
		PVGD M 1 a_scalevelocity (0.1)
 		PVGD M 1 a_stop
		PVGD M 1 A_NoBlocking
		TNT1 A 0 a_bossdeath
		TNT1 A 0 a_changeflag ("NOCLIP",1)
		TNT1 A 0 a_changeflag ("NOGRAVITY",1)
		TNT1 A 0 A_SpawnItemEx("WardenShield", 0, 20, 25, 0, 0, 9, 0, 128)
		PVGD M 1 a_facetarget
		TNT1 A 0 thrustthingz (0,80,0,1)
		TNT1 A 0 ThrustThing(angle*256/360+128, 110, 1, 0)
		TNT1 A 0 a_spawnitemex ("bosskickdeathsound")
		PVGD M 1
		PVG1 C 2		
	kickfly:
		PVG1 C 1 a_spawnitemex ("KustamParticle",random(-8,8),random(-8,8),random(-10,10),random(-120,120)/15.0,random(-130,130)/12.0,random(-110,110)/17.0,0)
		PVG1 C 1 a_spawnitemex ("KustamParticle",random(-8,8),random(-8,8),random(-10,10),random(-120,120)/15.0,random(-130,130)/12.0,random(-110,110)/17.0,0)
		TNT1 A 0 a_playsound ("treeboom",5,1,0,0.2)
		TNT1 A 0 Radius_Quake (3,20,0,32,0)
		PVGD OPQ 1 Bright
		TNT1 A 0 A_SpawnItemEx("WardenArm", 0, 0, 0, frandom(5,9), frandom (4,8), frandom(8,12), -90, 128)
		PVGD R 1 Bright
		TNT1 A 0 a_spawnitemex ("bigbloodsplatter",0,0,32)
		TNT1 AAAAAAAA 0 a_spawnitemex ("dukebloodsplatter",0,0,32)       
		PVGD STUVWX 2
		PVGD Y 4
		TNT1 A 2
		TNT1 A 0 a_stopsound (5)
		PVGD Y 4
		TNT1 A 2
		stop
	death.sentinelarm:
		PVGD M 1 A_SpawnItemEx("WardenShield", 0, 0, 25, 6, 0, 0, 60, 128)
		PVGD M 7
		TNT1 A 0 thrustthingz (0,50,0,1)
		PVGD N 10 a_scream 
		TNT1 A 0 A_noblocking
		PVGD OP 3 Bright
		TNT1 A 0 a_bossdeath
		TNT1 A 0 a_nogravity
		TNT1 A 0 a_stop
		TNT1 A 0 a_playsound ("Kustam/OCKill",CHAN_VOICE,1,0,0.4)
		TNT1 A 0 a_playsound ("Kustam/OCKill",5,1,0,0.6)
		TNT1 A 0 a_playsound ("Kustam/OCKill",6,1,0,0.6)
		TNT1 A 0 a_playsound ("Kustam/OCKill",7,1,0,0.6)
		OCKL ABCDEF 2 bright
		stop
	legloop:
		PVG1 B 1 a_spawnitemex ("dukebloodsplatter",0,0,32)
		PVG1 B 1 a_spawnitemex ("dukebloodsplatter",0,0,32)
		PVG1 B 1 a_spawnitemex ("dukebloodsplatter",0,0,32)
		PVG1 B 1 a_spawnitemex ("dukebloodsplatter",0,0,32)
		PVG1 B 1 a_spawnitemex ("dukebloodsplatter",0,0,32)
		PVG1 B 1 a_spawnitemex ("dukebloodsplatter",0,0,32)
		PVG1 B 1 a_spawnitemex ("dukebloodsplatter",0,0,32)
		TNT1 A 0 a_jump (15,"ded")
		loop
	chaosexplode:
 		TNT1 A 0
		TNT1 A 0 A_ChangeFlag("NOPAIN", 1)
    	PVGD A 8
        PVGD L 6 A_Pain
    	PVGD A 8
        PVGD L 6 A_Pain
    	PVGD A 8
        PVGD L 6 A_Pain
        TNT1 A 0 a_scream
 		TNT1 A 0 a_bossdeath
        TNT1 A 0 A_NoBlocking
		TNT1 A 0 a_radiusgive ("chaoslaugh",650,RGF_MONSTERS)
		TNT1 A 0 a_playsound ("treeboom",5)
		TNT1 A 0 A_SpawnItemEx("WardenShield", 0, 0, 0, frandom(5,9), frandom (4,8), frandom(8,12), -90, 128)
		TNT1 A 0 A_SpawnItemEx("WardenArm", 0, 0, 0, frandom(5,9), frandom (4,8), frandom(8,12), -90, 128)
		TNT1 A 0 a_spawnitemex("skellytun",0,0,12,random(-6,6),random(-8,8),random(6,10),0,SXF_NOCHECKPOSITION)
		TNT1 A 0 a_playsound ("bonelord/explode",6,1,0,0.6)
		TNT1 A 0 Radius_Quake (4,20,0,32,0)
		TNT1 AAAAAAAAAAAA 0 a_spawnitem ("dukebloodsplatter") 
		TNT1 AAAAAAAAAAAAA 0 a_spawnitemex("bonegib",0,0,0,random(-30,30),random(-30,30),10)
		ISKL AAAAAAAAAAAA 0 a_spawnitemex("hipbonegib",0,0,32,random(-10,10),random(-10,10),10)
		ISKL AAAAAAAAA 0 a_spawnitemex("ribbonegib",0,0,32,random(-10,10),random(-10,10),12)
		TNT1 AAAAAAAAAAAAA 0 a_spawnitemex("bonegib",0,0,0,random(-30,30),random(-30,30),10)
		TNT1 A 20
		stop

	DarkPortal:
		TNT1 A 0
		PVG1 A random(50,180) 
		TNT1 A 0 a_playsound ("Darkportal/form",0)
		PVG1 A 3 Thing_SetTranslation(0, 4242)
		HWRP ABCD 1
		TNT1 A 1 a_spawnitemex ("StrongPortal")
		stop		
	}
}





actor bigwardenball : guardball
{
	States
	{
	Spawn:
		WBAL A 1 
		Loop
	Death:
		TNT1 A 0
		TNT1 A 1 a_spawnitemex ("bigwardenballhit",0,0,0,frandom(-8,8),frandom(-8,8),frandom(5,10))
		Stop
	crash:
	XDeath:
		TNT1 A 0
		TNT1 A 0 a_playsound ("Fatguard/Hit",CHAN_BODY)
		TNT1 A 1 a_spawnitemex ("bigwardenballhit",0,0,0,frandom(-8,8),frandom(-8,8),frandom(5,10))
		Stop
	}
}

actor bigwardenballhit : ballhit
{
	states
	{
	spawn:
		WBAL A 1
		TNT1 A 1
		loop
	death:
		TNT1 A 1
		stop
	}
}

actor wardenball : scatterball
{
	Speed 25
	+nogravity
	States
	{
	Spawn:
		WBAL B 1 
		Loop
	Death:
		TNT1 A 0
		TNT1 A 1 a_spawnitemex ("wardenballhit",0,0,0,frandom(-8,8),frandom(-8,8),frandom(5,10))
		Stop
	crash:
	XDeath:
		TNT1 A 0
		TNT1 A 0 a_playsound ("Fatguard/Hit",CHAN_BODY)
		TNT1 A 1 a_spawnitemex ("wardenballhit",0,0,0,frandom(-8,8),frandom(-8,8),frandom(5,10))
		Stop
	}
}


actor WardenBallHit : scatterballhit 
{
	states
	{
	spawn:
		TNT1 A 0
		WBAL B 1
		TNT1 A 1
		loop
	death:
		TNT1 A 1
		stop
	}
}


ACTOR WardenArm : GuardArm
{
	translation "80:85=224:231", "86:105=160:167", "106:111=36:44", "5:8=47:47", "168:191=192:207", "128:143=48:79", "3:3=36:36", "1:2=47:47"
}

Actor WardenShield : GuardShield
{
	translation "80:85=224:231", "86:105=160:167", "106:111=36:44", "5:8=47:47", "168:191=192:207", "128:143=48:79", "3:3=36:36", "1:2=47:47"
}
