class GorePinky:demon replaces demon
{

	override int DamageMobj(
    Actor inflictor, Actor source, int damage,
    Name mod, int flags = 0, double angle = 0)
	
	{
    if(inflictor is "XtremePlasmaBall")source.A_PlaySound("gore/sizzle",CHAN_AUTO,attenuation:0.8);
    else
	if(inflictor is "XtremeRocket")source.A_PlaySound("gore/snap",CHAN_AUTO,attenuation:0.8);
	else
	if(source is "PlayerPawn")source.A_PlaySound("gore/hitmarker",CHAN_AUTO,attenuation:0.8);

	return super.damagemobj
	(inflictor,source,damage,
    mod,flags,angle);
	}
		
	States
		{
		Death.SSG:
			TNT1 A 0 A_JumpIfCloser(128, "XDeath");
			goto death;
		Death:
			TNT1 a 0 A_JumpIfHealthLower(-30,"Xdeath");
			TNT1 a 0 a_spawnitemex("DeathController");
		
			SARG I 8;
			SARG J 8 A_Scream;
			SARG K 4;
			SARG L 4 A_NoBlocking;
			SARG M 4;
			SARG N -1;
			Stop;
		XDeath:
			SARG o 5;
				TNT1 a 0 a_spawnitemex("biggibcontroller");
			SARG p 5;
			SARG q 5 a_xscream;
			SARG r 5 a_noblocking;
			SARG stuvw 4;
			SARG x -1;
			stop;
		Death.Massacre:
			SARG o 5;
			SARG p 5;
			SARG q 5;
			SARG r 5 a_noblocking;
			SARG stuvw 4;
			SARG x -1;
			stop;
		}
} 


class GoreSpectre:spectre replaces spectre
	{
	override int DamageMobj(
    Actor inflictor, Actor source, int damage,
    Name mod, int flags = 0, double angle = 0)
	
	{
    if(inflictor is "XtremePlasmaBall")source.A_PlaySound("gore/sizzle",CHAN_AUTO,attenuation:0.8);
    else
	if(inflictor is "XtremeRocket")source.A_PlaySound("gore/snap",CHAN_AUTO,attenuation:0.8);
	else
	if(source is "PlayerPawn")source.A_PlaySound("gore/hitmarker",CHAN_AUTO,attenuation:0.8);

	return super.damagemobj
	(inflictor,source,damage,
    mod,flags,angle);
	}
		
	States
		{
		Death.SSG:
			TNT1 A 0 A_JumpIfCloser(128, "XDeath");
			goto death;
		Death:
			TNT1 a 0 a_spawnitemex("DeathController");
		
			SARG I 8;
			SARG J 8 A_Scream;
			SARG K 4;
			SARG L 4 A_NoBlocking;
			SARG M 4;
			SARG N -1;
			Stop;
		XDeath:
			SARG o 5;
			SARG p 5;
			SARG q 5 a_xscream;
			SARG r 5 a_noblocking;
			SARG stuvw 4;
			SARG x -1;
			stop;
		}
} 