ACTOR NashGore_Blood : Blood replaces Blood
{
	States
	{
	Spawn:
		BLUD C 8
		BLUD B 8 A_SpawnItemEx("NashGore_FlyingBlood",0,0,8,random(-4,4),random(-4,4),random(2,5),0,143,SXF_ABSOLUTEVELOCITY|SXF_NOCHECKPOSITION)
		BLUD A 8
		Stop
	}
}

ACTOR NashGore_Bloodsplatter : NashGore_Blood replaces Bloodsplatter{}

ACTOR NashGore_BloodSpot
{
	Radius 12
	Height 2
	Mass 128
	+NOTELEPORT
	-NOBLOCKMAP
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(waterlevel > 0, "Underwater") //..so it will lag no more...
		TNT1 A 0 A_StartSound("bloodsplat")
		TNT1 A 0 A_Jump(64,4)
		TNT1 A 0 A_Jump(128,4)
		TNT1 A 0 A_Jump(192,4)
		TNT1 A 0 A_Jump(255,4)
		// make the blood spots stay on the ground. 1500 is the default duration.
		BSPT A 1500
		Stop
		BSPT B 1500
		Stop
		BSPT C 1500
		Stop
		BSPT D 1500
		Stop
	Underwater:	//..so it will lag no more...
		TNT1 A 0 A_StartSound("bloodsplat")
		TNT1 A 0 A_Jump(64,4)
		TNT1 A 0 A_Jump(128,4)
		TNT1 A 0 A_Jump(192,4)
		TNT1 A 0 A_Jump(255,4)
		// now the bloodspots will remain underwater only for a short time, then vanishes
		BSPT A 250
		Stop
		BSPT B 250
		Stop
		BSPT C 250
		Stop
		BSPT D 250
		Stop
	}
}

ACTOR NashGore_FlyingBlood
{
	Scale 0.75
	Health 1
	Radius 8
	Height 1
	Mass 1
	Gravity 0.75
	+CLIENTSIDEONLY
	+CORPSE
	+NOTELEPORT
	+NOBLOCKMAP
	States
	{
	Spawn:
		FBLD AABBCCDD 2 NODELAY A_SpawnItemEx("NashGore_FlyingBloodTrail",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
		Loop
	Crash:
		TNT1 A 0 A_StartSound("bloodsplat")
		TNT1 A 0 A_Jump(256,1,2,3,4)
		BSPT ABCD 0 A_Jump(256,"End")
		// make the blood spots stay on the ground. 1500 is the default duration.
		// Fadeout added by Zero Prophet for effect.
	End:
		BSPT "#" 1500
		BSPT "#" 1 A_FadeOut(0.02)
		Wait
	}
}

ACTOR NashGore_FlyingBloodTrail
{
	Scale 0.70
	Mass 1
	Gravity .125
	+NOBLOCKMAP
	+NOTELEPORT
	States
	{
	Spawn:
		BTRL ABCD 4
		Stop
	}
}

// Gib generator fixed by LilWhiteMouse - thanks LWM!
ACTOR NashGore_GibGenerator
{
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(128, 8)
		TNT1 A 0 A_Jump(128, 4)
		TNT1 A 0 A_Jump(128, 2)
		TNT1 A 1 A_SpawnDebris("NashGore_Gib1")
		Stop
		TNT1 A 1 A_SpawnDebris("NashGore_Gib2")
		Stop
		TNT1 A 0 A_Jump(128, 2)
		TNT1 A 1 A_SpawnDebris("NashGore_Gib3")
		Stop
		TNT1 A 1 A_SpawnDebris("NashGore_Gib4")
		Stop
		TNT1 A 0 A_Jump(128, 4)
		TNT1 A 0 A_Jump(128, 2)
		TNT1 A 1 A_SpawnDebris("NashGore_Gib5")
		Stop
		TNT1 A 1 A_SpawnDebris("NashGore_Gib6")
		Stop
		TNT1 A 0 A_Jump(128, 2)
		TNT1 A 1 A_SpawnDebris("NashGore_Gib7")
		Stop
		TNT1 A 1 A_SpawnDebris("NashGore_Gib8")
		Stop
	}
}

// Gib 1
ACTOR NashGore_Gib1
{
	Health 1
	Radius 8
	Height 8
	Mass 200
	Scale 0.75
	+CORPSE
	+NOTELEPORT
	States
	{
	Spawn:
		TNT1 AA 0 A_JumpIf(waterlevel > 0, "Underwater") //..so it will lag no more...
		GIB1 A 24 A_SpawnDebris("NashGore_FlyingBlood",1)
		Loop
	Underwater:	//..so it will lag no more...
		GIB1 AAAA 24 A_SpawnDebris("NashGore_FlyingBlood", 1)
		GIB1 A -1
		Stop
	Crash:
		GIB1 A -1
		Stop
	}
}

// Gib 2
ACTOR NashGore_Gib2 : NashGore_Gib1
{
	States
	{
	Spawn:
		TNT1 AA 0 A_JumpIf(waterlevel > 0, "Underwater")
		GIB2 A 24 A_SpawnDebris("NashGore_FlyingBlood",1)
		Loop
	Underwater:
		GIB2 AAAA 24 A_SpawnDebris("NashGore_FlyingBlood", 1)
		GIB2 A -1
		Stop
	Crash:
		GIB2 A -1
		Stop
	}
}

