local w=game.ServerStorage.Sounds.NPC.Banto:GetChildren()banto.Health.Changed:connect(function()local G=w[math.random(1,#w)]:Clone()G.Parent=banto.PrimaryPart G.PlayOnRemove=true wait()G:Destroy()end)while true do bp.Parent=banto.PrimaryPart local w repeat local G=Ray.new(Vector3.new(origin.p.x+math.random(-tether,tether),banto.PrimaryPart.Position.Y+100,origin.p.z+math.random(-tether,tether)),Vector3.new(0,-130,0))local l,T,e,h=workspace:FindPartOnRay(G,banto)if l==workspace.Terrain and h~=Enum.Material.Water then w=T+Vector3.new(0,2.25,0)end wait()until w walk:Play()local G=banto.PrimaryPart.Position local l=CFrame.new(Vector3.new(G.X,0,G.Z),Vector3.new(w.X,0,w.Z))bg.CFrame=l bp.Position=(l*CFrame.new(0,0,-100)).p local T=tick()repeat task.wait(.5)local G=Ray.new(banto.PrimaryPart.Position,Vector3.new(0,-140,0))until(banto.PrimaryPart.Position-w).magnitude<10 or tick()-T>10 walk:Stop()bp.Parent=nil wait(math.random(3,8))end
--Audio
local soundBank = game.ServerStorage.Sounds.NPC.Banto:GetChildren()
banto.Health.Changed:connect(function()
	local hitSound = soundBank[math.random(1, #soundBank)]:Clone()
	hitSound.Parent = banto.PrimaryPart
	hitSound.PlayOnRemove = true
	wait()
	hitSound:Destroy()
end)

while true do
	bp.Parent = banto.PrimaryPart
	local goal
	repeat
		local ray = Ray.new(
			Vector3.new(
				origin.p.x + math.random(-tether, tether),
				banto.PrimaryPart.Position.Y + 100,
				origin.p.z + math.random(-tether, tether)
			),
			Vector3.new(0, -130, 0)
		)
		local part, pos, norm, mat = workspace:FindPartOnRay(ray, banto)
		if part == workspace.Terrain and mat ~= Enum.Material.Water then
			goal = pos + Vector3.new(0, 2.25, 0)
		end
		wait()
	until goal
	--Set new goal for banto to MoveTo :)
	walk:Play()
	local pos = banto.PrimaryPart.Position
	local cf = CFrame.new(Vector3.new(pos.X, 0, pos.Z), Vector3.new(goal.X, 0, goal.Z))
	bg.CFrame = cf
	bp.Position = (cf * CFrame.new(0, 0, -100)).p

	local start = tick()
	repeat
		task.wait(0.5)
		local ray = Ray.new(banto.PrimaryPart.Position, Vector3.new(0, -140, 0))

	until (banto.PrimaryPart.Position - goal).magnitude < 10 or tick() - start > 10
	walk:Stop()
	bp.Parent = nil
	wait(math.random(3, 8))
end
