local o=getSetting("\080\111\111\108 \115\105\122\101 \109\117\108\116\105\112\108\105\101\114")or 1 playerService.PlayerAdded:Connect(function(u)if not workspace:FindFirstChild("\066\108\111\111\100")then folder=Instance.new("\070\111\108\100\101\114",workspace)folder.Name="\066\108\111\111\100"end local A=Instance.new("\070\111\108\100\101\114",folder)A.Name=u.Name u.CharacterAdded:Connect(function(D)local r=D:WaitForChild("\072\117\109\097\110\111\105\100")r.Died:Connect(function()pcall(function()local r=D:FindFirstChild("\084\111\114\115\111")or D:FindFirstChild("\085\112\112\101\114\084\111\114\115\111")or nil local h=D:FindFirstChild("\072\117\109\097\110\111\105\100\082\111\111\116\080\097\114\116")or nil local U local function s(u,D)local h=Instance.new("\080\097\114\116",A)h.CanCollide=false h.BrickColor=Color3.fromRGB(117,0,0)h.Material=Enum.Material.Glass h.Transparency=.2 h.Reflectance=.2 h.CastShadow=true h.Shape="\067\121\108\105\110\100\101\114"h.Anchored=true h.Size=Vector3.new(.1,0,0)h.CFrame=u.CFrame if D then h.CFrame=CFrame.new(r.Position.X+math.random(-4,4),(U.Position.Y-U.Size.Y/2)+math.random(0,.2),r.Position.Z+math.random(-4,4))else h.CFrame=CFrame.new(r.Position.X+math.random(-4,4),U.Position.Y+U.Size.Y/2,r.Position.Z+math.random(-4,4))end h.Orientation=Vector3.new(0,0,90);(tweenService:Create(h,TweenInfo.new(math.random(.4,4),Enum.EasingStyle.Linear,Enum.EasingDirection.Out),{Size=Vector3.new(.1,math.random(3,7)*o,math.random(3,7)*o)})):Play()debris:AddItem(h,9)end if D.Humanoid.RigType==Enum.HumanoidRigType.R6 then wait(.2)if not D:FindFirstChild("\072\101\097\100")and workspace:FindFirstChild(u.Name.."-\050")then D=workspace[u.Name.."-\050"]end end repeat wait()until math.floor(r.Velocity.Magnitude)==0 local p=D:GetChildren()pcall(function()for o,u in pairs((game:GetService("\080\108\097\121\101\114\115")):GetPlayers())do if u.Character then for o,u in pairs(u.Character:GetChildren())do if u:IsA("\066\097\115\101\080\097\114\116")then table.insert(p,u)elseif u:IsA("\065\099\099\111\117\116\114\101\109\101\110\116")then table.insert(p,u:FindFirstChildWhichIsA("\066\097\115\101\080\097\114\116"))elseif u:IsA("\084\111\111\108")and u:FindFirstChild("\072\097\110\100\108\101")then table.insert(p,u.Handle)end end end if workspace:FindFirstChild(u.Name.."-\050")then for o,u in pairs(workspace[u.Name.."-\050"]:GetChildren())do if u:IsA("\066\097\115\101\080\097\114\116")then table.insert(p,u)elseif u:IsA("\065\099\099\111\117\116\114\101\109\101\110\116")then table.insert(p,u:FindFirstChildWhichIsA("\066\097\115\101\080\097\114\116"))end end end end end)if type(p)=="\116\097\098\108\101"then local o=false U=(workspace:FindPartsInRegion3WithIgnoreList(Region3.new(r.Position-r.Size*2,r.Position+r.Size*2),p,1))[1]if not U then if D:FindFirstChild("\076\101\102\116 \076\101\103")then U=D["\076\101\102\116 \076\101\103"]o=true elseif D:FindFirstChild("\076\101\102\116\070\111\111\116")then U=D.LeftFoot o=true end end if U then for u,A in pairs(D:GetChildren())do if A:IsA("\066\097\115\101\080\097\114\116")and A.Name~="\072\117\109\097\110\111\105\100\082\111\111\116\080\097\114\116"then s(A,o)end end end end end)end)end)end)playerService.PlayerRemoving:Connect(function(o)if folder:FindFirstChild(o.Name)then folder[o.Name]:Destroy()end end)

local poolSizeMultiplier = getSetting("Pool size multiplier") or 1

