Actor MCM_Gladiator : McM_Monster replaces HellKnight {
	Health 450
	Radius 24
	Height 64
	Speed 11
	PainChance 64
	Mass 1000
	MONSTER
	+FLOORCLIP
	SeeSound "Gladiator/See"
	ActiveSound "Gladiator/Act"
	PainSound "Gladiator/Pain"
	DeathSound "Gladiator/Die"
	Obituary "%o didn't expect trickery from a Gladiator."
	HitObituary "%o lost the fight against a Gladiator."
	Tag "Gladiator"
	Species "Baron"
	+DONTHURTSPECIES  
	+DONTHARMSPECIES
	+DONTBLAST
	const int glad_dist = 320;
	States {
		Idle:
			MGLD AB 10 A_Look
		Loop
		See:
			TNT1 A 0 A_JumpIfInventory("MCM_BehaviorToggle", 1, "FastSee")
		SeeCont:
			MGLD AABBCCDD 4 A_Chase
		Goto See
		FastSee:
			TNT1 A 0 A_JumpIfCloser(glad_dist, "FastSeeCont")
		Goto SeeCont
		FastSeeCont:
			MGLD AABBCCDD 3 A_Chase
		Goto See
		Missile:
			TNT1 A 0 A_JumpIfCloser(glad_dist, "FastMissile")
		MissileCont:
			MGLD EF 8 A_FaceTarget
			MGLD G 8 A_CustomComboAttack("GladiatorFireBall", 32, 8 * random(4, 6), "baron/melee")
		Goto See
		FastMissile:
			TNT1 A 0 A_JumpIfInventory("MCM_BehaviorToggle", 1, "FastMissileCont")
		Goto MissileCont
		FastMissileCont:
			MGLD EF 6 A_FaceTarget
			MGLD G 1 A_SetAngle(angle + frandom(-12.0, 12.0))
			MGLD G 5 A_CustomComboAttack("GladiatorFireBall_Explode", 32, 10 * random(4, 6), "baron/melee")
		Goto See
		Melee:
			MGLD E 2 A_FaceTarget
			TNT1 A 0 A_Recoil(-1.6)
			MGLD E 3 A_FaceTarget
			TNT1 A 0 A_Recoil(-2.0)
			MGLD F 2 A_FaceTarget
			TNT1 A 0 A_Recoil(-2.4)
			MGLD F 3 A_FaceTarget
			TNT1 A 0 A_Recoil(-2.8)
			MGLD G 5 A_CustomComboAttack("GladiatorFireBall", 32, 10 * random(5, 8), "baron/melee")
		Goto See
		Pain:
			MGLD H 2 Fast
			MGLD H 2 Fast A_Pain
		Goto See
		Death:
			MGLD I 6 A_Scream
			TNT1 A 0 A_FaceTarget
			MGLD J 5 
			MGLD K 4
			MGLD L 3 A_Fall
			MGLD MN 3
			MGLD O -1
		Stop
		Raise:
			MGLD NMLKJI 4
		Goto See
		Death.Corpse:
			MGLD O -1
		Stop
	}
}

Actor GladiatorFireBall {
	Radius 5
	Height 10
	Speed 24
	PROJECTILE
	Damage (5 * random(4, 6))
	DamageType Fire
	SeeSound "Gladiator/Attack"
	DeathSound "weapons/phoenixhit"
	Scale 0.85
	+DONTBLAST
	States {
		Spawn:
			FX14 ABC 4 Bright
		Loop
		Death:
			FX14 DE 6 Bright
			FX14 FGH 4 Bright
		Stop
	}
}

Actor GladiatorFireBall_Explode : GladiatorFireBall {
	States {
		Spawn:
			TNT1 AA 0 A_SpawnItemEx("GladiatorExplosionFX", 0, 0, 0, frandom(-3, 3), frandom(-3, 3), frandom(-3, 3))
			FX14 A 2 Bright A_Explode(12, 56, 0)
			TNT1 AA 0 A_SpawnItemEx("GladiatorExplosionFX", 0, 0, 0, frandom(-3, 3), frandom(-3, 3), frandom(-3, 3))
			FX14 A 2 Bright A_Explode(12, 56, 0)
			TNT1 AA 0 A_SpawnItemEx("GladiatorExplosionFX", 0, 0, 0, frandom(-3, 3), frandom(-3, 3), frandom(-3, 3))
			FX14 B 2 Bright A_Explode(12, 56, 0)
			TNT1 AA 0 A_SpawnItemEx("GladiatorExplosionFX", 0, 0, 0, frandom(-3, 3), frandom(-3, 3), frandom(-3, 3))
			FX14 B 2 Bright A_Explode(12, 56, 0)
			TNT1 AA 0 A_SpawnItemEx("GladiatorExplosionFX", 0, 0, 0, frandom(-3, 3), frandom(-3, 3), frandom(-3, 3))
			FX14 C 2 Bright A_Explode(12, 56, 0)
			TNT1 AA 0 A_SpawnItemEx("GladiatorExplosionFX", 0, 0, 0, frandom(-3, 3), frandom(-3, 3), frandom(-3, 3))
			FX14 C 2 Bright A_Explode(12, 56, 0)
		Loop
	}
}

Actor GladiatorExplosionFX {
	Scale 0.65
	Renderstyle Add
	Alpha 0.85
	+CLIENTSIDEONLY
	+NOINTERACTION
	States {
		Spawn:
			FX14 DE 4 Bright
			FX14 FGH 2 Bright
		Stop
	}
}