Figure=script.Parent RunService=game:GetService("\082\117\110\083\101\114\118\105\099\101")Body=Figure:WaitForChild("\066\111\100\121")Tail=Body:WaitForChild("\084\097\105\108")LeftShoulder=Body:WaitForChild("\076\101\102\116 \083\104\111\117\108\100\101\114")RightShoulder=Body:WaitForChild("\082\105\103\104\116 \083\104\111\117\108\100\101\114")LeftHip=Body:WaitForChild("\076\101\102\116 \072\105\112")RightHip=Body:WaitForChild("\082\105\103\104\116 \072\105\112")ParticlePart=Figure:WaitForChild("\080\097\114\116\105\099\108\101\080\097\114\116")for H,J in pairs({Tail,LeftShoulder,RightShoulder;LeftHip,RightHip})do if J and J.Parent then J.DesiredAngle=0 J.CurrentAngle=0 end end function Move(H)local J=.15 local V=5 local i=.2*math.sin(H*2)local P=J*math.sin(H*V)local F=-(J*math.sin(H*V))Tail.DesiredAngle=i LeftShoulder.DesiredAngle=P RightShoulder.DesiredAngle=-F LeftHip.DesiredAngle=F RightHip.DesiredAngle=-P end function DisplayParticles()local H=(Body.Velocity*Vector3.new(1,0,1)).Magnitude>10 for J,V in pairs(ParticlePart:GetChildren())do if V:IsA("\080\097\114\116\105\099\108\101\069\109\105\116\116\101\114")then V.Enabled=H end end end RunService.Stepped:connect(function()local H,J=wait(.1)Move(J)DisplayParticles()end)


Figure = script.Parent

RunService = game:GetService("RunService")

Body = Figure:WaitForChild("Body")
Tail = Body:WaitForChild("Tail")
LeftShoulder = Body:WaitForChild("Left Shoulder")
RightShoulder = Body:WaitForChild("Right Shoulder")
LeftHip = Body:WaitForChild("Left Hip")
RightHip = Body:WaitForChild("Right Hip")
ParticlePart = Figure:WaitForChild("ParticlePart")

for i, v in pairs({Tail, LeftShoulder, RightShoulder, LeftHip, RightHip}) do
	if v and v.Parent then
		v.DesiredAngle = 0
		v.CurrentAngle = 0
	end
end

function Move(Time)
	local LimbAmplitude = 0.15
	local LimbFrequency = 5
	local TailAngle = (0.2 * math.sin(Time * 2))
	local LimbDesiredAngle1 = (LimbAmplitude * math.sin(Time * LimbFrequency))
	local LimbDesiredAngle2 = -(LimbAmplitude * math.sin(Time * LimbFrequency))
	
	Tail.DesiredAngle = TailAngle
	LeftShoulder.DesiredAngle = LimbDesiredAngle1
	RightShoulder.DesiredAngle = -LimbDesiredAngle2
	LeftHip.DesiredAngle = LimbDesiredAngle2
	RightHip.DesiredAngle = -LimbDesiredAngle1
	
end

function DisplayParticles()
	local Moving = ((Body.Velocity * Vector3.new(1, 0, 1)).Magnitude > 10)
	for i, v in pairs(ParticlePart:GetChildren()) do
		if v:IsA("ParticleEmitter") then
			v.Enabled = Moving
		end
	end
end

RunService.Stepped:connect(function()
	local _, Time = wait(0.1)
	Move(Time)
	DisplayParticles()
end)