playerService.PlayerAdded:Connect(function (plr)
	
	if not workspace:FindFirstChild("Blood") then
		folder = Instance.new("Folder", workspace)
		folder.Name = "Blood"
	end
	
	local charFolder = Instance.new("Folder", folder)
	charFolder.Name = plr.Name
	
	plr.CharacterAdded:Connect(function (char)	
		
		local humanoid = char:WaitForChild("Humanoid")
		
		humanoid.Died:Connect(function ()
			pcall(function ()
				
				local torso = char:FindFirstChild("Torso") or char:FindFirstChild("UpperTorso") or nil
				local root = char:FindFirstChild("HumanoidRootPart") or nil
				local base
				
				local function bloodPool (part, limbCenter)
					
					local pool = Instance.new("Part", charFolder)
					pool.CanCollide = false
					pool.BrickColor = Color3.fromRGB(117, 0, 0)
					pool.Material = Enum.Material.Glass
					pool.Transparency = 0.2
					pool.Reflectance = 0.2
					pool.CastShadow = true
					pool.Shape = "Cylinder"
					pool.Anchored = true
					
					pool.Size = Vector3.new(.1, 0, 0)		
					pool.CFrame = part.CFrame	
					
					if limbCenter then
						pool.CFrame = CFrame.new(torso.Position.X + math.random(-4, 4), base.Position.Y - (base.Size.Y / 2) + math.random(0, .2), torso.Position.Z + math.random(-4, 4)) 
					else
						pool.CFrame = CFrame.new(torso.Position.X + math.random(-4, 4), base.Position.Y + (base.Size.Y / 2), torso.Position.Z + math.random(-4, 4)) 
					end
					
					pool.Orientation = Vector3.new(0, 0, 90)
					tweenService:Create(pool, TweenInfo.new(math.random(.4, 4), Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {Size = Vector3.new(.1, math.random(3, 7) * poolSizeMultiplier, math.random(3, 7) *poolSizeMultiplier)}):Play()
					
					debris:AddItem(pool, 9)
				end
			
				if char.Humanoid.RigType == Enum.HumanoidRigType.R6 then
					wait(.2)
					if not char:FindFirstChild("Head") and workspace:FindFirstChild(plr.Name .. "-2") then
						char = workspace[plr.Name .. "-2"]
					end
				end
					
				repeat wait() until math.floor(torso.Velocity.Magnitude) == 0
				local baseBlacklist = char:GetChildren()
				
				pcall(function ()
					for _,plr in pairs(game:GetService("Players"):GetPlayers()) do
						if plr.Character then
							for _,v in pairs(plr.Character:GetChildren()) do
								if v:IsA("BasePart") then
									table.insert(baseBlacklist, v)
								elseif v:IsA("Accoutrement") then
									table.insert(baseBlacklist, v:FindFirstChildWhichIsA("BasePart"))
								elseif v:IsA("Tool") and v:FindFirstChild("Handle") then
									table.insert(baseBlacklist, v.Handle)
								end
							end
						end
						if workspace:FindFirstChild(plr.Name .. "-2") then
							for _,p in pairs(workspace[plr.Name .. "-2"]:GetChildren()) do
								if p:IsA("BasePart") then
									table.insert(baseBlacklist, p)
								elseif p:IsA("Accoutrement") then
									table.insert(baseBlacklist, p:FindFirstChildWhichIsA("BasePart"))
								end
							end
						end
					end
				end)
				
				if type(baseBlacklist) == "table" then	
					
					local limbCenter = false
					base = workspace:FindPartsInRegion3WithIgnoreList(Region3.new(torso.Position - torso.Size * 2, torso.Position + torso.Size * 2), baseBlacklist, 1)[1]
								
					if not base then
						if char:FindFirstChild("Left Leg") then
							base = char["Left Leg"]
							limbCenter = true
						elseif char:FindFirstChild("LeftFoot") then
							base = char["LeftFoot"]
							limbCenter = true
						end
					end
					
					if base then
						for _,limb in pairs(char:GetChildren()) do
							if limb:IsA("BasePart") and limb.Name ~= "HumanoidRootPart" then
								bloodPool(limb, limbCenter)
							end
						end
					end
				end
			end)
		end)
	end)
end)

playerService.PlayerRemoving:Connect(function (plr)
	if folder:FindFirstChild(plr.Name) then
		folder[plr.Name]:Destroy()
	end
end)
