actor paviseguard : actor replaces fatso
{
	monster
	Radius 20
	Height 63
	mass 3000
	speed 10
	+floorclip
	+BOSSDEATH
	Health 2400
	PainChance 80
	painchance "grappler", 256
    bloodtype newbloodsplatter
	SeeSound "Fatguard/sight"
	PainSound "Fatguard/pain"
	DeathSound "Fatguard/death"
	Obituary "%o was blasted by a Pavise Guard."
	dropitem "lilchest" 18
	dropitem "lilcube" 16
	dropitem "smallsubrefresh" 80
	states
	{
	spawn:
		TNT1 A 0
		TNT1 A 0 a_giveinventory ("dontpullme",1)
		PVGD AB 15 A_look
		loop
	see:
		PVGD AAAA 3 A_chase
		TNT1 A 0 a_giveinventory ("dontpullme",1)
		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 3 a_chase ("melee","missile",CHF_DONTMOVE)
		PVGD CCCC 3 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 3 a_chase ("melee","missile",CHF_DONTMOVE)
		loop
	melee:
	missile:
		TNT1 A 0
		TNT1 A 0 a_jumpifcloser (250, "scattershot")
		PVGD E 1 a_playsound ("fatguard/gunraise",CHAN_BODY)
		PVGD E 18 a_facetarget
		TNT1 A 0 a_custommissile ("guardball",32,0,-10)
		TNT1 A 0 a_playsound ("fatguard/shot",CHAN_BODY,1,0,0.6)
		PVGD F 11 a_custommissile ("guardball",32,0,10)
		PVGD E 10 a_facetarget
		TNT1 A 0 a_playsound ("fatguard/shot",CHAN_BODY,1,0,0.6)
		PVGD F 11 a_custommissile ("guardball")
		PVGD E 15 a_facetarget
		TNT1 A 0 a_custommissile ("guardball",32,0,-30)
		TNT1 A 0 a_custommissile ("guardball",32,0,30)
		TNT1 A 0 a_playsound ("fatguard/shot",CHAN_BODY,1,0,0.6)
		PVGD F 7 a_custommissile ("guardball")
		PVGD E 9
		goto see
	scattershot:
		PVGD E 1 a_playsound ("fatguard/roar",CHAN_BODY)
		PVGD E 25 a_facetarget
		TNT1 A 0 a_playsound ("cannon/lilshoot",1)
		PVGD F 1 a_custommissile ("scatterball",36, 12,random(-6,11),CMF_OFFSETPITCH,random(-2,4))
		PVGD E 2 a_facetarget
		PVGD F 1 a_custommissile ("scatterball",36, 12,random(-6,11),CMF_OFFSETPITCH,random(-2,4))
		PVGD E 2 a_facetarget
		TNT1 A 0 a_playsound ("cannon/lilshoot",1)
		PVGD F 1 a_custommissile ("scatterball",36, 12,random(-6,11),CMF_OFFSETPITCH,random(-2,4))
		PVGD E 2 a_facetarget
		PVGD F 1 a_custommissile ("scatterball",36, 12,random(-6,11),CMF_OFFSETPITCH,random(-2,4))
		PVGD E 2 a_facetarget
		TNT1 A 0 a_playsound ("cannon/lilshoot",1)
		PVGD F 1 a_custommissile ("scatterball",36, 12,random(-6,11),CMF_OFFSETPITCH,random(-2,4))
		PVGD E 2 a_facetarget
		PVGD F 1 a_custommissile ("scatterball",36, 12,random(-6,11),CMF_OFFSETPITCH,random(-2,4))
		PVGD E 2 a_facetarget
		TNT1 A 0 a_playsound ("cannon/lilshoot",1)
		PVGD F 1 a_custommissile ("scatterball",36, 12,random(-6,11),CMF_OFFSETPITCH,random(-2,4))
		PVGD E 2 a_facetarget
		PVGD F 1 a_custommissile ("scatterball",36, 12,random(-6,11),CMF_OFFSETPITCH,random(-2,4))
		PVGD E 2 a_facetarget
		TNT1 A 0 a_playsound ("cannon/lilshoot",1)
		PVGD F 1 a_custommissile ("scatterball",36, 12,random(-6,11),CMF_OFFSETPITCH,random(-2,4))
		PVGD E 2 a_facetarget
		PVGD F 1 a_custommissile ("scatterball",36, 12,random(-6,11),CMF_OFFSETPITCH,random(-2,4))
		PVGD E 6 a_facetarget
		goto see
	pain:
		PVGD L 3
		PVGD L 3 a_pain
		goto see
	death:
		PVGD M 1 A_SpawnItemEx("GuardShield", 0, 0, 25, 6, 0, 0, 60, 128)
		PVGD M 7
		PVGD N 10 a_scream 
		TNT1 A 0 A_noblocking
		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("GuardArm", 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 ("newbloodsplatter",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
		stop
	Xdeath:
		PVGD L 3
		PVGD L 1 a_scream
		TNT1 A 0 A_noblocking
		PVGD M 1 A_SpawnItemEx("GuardShield", 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)
		PVGD M 92
		TNT1 A 0 a_playsound ("fatguard/noway",6)
		PVG1 C 65
		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("GuardArm", 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 ("newbloodsplatter",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
    death.sunder:
		PVGD L 3
		PVGD L 1 a_scream
		TNT1 A 0 A_noblocking
		PVGD M 1 A_SpawnItemEx("GuardShield", 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)
		PVGD M 92
		TNT1 A 0 a_playsound ("fatguard/noway",6)
		PVG1 C 65
		TNT1 A 0 a_bossdeath
		TNT1 A 0 a_playsound ("treeboom",5)
		TNT1 A 0 Radius_Quake (3,20,0,32,0)
		TNT1 A 0 a_dropitem ("roastmeat",35)
		TNT1 AAAA 0 a_dropitem ("rocketammo",1)
		PVGD OPQ 3 bright
		TNT1 A 0 A_SpawnItemEx("GuardArm", 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 ("newbloodsplatter",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
	death.slayermelee:
		PVGD M 1 A_SpawnItemEx("GuardShield", 0, 0, 25, 6, 0, 0, 60, 128)
		PVGD M 7
		PVGD N 10 a_scream
		TNT1 A 0 A_noblocking
		TNT1 A 0 a_playsound ("treeboom",5)
		TNT1 A 0 a_spawnitemex ("Strongsunderlootorb", 0, 0, 0, random (-4, 7), random (-6, 3), random (3,6))
		TNT1 AA 0 a_spawnitemex ("Strongsunderlootorb", 0, 0, 0, random (-3, 6), random (-8, 8), random (3,5))
		TNT1 AAA 0 a_spawnitemex ("sunderlootorb", 0, 0, 0, random (-3, 6), random (-8, 8), random (3,5))
		TNT1 A 0 Radius_Quake (3,20,0,32,0)
		PVGD OPQ 3 bright
		TNT1 A 0 A_SpawnItemEx("GuardArm", 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 ("newbloodsplatter",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
		stop

	death.slayersupermelee:
		PVGD L 3
		PVGD L 1 a_scream
		TNT1 A 0 A_noblocking
		PVGD M 1 A_SpawnItemEx("GuardShield", 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)
		PVGD M 92
		TNT1 A 0 a_playsound ("fatguard/noway",6)
		PVG1 C 65
		TNT1 A 0 a_bossdeath
		TNT1 A 0 a_playsound ("treeboom",5)
		TNT1 A 0 a_spawnitemex ("Strongsunderlootorb", 0, 0, 0, random (-4, 7), random (-6, 3), random (3,6))
		TNT1 AA 0 a_spawnitemex ("Strongsunderlootorb", 0, 0, 0, random (-3, 6), random (-8, 8), random (3,5))
		TNT1 AAA 0 a_spawnitemex ("sunderlootorb", 0, 0, 0, random (-3, 6), random (-8, 8), random (3,5))
		TNT1 A 0 Radius_Quake (3,20,0,32,0)
		PVGD OPQ 3 bright
		TNT1 A 0 A_SpawnItemEx("GuardArm", 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 ("newbloodsplatter",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 ("newbloodsplatter",0,0,32)
		PVG1 B 1 a_spawnitemex ("newbloodsplatter",0,0,32)
		PVG1 B 1 a_spawnitemex ("newbloodsplatter",0,0,32)
		PVG1 B 1 a_spawnitemex ("newbloodsplatter",0,0,32)
		PVG1 B 1 a_spawnitemex ("newbloodsplatter",0,0,32)
		PVG1 B 1 a_spawnitemex ("newbloodsplatter",0,0,32)
		PVG1 B 1 a_spawnitemex ("newbloodsplatter",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 
		stop
	death.blazice:
		PVGD L 2 a_scream
		TNT1 A 0 a_bossdeath
		PVIC A 2 A_noblocking
		TNT1 A 0 a_playsound ("swordtech/freezedeath",6)
		TNT1 A 0 a_fadeout (0.20)
		TNT1 AAAAAAAAAAAA 0 a_spawnitemex ("iceparticle",random(-8,8),random(-8,8),32,random(-100,100)/10.0,random(-100,100)/10.0,random(-100,100)/20.0,0,160)
		PVIC B 90 bright
		PVIC C 2 bright
		TNT1 A 0 a_playsound ("swordtech/iceshatter",6)
		TNT1 A 0 A_CustomMissile("icicle", 30,0, 0, CMF_AIMDIRECTION | CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("icicle", 30,0, 45, CMF_AIMDIRECTION | CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("icicle", 30,0, 90, CMF_AIMDIRECTION | CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("icicle", 30,0, 180, CMF_AIMDIRECTION | CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("icicle", 30,0, 270, CMF_AIMDIRECTION | CMF_TRACKOWNER)
		TNT1 A 0 A_CustomMissile("icicle", 30,0, 360, CMF_AIMDIRECTION | CMF_TRACKOWNER)
		TNT1 AAAAAAAAAAAAAA 0 a_dropitem ("treatspawner",1,140)
		TNT1 AAAAAA 0 a_spawnitemex ("icefragment",0,0,0,random(-10,10),random(-10,10),10) 
		TNT1 AAAAAAAAAA 0 a_spawnitemex ("icefragment",0,0,0,random(-4,13),random(-8,13),8) 
		stop
	death.fatalslash:
		PVGD L 2 a_scream
		PVIC A 4 a_noblocking
		TNT1 A 0 a_bossdeath
		PVGD L 15
	randomwait:
		FDPG A 1 a_jump (20,"split")
		loop
	split:
		FDPG AABBCC 5
		FDPG DE 2
		FDPG FGHIJ 3 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(10,35), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
		FDPG J 1 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(10,35), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
		FDPG J 1 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(10,35), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
		FDPG J 1 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(10,35), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
		FDPG J 1 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(10,35), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
		FDPG J 1 bright A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(10,35), 0,0,0, 0, SXF_NOCHECKPOSITION,80)
	exploding:
		FDPG J 1
		TNT1 A 1 A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(10,35), 0,0,0, 0, SXF_NOCHECKPOSITION, 80)
		FDPG J 1
		TNT1 A 1 A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(10,35), 0,0,0, 0, SXF_NOCHECKPOSITION, 80)
		FDPG J 1
		TNT1 A 1 A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(10,35), 0,0,0, 0, SXF_NOCHECKPOSITION, 80)
		FDPG J 1 a_jump (100,"reallydie")
		TNT1 A 1 A_SpawnItemEx ("fatalburst", frandom(-20,20),frandom(-20,20),frandom(10,35), 0,0,0, 0, SXF_NOCHECKPOSITION, 80)
		loop
	reallydie:
		TNT1 A 0 
		TNT1 A 1 a_spawnitemex ("fataldrawdeath",0,0,30)
		stop
	raise:
		PVG1 A 3
		PVGD ZYXVUTSRQPONM 4
		TNT1 A 0 a_jump (30,"chaosexplode")
		goto see
	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("GuardShield", 0, 0, 0, frandom(5,9), frandom (4,8), frandom(8,12), -90, 128)
		TNT1 A 0 A_SpawnItemEx("GuardArm", 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 A 0 a_spawnitem ("bigbloodsplatter")
		TNT1 AAAAAAAAAAAA 0 a_spawnitem ("newbloodsplatter") 
		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
	}
}

actor guardball
{
	Radius 12
	Height 15
	Speed 20
	Damage (20)
	Projectile 
	+bright
	+THRUSPECIES
	+THRUGHOST
	species "enemyshot"
	projectilekickback 4000
	States
	{
	Spawn:
		GBAL A 1 
		Loop
	Death:
		TNT1 A 0
		TNT1 A 1 a_spawnitemex ("ballhit",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 ("ballhit",0,0,0,frandom(-8,8),frandom(-8,8),frandom(5,10))
		Stop
	}
}

actor ballhit
{
	projectile
	+THRUACTORS
	+CLIENTSIDEONLY
	+bright
	-NOGRAVITY
	gravity 1.5
	+hexenbounce
	bouncecount 3
	radius 8
	bouncefactor 0.8
	seesound "fatguard/miss"
	states
	{
	spawn:
		GBAL A 1
		loop
	death:
		TNT1 A 1
		stop
	}
}

actor scatterball
{
	Radius 8
	Height 6
	Speed 20
	Damage (6)
	Projectile
	-Nogravity 
	+THRUSPECIES
	+THRUGHOST
	+bright
	species "enemyshot"
	projectilekickback 3000
	Gravity 0.5
	States
	{
	Spawn:
		GBAL B 1 
		Loop
	Death:
		TNT1 A 0
		TNT1 A 1 a_spawnitemex ("scatterballhit",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 ("scatterballhit",0,0,0,frandom(-8,8),frandom(-8,8),frandom(5,10))
		Stop
	}
}

actor scatterballhit 
{
	projectile
	+THRUACTORS
	+CLIENTSIDEONLY
	+bright
	-NOGRAVITY
	gravity 1.5
	+hexenbounce
	radius 8
	bouncecount 2
	bouncefactor 0.8
	seesound "cannon/lilclang"
	states
	{
	spawn:
		TNT1 A 0
		GBAL B 1
		loop
	death:
		TNT1 A 1
		stop
	}
}


ACTOR GuardArm
{
	Radius 12
	Height 15
	Speed 3
	Mass 500
	scale 1.2
	+clientsideonly
	+DOOMBOUNCE
	States
	{
	Spawn:
		GARR A 5
		GARR B 5 A_Fall 
		GARR CDE 5
		GARR F -1
		Stop
	}
}

Actor GuardShield
{
	Radius 8
	Height 8
	Speed 8
	+DoomBounce
	+clientsideonly
	+DropOff
	+Missile
	States
	{
	Spawn:
		PGSH ABCDEFGH 3
		Loop
	Death:
		PGSH I -1
		Loop
	}
}


