actor G2_BloodParticle : Blood {
	+MISSILE
	+THRUACTORS
	+CLIENTSIDEONLY
	height 2
	radius 1
	gravity 1.4
	scale 0.4
	Decal BloodSmear2
	States {
		Spawn:
			GBLD A 0
			GBLD A 0 A_Jump(256, "A", "B", "C", "D")
		A:
			GBLD A 4 A_JumpIf(waterlevel > 0, "Water")
			loop
		B:
			GBLD B 4 A_JumpIf(waterlevel > 0, "Water")
			loop
		C:
			GBLD C 4 A_JumpIf(waterlevel > 0, "Water")
			loop
		D:
			GBLD D 4 A_JumpIf(waterlevel > 0, "Water")
			loop

		Death:
			GBLD A 0 A_CheckFloor("Floor")
			stop

		Floor:
			MGOR A 0 A_PlaySound("Gore/BloodSplat")
			MGOR ABCD 1
			MGOR E 700
			stop
		FloorLoop:
			MGOR E -1
			loop

		Water:
			BLUD C 0
			stop
	}
}

actor G2_BloodParticle2 : G2_BloodParticle {
	Decal BloodSmear1
}

actor G2_BloodFloor : Blood {
	+THRUACTORS
	+CLIENTSIDEONLY
	height 2
	radius 1
	gravity 1.4
	scale 0.4
	Decal BloodSmear2
	States {
		Spawn:
			MGOR E 700
			stop
	}
}

actor G2_BloodFloor2 : G2_BloodFloor {
}

actor G2_BloodParticle3 {
	+CLIENTSIDEONLY
	+NOGRAVITY
	+NOBLOCKMAP
	+THRUACTORS
	scale 0.8
	renderstyle translucent
	States {
		Spawn:
			GBLD A 0
			GBLD A 0 A_Stop
			GBLD AABBDDCC 1 A_FadeOut(0.05)
			stop
	}
}

actor G2_BloodParticle4 : G2_BloodParticle3 {
	scale 2.0
}

actor G2_Blood : Blood replaces Blood {
	+PUFFGETSOWNER
	+LOOKALLAROUND
	scale 0.8
	alpha 0.9
	renderstyle translucent
	States {
		Spawn:
			BLUD C 0
			BLUD C 0 A_Look
		See:
			BLUD C 0 A_FaceTarget
			BLUD CC 0 A_SpawnItemEx("G2_BloodParticle", 0, 0, 0, frandom(3.5, 7.5), frandom(-2.5, 2.5), frandom(-0.5, 6.5), 0, SXF_CLIENTSIDE)
			BLUD CC 0 A_SpawnItemEx("G2_BloodParticle2", 0, 0, 0, frandom(3.5, 7.5), frandom(-2.5, 2.5), frandom(-0.5, 6.5), 0, SXF_CLIENTSIDE)
			BLUD CCC 0 A_SpawnItemEx("G2_BloodParticle3", 0, 0, 0, frandom(0.25, 1.0), frandom(-0.25, 0.25), frandom(-0.25, 0.25), 0, SXF_CLIENTSIDE)
			BLUD C 0 A_PlaySound("Gore/BloodHit")
			GBLD AABBDDCC 1 A_FadeOut(0.05)
			stop
	}
}

actor G2_Blood2 : G2_Blood {
	States {
		Spawn:
			BLUD C 0
			BLUD C 0 A_Look
		See:
			BLUD C 0 A_FaceTarget
			BLUD C 0 A_SpawnItemEx("G2_BloodParticle", 0, 0, 0, frandom(3.5, 7.5), frandom(-2.5, 2.5), frandom(-0.5, 1.5), 0, SXF_CLIENTSIDE)
			BLUD C 0 A_SpawnItemEx("G2_BloodParticle2", 0, 0, 0, frandom(3.5, 7.5), frandom(-2.5, 2.5), frandom(-0.5, 1.5), 0, SXF_CLIENTSIDE)
			BLUD CC 0 A_SpawnItemEx("G2_BloodParticle3", 0, 0, 0, frandom(0.25, 1.0), frandom(-0.25, 0.25), frandom(-0.25, 0.25), 0, SXF_CLIENTSIDE)
			GBLD AABBDDCC 1 A_FadeOut(0.05)
			stop
	}
}