// Gib 3
ACTOR NashGore_Gib3 : NashGore_Gib1
{
	States
	{
	Spawn:
		TNT1 AA 0 A_JumpIf(waterlevel > 0, "Underwater")
		GIB3 A 24 A_SpawnDebris("NashGore_FlyingBlood",1)
		Loop
	Underwater:
		GIB3 AAAA 24 A_SpawnDebris("NashGore_FlyingBlood", 1)
		GIB3 A -1
		Stop
	Crash:
		GIB3 A -1
		Stop
	}
}

// Gib 4
ACTOR NashGore_Gib4 : NashGore_Gib1
{
	States
	{
	Spawn:
		TNT1 AA 0 A_JumpIf(waterlevel > 0, "Underwater")
		GIB4 A 24 A_SpawnDebris("NashGore_FlyingBlood",1)
		Loop
	Underwater:
		GIB4 AAAA 24 A_SpawnDebris("NashGore_FlyingBlood", 1)
		GIB4 A -1
		Stop
	Crash:
		GIB4 A -1
		Stop
	}
}

// Gib 5
ACTOR NashGore_Gib5 : NashGore_Gib1
{
	States
	{
	Spawn:
		TNT1 AA 0 A_JumpIf(waterlevel > 0, "Underwater")
		GIB5 A 24 A_SpawnDebris("NashGore_FlyingBlood",1)
		Loop
	Underwater:
		GIB5 AAAA 24 A_SpawnDebris("NashGore_FlyingBlood", 1)
		GIB5 A -1
		Stop
	Crash:
		GIB5 A -1
		Stop
	}
}

// Gib 6
ACTOR NashGore_Gib6 : NashGore_Gib1
{
	States
	{
	Spawn:
		TNT1 AA 0 A_JumpIf(waterlevel > 0, "Underwater")
		GIB6 A 24 A_SpawnDebris("NashGore_FlyingBlood",1)
		Loop
	Underwater:
		GIB6 AAAA 24 A_SpawnDebris("NashGore_FlyingBlood", 1)
		GIB6 A -1
		Stop
	Crash:
		GIB6 A -1
		Stop
	}
}

// Gib 7
ACTOR NashGore_Gib7 : NashGore_Gib1
{
	States
	{
	Spawn:
		TNT1 AA 0 A_JumpIf(waterlevel > 0, "Underwater")
		GIB7 A 24 A_SpawnDebris("NashGore_FlyingBlood",1)
		Loop
	Underwater:
		GIB7 AAAA 24 A_SpawnDebris("NashGore_FlyingBlood", 1)
		GIB7 A -1
		Stop
	Crash:
		GIB7 A -1
		Stop
	}
}

// Gib 8
ACTOR NashGore_Gib8 : NashGore_Gib1
{
	States
	{
	Spawn:
		TNT1 AA 0 A_JumpIf(waterlevel > 0, "Underwater")
		GIB8 A 24 A_SpawnDebris("NashGore_FlyingBlood",1)
		Loop
	Underwater:
		GIB8 AAAA 24 A_SpawnDebris("NashGore_FlyingBlood", 1)
		GIB8 A -1
		Stop
	Crash:
		GIB8 A -1
		Stop
	}
}

// Gib 9 (hand)
ACTOR NashGore_Gib9 : NashGore_Gib1
{
	Mass 128
	States
	{
	Spawn:
		TNT1 AA 0 A_JumpIf(waterlevel > 0, "Underwater")
		GIB9 A 24 A_SpawnDebris("NashGore_FlyingBlood",1)
		Loop
	Underwater:
		GIB9 AAAA 24 A_SpawnDebris("NashGore_FlyingBlood", 1)
		GIB9 A -1
		Stop
	Crash:
		GIB9 A -1
		Stop
	}
}

// Gib 10 (arm)
ACTOR NashGore_Gib10 : NashGore_Gib1
{
	States
	{
	Spawn:
		TNT1 AA 0 A_JumpIf(waterlevel > 0, "Underwater")
		GIB0 A 24 A_SpawnDebris("NashGore_FlyingBlood",1)
		Loop
	Underwater:
		GIB0 AAAA 24 A_SpawnDebris("NashGore_FlyingBlood", 1)
		GIB0 A -1
		Stop
	Crash:
		GIB0 A -1
		Stop
	}
}

// Gib 11 (eyeball)
ACTOR NashGore_Gib11 : NashGore_Gib1
{
	Mass 64
	States
	{
	Spawn:
		TNT1 AA 0 A_JumpIf(waterlevel > 0, "Underwater")
		GIBI A 24 A_SpawnDebris("NashGore_FlyingBlood",1)
		Loop
	Underwater:
		GIBI AAAA 24 A_SpawnDebris("NashGore_FlyingBlood", 1)
		GIBI A -1
		Stop
	Crash:
		GIBI A -1
		Stop
	}
}