// DISCIPLES

ACTOR SOVDiscipleRed : Wizard 10085
{
	Translation "231:239=164:185"  // Purple (Magic Glow) to Red

	Health 25000
	Speed 15
	PainChance 0
	Mass 200
	SeeSound "wizard/laugh"
	PainSound "wizard/pain"
	DeathSound "wizard/death"
	ActiveSound "wizard/active"
	Obituary "%o met his end at the Disciple of Fire."
	+NOBLOOD
	+DONTMORPH
	+NOTELEOTHER
	+BOSS
	DropItem ArtiHealingRadius
	DropItem "NewArtiBoostMana"
	DropItem "NewArtiSuperHealth"
	Damagefactor "PoisonCloud", 0.25
	States
	{
		Spawn:
			WZRD A 0
			WZRD A 0 ACS_ExecuteAlways(913,0,25000,0,0)
			WZRD A 10 A_Look
			Loop
		Idle:
			WZRD A 10 A_Look
			Loop
		See:
			WZRD A 3 A_Chase
			WZRD A 4 A_Chase
			WZRD A 3 A_Chase
			WZRD A 4 A_Chase
			WZRD A 0 A_Jump(60,"Dash")
			WZRD B 3 A_Chase
			WZRD B 4 A_Chase
			WZRD B 3 A_Chase
			WZRD B 4 A_Chase
			WZRD B 0 A_Jump(60,"Dash")
			Loop
		Dash:
			WZRD A 0 A_Stop
			WZRD A 0 A_FaceTarget
			WZRD A 0 A_PlaySound("BishopBlur")
			WZRD A 0 A_CustomMissile("SOVDiscipleRedBlur",0,0,0)
			WZRD A 4 A_FastChase
			WZRD A 0 A_FaceTarget
			WZRD A 0 A_CustomMissile("SOVDiscipleRedBlur",0,0,0)
			WZRD A 4 A_FastChase
			WZRD A 0 A_FaceTarget
			WZRD A 0 A_CustomMissile("SOVDiscipleRedBlur",0,0,0)
			WZRD A 4 A_FastChase
			WZRD A 0 A_FaceTarget
			WZRD A 0 A_CustomMissile("SOVDiscipleRedBlur",0,0,0)
			WZRD A 4 A_FastChase
			WZRD A 0 A_FaceTarget
			WZRD A 0 A_CustomMissile("SOVDiscipleRedBlur",0,0,0)
			WZRD A 4 A_FastChase
			WZRD A 0 A_FaceTarget
			WZRD A 0 A_CustomMissile("SOVDiscipleRedBlur",0,0,0)
			WZRD A 4 A_FastChase
			WZRD A 0 A_FaceTarget
			WZRD B 0 A_Stop
			WZRD B 8 A_Jump(64,"Dash")
			Goto Missile
		Missile:
			WZRD B 0 A_Stop
			WZRD C 0 Bright A_Jump(128,"Missile1")
			WZRD C 0 Bright A_Jump(128,"Missile2")
			Goto Missile3
		Missile1:
			WZRD B 0 A_Stop
			WZRD C 4 Bright A_FaceTarget
			WZRD C 4 Bright A_FaceTarget
			WZRD D 0 Bright A_PlaySound("wizard/attack")
			WZRD D 0 Bright A_CustomMissile("WraithFX1",32,0,0)
			WZRD D 0 Bright A_CustomMissile("WraithFX1",32,0,random(0,40)-20)
			WZRD D 12 Bright A_CustomMissile("WraithFX1",32,0,random(0,40)-20)
			WZRD D 0 Bright A_Jump(64,"Missile1")
			Goto See
		Missile2:
			WZRD C 7 Bright A_StartFire
			WZRD C 0 Bright A_FaceTarget
			WZRD C 7 Bright A_VileTarget("SOVDiscipleRedFire")
			WZRD CCCCCCCC 7 Bright A_FaceTarget
			WZRD D 12 Bright A_VileAttack
			Goto See
		Missile3:
			WZRD C 0 A_Stop
			WZRD C 0 A_PlaySound("wizard/laugh")
			WZRD C 0 Bright A_FaceTarget
			WZRD C 0 Bright A_SetReflectiveInvulnerable
			WZRD C 7 A_CustomMissile("SOVDiscipleRedCharge",0,0,0)
			WZRD C 0 A_Stop
			WZRD C 7 Bright A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 Bright A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 Bright A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 Bright A_FaceTarget
			WZRD C 0 Bright A_UnSetReflectiveInvulnerable
			WZRD D 0 Bright A_PlaySound("MageStaffFire")
			WZRD D 0  Bright A_CustomMissile("DragonFireball",32,0,0,0)
			WZRD D 0  Bright A_CustomMissile("DragonFireball",32,0,random(0,20)-10,0,0)
			WZRD D 0  Bright A_CustomMissile("DragonFireball",32,0,random(0,20)-10,0,0)
			WZRD D 0  Bright A_CustomMissile("DragonFireball",32,0,random(0,20)-10,0,-30)
			WZRD D 0  Bright A_CustomMissile("DragonFireball",32,0,random(0,20)-10,0,-20)
			WZRD D 12 Bright A_CustomMissile("DragonFireball",32,0,random(0,20)-10,0,-10)
			Goto See
		Pain:
			WZRD E 3 A_UnSetReflectiveInvulnerable
			WZRD E 3 A_Pain
			Goto Dash
		Death:
			WZRD F 6 Bright ACS_ExecuteAlways(914,0, 2500)
			WZRD G 6 Bright A_Scream
			WZRD HI 6 Bright
			WZRD J 6 A_NoBlocking
			WZRD KL 6
			WZRD M -1 A_SetFloorClip
			Stop
		}
	}
	
ACTOR SOVDiscipleRedBlur
{
	Translation "231:239=164:185"  // Purple (Magic Glow) to Red
	PROJECTILE
	RENDERSTYLE ADD
	+NOCLIP
	+NOBLOCKMAP
	ALPHA 1
	Damage 0
	States
	{
		Spawn:
			WZRD N 12
			Stop
		}
	}

ACTOR SOVDiscipleRedFire
{
	RenderStyle Add
	Alpha 1
	+NOBLOCKMAP
	+NOGRAVITY
	States
	{
		Spawn:
			FIRE A 2 Bright A_StartFire
			FIRE BAB 2 Bright A_Fire
			FIRE C 2 Bright A_FireCrackle
			FIRE BCBCDCDCDEDED 2 Bright A_Fire
			FIRE E 2 Bright A_FireCrackle
			FIRE FEFEFGHGHGH 2 Bright A_Fire
			Stop
		}
	}

ACTOR SOVDiscipleRedChargeGlitter : TeleGlitter1
{
	RenderStyle ADD
	Alpha 1
	Scale 4.0
	Translation "217:223=164:185"  // Blue to Red
	States
	{
		Spawn:
			HWAT A 2 BRIGHT
			HWAT A 2 BRIGHT A_AccTeleGlitter
			HWAT A 2 BRIGHT
			HWAT A 2 BRIGHT A_AccTeleGlitter
			HWAT A 2 BRIGHT
			Loop
		}
}
	
ACTOR SOVDiscipleRedCharge : TeleGlitterGenerator1
{
	States
	{
		Spawn:
			TNT1 A 8 A_SpawnItemEx("SOVDiscipleRedChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDiscipleRedChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDiscipleRedChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDiscipleRedChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDiscipleRedChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDiscipleRedChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDiscipleRedChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			Stop
		}
	}

ACTOR SOVDiscipleGreen : SOVDiscipleRed 10086
{
	Translation "231:239=211:216", "164:185=192:202"  // Purple (Magic Glow) to Green, Red Trim to Green

	Obituary "%o met his end at the Disciple of Disease."
	DropItem ArtiHealingRadius
	DropItem "NewArtiBoostMana"
	DropItem "NewArtiSuperHealth"
	Damagefactor "PoisonCloud", 0.25
	States
	{
		See:
			WZRD A 3 A_Chase
			WZRD A 4 A_Chase
			WZRD A 3 A_Chase
			WZRD A 4 A_Chase
			WZRD A 0 A_Jump(60,"Dash")
			WZRD B 3 A_Chase
			WZRD B 4 A_Chase
			WZRD B 3 A_Chase
			WZRD B 4 A_Chase
			WZRD B 0 A_Jump(60,"Dash")
			Loop
		Dash:
			WZRD A 0 A_Stop
			WZRD A 0 A_FaceTarget
			WZRD A 0 A_PlaySound("BishopBlur")
			WZRD A 0 A_CustomMissile("SOVDiscipleGreenBlur",0,0,0)
			WZRD A 4 A_FastChase
			WZRD A 0 A_FaceTarget
			WZRD A 0 A_CustomMissile("SOVDiscipleGreenBlur",0,0,0)
			WZRD A 4 A_FastChase
			WZRD A 0 A_FaceTarget
			WZRD A 0 A_CustomMissile("SOVDiscipleGreenBlur",0,0,0)
			WZRD A 4 A_FastChase
			WZRD A 0 A_FaceTarget
			WZRD A 0 A_CustomMissile("SOVDiscipleGreenBlur",0,0,0)
			WZRD A 4 A_FastChase
			WZRD A 0 A_FaceTarget
			WZRD A 0 A_CustomMissile("SOVDiscipleGreenBlur",0,0,0)
			WZRD A 4 A_FastChase
			WZRD A 0 A_FaceTarget
			WZRD A 0 A_CustomMissile("SOVDiscipleGreenBlur",0,0,0)
			WZRD A 4 A_FastChase
			WZRD A 0 A_FaceTarget
			WZRD B 0 A_Stop
			WZRD B 8 A_Jump(64,"Dash")
			Goto Missile
		Missile:
			WZRD B 0 A_Stop
			WZRD C 0 Bright A_Jump(128,"Missile1")
			WZRD C 0 Bright A_Jump(192,"Missile2")
			Goto Missile3
		Missile1:
			WZRD B 0 A_Stop
			WZRD C 4 Bright A_FaceTarget
			WZRD C 4 Bright A_FaceTarget
			WZRD D 0 Bright A_PlaySound("wizard/attack")
			WZRD D 0 Bright A_CustomMissile("Demon2FX1",32,0,0)
			WZRD D 0 Bright A_CustomMissile("Demon2FX1",32,0,random(0,40)-20)
			WZRD D 12 Bright A_CustomMissile("Demon2FX1",32,0,random(0,40)-20)
			WZRD D 0 Bright A_Jump(64,"Missile1")
			Goto See
		Missile2:
			WZRD C 7 Bright A_FaceTarget
			WZRD D 0 Bright A_PlaySound("wizard/attack")
		Missile2Repeat:
			WZRD D 0 Bright A_FaceTarget 
			WZRD D 0 Bright A_PlaySound("ClericCStaffFire")
			WZRD D 0 Bright A_CustomMissile("CStaffMissile",32,-20,0)
			WZRD D 7 Bright A_CustomMissile("CStaffMissile",32,20,0)
			WZRD D 7 A_MonsterRefire(128, "See")
			Goto Missile2Repeat
		Missile3:
			WZRD C 0 A_Stop
			WZRD C 0 A_PlaySound("wizard/laugh")
			WZRD C 0 Bright A_FaceTarget
			WZRD C 0 Bright A_SetReflectiveInvulnerable
			WZRD C 7 A_CustomMissile("SOVDiscipleGreenCharge",0,0,0)
			WZRD C 0 A_Stop
			WZRD C 7 Bright A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 Bright A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 Bright A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 Bright A_FaceTarget
			WZRD C 0 Bright A_UnSetReflectiveInvulnerable
			WZRD D 0 Bright A_PlaySound("SorcererSpellCast")
			WZRD D 0  Bright A_CustomMissile("SOVDiscipleGreenPod",32,0,random(0,60)-30,4,50)
			WZRD D 0  Bright A_CustomMissile("SOVDiscipleGreenPod",32,0,random(0,60)-30,4,30)
			WZRD D 0  Bright A_CustomMissile("SOVDiscipleGreenPod",32,0,random(0,60)-30,4,10)
			WZRD D 12 Bright A_CustomMissile("SOVDiscipleGreenPod",32,0,random(0,60)-30,4,20)
			Goto See
		Pain:
			WZRD E 3 A_UnSetReflectiveInvulnerable
			WZRD E 3 A_Pain
			Goto Dash
		Death:
			WZRD F 6 Bright ACS_ExecuteAlways(914,0, 2500)
			WZRD G 6 Bright A_Scream
			WZRD HI 6 Bright
			WZRD J 6 A_NoBlocking
			WZRD KL 6
			WZRD M -1 A_SetFloorClip
			Stop
		}
	}
	
ACTOR SOVDiscipleGreenBlur
{
	Translation "231:239=211:216","164:185=192:202"  // Purple (Magic Glow) to Green, Red Trim to Green
	PROJECTILE
	RENDERSTYLE ADD
	+NOCLIP
	+NOBLOCKMAP
	ALPHA 1
	Damage 0
	States
	{
		Spawn:
			WZRD N 12
			Stop
		}
	}

ACTOR SOVDiscipleGreenChargeGlitter : TeleGlitter1
{
	RenderStyle ADD
	Alpha 1
	Scale 4.0
	Translation "217:223=211:216"  // Blue to Green
	States
	{
		Spawn:
			HWAT A 2 BRIGHT
			HWAT A 2 BRIGHT A_AccTeleGlitter
			HWAT A 2 BRIGHT
			HWAT A 2 BRIGHT A_AccTeleGlitter
			HWAT A 2 BRIGHT
			Loop
		}
}
	
ACTOR SOVDiscipleGreenCharge : TeleGlitterGenerator1
{
	States
	{
		Spawn:
			TNT1 A 8 A_SpawnItemEx("SOVDiscipleGreenChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDiscipleGreenChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDiscipleGreenChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDiscipleGreenChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDiscipleGreenChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDiscipleGreenChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDiscipleGreenChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			Stop
		}
	}

ACTOR SOVDiscipleGreenPod
{
	Speed 20
	Radius 8
	Height 16
	+NOBLOCKMAP
	+MISSILE
	+NOTELEPORT
	+HEXENBOUNCE
	+EXPLODEONWATER
	States
	{
		Spawn:
			SBS3 ABC 2 Bright
			Loop
		Death:
			SBS3 A 4 Bright A_SpawnItemEx("SOVDiscipleGreenCloud", 0, 0, 28, 0, 0, 0, 0, 0)
			Stop
		}
	}

ACTOR SOVDiscipleGreenCloud : NewPoisonCloud
{
	Obituary "%o choked on the Disciple of Disease's wrath."
	States
	{
	Spawn:
		PSBG D 1
		PSBG D 1 A_Scream
		PSBG  DEEEFFFGGGHHHIIIEEEFFFGGGHHHIIIEEEFFFGGGHHHIIIEEEFFFGGGHHHIII 2 A_Explode (4+2*(ACS_ExecuteWithResult(912,1,0,0)), 40, 1)
		PSBG  EEEFFFGGGHHHIIIEEEFFFGGGHHHIIIEEEFFFGGGHHHIIIEEEFFFGGGHHHIII 2 A_Explode (4+2*(ACS_ExecuteWithResult(912,1,0,0)), 40, 1)
		PSBG  EEEFFFGGGHHHIIIEEEFFFGGGHHHIIIEEEFFFGGGHHHIIIEEEFFFGGGHHHIII 2 A_Explode (4+2*(ACS_ExecuteWithResult(912,1,0,0)), 40, 1)
		PSBG  EEEFFFGGGHHHIIIEEEFFFGGGHHHIIIEEEFFFGGGHHHIIIEEEFFFGGGHHHIII 2 A_Explode (4+2*(ACS_ExecuteWithResult(912,1,0,0)), 40, 1)
		PSBG  EEEFFFGGGHHHIIIEEEFFFGGGHHHIIIEEEFFFGGGHHHIIIEEEFFFGGGHHHIII 2 A_Explode (4+2*(ACS_ExecuteWithResult(912,1,0,0)), 40, 1)
		PSBG  EEEFFFGGGHHHIIIEEEFFFGGGHHHIIIEEEFFFGGGHHHIII 2 A_Explode (4+2*(ACS_ExecuteWithResult(912,1,0,0)), 40, 1)
		Goto Death
	}
}

ACTOR SOVDiscipleBlue : SOVDiscipleRed 10087
{
	Translation "231:239=217:223","164:185=146:163"  // Purple (Magic Glow) to Blue, Red Trim to Blue
	Speed 20
	Obituary "%o met his end at the Disciple of Physics."
	DropItem ArtiHealingRadius
	DropItem "NewArtiBoostMana"
	DropItem "NewArtiSuperHealth"
	Damagefactor "PoisonCloud", 0.25
	States
	{
		See:
			WZRD A 3 A_Chase
			WZRD A 4 A_Chase
			WZRD A 3 A_Chase
			WZRD A 4 A_Chase
			WZRD A 0 A_Jump(60,"Blink")
			WZRD B 3 A_Chase
			WZRD B 4 A_Chase
			WZRD B 3 A_Chase
			WZRD B 4 A_Chase
			WZRD B 0 A_Jump(60,"Blink")
			Loop
		Blink:
			WZRD F 0 Bright A_Stop
			WZRD F 0 Bright A_UnSetSolid
			WZRD F 4 Bright A_PlaySound("UseArtifact")
			WZRD G 4 Bright
			WZRD H 4 Bright
			TNT1 A 0 A_Wander 
			TNT1 A 0 A_Wander 
			TNT1 A 0 A_Wander 
			TNT1 A 0 A_Wander 
			TNT1 A 0 A_Wander 
			TNT1 A 0 A_Wander 
			TNT1 A 0 A_Wander 
			TNT1 A 0 A_Wander 
			TNT1 A 0 A_Wander 
			TNT1 A 0 A_Wander 
			TNT1 A 0 A_Wander 
			TNT1 A 0 A_Wander 
			TNT1 A 0 A_Wander 
			TNT1 A 0 A_Wander 
			TNT1 A 1 A_Wander 
			WZRD H 0 Bright A_Stop
			WZRD H 4 Bright A_PlaySound("UseArtifact")
			WZRD G 4 Bright
			WZRD F 4 Bright
			WZRD A 4 A_SetSolid
			Goto Missile
		Missile:
			WZRD B 0 A_Stop
			WZRD C 0 Bright A_Jump(128,"Missile1")
			WZRD C 0 Bright A_Jump(192,"Missile2")
			Goto Missile3
		Missile1:
			WZRD B 0 A_Stop
			WZRD C 4 Bright A_FaceTarget
			WZRD C 4 Bright A_FaceTarget
			WZRD D 0 Bright A_PlaySound("wizard/attack")
			WZRD D 0 Bright A_CustomMissile("CentaurFX",32,0,0)
			WZRD D 0 Bright A_CustomMissile("CentaurFX",32,0,random(0,40)-20)
			WZRD D 12 Bright A_CustomMissile("CentaurFX",32,0,random(0,40)-20)
			WZRD D 0 Bright A_Jump(64,"Missile1")
			Goto See
		Missile2:
			WZRD C 0 Bright A_PlaySound("wizard/sight")
			WZRD C 17 Bright A_FaceTarget
		Missile2Repeat:
			WZRD D 0 Bright A_FaceTarget
			WZRD D 3 Bright A_CustomMissile("SOVDiscipleBlueBall",32,0,random(0,40)-20)
			WZRD D 0 A_MonsterRefire(0, "See")
			WZRD D 3 A_Jump(16, "See")
			Goto Missile2Repeat
		Missile3:
			WZRD C 0 A_Stop
			WZRD C 0 A_PlaySound("wizard/laugh")
			WZRD C 0 Bright A_FaceTarget
			WZRD C 0 Bright A_SetReflectiveInvulnerable
			WZRD C 7 A_CustomMissile("SOVDiscipleBlueCharge",0,0,0)
			WZRD C 0 A_Stop
			WZRD C 7 Bright A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 Bright A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 Bright A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 Bright A_FaceTarget
			WZRD C 0 Bright A_UnSetReflectiveInvulnerable
			WZRD D 0 Bright A_PlaySound("MageLightningFire")
			WZRD D 0  Bright A_CustomMissile("SOVDiscipleBlueLCeil",128,135,0)
			WZRD D 0  Bright A_CustomMissile("SOVDiscipleBlueLFloor",128,135,0)
			WZRD D 0  Bright A_CustomMissile("SOVDiscipleBlueLCeil",-128,-135,0)
			WZRD D 0  Bright A_CustomMissile("SOVDiscipleBlueLFloor",-128,-135,0)
			WZRD D 0  Bright A_CustomMissile("SOVDiscipleBlueLCeil",64,90,0)
			WZRD D 0  Bright A_CustomMissile("SOVDiscipleBlueLFloor",64,90,0)
			WZRD D 0  Bright A_CustomMissile("SOVDiscipleBlueLCeil",-64,-90,0)
			WZRD D 0  Bright A_CustomMissile("SOVDiscipleBlueLFloor",-64,-90,0)
			WZRD D 0  Bright A_CustomMissile("SOVDiscipleBlueLCeil",0,0,0)
			WZRD D 12 Bright A_CustomMissile("SOVDiscipleBlueLFloor",0,0,0)
			Goto See
		Pain:
			WZRD E 3 A_UnSetReflectiveInvulnerable
			WZRD E 3 A_Pain
			WZRD E 0 A_Jump(64, "Blink")
			Goto See
		Death:
			WZRD F 6 Bright ACS_ExecuteAlways(914,0, 2500)
			WZRD G 6 Bright A_Scream
			WZRD HI 6 Bright
			WZRD J 6 A_NoBlocking
			WZRD KL 6
			WZRD M -1 A_SetFloorClip
			Stop
		}
	}
	
ACTOR SOVDiscipleBlueChargeGlitter : TeleGlitter1
{
	RenderStyle ADD
	Alpha 1
	Scale 4.0
	States
	{
		Spawn:
			HWAT A 2 BRIGHT
			HWAT A 2 BRIGHT A_AccTeleGlitter
			HWAT A 2 BRIGHT
			HWAT A 2 BRIGHT A_AccTeleGlitter
			HWAT A 2 BRIGHT
			Loop
		}
}
	
ACTOR SOVDiscipleBlueCharge : TeleGlitterGenerator1
{
	States
	{
		Spawn:
			TNT1 A 8 A_SpawnItemEx("SOVDiscipleBlueChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDiscipleBlueChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDiscipleBlueChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDiscipleBlueChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDiscipleBlueChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDiscipleBlueChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDiscipleBlueChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			Stop
		}
	}

ACTOR SOVDiscipleBlueBall : SorcFX4
{
	Translation "231:239=217:223", "164:185=217:223"
	Speed 15
	+RANDOMIZE
	States
	{
		Spawn:
			SBS4 ABC 2 Bright
			Loop
		Death:
			BAL1 C 4 Bright A_SetTranslucent(1,1)
			BAL1 D 4 Bright A_Explode(20+(ACS_ExecuteWithResult(912,3,0,0)), 128, 0)
			BAL1 E 4 
			Stop
		}
	}

ACTOR SOVDiscipleBlueLCeil : NewLightningCeiling
{
	}

ACTOR SOVDiscipleBlueLFloor : NewLightningFloor
{
	}

ACTOR SOVDisciplePurple : SOVDiscipleRed 10088
{
	Translation "164:185=231:239"  // Red Trim to Purple
	PainChance 0
	Obituary "%o met his end at the Disciple of Death."
	DropItem ArtiHealingRadius
	DropItem "NewArtiBoostMana"
	DropItem "NewArtiSuperHealth"
	Damagefactor "PoisonCloud", 0.25
	States
	{
		See:
			WZRD A 3 A_Chase
			WZRD A 4 A_Chase
			WZRD A 3 A_Chase
			WZRD A 4 A_Chase
			WZRD A 0 A_Jump(60,"Dash")
			WZRD B 3 A_Chase
			WZRD B 4 A_Chase
			WZRD B 3 A_Chase
			WZRD B 4 A_Chase
			WZRD B 0 A_Jump(60,"Dash")
			Loop
		Dash:
			WZRD A 0 A_Stop
			WZRD A 0 A_FaceTarget
			WZRD A 0 A_PlaySound("BishopBlur")
			WZRD A 0 A_CustomMissile("SOVDisciplePurpleBlur",0,0,0)
			WZRD A 4 A_FastChase
			WZRD A 0 A_FaceTarget
			WZRD A 0 A_CustomMissile("SOVDisciplePurpleBlur",0,0,0)
			WZRD A 4 A_FastChase
			WZRD A 0 A_FaceTarget
			WZRD A 0 A_CustomMissile("SOVDisciplePurpleBlur",0,0,0)
			WZRD A 4 A_FastChase
			WZRD A 0 A_FaceTarget
			WZRD A 0 A_CustomMissile("SOVDisciplePurpleBlur",0,0,0)
			WZRD A 4 A_FastChase
			WZRD A 0 A_FaceTarget
			WZRD A 0 A_CustomMissile("SOVDisciplePurpleBlur",0,0,0)
			WZRD A 4 A_FastChase
			WZRD A 0 A_FaceTarget
			WZRD A 0 A_CustomMissile("SOVDisciplePurpleBlur",0,0,0)
			WZRD A 4 A_FastChase
			WZRD A 0 A_FaceTarget
			WZRD B 0 A_Stop
			WZRD B 8 A_Jump(64,"Dash")
			Goto Missile
		Missile:
			WZRD B 0 A_Stop
			WZRD C 0 Bright A_Jump(128,"Missile1")
			WZRD C 0 Bright A_Jump(128,"Missile2")
			Goto Missile3
		Missile1:
			WZRD B 0 A_Stop
			WZRD C 4 Bright A_FaceTarget
			WZRD C 4 Bright A_FaceTarget
			WZRD D 0 Bright A_PlaySound("wizard/attack")
			WZRD D 0 Bright A_CustomMissile("SOVDisciplePurpleBall",32,0,0)
			WZRD D 0 Bright A_CustomMissile("SOVDisciplePurpleBall",32,0,random(0,40)-20)
			WZRD D 12 Bright A_CustomMissile("SOVDisciplePurpleBall",32,0,random(0,40)-20)
			WZRD D 0 Bright A_Jump(64,"Missile1")
			Goto See
		Missile2:
			WZRD C 0 Bright A_PlaySound("wizard/sight")
			WZRD C 7 Bright A_FaceTarget
			WZRD C 7 A_FaceTarget
			WZRD C 7 Bright A_FaceTarget
			WZRD C 7 A_FaceTarget
			WZRD C 7 Bright A_FaceTarget
			WZRD D 0 Bright A_PlaySound("wizard/attack")
			WZRD D 0 Bright ACS_Execute(300)  // Call spawning of dead guys
			WZRD D 12 Bright A_FaceTarget
			Goto See
		Missile3:
			WZRD C 0 A_Stop
			WZRD C 0 A_PlaySound("wizard/laugh")
			WZRD C 0 Bright A_FaceTarget
			WZRD C 0 Bright A_SetReflectiveInvulnerable
			WZRD C 7 A_CustomMissile("SOVDisciplePurpleCharge",0,0,0)
			WZRD C 0 A_Stop
			WZRD C 7 Bright A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 Bright A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 Bright A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 A_FaceTarget
			WZRD C 0 A_Stop
			WZRD C 7 Bright A_FaceTarget
			WZRD C 0 Bright A_UnSetReflectiveInvulnerable
		Missile3Repeat:
			WZRD D 0 Bright A_PlaySound("SpiritActive")
			WZRD D 8 Bright A_CustomMissile("SOVDisciplePurpleSpirit",0,0,random(0,90)-45)
			WZRD D 8 A_MonsterRefire(0, "See")
			Goto Missile3Repeat
		Pain:
			WZRD E 3 A_UnSetReflectiveInvulnerable
			WZRD E 3 A_Pain
			WZRD E 0 A_Jump(64, "Dash")
			Goto See
		Death:
			WZRD F 0 Bright ACS_ExecuteAlways(914,0, 2500)
			WZRD F 6 Bright A_KillChildren
			WZRD G 6 Bright A_Scream
			WZRD HI 6 Bright
			WZRD J 6 A_NoBlocking
			WZRD KL 6
			WZRD M -1 A_SetFloorClip
			Stop
		}
	}

ACTOR SOVDisciplePurpleBlur
{
	Translation "164:185=231:239"  // Red Trim to Purple
	PROJECTILE
	RENDERSTYLE ADD
	+NOCLIP
	+NOBLOCKMAP
	ALPHA 1
	Damage 0
	States
	{
		Spawn:
			WZRD N 12
			Stop
		}
	}

ACTOR SOVDisciplePurpleWraith : NewWraithBuried
{
	+FLOORHUGGER
	}
	
ACTOR SOVDisciplePurpleSpirit : NewHolySpirit
{
	Translation "1:32=235:239"
	}
	
ACTOR SOVDisciplePurpleChargeGlitter : TeleGlitter1
{
	RenderStyle ADD
	Alpha 1
	Scale 4.0
	Translation "217:223=231:239"  // Blue to Purple
	States
	{
		Spawn:
			HWAT A 2 BRIGHT
			HWAT A 2 BRIGHT A_AccTeleGlitter
			HWAT A 2 BRIGHT
			HWAT A 2 BRIGHT A_AccTeleGlitter
			HWAT A 2 BRIGHT
			Loop
		}
}
	
ACTOR SOVDisciplePurpleCharge : TeleGlitterGenerator1
{
	States
	{
		Spawn:
			TNT1 A 8 A_SpawnItemEx("SOVDisciplePurpleChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDisciplePurpleChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDisciplePurpleChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDisciplePurpleChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDisciplePurpleChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDisciplePurpleChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			TNT1 A 8 A_SpawnItemEx("SOVDisciplePurpleChargeGlitter", random(0,31)-16, random(0,31)-16, 0, 0,0,0.25)
			Stop
		}
	}

ACTOR SOVDisciplePurpleBall : SorcFX4
{
	Translation "164:185=231:239"
	Speed 20
	+RANDOMIZE
	Obituary "%o was blasted by the Disciple of Death."
	States
	{
		Spawn:
			SBS4 ABC 2 Bright
			Loop
		Death:
			BAL1 C 4 Bright A_SetTranslucent(1,1)
			BAL1 D 4 Bright A_Explode(20+(ACS_ExecuteWithResult(912,3,0,0)), 128)
			BAL1 E 4 
			Stop
		}
	}

// VISCERUS

ACTOR Viscerus 10082
{
	Health 40000
	Radius 35
	Height 80
	Speed 20
	PainChance 0
	Mass 400
	Damagefactor "PoisonCloud", 0.25
	MONSTER
	+FLOORCLIP
	+DONTMORPH
	+NOTELEOTHER
	+BOSS
	+NOICEDEATH
	+NOTARGET
	RENDERSTYLE NORMAL
	ALPHA 1.0
	PainSound "SorcererPain"
	DeathSound "SorcererPain"
	ActiveSound "SorcererActive"
	AttackSound "SorcererSpellCast"
	Obituary "%o was laid to waste by Viscerus."
	DropItem "NewArtiBoostMana"
	DropItem "NewArtiSuperHealth"
	States
	{
		Spawn:
			SORC A 0
			SORC A 0 ACS_ExecuteAlways(913,0,40000,0,0)
			SORC A 10 A_Look
			Loop
		Idle:
			SORC A 10 A_Look
			Loop
		See:
			SORC F 0 Bright A_SetReflectiveInvulnerable
			SORC F 175 Bright
			SORC F 0 Bright A_UnSetReflectiveInvulnerable
		RegularSee:
			SORC A 2 A_Chase
			SORC A 0 A_CustomMissile("VisShadow1",0,0,0)
			SORC A 2 A_Chase
			SORC A 0 A_CustomMissile("VisShadow1",0,0,0)
			SORC B 2 A_Chase
			SORC B 0 A_CustomMissile("VisShadow2",0,0,0)
			SORC B 2 A_Chase
			SORC B 0 A_CustomMissile("VisShadow2",0,0,0)
			SORC C 2 A_Chase
			SORC C 0 A_CustomMissile("VisShadow3",0,0,0)
			SORC C 2 A_Chase
			SORC C 0 A_CustomMissile("VisShadow3",0,0,0)
			SORC D 2 A_Chase
			SORC D 0 A_CustomMissile("VisShadow4",0,0,0)
			SORC D 2 A_Chase
			SORC D 0 A_CustomMissile("VisShadow4",0,0,0)
			Goto See+3
		Missile:
			SORC D 0 A_Jump(128,"Missile1")
			SORC D 0 A_Jump(128,"Missile2")
			Goto Missile3
		Missile1:
			SORC F 6 Bright A_FaceTarget
			SORC E 0 Bright A_PlaySound("SorcererSpellCast")
			SORC E 0 Bright A_CustomMissile("CentaurFX", 36, 0, -5)
			SORC E 4 Bright A_CustomMissile("CentaurFX", 36, 0, 5)
			Goto RegularSee
		Missile2:
			SORC F 18 Bright A_FaceTarget
			SORC E 0 Bright A_PlaySound("SorcererSpellCast")
		Missile2A:
			SORC E 5 A_FaceTarget
			SORC E 0 Bright A_CustomMissile("SOVDiscipleBlueBall", 36, 0, 20)
			SORC E 0 Bright A_CustomMissile("SOVDiscipleBlueBall", 36, 0, -20)
			SORC E 0 Bright A_CustomMissile("SOVDiscipleBlueBall", 36, 0, 10)
			SORC E 0 Bright A_CustomMissile("SOVDiscipleBlueBall", 36, 0, -10)
			SORC E 9 Bright A_CustomMissile("SOVDiscipleBlueBall", 36, 0, 0)
			SORC E 0 Bright A_CustomMissile("SOVDiscipleBlueBall", 36, 0, 15)
			SORC E 0 Bright A_CustomMissile("SOVDiscipleBlueBall", 36, 0, -15)
			SORC E 0 Bright A_CustomMissile("SOVDiscipleBlueBall", 36, 0, 5)
			SORC E 9 Bright A_CustomMissile("SOVDiscipleBlueBall", 36, 0, -5)
			SORC E 0 A_MonsterRefire(0, "RegularSee")
			Goto Missile2A
		Missile3:
			SORC F 0 Bright A_PlaySound("SorcererActive")
			SORC FFFFF 7 Bright A_FaceTarget
		Missile3A:
			SORC F 10 Bright A_FaceTarget
			SORC E 0 Bright A_PlaySound("MageLightningFire")
			SORC E 0  Bright A_CustomMissile("SOVDiscipleBlueLCeil",128,135,0)
			SORC E 0  Bright A_CustomMissile("SOVDiscipleBlueLFloor",128,135,0)
			SORC E 0  Bright A_CustomMissile("SOVDiscipleBlueLCeil",-128,-135,0)
			SORC E 0  Bright A_CustomMissile("SOVDiscipleBlueLFloor",-128,-135,0)
			SORC E 0  Bright A_CustomMissile("SOVDiscipleBlueLCeil",64,90,0)
			SORC E 0  Bright A_CustomMissile("SOVDiscipleBlueLFloor",64,90,0)
			SORC E 0  Bright A_CustomMissile("SOVDiscipleBlueLCeil",-64,-90,0)
			SORC E 0  Bright A_CustomMissile("SOVDiscipleBlueLFloor",-64,-90,0)
			SORC E 0  Bright A_CustomMissile("SOVDiscipleBlueLCeil",0,0,0)
			SORC E 12 Bright A_CustomMissile("SOVDiscipleBlueLFloor",0,0,0)
			SORC E 0 A_MonsterRefire(0, "RegularSee")
			Goto Missile3A
		Pain:
			SORC G 3
			SORC G 4 A_Pain
			Goto RegularSee
		Death:
			SORC G 3
			SORC G 4 A_Pain
			SORC G 0 A_CustomMissile("CentaurFX", 36, 0, 0)
			SORC G 0 A_CustomMissile("CentaurFX", 36, 0, 22)
			SORC G 0 A_CustomMissile("CentaurFX", 36, 0, 45)
			SORC G 0 A_CustomMissile("CentaurFX", 36, 0, 67)
			SORC G 0 A_CustomMissile("CentaurFX", 36, 0, 90)
			SORC G 0 A_CustomMissile("CentaurFX", 36, 0, 112)
			SORC G 0 A_CustomMissile("CentaurFX", 36, 0, 135)
			SORC G 0 A_CustomMissile("CentaurFX", 36, 0, 157)
			SORC G 0 A_CustomMissile("CentaurFX", 36, 0, 180)
			SORC G 0 A_CustomMissile("CentaurFX", 36, 0, -22)
			SORC G 0 A_CustomMissile("CentaurFX", 36, 0, -45)
			SORC G 0 A_CustomMissile("CentaurFX", 36, 0, -67)
			SORC G 0 A_CustomMissile("CentaurFX", 36, 0, -90)
			SORC G 0 A_CustomMissile("CentaurFX", 36, 0, -112)
			SORC G 0 A_CustomMissile("CentaurFX", 36, 0, -135)
			SORC G 0 A_CustomMissile("CentaurFX", 36, 0, -157)
			SORC G 0 A_CustomMissile("CentaurFX", 36, 0, -180)
			Stop
		}

	}

// Second stage of Viscerus's fury!
ACTOR Viscerus2
{
	Health 40000
	Radius 35
	Height 80
	Speed 12
	PainChance 0
	Mass 400
	Damagefactor "PoisonCloud", 0.25
	MONSTER
	+FLOORCLIP
	+DONTMORPH
	+NOTELEOTHER
	+BOSS
	+NOICEDEATH
	+NOTARGET
	RENDERSTYLE NORMAL
	ALPHA 1.0
	PainSound "SorcererPain"
	DeathSound "SorcererPain"
	ActiveSound "SorcererActive"
	AttackSound "SorcererSpellCast"
	MissileHeight 36
	Obituary "%o was laid to waste by Viscerus."
	DropItem "NewArtiBoostMana"
	DropItem "NewArtiSuperHealth"
	States
	{
		Spawn:
			SORC A 0
			SORC A 0 ACS_ExecuteAlways(913,0,40000,0,0)
			SORC A 10 A_Look
			Loop
		Idle:
			SORC A 10 A_Look
			Loop
		See:
			SORC AABBCCDD 2 A_Chase
			Goto See
		Missile:
			SORC D 0 A_Jump(128,"Missile1")
			SORC D 0 A_Jump(128,"Missile2")
			SORC D 0 A_Jump(128,"Missile3")
			Goto Missile4
		Missile1:
			SORC F 0 A_FaceTarget
			SORC F 10 Bright
			SORC E 0 A_FaceTarget
			SORC E 0 Bright A_CustomMissile("Demon2FX1", 36, 0, -12)
			SORC E 0 Bright A_CustomMissile("Demon2FX1", 36, 0, 12)
			SORC E 0 Bright A_CustomMissile("Demon2FX1", 36, 0, -24)
			SORC E 0 Bright A_CustomMissile("Demon2FX1", 36, 0, 24)
			SORC E 17 Bright A_CustomMissile("Demon2FX1", 36, 0, 0)
			Goto See
		Missile2:
			SORC F 0 A_FaceTarget
			SORC F 10 Bright
			SORC E 0 A_FaceTarget
			SORC E 4 Bright A_PlaySound("BishopAttack")
		Missile2A:
			SORC E 0 A_FaceTarget
			SORC E 0 Bright A_CustomMissile("BishopFX", 36, 10, 0)
			SORC E 6 Bright A_CustomMissile("BishopFX", 36, -10, 0)
			SORC E 0 A_MonsterRefire(0, "See")
			Goto Missile2A
		Missile3:
			SORC F 0 A_FaceTarget
			SORC F 15 Bright A_PlaySound("SorcererActive")
			SORC E 0 Bright A_CustomMissile("SorcFX3", 36, 0, -135)
			SORC E 0 Bright A_CustomMissile("SorcFX3", 36, 0, 135)
			SORC E 0 Bright A_CustomMissile("SorcFX3", 36, 0, 45)
			SORC E 17 Bright A_CustomMissile("SorcFX3", 36, 0, -45)
			Goto See
		Missile4:
			SORC F 0 Bright A_FaceTarget
			SORC F 5 Bright A_PlaySound("SorcererPain")
			SORC F 5 Bright A_PlaySound("SorcererPain")
			SORC F 29 Bright A_PlaySound("SorcererPain")
			SORC F 0 Bright A_FaceTarget
			SORC F 0 Bright A_PlaySound("SorcererSpellCast")
			SORC E 0 Bright A_CustomMissile("PorkFX", 36, 0, -10)
			SORC E 0 Bright A_CustomMissile("PorkFX", 36, 0, 0)
			SORC E 17 Bright A_CustomMissile("PorkFX", 36, 0, 10)
			Goto See

		Pain:
			SORC G 3
			SORC G 4 A_Pain
			Goto See
		Death:
			SORC G 3
			SORC G 4 A_Pain
			SORC G 0 A_CustomMissile("Demon2FX1", 36, 0, 0)
			SORC G 0 A_CustomMissile("Demon2FX1", 36, 0, 22)
			SORC G 0 A_CustomMissile("Demon2FX1", 36, 0, 45)
			SORC G 0 A_CustomMissile("Demon2FX1", 36, 0, 67)
			SORC G 0 A_CustomMissile("Demon2FX1", 36, 0, 90)
			SORC G 0 A_CustomMissile("Demon2FX1", 36, 0, 112)
			SORC G 0 A_CustomMissile("Demon2FX1", 36, 0, 135)
			SORC G 0 A_CustomMissile("Demon2FX1", 36, 0, 157)
			SORC G 0 A_CustomMissile("Demon2FX1", 36, 0, 180)
			SORC G 0 A_CustomMissile("Demon2FX1", 36, 0, -22)
			SORC G 0 A_CustomMissile("Demon2FX1", 36, 0, -45)
			SORC G 0 A_CustomMissile("Demon2FX1", 36, 0, -67)
			SORC G 0 A_CustomMissile("Demon2FX1", 36, 0, -90)
			SORC G 0 A_CustomMissile("Demon2FX1", 36, 0, -112)
			SORC G 0 A_CustomMissile("Demon2FX1", 36, 0, -135)
			SORC G 0 A_CustomMissile("Demon2FX1", 36, 0, -157)
			SORC G 0 A_CustomMissile("Demon2FX1", 36, 0, -180)
			Stop
		}

	}

// Third stage of Viscerus's fury!
ACTOR Viscerus3
{
	Health 40000
	Radius 35
	Height 80
	Speed 12
	PainChance 0
	Mass 400
	Damagefactor "PoisonCloud", 0.25
	MONSTER
	+FLOORCLIP
	+DONTMORPH
	+NOTELEOTHER
	+BOSS
	+NOICEDEATH
	+NOTARGET
	RENDERSTYLE NORMAL
	ALPHA 1.0
	PainSound "SorcererPain"
	DeathSound "SorcererPain"
	ActiveSound "SorcererActive"
	AttackSound "SorcererSpellCast"
	MissileHeight 36
	Obituary "%o was laid to waste by Viscerus."
	DropItem "NewArtiBoostMana"
	DropItem "NewArtiSuperHealth"
	States
	{
		Spawn:
			SORC A 0
			SORC A 0 ACS_ExecuteAlways(913,0,40000,0,0)
			SORC A 10 A_Look
			Loop
		Idle:
			SORC A 10 A_Look
			Loop
		See:
			SORC AABBCCDD 2 A_Chase
			Goto See
		Missile:
			SORC D 0 A_Jump(128,"Missile1")
			SORC D 0 A_Jump(128,"Missile2")
			Goto Missile3
		Missile1:
			SORC F 0 A_FaceTarget
			SORC F 10 Bright
			SORC E 0 A_FaceTarget
			SORC E 0 Bright A_CustomMissile("WraithFX1", 36, 0, -12)
			SORC E 0 Bright A_CustomMissile("WraithFX1", 36, 0, 12)
			SORC E 0 Bright A_CustomMissile("WraithFX1", 36, 0, -24)
			SORC E 0 Bright A_CustomMissile("WraithFX1", 36, 0, 24)
			SORC E 17 Bright A_CustomMissile("WraithFX1", 36, 0, 0)
			Goto See
		Missile2:
			SORC F 0 A_FaceTarget
			SORC F 15 Bright A_PlaySound("SorcererActive")
			SORC E 0 A_FaceTarget
			SORC E 0 Bright A_CustomMissile("VisBallFX", 36, 0, 64)
			SORC E 17 Bright A_CustomMissile("VisBallFX", 36, 0, -64)
			Goto See
		Missile3:
			SORC F 0 Bright A_FaceTarget
			SORC F 18 Bright A_PlaySound("SorcererActive")
		Missile3A:
			SORC F 0 A_FaceTarget
			SORC F 17 Bright 
			SORC F 0 Bright A_FaceTarget
			SORC E 0 Bright A_PlaySound("MageStaffFire")
			SORC E 0 Bright A_CustomMissile("DragonFireball",33,0,0)
			SORC E 0 Bright A_CustomMissile("DragonFireball",33,0,-12)
			SORC E 0 Bright A_CustomMissile("DragonFireball",33,0,12)
			SORC E 0 Bright A_CustomMissile("DragonFireball",33,0,-24)
			SORC E 17 Bright A_CustomMissile("DragonFireball",33,0,24)
			SORC E 0 A_MonsterRefire(0, "See")
			Goto Missile3A
		Pain:
			SORC G 3
			SORC G 4 A_Pain
			Goto See
		Death:
			SORC G 3
			SORC G 4 A_Pain
			SORC G 0 A_CustomMissile("Demon1FX1", 36, 0, 0)
			SORC G 0 A_CustomMissile("Demon1FX1", 36, 0, 22)
			SORC G 0 A_CustomMissile("Demon1FX1", 36, 0, 45)
			SORC G 0 A_CustomMissile("Demon1FX1", 36, 0, 67)
			SORC G 0 A_CustomMissile("Demon1FX1", 36, 0, 90)
			SORC G 0 A_CustomMissile("Demon1FX1", 36, 0, 112)
			SORC G 0 A_CustomMissile("Demon1FX1", 36, 0, 135)
			SORC G 0 A_CustomMissile("Demon1FX1", 36, 0, 157)
			SORC G 0 A_CustomMissile("Demon1FX1", 36, 0, 180)
			SORC G 0 A_CustomMissile("Demon1FX1", 36, 0, -22)
			SORC G 0 A_CustomMissile("Demon1FX1", 36, 0, -45)
			SORC G 0 A_CustomMissile("Demon1FX1", 36, 0, -67)
			SORC G 0 A_CustomMissile("Demon1FX1", 36, 0, -90)
			SORC G 0 A_CustomMissile("Demon1FX1", 36, 0, -112)
			SORC G 0 A_CustomMissile("Demon1FX1", 36, 0, -135)
			SORC G 0 A_CustomMissile("Demon1FX1", 36, 0, -157)
			SORC G 0 A_CustomMissile("Demon1FX1", 36, 0, -180)
			Stop
		}

	}

// Fourth stage of Viscerus's fury!
ACTOR Viscerus4
{
	Health 40000
	Radius 35
	Height 80
	Speed 12
	PainChance 0
	Mass 400
	Damagefactor "PoisonCloud", 0.25
	MONSTER
	+FLOORCLIP
	+DONTMORPH
	+NOTELEOTHER
	+BOSS
	+NOICEDEATH
	+NOTARGET
	RENDERSTYLE NORMAL
	ALPHA 1.0
	PainSound "SorcererPain"
	DeathSound "SorcererDeathScream"
	ActiveSound "SorcererActive"
	AttackSound "SorcererSpellCast"
	MissileHeight 36
	Obituary "%o was laid to waste by Viscerus."
	DropItem "NewArtiBoostMana"
	DropItem "NewArtiSuperHealth"
	States
	{
		Spawn:
			SORC A 0
			SORC A 0 ACS_ExecuteAlways(913,0,40000,0,0)
			SORC A 10 A_Look
			Loop
		Idle:
			SORC A 10 A_Look
			Loop
		See:
			SORC AABBCCDD 2 A_Chase
			Goto See
		Missile:
			SORC F 0 A_FaceTarget
			SORC D 0 A_Jump(128,"Missile1")
			SORC D 0 A_Jump(192,"Missile2")
			Goto Missile3
		Missile1:
			SORC F 0 A_FaceTarget
			SORC F 10 Bright
			SORC E 0 A_FaceTarget
			SORC E 0 Bright A_CustomMissile("SOVDisciplePurpleBall", 36, 0, -24)
			SORC E 0 Bright A_CustomMissile("SOVDisciplePurpleBall", 36, 0, 24)
			SORC E 0 Bright A_CustomMissile("SOVDisciplePurpleBall", 36, 0, -12)
			SORC E 0 Bright A_CustomMissile("SOVDisciplePurpleBall", 36, 0, 12)
			SORC E 17 Bright A_CustomMissile("SOVDisciplePurpleBall", 36, 0, 0)
			Goto See
		Missile2:
			SORC F 15 Bright A_PlaySound("SorcererActive")
			SORC E 0 A_FaceTarget
			SORC E 0 Bright A_CustomMissile("VisDeathWave", 36, 0, -20)
			SORC E 0 Bright A_CustomMissile("VisDeathWave", 36, 0, 20)
			SORC E 17 Bright A_CustomMissile("VisDeathWave", 36, 0, 0)
			Goto See
		Missile3:
			SORC F 0 Bright A_FaceTarget
			SORC F 35 Bright A_PlaySound("SorcererActive")
		Missile3Repeat:
			SORC E 0 Bright A_PlaySound("SpiritActive")
			SORC E 0 Bright A_CustomMissile("SOVDisciplePurpleSpirit",0,0,20)
			SORC E 8 Bright A_CustomMissile("SOVDisciplePurpleSpirit",0,0,-20)
			SORC E 8 A_MonsterRefire(0, "See")
			Goto Missile3Repeat
		Pain:
			SORC G 3
			SORC G 4 A_Pain
			Goto See
		Death:
			SORC H 5 Bright ACS_ExecuteAlways(914,0, 20000)
			SORC I 5 Bright A_FaceTarget
			SORC J 5 Bright A_Scream
			SORC KLMNOPQRST 5 Bright
			SORC U 5 Bright A_NoBlocking
			SORC VWXY 5 Bright
			SORC Z -1 Bright
			Stop
		}
	}

ACTOR VisBallFX : SorcFX1
{
	Speed 7
	Radius 5
	Height 5
	Health 5
	Damage ((random(1,8)*5)+(ACS_ExecuteWithResult(912,3,0,0)))
	Projectile
	-ACTIVATEIMPACT
	-ACTIVATEPCROSS
	-NOGRAVITY
	+CANBOUNCEWATER
	+NOWALLBOUNCESND
	BounceFactor 1.0
	+HEXENBOUNCE
	SeeSound "SorcererBallBounce"
	DeathSound "SorcererHeadScream"

	States
	{
		Spawn:
			SBS1 A 2 Bright A_GetHurt
			SBS1 BCD 3 Bright
			Loop
		Death:
			CFCF Q 1 Bright
			CFCF Q 4 Bright A_UnHideThing
			CFCF R 3 Bright A_Scream
			CFCF S 4 Bright
			CFCF T 3 Bright A_Explode(80+(ACS_ExecuteWithResult(912,3,0,0)), 128, 0)
			CFCF U 4 Bright
			CFCF V 3 Bright
			CFCF W 4 Bright
			CFCF X 3 Bright
			CFCF Y 4 Bright
			CFCF Z 3 Bright
			Stop
		}
	}
	
ACTOR VisDeathWave
{
	Speed 10
	Radius 5
	Height 5
	Health 5
	Damage ((random(1,8)*5)+(ACS_ExecuteWithResult(912,3,0,0)))
	Projectile
	+FLOORHUGGER
	States
	{
		Spawn:
			TNT1 A 15
		Spawn2:
			TNT1 A 0 A_CustomMissile("VisDeathBlast",0,random(-64,64))
			TNT1 A 2 
			TNT1 A 2 A_Jump(64,"Spawn2")
			TNT1 A 2 A_Jump(64,"Spawn2")
			TNT1 A 2 A_Jump(64,"Spawn2")
			Goto Spawn2
		Death:
			TNT1 A 1
			Stop
		}
	}

ACTOR VisDeathBlast
{
	Speed 0
	Radius 8
	Height 8
	Damage 0
	Projectile
	+FLOORHUGGER
	States
	{
		Spawn:
		Death:
			SBS4 D 0 A_Jump(128,1)
			SBS4 D 0 A_PlaySound("SorcererBallExplode")
			SBS4 D 5 
			SBS4 E 5 Bright A_Explode(80+(ACS_ExecuteWithResult(912,3,0,0)),128)
			SBS4 FGH 6
			Stop
		}
	}

ACTOR VisShadow1
{
	PROJECTILE
	RENDERSTYLE ADD
	+NOCLIP
	ALPHA 0.4
	States
	{
		Spawn:
			SORC A 12
			Stop
		}
	}

ACTOR VisShadow2
{
	PROJECTILE
	RENDERSTYLE ADD
	+NOCLIP
	ALPHA 0.4
	States
	{
		Spawn:
			SORC B 12
			Stop
		}
	}

ACTOR VisShadow3
{
	PROJECTILE
	RENDERSTYLE ADD
	+NOCLIP
	ALPHA 0.4
	States
	{
		Spawn:
			SORC C 12
			Stop
		}
	}

ACTOR VisShadow4
{
	PROJECTILE
	RENDERSTYLE ADD
	+NOCLIP
	ALPHA 0.4
	States
	{
		Spawn:
			SORC D 12
			Stop
		}
	}